* [PATCH 0/3] SC7280 DPU fixups
@ 2023-09-20 22:46 Konrad Dybcio
2023-09-20 22:46 ` [PATCH 1/3] drm/msm/dpu: Fix SC7280 PP length Konrad Dybcio
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Konrad Dybcio @ 2023-09-20 22:46 UTC (permalink / raw)
To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov, Sean Paul,
Marijn Suijten, David Airlie, Daniel Vetter, Kuogee Hsieh
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, Konrad Dybcio
Found a couple mistakes, this series attempts to fix it.
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
Konrad Dybcio (3):
drm/msm/dpu: Fix SC7280 PP length
drm/msm/dpu: Add missing DPU_DSC_OUTPUT_CTRL to SC7280
drm/msm/dpu: Fix SC7280 DSC block length
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
---
base-commit: 926f75c8a5ab70567eb4c2d82fbc96963313e564
change-id: 20230920-topic-7280_dpu-59a29cedca6e
Best regards,
--
Konrad Dybcio <konrad.dybcio@linaro.org>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/3] drm/msm/dpu: Fix SC7280 PP length
2023-09-20 22:46 [PATCH 0/3] SC7280 DPU fixups Konrad Dybcio
@ 2023-09-20 22:46 ` Konrad Dybcio
2023-09-20 23:41 ` Abhinav Kumar
2023-09-20 22:46 ` [PATCH 2/3] drm/msm/dpu: Add missing DPU_DSC_OUTPUT_CTRL to SC7280 Konrad Dybcio
2023-09-20 22:46 ` [PATCH 3/3] drm/msm/dpu: Fix SC7280 DSC block length Konrad Dybcio
2 siblings, 1 reply; 9+ messages in thread
From: Konrad Dybcio @ 2023-09-20 22:46 UTC (permalink / raw)
To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov, Sean Paul,
Marijn Suijten, David Airlie, Daniel Vetter, Kuogee Hsieh
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, Konrad Dybcio
Commit 194347df5844 ("drm/msm/dpu: inline DSC_BLK and DSC_BLK_1_2
macros") unrolled a macro incorrectly. Fix that.
Fixes: 194347df5844 ("drm/msm/dpu: inline DSC_BLK and DSC_BLK_1_2 macros")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
index 3b5061c4402a..dc3198335164 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
@@ -126,7 +126,7 @@ static const struct dpu_dspp_cfg sc7280_dspp[] = {
static const struct dpu_pingpong_cfg sc7280_pp[] = {
{
.name = "pingpong_0", .id = PINGPONG_0,
- .base = 0x69000, .len = 0,
+ .base = 0x69000, .len = 0xd4,
.features = BIT(DPU_PINGPONG_DITHER),
.sblk = &sc7280_pp_sblk,
.merge_3d = 0,
@@ -134,7 +134,7 @@ static const struct dpu_pingpong_cfg sc7280_pp[] = {
.intr_rdptr = -1,
}, {
.name = "pingpong_1", .id = PINGPONG_1,
- .base = 0x6a000, .len = 0,
+ .base = 0x6a000, .len = 0xd4,
.features = BIT(DPU_PINGPONG_DITHER),
.sblk = &sc7280_pp_sblk,
.merge_3d = 0,
@@ -142,7 +142,7 @@ static const struct dpu_pingpong_cfg sc7280_pp[] = {
.intr_rdptr = -1,
}, {
.name = "pingpong_2", .id = PINGPONG_2,
- .base = 0x6b000, .len = 0,
+ .base = 0x6b000, .len = 0xd4,
.features = BIT(DPU_PINGPONG_DITHER),
.sblk = &sc7280_pp_sblk,
.merge_3d = 0,
@@ -150,7 +150,7 @@ static const struct dpu_pingpong_cfg sc7280_pp[] = {
.intr_rdptr = -1,
}, {
.name = "pingpong_3", .id = PINGPONG_3,
- .base = 0x6c000, .len = 0,
+ .base = 0x6c000, .len = 0xd4,
.features = BIT(DPU_PINGPONG_DITHER),
.sblk = &sc7280_pp_sblk,
.merge_3d = 0,
--
2.39.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/3] drm/msm/dpu: Add missing DPU_DSC_OUTPUT_CTRL to SC7280
2023-09-20 22:46 [PATCH 0/3] SC7280 DPU fixups Konrad Dybcio
2023-09-20 22:46 ` [PATCH 1/3] drm/msm/dpu: Fix SC7280 PP length Konrad Dybcio
@ 2023-09-20 22:46 ` Konrad Dybcio
2023-09-21 0:01 ` Abhinav Kumar
2023-09-20 22:46 ` [PATCH 3/3] drm/msm/dpu: Fix SC7280 DSC block length Konrad Dybcio
2 siblings, 1 reply; 9+ messages in thread
From: Konrad Dybcio @ 2023-09-20 22:46 UTC (permalink / raw)
To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov, Sean Paul,
Marijn Suijten, David Airlie, Daniel Vetter, Kuogee Hsieh
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, Konrad Dybcio
DPU_DSC_OUTPUT_CTRL should be enabled for all platforms with a CTL
CFG 1.0.0. SC7280 is one of them. Add it.
Fixes: 0d1b10c63346 ("drm/msm/dpu: add DSC 1.2 hw blocks for relevant chipsets")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
index dc3198335164..b6a59d7b94c4 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
@@ -164,7 +164,7 @@ static const struct dpu_dsc_cfg sc7280_dsc[] = {
{
.name = "dce_0_0", .id = DSC_0,
.base = 0x80000, .len = 0x4,
- .features = BIT(DPU_DSC_HW_REV_1_2) | BIT(DPU_DSC_NATIVE_42x_EN),
+ .features = BIT(DPU_DSC_HW_REV_1_2) | BIT(DPU_DSC_NATIVE_42x_EN) | BIT(DPU_DSC_OUTPUT_CTRL),
.sblk = &dsc_sblk_0,
},
};
--
2.39.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/3] drm/msm/dpu: Fix SC7280 DSC block length
2023-09-20 22:46 [PATCH 0/3] SC7280 DPU fixups Konrad Dybcio
2023-09-20 22:46 ` [PATCH 1/3] drm/msm/dpu: Fix SC7280 PP length Konrad Dybcio
2023-09-20 22:46 ` [PATCH 2/3] drm/msm/dpu: Add missing DPU_DSC_OUTPUT_CTRL to SC7280 Konrad Dybcio
@ 2023-09-20 22:46 ` Konrad Dybcio
2023-09-21 0:10 ` Abhinav Kumar
2 siblings, 1 reply; 9+ messages in thread
From: Konrad Dybcio @ 2023-09-20 22:46 UTC (permalink / raw)
To: Rob Clark, Abhinav Kumar, Dmitry Baryshkov, Sean Paul,
Marijn Suijten, David Airlie, Daniel Vetter, Kuogee Hsieh
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel, Konrad Dybcio
Commit e550ad0e5c3d ("drm/msm/dpu: fix DSC 1.2 block lengths") changed
the block length from a wrong value to another wrong value.
Use the correct one this time.
Fixes: e550ad0e5c3d ("drm/msm/dpu: fix DSC 1.2 block lengths")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
---
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
index b6a59d7b94c4..de5e1a57a142 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
@@ -163,7 +163,7 @@ static const struct dpu_pingpong_cfg sc7280_pp[] = {
static const struct dpu_dsc_cfg sc7280_dsc[] = {
{
.name = "dce_0_0", .id = DSC_0,
- .base = 0x80000, .len = 0x4,
+ .base = 0x80000, .len = 0x10,
.features = BIT(DPU_DSC_HW_REV_1_2) | BIT(DPU_DSC_NATIVE_42x_EN) | BIT(DPU_DSC_OUTPUT_CTRL),
.sblk = &dsc_sblk_0,
},
--
2.39.2
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] drm/msm/dpu: Fix SC7280 PP length
2023-09-20 22:46 ` [PATCH 1/3] drm/msm/dpu: Fix SC7280 PP length Konrad Dybcio
@ 2023-09-20 23:41 ` Abhinav Kumar
2023-09-21 7:01 ` Konrad Dybcio
0 siblings, 1 reply; 9+ messages in thread
From: Abhinav Kumar @ 2023-09-20 23:41 UTC (permalink / raw)
To: Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Sean Paul,
Marijn Suijten, David Airlie, Daniel Vetter, Kuogee Hsieh
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel
On 9/20/2023 3:46 PM, Konrad Dybcio wrote:
> Commit 194347df5844 ("drm/msm/dpu: inline DSC_BLK and DSC_BLK_1_2
> macros") unrolled a macro incorrectly. Fix that.
>
No, its correct from what i can tell.
Before inlining it was using PP_BLK_DITHER macro and not PP_BLK.
PP_BLK_DITHER has a len of 0 and not 0xd4.
Hence I cannot see whats wrong here.
> Fixes: 194347df5844 ("drm/msm/dpu: inline DSC_BLK and DSC_BLK_1_2 macros")
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> index 3b5061c4402a..dc3198335164 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> @@ -126,7 +126,7 @@ static const struct dpu_dspp_cfg sc7280_dspp[] = {
> static const struct dpu_pingpong_cfg sc7280_pp[] = {
> {
> .name = "pingpong_0", .id = PINGPONG_0,
> - .base = 0x69000, .len = 0,
> + .base = 0x69000, .len = 0xd4,
> .features = BIT(DPU_PINGPONG_DITHER),
> .sblk = &sc7280_pp_sblk,
> .merge_3d = 0,
> @@ -134,7 +134,7 @@ static const struct dpu_pingpong_cfg sc7280_pp[] = {
> .intr_rdptr = -1,
> }, {
> .name = "pingpong_1", .id = PINGPONG_1,
> - .base = 0x6a000, .len = 0,
> + .base = 0x6a000, .len = 0xd4,
> .features = BIT(DPU_PINGPONG_DITHER),
> .sblk = &sc7280_pp_sblk,
> .merge_3d = 0,
> @@ -142,7 +142,7 @@ static const struct dpu_pingpong_cfg sc7280_pp[] = {
> .intr_rdptr = -1,
> }, {
> .name = "pingpong_2", .id = PINGPONG_2,
> - .base = 0x6b000, .len = 0,
> + .base = 0x6b000, .len = 0xd4,
> .features = BIT(DPU_PINGPONG_DITHER),
> .sblk = &sc7280_pp_sblk,
> .merge_3d = 0,
> @@ -150,7 +150,7 @@ static const struct dpu_pingpong_cfg sc7280_pp[] = {
> .intr_rdptr = -1,
> }, {
> .name = "pingpong_3", .id = PINGPONG_3,
> - .base = 0x6c000, .len = 0,
> + .base = 0x6c000, .len = 0xd4,
> .features = BIT(DPU_PINGPONG_DITHER),
> .sblk = &sc7280_pp_sblk,
> .merge_3d = 0,
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] drm/msm/dpu: Add missing DPU_DSC_OUTPUT_CTRL to SC7280
2023-09-20 22:46 ` [PATCH 2/3] drm/msm/dpu: Add missing DPU_DSC_OUTPUT_CTRL to SC7280 Konrad Dybcio
@ 2023-09-21 0:01 ` Abhinav Kumar
2023-09-21 7:04 ` Konrad Dybcio
0 siblings, 1 reply; 9+ messages in thread
From: Abhinav Kumar @ 2023-09-21 0:01 UTC (permalink / raw)
To: Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Sean Paul,
Marijn Suijten, David Airlie, Daniel Vetter, Kuogee Hsieh
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel
On 9/20/2023 3:46 PM, Konrad Dybcio wrote:
> DPU_DSC_OUTPUT_CTRL should be enabled for all platforms with a CTL
> CFG 1.0.0. SC7280 is one of them. Add it.
>
sc7280 and all other chipsets using DSC 1.2 use dpu_hw_dsc_init_1_2 and
not dpu_hw_dsc_init.
dpu_hw_dsc_init_1_2 assigns the dsc_bind_pingpong_blk op by default.
So this change is not needed.
> Fixes: 0d1b10c63346 ("drm/msm/dpu: add DSC 1.2 hw blocks for relevant chipsets")
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> index dc3198335164..b6a59d7b94c4 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> @@ -164,7 +164,7 @@ static const struct dpu_dsc_cfg sc7280_dsc[] = {
> {
> .name = "dce_0_0", .id = DSC_0,
> .base = 0x80000, .len = 0x4,
> - .features = BIT(DPU_DSC_HW_REV_1_2) | BIT(DPU_DSC_NATIVE_42x_EN),
> + .features = BIT(DPU_DSC_HW_REV_1_2) | BIT(DPU_DSC_NATIVE_42x_EN) | BIT(DPU_DSC_OUTPUT_CTRL),
> .sblk = &dsc_sblk_0,
> },
> };
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 3/3] drm/msm/dpu: Fix SC7280 DSC block length
2023-09-20 22:46 ` [PATCH 3/3] drm/msm/dpu: Fix SC7280 DSC block length Konrad Dybcio
@ 2023-09-21 0:10 ` Abhinav Kumar
0 siblings, 0 replies; 9+ messages in thread
From: Abhinav Kumar @ 2023-09-21 0:10 UTC (permalink / raw)
To: Konrad Dybcio, Rob Clark, Dmitry Baryshkov, Sean Paul,
Marijn Suijten, David Airlie, Daniel Vetter, Kuogee Hsieh
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel
On 9/20/2023 3:46 PM, Konrad Dybcio wrote:
> Commit e550ad0e5c3d ("drm/msm/dpu: fix DSC 1.2 block lengths") changed
> the block length from a wrong value to another wrong value.
>
> Use the correct one this time.
>
No that change is correct as well.
After we moved to sub-blk parsing, we have enc and ctl blocks length
used from the dsc_sblk_* instead:
static const struct dpu_dsc_sub_blks dsc_sblk_0 = {
.enc = {.name = "enc", .base = 0x100, .len = 0x9c},
.ctl = {.name = "ctl", .base = 0xF00, .len = 0x10},
};
static const struct dpu_dsc_sub_blks dsc_sblk_1 = {
.enc = {.name = "enc", .base = 0x200, .len = 0x9c},
.ctl = {.name = "ctl", .base = 0xF80, .len = 0x10},
};
The main block has only one register now which is the DSC_CMN register.
Hence len = 0x4 is correct for that.
Sorry, but this is right too :)
> Fixes: e550ad0e5c3d ("drm/msm/dpu: fix DSC 1.2 block lengths")
> Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
> ---
> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> index b6a59d7b94c4..de5e1a57a142 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_7_2_sc7280.h
> @@ -163,7 +163,7 @@ static const struct dpu_pingpong_cfg sc7280_pp[] = {
> static const struct dpu_dsc_cfg sc7280_dsc[] = {
> {
> .name = "dce_0_0", .id = DSC_0,
> - .base = 0x80000, .len = 0x4,
> + .base = 0x80000, .len = 0x10,
> .features = BIT(DPU_DSC_HW_REV_1_2) | BIT(DPU_DSC_NATIVE_42x_EN) | BIT(DPU_DSC_OUTPUT_CTRL),
> .sblk = &dsc_sblk_0,
> },
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] drm/msm/dpu: Fix SC7280 PP length
2023-09-20 23:41 ` Abhinav Kumar
@ 2023-09-21 7:01 ` Konrad Dybcio
0 siblings, 0 replies; 9+ messages in thread
From: Konrad Dybcio @ 2023-09-21 7:01 UTC (permalink / raw)
To: Abhinav Kumar, Rob Clark, Dmitry Baryshkov, Sean Paul,
Marijn Suijten, David Airlie, Daniel Vetter, Kuogee Hsieh
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel
On 9/21/23 01:41, Abhinav Kumar wrote:
>
>
> On 9/20/2023 3:46 PM, Konrad Dybcio wrote:
>> Commit 194347df5844 ("drm/msm/dpu: inline DSC_BLK and DSC_BLK_1_2
>> macros") unrolled a macro incorrectly. Fix that.
>>
>
> No, its correct from what i can tell.
>
> Before inlining it was using PP_BLK_DITHER macro and not PP_BLK.
>
> PP_BLK_DITHER has a len of 0 and not 0xd4.
>
> Hence I cannot see whats wrong here.
Right, I misread the thing..
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/3] drm/msm/dpu: Add missing DPU_DSC_OUTPUT_CTRL to SC7280
2023-09-21 0:01 ` Abhinav Kumar
@ 2023-09-21 7:04 ` Konrad Dybcio
0 siblings, 0 replies; 9+ messages in thread
From: Konrad Dybcio @ 2023-09-21 7:04 UTC (permalink / raw)
To: Abhinav Kumar, Rob Clark, Dmitry Baryshkov, Sean Paul,
Marijn Suijten, David Airlie, Daniel Vetter, Kuogee Hsieh
Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel
On 9/21/23 02:01, Abhinav Kumar wrote:
>
>
> On 9/20/2023 3:46 PM, Konrad Dybcio wrote:
>> DPU_DSC_OUTPUT_CTRL should be enabled for all platforms with a CTL
>> CFG 1.0.0. SC7280 is one of them. Add it.
>>
>
> sc7280 and all other chipsets using DSC 1.2 use dpu_hw_dsc_init_1_2 and
> not dpu_hw_dsc_init.
>
> dpu_hw_dsc_init_1_2 assigns the dsc_bind_pingpong_blk op by default.
>
> So this change is not needed.
Gah, I don't like that we do it behind the scenes but I agree it's a NOP..
Konrad
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2023-09-21 22:21 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-20 22:46 [PATCH 0/3] SC7280 DPU fixups Konrad Dybcio
2023-09-20 22:46 ` [PATCH 1/3] drm/msm/dpu: Fix SC7280 PP length Konrad Dybcio
2023-09-20 23:41 ` Abhinav Kumar
2023-09-21 7:01 ` Konrad Dybcio
2023-09-20 22:46 ` [PATCH 2/3] drm/msm/dpu: Add missing DPU_DSC_OUTPUT_CTRL to SC7280 Konrad Dybcio
2023-09-21 0:01 ` Abhinav Kumar
2023-09-21 7:04 ` Konrad Dybcio
2023-09-20 22:46 ` [PATCH 3/3] drm/msm/dpu: Fix SC7280 DSC block length Konrad Dybcio
2023-09-21 0:10 ` Abhinav Kumar
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).