mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3,0/3] Add mt8188 compatiable for DSI cmd packet control
@ 2023-09-11 10:57 Shuijing Li
  2023-09-11 10:57 ` [PATCH v3,1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 Shuijing Li
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Shuijing Li @ 2023-09-11 10:57 UTC (permalink / raw)
  To: chunkuang.hu, p.zabel, airlied, daniel, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, matthias.bgg,
	angelogioacchino.delregno, jitao.shi
  Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
	linux-arm-kernel, Project_Global_Chrome_Upstream_Group,
	Shuijing Li

Add dt-binding documentation of DSI for MediaTek MT8188 SoC.
Because of the difference between SOC and DSI cmd packet control, for
MT8188, it is necessary to increase the DSI_CMDQ_SIZE control when
sending long packets to initialize the panel. Of course, this will not
affect the sending of short packets.

Base on the branch of linus/master v6.5.

Shuijing Li (3):
  dt-bindings: display: mediatek: dsi: Add compatible for MediaTek
    MT8188
  drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code
  drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c

 .../bindings/display/mediatek/mediatek,dsi.yaml     |  1 +
 drivers/gpu/drm/mediatek/mtk_drm_drv.c              |  2 ++
 drivers/gpu/drm/mediatek/mtk_dsi.c                  | 13 +++++++++++++
 3 files changed, 16 insertions(+)

-- 
2.40.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v3,1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188
  2023-09-11 10:57 [PATCH v3,0/3] Add mt8188 compatiable for DSI cmd packet control Shuijing Li
@ 2023-09-11 10:57 ` Shuijing Li
  2023-09-11 11:14   ` AngeloGioacchino Del Regno
  2023-09-11 10:57 ` [PATCH v3,2/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code Shuijing Li
  2023-09-11 10:57 ` [PATCH v3,3/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c Shuijing Li
  2 siblings, 1 reply; 7+ messages in thread
From: Shuijing Li @ 2023-09-11 10:57 UTC (permalink / raw)
  To: chunkuang.hu, p.zabel, airlied, daniel, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, matthias.bgg,
	angelogioacchino.delregno, jitao.shi
  Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
	linux-arm-kernel, Project_Global_Chrome_Upstream_Group,
	Shuijing Li, Krzysztof Kozlowski

Add dt-binding documentation of dsi for MediaTek MT8188 SoC.

Signed-off-by: Shuijing Li <shuijing.li@mediatek.com>
Signed-off-by: Jitao Shi <jitao.shi@mediatek.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
---
 .../devicetree/bindings/display/mediatek/mediatek,dsi.yaml       | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml
index 12441b937684..537e5304b730 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml
@@ -30,6 +30,7 @@ properties:
           - mediatek,mt8173-dsi
           - mediatek,mt8183-dsi
           - mediatek,mt8186-dsi
+          - mediatek,mt8188-dsi
       - items:
           - enum:
               - mediatek,mt6795-dsi
-- 
2.40.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v3,2/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code
  2023-09-11 10:57 [PATCH v3,0/3] Add mt8188 compatiable for DSI cmd packet control Shuijing Li
  2023-09-11 10:57 ` [PATCH v3,1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 Shuijing Li
@ 2023-09-11 10:57 ` Shuijing Li
  2023-09-11 11:03   ` AngeloGioacchino Del Regno
  2023-09-11 10:57 ` [PATCH v3,3/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c Shuijing Li
  2 siblings, 1 reply; 7+ messages in thread
From: Shuijing Li @ 2023-09-11 10:57 UTC (permalink / raw)
  To: chunkuang.hu, p.zabel, airlied, daniel, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, matthias.bgg,
	angelogioacchino.delregno, jitao.shi
  Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
	linux-arm-kernel, Project_Global_Chrome_Upstream_Group,
	Shuijing Li

For mt8188, add dsi cmdq reg control to send long packets to panel
initialization. MT8188 hardware has been changed to automatically
set the cmdq_size value by default when sending long packets.
In this patch, the cmdq_size value is set manually instead.
Remain consistent with previous IC.

Signed-off-by: Shuijing Li <shuijing.li@mediatek.com>
---
Changes in v3:
reorder patch 2/3 and 3/3, and describe more about why mt8188 need this
patch,
per suggestion from the previous thread:
https://lore.kernel.org/lkml/411ddbf95e2c2298b84899065691d478069ec273.camel@mediatek.com/
Changes in v2:
use mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, CMDQ_SIZE_SEL); directly,
per suggestion from the previous thread:
https://lore.kernel.org/lkml/015f4c60-ed77-9e1f-8a6b-cda6e4f6ac93@gmail.com/
---
 drivers/gpu/drm/mediatek/mtk_dsi.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
index d8bfc2cce54d..e83705394ada 100644
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
@@ -86,6 +86,7 @@
 
 #define DSI_CMDQ_SIZE		0x60
 #define CMDQ_SIZE			0x3f
+#define CMDQ_SIZE_SEL		BIT(15)
 
 #define DSI_HSTX_CKL_WC		0x64
 
@@ -178,6 +179,7 @@ struct mtk_dsi_driver_data {
 	const u32 reg_cmdq_off;
 	bool has_shadow_ctl;
 	bool has_size_ctl;
+	bool cmdq_long_packet_ctl;
 };
 
 struct mtk_dsi {
@@ -996,6 +998,8 @@ static void mtk_dsi_cmdq(struct mtk_dsi *dsi, const struct mipi_dsi_msg *msg)
 
 	mtk_dsi_mask(dsi, reg_cmdq_off, cmdq_mask, reg_val);
 	mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE, cmdq_size);
+	if (dsi->driver_data->cmdq_long_packet_ctl)
+		mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, CMDQ_SIZE_SEL);
 }
 
 static ssize_t mtk_dsi_host_send_cmd(struct mtk_dsi *dsi,
-- 
2.40.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v3,3/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c
  2023-09-11 10:57 [PATCH v3,0/3] Add mt8188 compatiable for DSI cmd packet control Shuijing Li
  2023-09-11 10:57 ` [PATCH v3,1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 Shuijing Li
  2023-09-11 10:57 ` [PATCH v3,2/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code Shuijing Li
@ 2023-09-11 10:57 ` Shuijing Li
  2023-09-11 11:03   ` AngeloGioacchino Del Regno
  2 siblings, 1 reply; 7+ messages in thread
From: Shuijing Li @ 2023-09-11 10:57 UTC (permalink / raw)
  To: chunkuang.hu, p.zabel, airlied, daniel, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, matthias.bgg,
	angelogioacchino.delregno, jitao.shi
  Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
	linux-arm-kernel, Project_Global_Chrome_Upstream_Group,
	Shuijing Li

Add the compatible because there are different definitions for cmdq
register bit control in mt8188.

Signed-off-by: Shuijing Li <shuijing.li@mediatek.com>
---
Changes in v3:
reorder patch 2/3 and 3/3,
per suggestion from the previous thread:
https://lore.kernel.org/lkml/338122485db025f6bfb8be550d426ca11698497c.camel@mediatek.com/
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++
 drivers/gpu/drm/mediatek/mtk_dsi.c     | 9 +++++++++
 2 files changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index 93552d76b6e7..034056d0f741 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -765,6 +765,8 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = {
 	  .data = (void *)MTK_DSI },
 	{ .compatible = "mediatek,mt8186-dsi",
 	  .data = (void *)MTK_DSI },
+	{ .compatible = "mediatek,mt8188-dsi",
+	  .data = (void *)MTK_DSI },
 	{ }
 };
 
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
index e83705394ada..5596d2399eb9 100644
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
@@ -1210,6 +1210,13 @@ static const struct mtk_dsi_driver_data mt8186_dsi_driver_data = {
 	.has_size_ctl = true,
 };
 
+static const struct mtk_dsi_driver_data mt8188_dsi_driver_data = {
+	.reg_cmdq_off = 0xd00,
+	.has_shadow_ctl = true,
+	.has_size_ctl = true,
+	.cmdq_long_packet_ctl = true,
+};
+
 static const struct of_device_id mtk_dsi_of_match[] = {
 	{ .compatible = "mediatek,mt2701-dsi",
 	  .data = &mt2701_dsi_driver_data },
@@ -1219,6 +1226,8 @@ static const struct of_device_id mtk_dsi_of_match[] = {
 	  .data = &mt8183_dsi_driver_data },
 	{ .compatible = "mediatek,mt8186-dsi",
 	  .data = &mt8186_dsi_driver_data },
+	{ .compatible = "mediatek,mt8188-dsi",
+	  .data = &mt8188_dsi_driver_data },
 	{ },
 };
 MODULE_DEVICE_TABLE(of, mtk_dsi_of_match);
-- 
2.40.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3,3/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c
  2023-09-11 10:57 ` [PATCH v3,3/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c Shuijing Li
@ 2023-09-11 11:03   ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 7+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-09-11 11:03 UTC (permalink / raw)
  To: Shuijing Li, chunkuang.hu, p.zabel, airlied, daniel, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, matthias.bgg, jitao.shi
  Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
	linux-arm-kernel, Project_Global_Chrome_Upstream_Group

Il 11/09/23 12:57, Shuijing Li ha scritto:
> Add the compatible because there are different definitions for cmdq
> register bit control in mt8188.
> 
> Signed-off-by: Shuijing Li <shuijing.li@mediatek.com>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3,2/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code
  2023-09-11 10:57 ` [PATCH v3,2/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code Shuijing Li
@ 2023-09-11 11:03   ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 7+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-09-11 11:03 UTC (permalink / raw)
  To: Shuijing Li, chunkuang.hu, p.zabel, airlied, daniel, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, matthias.bgg, jitao.shi
  Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
	linux-arm-kernel, Project_Global_Chrome_Upstream_Group

Il 11/09/23 12:57, Shuijing Li ha scritto:
> For mt8188, add dsi cmdq reg control to send long packets to panel
> initialization. MT8188 hardware has been changed to automatically
> set the cmdq_size value by default when sending long packets.
> In this patch, the cmdq_size value is set manually instead.
> Remain consistent with previous IC.
> 
> Signed-off-by: Shuijing Li <shuijing.li@mediatek.com>
> ---
> Changes in v3:
> reorder patch 2/3 and 3/3, and describe more about why mt8188 need this
> patch,
> per suggestion from the previous thread:
> https://lore.kernel.org/lkml/411ddbf95e2c2298b84899065691d478069ec273.camel@mediatek.com/
> Changes in v2:
> use mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, CMDQ_SIZE_SEL); directly,
> per suggestion from the previous thread:
> https://lore.kernel.org/lkml/015f4c60-ed77-9e1f-8a6b-cda6e4f6ac93@gmail.com/
> ---
>   drivers/gpu/drm/mediatek/mtk_dsi.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
> index d8bfc2cce54d..e83705394ada 100644
> --- a/drivers/gpu/drm/mediatek/mtk_dsi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
> @@ -86,6 +86,7 @@
>   
>   #define DSI_CMDQ_SIZE		0x60
>   #define CMDQ_SIZE			0x3f
> +#define CMDQ_SIZE_SEL		BIT(15)
>   
>   #define DSI_HSTX_CKL_WC		0x64
>   
> @@ -178,6 +179,7 @@ struct mtk_dsi_driver_data {
>   	const u32 reg_cmdq_off;
>   	bool has_shadow_ctl;
>   	bool has_size_ctl;
> +	bool cmdq_long_packet_ctl;
>   };
>   
>   struct mtk_dsi {
> @@ -996,6 +998,8 @@ static void mtk_dsi_cmdq(struct mtk_dsi *dsi, const struct mipi_dsi_msg *msg)
>   
>   	mtk_dsi_mask(dsi, reg_cmdq_off, cmdq_mask, reg_val);
>   	mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE, cmdq_size);
> +	if (dsi->driver_data->cmdq_long_packet_ctl)

Please add a comment here, like:

		/* Disable setting cmdq_size automatically for long packets */

after which
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

> +		mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, CMDQ_SIZE_SEL);
>   }
>   
>   static ssize_t mtk_dsi_host_send_cmd(struct mtk_dsi *dsi,


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3,1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188
  2023-09-11 10:57 ` [PATCH v3,1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 Shuijing Li
@ 2023-09-11 11:14   ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 7+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-09-11 11:14 UTC (permalink / raw)
  To: Shuijing Li, chunkuang.hu, p.zabel, airlied, daniel, robh+dt,
	krzysztof.kozlowski+dt, conor+dt, matthias.bgg, jitao.shi
  Cc: dri-devel, linux-mediatek, devicetree, linux-kernel,
	linux-arm-kernel, Project_Global_Chrome_Upstream_Group,
	Krzysztof Kozlowski

Il 11/09/23 12:57, Shuijing Li ha scritto:
> Add dt-binding documentation of dsi for MediaTek MT8188 SoC.
> 
> Signed-off-by: Shuijing Li <shuijing.li@mediatek.com>
> Signed-off-by: Jitao Shi <jitao.shi@mediatek.com>
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-09-11 22:35 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-11 10:57 [PATCH v3,0/3] Add mt8188 compatiable for DSI cmd packet control Shuijing Li
2023-09-11 10:57 ` [PATCH v3,1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 Shuijing Li
2023-09-11 11:14   ` AngeloGioacchino Del Regno
2023-09-11 10:57 ` [PATCH v3,2/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code Shuijing Li
2023-09-11 11:03   ` AngeloGioacchino Del Regno
2023-09-11 10:57 ` [PATCH v3,3/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c Shuijing Li
2023-09-11 11:03   ` AngeloGioacchino Del Regno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®