From: Matthias Brugger <matthias.bgg@gmail.com>
To: Chao Hao <chao.hao@mediatek.com>, Joerg Roedel <joro@8bytes.org>,
Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org, FY Yang <fy.yang@mediatek.com>,
wsd_upstream@mediatek.com, linux-kernel@vger.kernel.org,
iommu@lists.linux-foundation.org,
linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 3/7] iommu/mediatek: Set MISC_CTRL register
Date: Wed, 17 Jun 2020 11:34:55 +0200 [thread overview]
Message-ID: <aaf422f5-2ac8-252d-a064-0c1246e09acc@gmail.com> (raw)
In-Reply-To: <20200617030029.4082-4-chao.hao@mediatek.com>
On 17/06/2020 05:00, Chao Hao wrote:
> Add F_MMU_IN_ORDER_WR_EN definition in MISC_CTRL.
> In order to improve performance, we always disable STANDARD_AXI_MODE
> and IN_ORDER_WR_EN in MISC_CTRL.
>
> Change since v3:
The changelog should go below the '---' as we don't want this in the git history
once the patch get's accepted.
> 1. Rename Disable STANDARD_AXI_MODE in MISC_CTRL to Set MISC_CTRL register
> 2. Add F_MMU_IN_DRDER_WR_EN definition in MISC_CTRL
> We need to disable in_order_write to improve performance
>
> Cc: Yong Wu <yong.wu@mediatek.com>
> Signed-off-by: Chao Hao <chao.hao@mediatek.com>
> ---
> drivers/iommu/mtk_iommu.c | 11 +++++++++++
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 12 insertions(+)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 88d3df5b91c2..239d2cdbbc9f 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -42,6 +42,9 @@
> #define F_INVLD_EN1 BIT(1)
>
> #define REG_MMU_MISC_CTRL 0x048
> +#define F_MMU_IN_ORDER_WR_EN (BIT(1) | BIT(17))
> +#define F_MMU_STANDARD_AXI_MODE_BIT (BIT(3) | BIT(19))
> +
> #define REG_MMU_DCM_DIS 0x050
>
> #define REG_MMU_CTRL_REG 0x110
> @@ -578,6 +581,14 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> writel_relaxed(0, data->base + REG_MMU_MISC_CTRL);
> }
>
> + if (data->plat_data->has_misc_ctrl) {
That's confusing. We renamed the register to misc_ctrl, but it's present in all
SoCs. We should find a better name for this flag to describe what the hardware
supports.
Regards,
Matthias
> + /* For mm_iommu, it can improve performance by the setting */
> + regval = readl_relaxed(data->base + REG_MMU_MISC_CTRL);
> + regval &= ~F_MMU_STANDARD_AXI_MODE_BIT;
> + regval &= ~F_MMU_IN_ORDER_WR_EN;
> + writel_relaxed(regval, data->base + REG_MMU_MISC_CTRL);
> + }
> +
> if (devm_request_irq(data->dev, data->irq, mtk_iommu_isr, 0,
> dev_name(data->dev), (void *)data)) {
> writel_relaxed(0, data->base + REG_MMU_PT_BASE_ADDR);
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index 1b6ea839b92c..d711ac630037 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -40,6 +40,7 @@ struct mtk_iommu_plat_data {
>
> /* HW will use the EMI clock if there isn't the "bclk". */
> bool has_bclk;
> + bool has_misc_ctrl;
> bool has_vld_pa_rng;
> bool reset_axi;
> unsigned char larbid_remap[MTK_LARB_NR_MAX];
>
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: Matthias Brugger <matthias.bgg@gmail.com>
To: Chao Hao <chao.hao@mediatek.com>, Joerg Roedel <joro@8bytes.org>,
Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org, FY Yang <fy.yang@mediatek.com>,
wsd_upstream@mediatek.com, linux-kernel@vger.kernel.org,
iommu@lists.linux-foundation.org,
linux-mediatek@lists.infradead.org,
Yong Wu <yong.wu@mediatek.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 3/7] iommu/mediatek: Set MISC_CTRL register
Date: Wed, 17 Jun 2020 11:34:55 +0200 [thread overview]
Message-ID: <aaf422f5-2ac8-252d-a064-0c1246e09acc@gmail.com> (raw)
In-Reply-To: <20200617030029.4082-4-chao.hao@mediatek.com>
On 17/06/2020 05:00, Chao Hao wrote:
> Add F_MMU_IN_ORDER_WR_EN definition in MISC_CTRL.
> In order to improve performance, we always disable STANDARD_AXI_MODE
> and IN_ORDER_WR_EN in MISC_CTRL.
>
> Change since v3:
The changelog should go below the '---' as we don't want this in the git history
once the patch get's accepted.
> 1. Rename Disable STANDARD_AXI_MODE in MISC_CTRL to Set MISC_CTRL register
> 2. Add F_MMU_IN_DRDER_WR_EN definition in MISC_CTRL
> We need to disable in_order_write to improve performance
>
> Cc: Yong Wu <yong.wu@mediatek.com>
> Signed-off-by: Chao Hao <chao.hao@mediatek.com>
> ---
> drivers/iommu/mtk_iommu.c | 11 +++++++++++
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 12 insertions(+)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 88d3df5b91c2..239d2cdbbc9f 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -42,6 +42,9 @@
> #define F_INVLD_EN1 BIT(1)
>
> #define REG_MMU_MISC_CTRL 0x048
> +#define F_MMU_IN_ORDER_WR_EN (BIT(1) | BIT(17))
> +#define F_MMU_STANDARD_AXI_MODE_BIT (BIT(3) | BIT(19))
> +
> #define REG_MMU_DCM_DIS 0x050
>
> #define REG_MMU_CTRL_REG 0x110
> @@ -578,6 +581,14 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> writel_relaxed(0, data->base + REG_MMU_MISC_CTRL);
> }
>
> + if (data->plat_data->has_misc_ctrl) {
That's confusing. We renamed the register to misc_ctrl, but it's present in all
SoCs. We should find a better name for this flag to describe what the hardware
supports.
Regards,
Matthias
> + /* For mm_iommu, it can improve performance by the setting */
> + regval = readl_relaxed(data->base + REG_MMU_MISC_CTRL);
> + regval &= ~F_MMU_STANDARD_AXI_MODE_BIT;
> + regval &= ~F_MMU_IN_ORDER_WR_EN;
> + writel_relaxed(regval, data->base + REG_MMU_MISC_CTRL);
> + }
> +
> if (devm_request_irq(data->dev, data->irq, mtk_iommu_isr, 0,
> dev_name(data->dev), (void *)data)) {
> writel_relaxed(0, data->base + REG_MMU_PT_BASE_ADDR);
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index 1b6ea839b92c..d711ac630037 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -40,6 +40,7 @@ struct mtk_iommu_plat_data {
>
> /* HW will use the EMI clock if there isn't the "bclk". */
> bool has_bclk;
> + bool has_misc_ctrl;
> bool has_vld_pa_rng;
> bool reset_axi;
> unsigned char larbid_remap[MTK_LARB_NR_MAX];
>
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: Matthias Brugger <matthias.bgg@gmail.com>
To: Chao Hao <chao.hao@mediatek.com>, Joerg Roedel <joro@8bytes.org>,
Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org, FY Yang <fy.yang@mediatek.com>,
wsd_upstream@mediatek.com, linux-kernel@vger.kernel.org,
iommu@lists.linux-foundation.org,
linux-mediatek@lists.infradead.org,
Yong Wu <yong.wu@mediatek.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 3/7] iommu/mediatek: Set MISC_CTRL register
Date: Wed, 17 Jun 2020 11:34:55 +0200 [thread overview]
Message-ID: <aaf422f5-2ac8-252d-a064-0c1246e09acc@gmail.com> (raw)
In-Reply-To: <20200617030029.4082-4-chao.hao@mediatek.com>
On 17/06/2020 05:00, Chao Hao wrote:
> Add F_MMU_IN_ORDER_WR_EN definition in MISC_CTRL.
> In order to improve performance, we always disable STANDARD_AXI_MODE
> and IN_ORDER_WR_EN in MISC_CTRL.
>
> Change since v3:
The changelog should go below the '---' as we don't want this in the git history
once the patch get's accepted.
> 1. Rename Disable STANDARD_AXI_MODE in MISC_CTRL to Set MISC_CTRL register
> 2. Add F_MMU_IN_DRDER_WR_EN definition in MISC_CTRL
> We need to disable in_order_write to improve performance
>
> Cc: Yong Wu <yong.wu@mediatek.com>
> Signed-off-by: Chao Hao <chao.hao@mediatek.com>
> ---
> drivers/iommu/mtk_iommu.c | 11 +++++++++++
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 12 insertions(+)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 88d3df5b91c2..239d2cdbbc9f 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -42,6 +42,9 @@
> #define F_INVLD_EN1 BIT(1)
>
> #define REG_MMU_MISC_CTRL 0x048
> +#define F_MMU_IN_ORDER_WR_EN (BIT(1) | BIT(17))
> +#define F_MMU_STANDARD_AXI_MODE_BIT (BIT(3) | BIT(19))
> +
> #define REG_MMU_DCM_DIS 0x050
>
> #define REG_MMU_CTRL_REG 0x110
> @@ -578,6 +581,14 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> writel_relaxed(0, data->base + REG_MMU_MISC_CTRL);
> }
>
> + if (data->plat_data->has_misc_ctrl) {
That's confusing. We renamed the register to misc_ctrl, but it's present in all
SoCs. We should find a better name for this flag to describe what the hardware
supports.
Regards,
Matthias
> + /* For mm_iommu, it can improve performance by the setting */
> + regval = readl_relaxed(data->base + REG_MMU_MISC_CTRL);
> + regval &= ~F_MMU_STANDARD_AXI_MODE_BIT;
> + regval &= ~F_MMU_IN_ORDER_WR_EN;
> + writel_relaxed(regval, data->base + REG_MMU_MISC_CTRL);
> + }
> +
> if (devm_request_irq(data->dev, data->irq, mtk_iommu_isr, 0,
> dev_name(data->dev), (void *)data)) {
> writel_relaxed(0, data->base + REG_MMU_PT_BASE_ADDR);
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index 1b6ea839b92c..d711ac630037 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -40,6 +40,7 @@ struct mtk_iommu_plat_data {
>
> /* HW will use the EMI clock if there isn't the "bclk". */
> bool has_bclk;
> + bool has_misc_ctrl;
> bool has_vld_pa_rng;
> bool reset_axi;
> unsigned char larbid_remap[MTK_LARB_NR_MAX];
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Matthias Brugger <matthias.bgg@gmail.com>
To: Chao Hao <chao.hao@mediatek.com>, Joerg Roedel <joro@8bytes.org>,
Rob Herring <robh+dt@kernel.org>
Cc: iommu@lists.linux-foundation.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org, wsd_upstream@mediatek.com,
Yong Wu <yong.wu@mediatek.com>, FY Yang <fy.yang@mediatek.com>
Subject: Re: [PATCH v4 3/7] iommu/mediatek: Set MISC_CTRL register
Date: Wed, 17 Jun 2020 11:34:55 +0200 [thread overview]
Message-ID: <aaf422f5-2ac8-252d-a064-0c1246e09acc@gmail.com> (raw)
In-Reply-To: <20200617030029.4082-4-chao.hao@mediatek.com>
On 17/06/2020 05:00, Chao Hao wrote:
> Add F_MMU_IN_ORDER_WR_EN definition in MISC_CTRL.
> In order to improve performance, we always disable STANDARD_AXI_MODE
> and IN_ORDER_WR_EN in MISC_CTRL.
>
> Change since v3:
The changelog should go below the '---' as we don't want this in the git history
once the patch get's accepted.
> 1. Rename Disable STANDARD_AXI_MODE in MISC_CTRL to Set MISC_CTRL register
> 2. Add F_MMU_IN_DRDER_WR_EN definition in MISC_CTRL
> We need to disable in_order_write to improve performance
>
> Cc: Yong Wu <yong.wu@mediatek.com>
> Signed-off-by: Chao Hao <chao.hao@mediatek.com>
> ---
> drivers/iommu/mtk_iommu.c | 11 +++++++++++
> drivers/iommu/mtk_iommu.h | 1 +
> 2 files changed, 12 insertions(+)
>
> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c
> index 88d3df5b91c2..239d2cdbbc9f 100644
> --- a/drivers/iommu/mtk_iommu.c
> +++ b/drivers/iommu/mtk_iommu.c
> @@ -42,6 +42,9 @@
> #define F_INVLD_EN1 BIT(1)
>
> #define REG_MMU_MISC_CTRL 0x048
> +#define F_MMU_IN_ORDER_WR_EN (BIT(1) | BIT(17))
> +#define F_MMU_STANDARD_AXI_MODE_BIT (BIT(3) | BIT(19))
> +
> #define REG_MMU_DCM_DIS 0x050
>
> #define REG_MMU_CTRL_REG 0x110
> @@ -578,6 +581,14 @@ static int mtk_iommu_hw_init(const struct mtk_iommu_data *data)
> writel_relaxed(0, data->base + REG_MMU_MISC_CTRL);
> }
>
> + if (data->plat_data->has_misc_ctrl) {
That's confusing. We renamed the register to misc_ctrl, but it's present in all
SoCs. We should find a better name for this flag to describe what the hardware
supports.
Regards,
Matthias
> + /* For mm_iommu, it can improve performance by the setting */
> + regval = readl_relaxed(data->base + REG_MMU_MISC_CTRL);
> + regval &= ~F_MMU_STANDARD_AXI_MODE_BIT;
> + regval &= ~F_MMU_IN_ORDER_WR_EN;
> + writel_relaxed(regval, data->base + REG_MMU_MISC_CTRL);
> + }
> +
> if (devm_request_irq(data->dev, data->irq, mtk_iommu_isr, 0,
> dev_name(data->dev), (void *)data)) {
> writel_relaxed(0, data->base + REG_MMU_PT_BASE_ADDR);
> diff --git a/drivers/iommu/mtk_iommu.h b/drivers/iommu/mtk_iommu.h
> index 1b6ea839b92c..d711ac630037 100644
> --- a/drivers/iommu/mtk_iommu.h
> +++ b/drivers/iommu/mtk_iommu.h
> @@ -40,6 +40,7 @@ struct mtk_iommu_plat_data {
>
> /* HW will use the EMI clock if there isn't the "bclk". */
> bool has_bclk;
> + bool has_misc_ctrl;
> bool has_vld_pa_rng;
> bool reset_axi;
> unsigned char larbid_remap[MTK_LARB_NR_MAX];
>
next prev parent reply other threads:[~2020-06-17 9:35 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-17 3:00 [PATCH v4 00/07] MT6779 IOMMU SUPPORT Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` [PATCH v4 1/7] dt-bindings: mediatek: Add bindings for MT6779 Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` [PATCH v4 2/7] iommu/mediatek: Rename the register STANDARD_AXI_MODE(0x48) to MISC_CTRL Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 9:04 ` Matthias Brugger
2020-06-17 9:04 ` Matthias Brugger
2020-06-17 9:04 ` Matthias Brugger
2020-06-17 9:04 ` Matthias Brugger
2020-06-17 3:00 ` [PATCH v4 3/7] iommu/mediatek: Set MISC_CTRL register Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 9:34 ` Matthias Brugger [this message]
2020-06-17 9:34 ` Matthias Brugger
2020-06-17 9:34 ` Matthias Brugger
2020-06-17 9:34 ` Matthias Brugger
2020-06-18 11:49 ` chao hao
2020-06-18 11:49 ` chao hao
2020-06-18 11:49 ` chao hao
2020-06-18 11:49 ` chao hao
2020-06-20 2:03 ` Yong Wu
2020-06-24 6:39 ` chao hao
2020-06-24 6:39 ` chao hao
2020-06-24 6:39 ` chao hao
2020-06-24 6:39 ` chao hao
2020-06-17 3:00 ` [PATCH v4 4/7] iommu/mediatek: Move inv_sel_reg into the plat_data Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 9:09 ` Matthias Brugger
2020-06-17 9:09 ` Matthias Brugger
2020-06-17 9:09 ` Matthias Brugger
2020-06-17 9:09 ` Matthias Brugger
2020-06-17 3:00 ` [PATCH v4 5/7] iommu/mediatek: Add sub_comm id in translation fault Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 9:17 ` Matthias Brugger
2020-06-17 9:17 ` Matthias Brugger
2020-06-17 9:17 ` Matthias Brugger
2020-06-17 9:17 ` Matthias Brugger
2020-06-17 11:11 ` Yong Wu
2020-06-17 11:11 ` Yong Wu
2020-06-17 11:11 ` Yong Wu
2020-06-17 11:11 ` Yong Wu
2020-06-18 11:44 ` chao hao
2020-06-18 11:44 ` chao hao
2020-06-18 11:44 ` chao hao
2020-06-18 11:44 ` chao hao
2020-06-17 3:00 ` [PATCH v4 6/7] iommu/mediatek: Add REG_MMU_WR_LEN definition preparing for mt6779 Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 9:22 ` Matthias Brugger
2020-06-17 9:22 ` Matthias Brugger
2020-06-17 9:22 ` Matthias Brugger
2020-06-17 9:22 ` Matthias Brugger
2020-06-19 10:56 ` chao hao
2020-06-19 10:56 ` chao hao
2020-06-19 10:56 ` chao hao
2020-06-19 10:56 ` chao hao
2020-06-21 11:01 ` Matthias Brugger
2020-06-21 11:01 ` Matthias Brugger
2020-06-24 6:36 ` chao hao
2020-06-24 6:36 ` chao hao
2020-06-24 6:36 ` chao hao
2020-06-24 6:36 ` chao hao
2020-06-17 3:00 ` [PATCH v4 7/7] iommu/mediatek: Add mt6779 basic support Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 3:00 ` Chao Hao
2020-06-17 9:33 ` Matthias Brugger
2020-06-17 9:33 ` Matthias Brugger
2020-06-17 9:33 ` Matthias Brugger
2020-06-17 9:33 ` Matthias Brugger
2020-06-18 11:54 ` chao hao
2020-06-18 11:54 ` chao hao
2020-06-18 11:54 ` chao hao
2020-06-18 11:54 ` chao hao
2020-06-18 16:00 ` Matthias Brugger
2020-06-18 16:00 ` Matthias Brugger
2020-06-18 16:00 ` Matthias Brugger
2020-06-18 16:00 ` Matthias Brugger
2020-06-19 10:50 ` chao hao
2020-06-19 10:50 ` chao hao
2020-06-19 10:50 ` chao hao
2020-06-19 10:50 ` chao hao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aaf422f5-2ac8-252d-a064-0c1246e09acc@gmail.com \
--to=matthias.bgg@gmail.com \
--cc=chao.hao@mediatek.com \
--cc=devicetree@vger.kernel.org \
--cc=fy.yang@mediatek.com \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=robh+dt@kernel.org \
--cc=wsd_upstream@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.