* [PATCH 0/3] Add mt8188 compatiable for DSI cmd packet control @ 2023-04-13 6:09 xinlei.lee 2023-04-13 6:09 ` [PATCH 1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 xinlei.lee ` (2 more replies) 0 siblings, 3 replies; 13+ messages in thread From: xinlei.lee @ 2023-04-13 6:09 UTC (permalink / raw) To: chunkuang.hu, p.zabel, airlied, daniel, robh+dt, krzysztof.kozlowski+dt, matthias.bgg, jitao.shi, shuijing.li Cc: devicetree, Xinlei Lee, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel From: Xinlei Lee <xinlei.lee@mediatek.com> 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.3. Xinlei Lee (3): dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code .../display/mediatek/mediatek,dsi.yaml | 1 + drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ drivers/gpu/drm/mediatek/mtk_dsi.c | 20 +++++++++++++++++++ 3 files changed, 23 insertions(+) -- 2.18.0 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 2023-04-13 6:09 [PATCH 0/3] Add mt8188 compatiable for DSI cmd packet control xinlei.lee @ 2023-04-13 6:09 ` xinlei.lee 2023-04-13 7:55 ` Krzysztof Kozlowski ` (2 more replies) 2023-04-13 6:09 ` [PATCH 2/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c xinlei.lee 2023-04-13 6:09 ` [PATCH 3/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code xinlei.lee 2 siblings, 3 replies; 13+ messages in thread From: xinlei.lee @ 2023-04-13 6:09 UTC (permalink / raw) To: chunkuang.hu, p.zabel, airlied, daniel, robh+dt, krzysztof.kozlowski+dt, matthias.bgg, jitao.shi, shuijing.li Cc: devicetree, Xinlei Lee, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel From: Xinlei Lee <xinlei.lee@mediatek.com> Add dt-binding documentation of dsi for MediaTek MT8188 SoC. Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> Signed-off-by: Jitao Shi <jitao.shi@mediatek.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 4707b60238b0..13fa76299254 100644 --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml @@ -29,6 +29,7 @@ properties: - mediatek,mt8173-dsi - mediatek,mt8183-dsi - mediatek,mt8186-dsi + - mediatek,mt8188-dsi reg: maxItems: 1 -- 2.18.0 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 2023-04-13 6:09 ` [PATCH 1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 xinlei.lee @ 2023-04-13 7:55 ` Krzysztof Kozlowski 2023-04-13 9:02 ` Matthias Brugger 2023-06-12 15:19 ` Chun-Kuang Hu 2 siblings, 0 replies; 13+ messages in thread From: Krzysztof Kozlowski @ 2023-04-13 7:55 UTC (permalink / raw) To: xinlei.lee, chunkuang.hu, p.zabel, airlied, daniel, robh+dt, krzysztof.kozlowski+dt, matthias.bgg, jitao.shi, shuijing.li Cc: devicetree, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel On 13/04/2023 08:09, xinlei.lee@mediatek.com wrote: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Add dt-binding documentation of dsi for MediaTek MT8188 SoC. > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > --- Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 2023-04-13 6:09 ` [PATCH 1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 xinlei.lee 2023-04-13 7:55 ` Krzysztof Kozlowski @ 2023-04-13 9:02 ` Matthias Brugger 2023-06-12 15:19 ` Chun-Kuang Hu 2 siblings, 0 replies; 13+ messages in thread From: Matthias Brugger @ 2023-04-13 9:02 UTC (permalink / raw) To: xinlei.lee, chunkuang.hu, p.zabel, airlied, daniel, robh+dt, krzysztof.kozlowski+dt, jitao.shi, shuijing.li Cc: devicetree, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel On 13/04/2023 08:09, xinlei.lee@mediatek.com wrote: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Add dt-binding documentation of dsi for MediaTek MT8188 SoC. > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> 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 4707b60238b0..13fa76299254 100644 > --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml > @@ -29,6 +29,7 @@ properties: > - mediatek,mt8173-dsi > - mediatek,mt8183-dsi > - mediatek,mt8186-dsi > + - mediatek,mt8188-dsi > > reg: > maxItems: 1 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 2023-04-13 6:09 ` [PATCH 1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 xinlei.lee 2023-04-13 7:55 ` Krzysztof Kozlowski 2023-04-13 9:02 ` Matthias Brugger @ 2023-06-12 15:19 ` Chun-Kuang Hu 2 siblings, 0 replies; 13+ messages in thread From: Chun-Kuang Hu @ 2023-06-12 15:19 UTC (permalink / raw) To: xinlei.lee Cc: chunkuang.hu, jitao.shi, devicetree, airlied, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, shuijing.li, robh+dt, linux-mediatek, krzysztof.kozlowski+dt, matthias.bgg, linux-arm-kernel <xinlei.lee@mediatek.com> 於 2023年4月13日 週四 下午2:09寫道: > > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Add dt-binding documentation of dsi for MediaTek MT8188 SoC. Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org> > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.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 4707b60238b0..13fa76299254 100644 > --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml > +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml > @@ -29,6 +29,7 @@ properties: > - mediatek,mt8173-dsi > - mediatek,mt8183-dsi > - mediatek,mt8186-dsi > + - mediatek,mt8188-dsi > > reg: > maxItems: 1 > -- > 2.18.0 > ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c 2023-04-13 6:09 [PATCH 0/3] Add mt8188 compatiable for DSI cmd packet control xinlei.lee 2023-04-13 6:09 ` [PATCH 1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 xinlei.lee @ 2023-04-13 6:09 ` xinlei.lee 2023-04-13 9:02 ` Matthias Brugger 2023-06-12 15:18 ` Chun-Kuang Hu 2023-04-13 6:09 ` [PATCH 3/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code xinlei.lee 2 siblings, 2 replies; 13+ messages in thread From: xinlei.lee @ 2023-04-13 6:09 UTC (permalink / raw) To: chunkuang.hu, p.zabel, airlied, daniel, robh+dt, krzysztof.kozlowski+dt, matthias.bgg, jitao.shi, shuijing.li Cc: devicetree, Xinlei Lee, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel From: Xinlei Lee <xinlei.lee@mediatek.com> Add the compatible because there are different definitions for cmdq register bit control in mt8188. Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> --- drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ drivers/gpu/drm/mediatek/mtk_dsi.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c index a13b36ac03a1..9ba05961479d 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -654,6 +654,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 7d5250351193..500a3054282d 100644 --- a/drivers/gpu/drm/mediatek/mtk_dsi.c +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c @@ -1208,6 +1208,12 @@ 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, +}; + static const struct of_device_id mtk_dsi_of_match[] = { { .compatible = "mediatek,mt2701-dsi", .data = &mt2701_dsi_driver_data }, @@ -1217,6 +1223,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.18.0 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 2/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c 2023-04-13 6:09 ` [PATCH 2/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c xinlei.lee @ 2023-04-13 9:02 ` Matthias Brugger 2023-06-12 15:18 ` Chun-Kuang Hu 1 sibling, 0 replies; 13+ messages in thread From: Matthias Brugger @ 2023-04-13 9:02 UTC (permalink / raw) To: xinlei.lee, chunkuang.hu, p.zabel, airlied, daniel, robh+dt, krzysztof.kozlowski+dt, jitao.shi, shuijing.li Cc: devicetree, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel On 13/04/2023 08:09, xinlei.lee@mediatek.com wrote: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Add the compatible because there are different definitions for cmdq > register bit control in mt8188. > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> > --- > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ > drivers/gpu/drm/mediatek/mtk_dsi.c | 8 ++++++++ > 2 files changed, 10 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > index a13b36ac03a1..9ba05961479d 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > @@ -654,6 +654,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 7d5250351193..500a3054282d 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > @@ -1208,6 +1208,12 @@ 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, > +}; > + > static const struct of_device_id mtk_dsi_of_match[] = { > { .compatible = "mediatek,mt2701-dsi", > .data = &mt2701_dsi_driver_data }, > @@ -1217,6 +1223,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); ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c 2023-04-13 6:09 ` [PATCH 2/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c xinlei.lee 2023-04-13 9:02 ` Matthias Brugger @ 2023-06-12 15:18 ` Chun-Kuang Hu 1 sibling, 0 replies; 13+ messages in thread From: Chun-Kuang Hu @ 2023-06-12 15:18 UTC (permalink / raw) To: xinlei.lee Cc: chunkuang.hu, jitao.shi, devicetree, airlied, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, shuijing.li, robh+dt, linux-mediatek, krzysztof.kozlowski+dt, matthias.bgg, linux-arm-kernel Hi, Xinlei: Reorder this patch after patch "[3/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code" Regards, Chun-Kuang. <xinlei.lee@mediatek.com> 於 2023年4月13日 週四 下午2:09寫道: > > From: Xinlei Lee <xinlei.lee@mediatek.com> > > Add the compatible because there are different definitions for cmdq > register bit control in mt8188. > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > --- > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++ > drivers/gpu/drm/mediatek/mtk_dsi.c | 8 ++++++++ > 2 files changed, 10 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > index a13b36ac03a1..9ba05961479d 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c > @@ -654,6 +654,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 7d5250351193..500a3054282d 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > @@ -1208,6 +1208,12 @@ 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, > +}; > + > static const struct of_device_id mtk_dsi_of_match[] = { > { .compatible = "mediatek,mt2701-dsi", > .data = &mt2701_dsi_driver_data }, > @@ -1217,6 +1223,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.18.0 > ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 3/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code 2023-04-13 6:09 [PATCH 0/3] Add mt8188 compatiable for DSI cmd packet control xinlei.lee 2023-04-13 6:09 ` [PATCH 1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 xinlei.lee 2023-04-13 6:09 ` [PATCH 2/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c xinlei.lee @ 2023-04-13 6:09 ` xinlei.lee 2023-04-13 7:27 ` Rex-BC Chen (陳柏辰) 2023-04-13 9:09 ` Matthias Brugger 2 siblings, 2 replies; 13+ messages in thread From: xinlei.lee @ 2023-04-13 6:09 UTC (permalink / raw) To: chunkuang.hu, p.zabel, airlied, daniel, robh+dt, krzysztof.kozlowski+dt, matthias.bgg, jitao.shi, shuijing.li Cc: devicetree, Xinlei Lee, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel From: Xinlei Lee <xinlei.lee@mediatek.com> For mt8188, add dsi cmdq reg control to send long packets to panel initialization. Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> --- drivers/gpu/drm/mediatek/mtk_dsi.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c index 500a3054282d..cbfe5df4647c 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 { @@ -965,6 +967,11 @@ static u32 mtk_dsi_recv_cnt(u8 type, u8 *read_data) return 0; } +static void mtk_dsi_cmd_packet_ctl(struct mtk_dsi *dsi) +{ + mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, CMDQ_SIZE_SEL); +} + static void mtk_dsi_cmdq(struct mtk_dsi *dsi, const struct mipi_dsi_msg *msg) { const char *tx_buf = msg->tx_buf; @@ -996,6 +1003,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_cmd_packet_ctl(dsi); } static ssize_t mtk_dsi_host_send_cmd(struct mtk_dsi *dsi, @@ -1200,18 +1209,21 @@ static const struct mtk_dsi_driver_data mt8183_dsi_driver_data = { .reg_cmdq_off = 0x200, .has_shadow_ctl = true, .has_size_ctl = true, + .cmdq_long_packet_ctl = false, }; static const struct mtk_dsi_driver_data mt8186_dsi_driver_data = { .reg_cmdq_off = 0xd00, .has_shadow_ctl = true, .has_size_ctl = true, + .cmdq_long_packet_ctl = false, }; 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[] = { -- 2.18.0 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code 2023-04-13 6:09 ` [PATCH 3/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code xinlei.lee @ 2023-04-13 7:27 ` Rex-BC Chen (陳柏辰) 2023-06-16 6:24 ` Shuijing Li (李水静) 2023-04-13 9:09 ` Matthias Brugger 1 sibling, 1 reply; 13+ messages in thread From: Rex-BC Chen (陳柏辰) @ 2023-04-13 7:27 UTC (permalink / raw) To: Shuijing Li (李水静), robh+dt, chunkuang.hu, Jitao Shi (石记涛), daniel, p.zabel, Xinlei Lee (李昕磊), krzysztof.kozlowski+dt, matthias.bgg, airlied Cc: devicetree, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel [-- Attachment #1: Type: text/html, Size: 5038 bytes --] [-- Attachment #2: Type: text/plain, Size: 2649 bytes --] Hello Xinlei, IMO, [2/3] is weird because the driver_data for mt8186 and mt8188 are the same in [2/3]. So I think [2/3] coulde be squashed into this patch. BRs, Bo-Chen On Thu, 2023-04-13 at 14:09 +0800, xinlei.lee@mediatek.com wrote: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > For mt8188, add dsi cmdq reg control to send long packets to panel > initialization. > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > --- > drivers/gpu/drm/mediatek/mtk_dsi.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c > b/drivers/gpu/drm/mediatek/mtk_dsi.c > index 500a3054282d..cbfe5df4647c 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 { > @@ -965,6 +967,11 @@ static u32 mtk_dsi_recv_cnt(u8 type, u8 > *read_data) > return 0; > } > > +static void mtk_dsi_cmd_packet_ctl(struct mtk_dsi *dsi) > +{ > + mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, CMDQ_SIZE_SEL); > +} > + > static void mtk_dsi_cmdq(struct mtk_dsi *dsi, const struct > mipi_dsi_msg *msg) > { > const char *tx_buf = msg->tx_buf; > @@ -996,6 +1003,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_cmd_packet_ctl(dsi); > } > > static ssize_t mtk_dsi_host_send_cmd(struct mtk_dsi *dsi, > @@ -1200,18 +1209,21 @@ static const struct mtk_dsi_driver_data > mt8183_dsi_driver_data = { > .reg_cmdq_off = 0x200, > .has_shadow_ctl = true, > .has_size_ctl = true, > + .cmdq_long_packet_ctl = false, > }; > > static const struct mtk_dsi_driver_data mt8186_dsi_driver_data = { > .reg_cmdq_off = 0xd00, > .has_shadow_ctl = true, > .has_size_ctl = true, > + .cmdq_long_packet_ctl = false, > }; > > 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[] = { ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code 2023-04-13 7:27 ` Rex-BC Chen (陳柏辰) @ 2023-06-16 6:24 ` Shuijing Li (李水静) 0 siblings, 0 replies; 13+ messages in thread From: Shuijing Li (李水静) @ 2023-06-16 6:24 UTC (permalink / raw) To: robh+dt, chunkuang.hu, Jitao Shi (石记涛), daniel, p.zabel, Xinlei Lee (李昕磊), krzysztof.kozlowski+dt, matthias.bgg, airlied, Rex-BC Chen (陳柏辰) Cc: devicetree, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel [-- Attachment #1: Type: text/html, Size: 6241 bytes --] [-- Attachment #2: Type: text/plain, Size: 3074 bytes --] Hi Rex-BC, [2/3] is to add the driver data of 8188, [3/3] is the common content of 8183,8186 and 8188. So we think it should be divided into two patches. BRs, Shuijing On Thu, 2023-04-13 at 07:27 +0000, Rex-BC Chen (陳柏辰) wrote: > Hello Xinlei, > > IMO, [2/3] is weird because the driver_data for mt8186 and mt8188 are > the same in [2/3]. So I think [2/3] coulde be squashed into this > patch. > > BRs, > Bo-Chen > > On Thu, 2023-04-13 at 14:09 +0800, xinlei.lee@mediatek.com wrote: > > From: Xinlei Lee <xinlei.lee@mediatek.com> > > > > For mt8188, add dsi cmdq reg control to send long packets to panel > > initialization. > > > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > > --- > > drivers/gpu/drm/mediatek/mtk_dsi.c | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c > > b/drivers/gpu/drm/mediatek/mtk_dsi.c > > index 500a3054282d..cbfe5df4647c 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 { > > @@ -965,6 +967,11 @@ static u32 mtk_dsi_recv_cnt(u8 type, u8 > > *read_data) > > return 0; > > } > > > > +static void mtk_dsi_cmd_packet_ctl(struct mtk_dsi *dsi) > > +{ > > + mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, CMDQ_SIZE_SEL); > > +} > > + > > static void mtk_dsi_cmdq(struct mtk_dsi *dsi, const struct > > mipi_dsi_msg *msg) > > { > > const char *tx_buf = msg->tx_buf; > > @@ -996,6 +1003,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_cmd_packet_ctl(dsi); > > } > > > > static ssize_t mtk_dsi_host_send_cmd(struct mtk_dsi *dsi, > > @@ -1200,18 +1209,21 @@ static const struct mtk_dsi_driver_data > > mt8183_dsi_driver_data = { > > .reg_cmdq_off = 0x200, > > .has_shadow_ctl = true, > > .has_size_ctl = true, > > + .cmdq_long_packet_ctl = false, > > }; > > > > static const struct mtk_dsi_driver_data mt8186_dsi_driver_data = { > > .reg_cmdq_off = 0xd00, > > .has_shadow_ctl = true, > > .has_size_ctl = true, > > + .cmdq_long_packet_ctl = false, > > }; > > > > 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[] = { ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code 2023-04-13 6:09 ` [PATCH 3/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code xinlei.lee 2023-04-13 7:27 ` Rex-BC Chen (陳柏辰) @ 2023-04-13 9:09 ` Matthias Brugger 2023-06-16 6:50 ` Shuijing Li (李水静) 1 sibling, 1 reply; 13+ messages in thread From: Matthias Brugger @ 2023-04-13 9:09 UTC (permalink / raw) To: xinlei.lee, chunkuang.hu, p.zabel, airlied, daniel, robh+dt, krzysztof.kozlowski+dt, jitao.shi, shuijing.li Cc: devicetree, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel On 13/04/2023 08:09, xinlei.lee@mediatek.com wrote: > From: Xinlei Lee <xinlei.lee@mediatek.com> > > For mt8188, add dsi cmdq reg control to send long packets to panel initialization. > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > --- > drivers/gpu/drm/mediatek/mtk_dsi.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c > index 500a3054282d..cbfe5df4647c 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 { > @@ -965,6 +967,11 @@ static u32 mtk_dsi_recv_cnt(u8 type, u8 *read_data) > return 0; > } > > +static void mtk_dsi_cmd_packet_ctl(struct mtk_dsi *dsi) > +{ > + mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, CMDQ_SIZE_SEL); > +} > + > static void mtk_dsi_cmdq(struct mtk_dsi *dsi, const struct mipi_dsi_msg *msg) > { > const char *tx_buf = msg->tx_buf; > @@ -996,6 +1003,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_cmd_packet_ctl(dsi); Why don't you put the onliner mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, CMDQ_SIZE_SEL); directly here. Please help me understand why adding another indirection is usefull here. Best regards, Matthias > } > > static ssize_t mtk_dsi_host_send_cmd(struct mtk_dsi *dsi, > @@ -1200,18 +1209,21 @@ static const struct mtk_dsi_driver_data mt8183_dsi_driver_data = { > .reg_cmdq_off = 0x200, > .has_shadow_ctl = true, > .has_size_ctl = true, > + .cmdq_long_packet_ctl = false, > }; > > static const struct mtk_dsi_driver_data mt8186_dsi_driver_data = { > .reg_cmdq_off = 0xd00, > .has_shadow_ctl = true, > .has_size_ctl = true, > + .cmdq_long_packet_ctl = false, > }; > > 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[] = { ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code 2023-04-13 9:09 ` Matthias Brugger @ 2023-06-16 6:50 ` Shuijing Li (李水静) 0 siblings, 0 replies; 13+ messages in thread From: Shuijing Li (李水静) @ 2023-06-16 6:50 UTC (permalink / raw) To: robh+dt, chunkuang.hu, Jitao Shi (石记涛), daniel, p.zabel, Xinlei Lee (李昕磊), krzysztof.kozlowski+dt, matthias.bgg, airlied Cc: devicetree, linux-kernel, dri-devel, Project_Global_Chrome_Upstream_Group, linux-mediatek, linux-arm-kernel [-- Attachment #1: Type: text/html, Size: 7330 bytes --] [-- Attachment #2: Type: text/plain, Size: 3307 bytes --] Hi Matthias, I will update v2 version as your suggestion. BRs, Shuijing On Thu, 2023-04-13 at 11:09 +0200, Matthias Brugger wrote: > External email : Please do not click links or open attachments until > you have verified the sender or the content. > > > On 13/04/2023 08:09, xinlei.lee@mediatek.com wrote: > > From: Xinlei Lee <xinlei.lee@mediatek.com> > > > > For mt8188, add dsi cmdq reg control to send long packets to panel > > initialization. > > > > Signed-off-by: Xinlei Lee <xinlei.lee@mediatek.com> > > Signed-off-by: Jitao Shi <jitao.shi@mediatek.com> > > --- > > drivers/gpu/drm/mediatek/mtk_dsi.c | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c > > b/drivers/gpu/drm/mediatek/mtk_dsi.c > > index 500a3054282d..cbfe5df4647c 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 { > > @@ -965,6 +967,11 @@ static u32 mtk_dsi_recv_cnt(u8 type, u8 > > *read_data) > > return 0; > > } > > > > +static void mtk_dsi_cmd_packet_ctl(struct mtk_dsi *dsi) > > +{ > > + mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, > > CMDQ_SIZE_SEL); > > +} > > + > > static void mtk_dsi_cmdq(struct mtk_dsi *dsi, const struct > > mipi_dsi_msg *msg) > > { > > const char *tx_buf = msg->tx_buf; > > @@ -996,6 +1003,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_cmd_packet_ctl(dsi); > > Why don't you put the onliner > mtk_dsi_mask(dsi, DSI_CMDQ_SIZE, CMDQ_SIZE_SEL, CMDQ_SIZE_SEL); > directly here. Please help me understand why adding another > indirection is > usefull here. > > Best regards, > Matthias > > > } > > > > static ssize_t mtk_dsi_host_send_cmd(struct mtk_dsi *dsi, > > @@ -1200,18 +1209,21 @@ static const struct mtk_dsi_driver_data > > mt8183_dsi_driver_data = { > > .reg_cmdq_off = 0x200, > > .has_shadow_ctl = true, > > .has_size_ctl = true, > > + .cmdq_long_packet_ctl = false, > > }; > > > > static const struct mtk_dsi_driver_data mt8186_dsi_driver_data = > > { > > .reg_cmdq_off = 0xd00, > > .has_shadow_ctl = true, > > .has_size_ctl = true, > > + .cmdq_long_packet_ctl = false, > > }; > > > > 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[] = { ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2023-06-16 7:30 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-04-13 6:09 [PATCH 0/3] Add mt8188 compatiable for DSI cmd packet control xinlei.lee 2023-04-13 6:09 ` [PATCH 1/3] dt-bindings: display: mediatek: dsi: Add compatible for MediaTek MT8188 xinlei.lee 2023-04-13 7:55 ` Krzysztof Kozlowski 2023-04-13 9:02 ` Matthias Brugger 2023-06-12 15:19 ` Chun-Kuang Hu 2023-04-13 6:09 ` [PATCH 2/3] drm/mediatek: Add mt8188 dsi compatible to mtk_dsi.c xinlei.lee 2023-04-13 9:02 ` Matthias Brugger 2023-06-12 15:18 ` Chun-Kuang Hu 2023-04-13 6:09 ` [PATCH 3/3] drm/mediatek: dsi: Add dsi cmdq_ctl to send panel initial code xinlei.lee 2023-04-13 7:27 ` Rex-BC Chen (陳柏辰) 2023-06-16 6:24 ` Shuijing Li (李水静) 2023-04-13 9:09 ` Matthias Brugger 2023-06-16 6:50 ` Shuijing Li (李水静)
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).