* [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms
@ 2023-12-03 0:31 Dmitry Baryshkov
2023-12-03 0:32 ` [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150 Dmitry Baryshkov
` (5 more replies)
0 siblings, 6 replies; 18+ messages in thread
From: Dmitry Baryshkov @ 2023-12-03 0:31 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
I was not able to test it on my own, this is a call for testing for the
owners of these platforms. The git version of modetest now fully
supports writeback.
Use libdrm >= 2.4.117, run modetest -ac to determine the writeback
connector, cat /sys/kernel/debug/dri/0/state to determine
spare CRTC and plane, then run something like:
modetest -M msm -a -s 36@85:1024x768 -o test.d -P 79@85:1024x768
where 36 is the Writeback connector id, 85 is CRTC and 79 is the plane.
Then press Enter and check the test.d file for the raw image dump.
Changes since v1:
- Fixed the DPU_CLK_CTRL_WB2 definition
Dmitry Baryshkov (4):
drm/msm/dpu: enable writeback on SM8150
drm/msm/dpu: enable writeback on SC8108X
drm/msm/dpu: enable writeback on SM6125
drm/msm/dpu: enable writeback on SM6350
.../drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 18 ++++++++++++++++++
.../msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 18 ++++++++++++++++++
.../drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h | 18 ++++++++++++++++++
.../drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h | 18 ++++++++++++++++++
4 files changed, 72 insertions(+)
--
2.39.2
^ permalink raw reply [flat|nested] 18+ messages in thread
* [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150
2023-12-03 0:31 [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms Dmitry Baryshkov
@ 2023-12-03 0:32 ` Dmitry Baryshkov
2023-12-05 11:46 ` kernel test robot
` (2 more replies)
2023-12-03 0:32 ` [RFT PATCH v2 2/4] drm/msm/dpu: enable writeback on SC8108X Dmitry Baryshkov
` (4 subsequent siblings)
5 siblings, 3 replies; 18+ messages in thread
From: Dmitry Baryshkov @ 2023-12-03 0:32 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
Enable WB2 hardware block, enabling writeback support on this platform.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
.../drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h
index 9392ad2b4d3f..62deedb206b4 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h
@@ -34,6 +34,7 @@ static const struct dpu_mdp_cfg sm8150_mdp = {
[DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
[DPU_CLK_CTRL_DMA2] = { .reg_off = 0x2bc, .bit_off = 8 },
[DPU_CLK_CTRL_DMA3] = { .reg_off = 0x2c4, .bit_off = 8 },
+ [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
},
};
@@ -291,6 +292,21 @@ static const struct dpu_dsc_cfg sm8150_dsc[] = {
},
};
+static const struct dpu_wb_cfg sm8150_wb[] = {
+ {
+ .name = "wb_2", .id = WB_2,
+ .base = 0x65000, .len = 0x2c8,
+ .features = WB_SDM845_MASK,
+ .format_list = wb2_formats,
+ .num_formats = ARRAY_SIZE(wb2_formats),
+ .clk_ctrl = DPU_CLK_CTRL_WB2,
+ .xin_id = 6,
+ .vbif_idx = VBIF_RT,
+ .maxlinewidth = 4096,
+ .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
+ },
+};
+
static const struct dpu_intf_cfg sm8150_intf[] = {
{
.name = "intf_0", .id = INTF_0,
@@ -385,6 +401,8 @@ const struct dpu_mdss_cfg dpu_sm8150_cfg = {
.pingpong = sm8150_pp,
.merge_3d_count = ARRAY_SIZE(sm8150_merge_3d),
.merge_3d = sm8150_merge_3d,
+ .wb_count = ARRAY_SIZE(sm8150_wb),
+ .wb = sm8150_wb,
.intf_count = ARRAY_SIZE(sm8150_intf),
.intf = sm8150_intf,
.vbif_count = ARRAY_SIZE(sdm845_vbif),
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [RFT PATCH v2 2/4] drm/msm/dpu: enable writeback on SC8108X
2023-12-03 0:31 [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms Dmitry Baryshkov
2023-12-03 0:32 ` [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150 Dmitry Baryshkov
@ 2023-12-03 0:32 ` Dmitry Baryshkov
2023-12-05 18:50 ` kernel test robot
` (2 more replies)
2023-12-03 0:32 ` [RFT PATCH v2 3/4] drm/msm/dpu: enable writeback on SM6125 Dmitry Baryshkov
` (3 subsequent siblings)
5 siblings, 3 replies; 18+ messages in thread
From: Dmitry Baryshkov @ 2023-12-03 0:32 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
Enable WB2 hardware block, enabling writeback support on this platform.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
.../msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
index 9ffc8804a6fc..d4b531752ec2 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
@@ -34,6 +34,7 @@ static const struct dpu_mdp_cfg sc8180x_mdp = {
[DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
[DPU_CLK_CTRL_DMA2] = { .reg_off = 0x2bc, .bit_off = 8 },
[DPU_CLK_CTRL_DMA3] = { .reg_off = 0x2c4, .bit_off = 8 },
+ [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
},
};
@@ -298,6 +299,21 @@ static const struct dpu_dsc_cfg sc8180x_dsc[] = {
},
};
+static const struct dpu_wb_cfg sc8180x_wb[] = {
+ {
+ .name = "wb_2", .id = WB_2,
+ .base = 0x65000, .len = 0x2c8,
+ .features = WB_SDM845_MASK,
+ .format_list = wb2_formats,
+ .num_formats = ARRAY_SIZE(wb2_formats),
+ .clk_ctrl = DPU_CLK_CTRL_WB2,
+ .xin_id = 6,
+ .vbif_idx = VBIF_RT,
+ .maxlinewidth = 4096,
+ .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
+ },
+};
+
static const struct dpu_intf_cfg sc8180x_intf[] = {
{
.name = "intf_0", .id = INTF_0,
@@ -411,6 +427,8 @@ const struct dpu_mdss_cfg dpu_sc8180x_cfg = {
.pingpong = sc8180x_pp,
.merge_3d_count = ARRAY_SIZE(sc8180x_merge_3d),
.merge_3d = sc8180x_merge_3d,
+ .wb_count = ARRAY_SIZE(sc8180x_wb),
+ .wb = sc8180x_wb,
.intf_count = ARRAY_SIZE(sc8180x_intf),
.intf = sc8180x_intf,
.vbif_count = ARRAY_SIZE(sdm845_vbif),
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [RFT PATCH v2 3/4] drm/msm/dpu: enable writeback on SM6125
2023-12-03 0:31 [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms Dmitry Baryshkov
2023-12-03 0:32 ` [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150 Dmitry Baryshkov
2023-12-03 0:32 ` [RFT PATCH v2 2/4] drm/msm/dpu: enable writeback on SC8108X Dmitry Baryshkov
@ 2023-12-03 0:32 ` Dmitry Baryshkov
2023-12-13 21:19 ` Abhinav Kumar
2023-12-03 0:32 ` [RFT PATCH v2 4/4] drm/msm/dpu: enable writeback on SM6350 Dmitry Baryshkov
` (2 subsequent siblings)
5 siblings, 1 reply; 18+ messages in thread
From: Dmitry Baryshkov @ 2023-12-03 0:32 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
Enable WB2 hardware block, enabling writeback support on this platform.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
.../drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h
index cec7af6667dc..79fca229df18 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h
@@ -27,6 +27,7 @@ static const struct dpu_mdp_cfg sm6125_mdp = {
[DPU_CLK_CTRL_VIG0] = { .reg_off = 0x2ac, .bit_off = 0 },
[DPU_CLK_CTRL_DMA0] = { .reg_off = 0x2ac, .bit_off = 8 },
[DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
+ [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
},
};
@@ -139,6 +140,21 @@ static const struct dpu_pingpong_cfg sm6125_pp[] = {
},
};
+static const struct dpu_wb_cfg sm6125_wb[] = {
+ {
+ .name = "wb_2", .id = WB_2,
+ .base = 0x65000, .len = 0x2c8,
+ .features = WB_SDM845_MASK,
+ .format_list = wb2_formats,
+ .num_formats = ARRAY_SIZE(wb2_formats),
+ .clk_ctrl = DPU_CLK_CTRL_WB2,
+ .xin_id = 6,
+ .vbif_idx = VBIF_RT,
+ .maxlinewidth = 2160,
+ .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
+ },
+};
+
static const struct dpu_intf_cfg sm6125_intf[] = {
{
.name = "intf_0", .id = INTF_0,
@@ -210,6 +226,8 @@ const struct dpu_mdss_cfg dpu_sm6125_cfg = {
.dspp = sm6125_dspp,
.pingpong_count = ARRAY_SIZE(sm6125_pp),
.pingpong = sm6125_pp,
+ .wb_count = ARRAY_SIZE(sm6125_wb),
+ .wb = sm6125_wb,
.intf_count = ARRAY_SIZE(sm6125_intf),
.intf = sm6125_intf,
.vbif_count = ARRAY_SIZE(sdm845_vbif),
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [RFT PATCH v2 4/4] drm/msm/dpu: enable writeback on SM6350
2023-12-03 0:31 [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms Dmitry Baryshkov
` (2 preceding siblings ...)
2023-12-03 0:32 ` [RFT PATCH v2 3/4] drm/msm/dpu: enable writeback on SM6125 Dmitry Baryshkov
@ 2023-12-03 0:32 ` Dmitry Baryshkov
2023-12-19 15:39 ` Luca Weiss
2023-12-12 0:30 ` [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms Abhinav Kumar
2024-09-05 3:33 ` Dmitry Baryshkov
5 siblings, 1 reply; 18+ messages in thread
From: Dmitry Baryshkov @ 2023-12-03 0:32 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
Enable WB2 hardware block, enabling writeback support on this platform.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
.../drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h
index 62db84bd15f2..3c179a73c030 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h
@@ -27,6 +27,7 @@ static const struct dpu_mdp_cfg sm6350_mdp = {
[DPU_CLK_CTRL_DMA0] = { .reg_off = 0x2ac, .bit_off = 8 },
[DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
[DPU_CLK_CTRL_DMA2] = { .reg_off = 0x2c4, .bit_off = 8 },
+ [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
[DPU_CLK_CTRL_REG_DMA] = { .reg_off = 0x2bc, .bit_off = 20 },
},
};
@@ -146,6 +147,21 @@ static const struct dpu_dsc_cfg sm6350_dsc[] = {
},
};
+static const struct dpu_wb_cfg sm6350_wb[] = {
+ {
+ .name = "wb_2", .id = WB_2,
+ .base = 0x65000, .len = 0x2c8,
+ .features = WB_SM8250_MASK,
+ .format_list = wb2_formats,
+ .num_formats = ARRAY_SIZE(wb2_formats),
+ .clk_ctrl = DPU_CLK_CTRL_WB2,
+ .xin_id = 6,
+ .vbif_idx = VBIF_RT,
+ .maxlinewidth = 1920,
+ .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
+ },
+};
+
static const struct dpu_intf_cfg sm6350_intf[] = {
{
.name = "intf_0", .id = INTF_0,
@@ -219,6 +235,8 @@ const struct dpu_mdss_cfg dpu_sm6350_cfg = {
.dsc = sm6350_dsc,
.pingpong_count = ARRAY_SIZE(sm6350_pp),
.pingpong = sm6350_pp,
+ .wb_count = ARRAY_SIZE(sm6350_wb),
+ .wb = sm6350_wb,
.intf_count = ARRAY_SIZE(sm6350_intf),
.intf = sm6350_intf,
.vbif_count = ARRAY_SIZE(sdm845_vbif),
--
2.39.2
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150
2023-12-03 0:32 ` [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150 Dmitry Baryshkov
@ 2023-12-05 11:46 ` kernel test robot
2023-12-05 13:32 ` kernel test robot
2023-12-13 21:13 ` Abhinav Kumar
2 siblings, 0 replies; 18+ messages in thread
From: kernel test robot @ 2023-12-05 11:46 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Sean Paul, Abhinav Kumar,
Marijn Suijten
Cc: oe-kbuild-all, freedreno, linux-arm-msm, Bjorn Andersson,
dri-devel, Stephen Boyd
Hi Dmitry,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on linus/master v6.7-rc4 next-20231205]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/drm-msm-dpu-enable-writeback-on-SM8150/20231203-083350
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20231203003203.1293087-2-dmitry.baryshkov%40linaro.org
patch subject: [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150
config: i386-buildonly-randconfig-001-20231203 (https://download.01.org/0day-ci/archive/20231205/202312051918.XcPf4xI6-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231205/202312051918.XcPf4xI6-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312051918.XcPf4xI6-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:658:
>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h:299:29: error: 'WB_SDM845_MASK' undeclared here (not in a function); did you mean 'WB_SM8250_MASK'?
299 | .features = WB_SDM845_MASK,
| ^~~~~~~~~~~~~~
| WB_SM8250_MASK
vim +299 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h
294
295 static const struct dpu_wb_cfg sm8150_wb[] = {
296 {
297 .name = "wb_2", .id = WB_2,
298 .base = 0x65000, .len = 0x2c8,
> 299 .features = WB_SDM845_MASK,
300 .format_list = wb2_formats,
301 .num_formats = ARRAY_SIZE(wb2_formats),
302 .clk_ctrl = DPU_CLK_CTRL_WB2,
303 .xin_id = 6,
304 .vbif_idx = VBIF_RT,
305 .maxlinewidth = 4096,
306 .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
307 },
308 };
309
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150
2023-12-03 0:32 ` [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150 Dmitry Baryshkov
2023-12-05 11:46 ` kernel test robot
@ 2023-12-05 13:32 ` kernel test robot
2023-12-13 21:13 ` Abhinav Kumar
2 siblings, 0 replies; 18+ messages in thread
From: kernel test robot @ 2023-12-05 13:32 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Sean Paul, Abhinav Kumar,
Marijn Suijten
Cc: llvm, oe-kbuild-all, freedreno, linux-arm-msm, Bjorn Andersson,
dri-devel, Stephen Boyd
Hi Dmitry,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on linus/master v6.7-rc4 next-20231205]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/drm-msm-dpu-enable-writeback-on-SM8150/20231203-083350
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20231203003203.1293087-2-dmitry.baryshkov%40linaro.org
patch subject: [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20231205/202312052138.qMYI7bXS-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231205/202312052138.qMYI7bXS-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312052138.qMYI7bXS-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:658:
>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h:299:15: error: use of undeclared identifier 'WB_SDM845_MASK'
299 | .features = WB_SDM845_MASK,
| ^
>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h:404:14: error: invalid application of 'sizeof' to an incomplete type 'const struct dpu_wb_cfg[]'
404 | .wb_count = ARRAY_SIZE(sm8150_wb),
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:32: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~
2 errors generated.
vim +/WB_SDM845_MASK +299 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h
294
295 static const struct dpu_wb_cfg sm8150_wb[] = {
296 {
297 .name = "wb_2", .id = WB_2,
298 .base = 0x65000, .len = 0x2c8,
> 299 .features = WB_SDM845_MASK,
300 .format_list = wb2_formats,
301 .num_formats = ARRAY_SIZE(wb2_formats),
302 .clk_ctrl = DPU_CLK_CTRL_WB2,
303 .xin_id = 6,
304 .vbif_idx = VBIF_RT,
305 .maxlinewidth = 4096,
306 .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
307 },
308 };
309
310 static const struct dpu_intf_cfg sm8150_intf[] = {
311 {
312 .name = "intf_0", .id = INTF_0,
313 .base = 0x6a000, .len = 0x280,
314 .features = INTF_SC7180_MASK,
315 .type = INTF_DP,
316 .controller_id = MSM_DP_CONTROLLER_0,
317 .prog_fetch_lines_worst_case = 24,
318 .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
319 .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
320 }, {
321 .name = "intf_1", .id = INTF_1,
322 .base = 0x6a800, .len = 0x2bc,
323 .features = INTF_SC7180_MASK,
324 .type = INTF_DSI,
325 .controller_id = MSM_DSI_CONTROLLER_0,
326 .prog_fetch_lines_worst_case = 24,
327 .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
328 .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
329 .intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2),
330 }, {
331 .name = "intf_2", .id = INTF_2,
332 .base = 0x6b000, .len = 0x2bc,
333 .features = INTF_SC7180_MASK,
334 .type = INTF_DSI,
335 .controller_id = MSM_DSI_CONTROLLER_1,
336 .prog_fetch_lines_worst_case = 24,
337 .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
338 .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
339 .intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF2_TEAR_INTR, 2),
340 }, {
341 .name = "intf_3", .id = INTF_3,
342 .base = 0x6b800, .len = 0x280,
343 .features = INTF_SC7180_MASK,
344 .type = INTF_DP,
345 .controller_id = MSM_DP_CONTROLLER_1,
346 .prog_fetch_lines_worst_case = 24,
347 .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
348 .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
349 },
350 };
351
352 static const struct dpu_perf_cfg sm8150_perf_data = {
353 .max_bw_low = 12800000,
354 .max_bw_high = 12800000,
355 .min_core_ib = 2400000,
356 .min_llcc_ib = 800000,
357 .min_dram_ib = 800000,
358 .min_prefill_lines = 24,
359 .danger_lut_tbl = {0xf, 0xffff, 0x0},
360 .safe_lut_tbl = {0xfff8, 0xf000, 0xffff},
361 .qos_lut_tbl = {
362 {.nentry = ARRAY_SIZE(sm8150_qos_linear),
363 .entries = sm8150_qos_linear
364 },
365 {.nentry = ARRAY_SIZE(sc7180_qos_macrotile),
366 .entries = sc7180_qos_macrotile
367 },
368 {.nentry = ARRAY_SIZE(sc7180_qos_nrt),
369 .entries = sc7180_qos_nrt
370 },
371 /* TODO: macrotile-qseed is different from macrotile */
372 },
373 .cdp_cfg = {
374 {.rd_enable = 1, .wr_enable = 1},
375 {.rd_enable = 1, .wr_enable = 0}
376 },
377 .clk_inefficiency_factor = 105,
378 .bw_inefficiency_factor = 120,
379 };
380
381 static const struct dpu_mdss_version sm8150_mdss_ver = {
382 .core_major_ver = 5,
383 .core_minor_ver = 0,
384 };
385
386 const struct dpu_mdss_cfg dpu_sm8150_cfg = {
387 .mdss_ver = &sm8150_mdss_ver,
388 .caps = &sm8150_dpu_caps,
389 .mdp = &sm8150_mdp,
390 .ctl_count = ARRAY_SIZE(sm8150_ctl),
391 .ctl = sm8150_ctl,
392 .sspp_count = ARRAY_SIZE(sm8150_sspp),
393 .sspp = sm8150_sspp,
394 .mixer_count = ARRAY_SIZE(sm8150_lm),
395 .mixer = sm8150_lm,
396 .dspp_count = ARRAY_SIZE(sm8150_dspp),
397 .dspp = sm8150_dspp,
398 .dsc_count = ARRAY_SIZE(sm8150_dsc),
399 .dsc = sm8150_dsc,
400 .pingpong_count = ARRAY_SIZE(sm8150_pp),
401 .pingpong = sm8150_pp,
402 .merge_3d_count = ARRAY_SIZE(sm8150_merge_3d),
403 .merge_3d = sm8150_merge_3d,
> 404 .wb_count = ARRAY_SIZE(sm8150_wb),
405 .wb = sm8150_wb,
406 .intf_count = ARRAY_SIZE(sm8150_intf),
407 .intf = sm8150_intf,
408 .vbif_count = ARRAY_SIZE(sdm845_vbif),
409 .vbif = sdm845_vbif,
410 .perf = &sm8150_perf_data,
411 };
412
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 2/4] drm/msm/dpu: enable writeback on SC8108X
2023-12-03 0:32 ` [RFT PATCH v2 2/4] drm/msm/dpu: enable writeback on SC8108X Dmitry Baryshkov
@ 2023-12-05 18:50 ` kernel test robot
2023-12-13 21:18 ` Abhinav Kumar
2023-12-21 23:36 ` Marijn Suijten
2 siblings, 0 replies; 18+ messages in thread
From: kernel test robot @ 2023-12-05 18:50 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Sean Paul, Abhinav Kumar,
Marijn Suijten
Cc: llvm, oe-kbuild-all, freedreno, linux-arm-msm, Bjorn Andersson,
dri-devel, Stephen Boyd
Hi Dmitry,
kernel test robot noticed the following build errors:
[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on linus/master v6.7-rc4 next-20231205]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Baryshkov/drm-msm-dpu-enable-writeback-on-SM8150/20231203-083350
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20231203003203.1293087-3-dmitry.baryshkov%40linaro.org
patch subject: [RFT PATCH v2 2/4] drm/msm/dpu: enable writeback on SC8108X
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20231206/202312060251.UlwzdD4v-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231206/202312060251.UlwzdD4v-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312060251.UlwzdD4v-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:658:
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h:299:15: error: use of undeclared identifier 'WB_SDM845_MASK'
299 | .features = WB_SDM845_MASK,
| ^
drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h:404:14: error: invalid application of 'sizeof' to an incomplete type 'const struct dpu_wb_cfg[]'
404 | .wb_count = ARRAY_SIZE(sm8150_wb),
| ^~~~~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:32: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~
In file included from drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:659:
>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h:306:15: error: use of undeclared identifier 'WB_SDM845_MASK'
306 | .features = WB_SDM845_MASK,
| ^
>> drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h:429:14: error: invalid application of 'sizeof' to an incomplete type 'const struct dpu_wb_cfg[]'
429 | .wb_count = ARRAY_SIZE(sc8180x_wb),
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/array_size.h:11:32: note: expanded from macro 'ARRAY_SIZE'
11 | #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))
| ^~~~~
4 errors generated.
vim +/WB_SDM845_MASK +306 drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
301
302 static const struct dpu_wb_cfg sc8180x_wb[] = {
303 {
304 .name = "wb_2", .id = WB_2,
305 .base = 0x65000, .len = 0x2c8,
> 306 .features = WB_SDM845_MASK,
307 .format_list = wb2_formats,
308 .num_formats = ARRAY_SIZE(wb2_formats),
309 .clk_ctrl = DPU_CLK_CTRL_WB2,
310 .xin_id = 6,
311 .vbif_idx = VBIF_RT,
312 .maxlinewidth = 4096,
313 .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
314 },
315 };
316
317 static const struct dpu_intf_cfg sc8180x_intf[] = {
318 {
319 .name = "intf_0", .id = INTF_0,
320 .base = 0x6a000, .len = 0x280,
321 .features = INTF_SC7180_MASK,
322 .type = INTF_DP,
323 .controller_id = MSM_DP_CONTROLLER_0,
324 .prog_fetch_lines_worst_case = 24,
325 .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 24),
326 .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 25),
327 }, {
328 .name = "intf_1", .id = INTF_1,
329 .base = 0x6a800, .len = 0x2bc,
330 .features = INTF_SC7180_MASK,
331 .type = INTF_DSI,
332 .controller_id = MSM_DSI_CONTROLLER_0,
333 .prog_fetch_lines_worst_case = 24,
334 .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 26),
335 .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 27),
336 .intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF1_TEAR_INTR, 2),
337 }, {
338 .name = "intf_2", .id = INTF_2,
339 .base = 0x6b000, .len = 0x2bc,
340 .features = INTF_SC7180_MASK,
341 .type = INTF_DSI,
342 .controller_id = MSM_DSI_CONTROLLER_1,
343 .prog_fetch_lines_worst_case = 24,
344 .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 28),
345 .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 29),
346 .intr_tear_rd_ptr = DPU_IRQ_IDX(MDP_INTF2_TEAR_INTR, 2),
347 },
348 /* INTF_3 is for MST, wired to INTF_DP 0 and 1, use dummy index until this is supported */
349 {
350 .name = "intf_3", .id = INTF_3,
351 .base = 0x6b800, .len = 0x280,
352 .features = INTF_SC7180_MASK,
353 .type = INTF_DP,
354 .controller_id = 999,
355 .prog_fetch_lines_worst_case = 24,
356 .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 30),
357 .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 31),
358 }, {
359 .name = "intf_4", .id = INTF_4,
360 .base = 0x6c000, .len = 0x280,
361 .features = INTF_SC7180_MASK,
362 .type = INTF_DP,
363 .controller_id = MSM_DP_CONTROLLER_1,
364 .prog_fetch_lines_worst_case = 24,
365 .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 20),
366 .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 21),
367 }, {
368 .name = "intf_5", .id = INTF_5,
369 .base = 0x6c800, .len = 0x280,
370 .features = INTF_SC7180_MASK,
371 .type = INTF_DP,
372 .controller_id = MSM_DP_CONTROLLER_2,
373 .prog_fetch_lines_worst_case = 24,
374 .intr_underrun = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 22),
375 .intr_vsync = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 23),
376 },
377 };
378
379 static const struct dpu_perf_cfg sc8180x_perf_data = {
380 .max_bw_low = 9600000,
381 .max_bw_high = 9600000,
382 .min_core_ib = 2400000,
383 .min_llcc_ib = 800000,
384 .min_dram_ib = 800000,
385 .danger_lut_tbl = {0xf, 0xffff, 0x0},
386 .qos_lut_tbl = {
387 {.nentry = ARRAY_SIZE(sc7180_qos_linear),
388 .entries = sc7180_qos_linear
389 },
390 {.nentry = ARRAY_SIZE(sc7180_qos_macrotile),
391 .entries = sc7180_qos_macrotile
392 },
393 {.nentry = ARRAY_SIZE(sc7180_qos_nrt),
394 .entries = sc7180_qos_nrt
395 },
396 /* TODO: macrotile-qseed is different from macrotile */
397 },
398 .cdp_cfg = {
399 {.rd_enable = 1, .wr_enable = 1},
400 {.rd_enable = 1, .wr_enable = 0}
401 },
402 .clk_inefficiency_factor = 105,
403 .bw_inefficiency_factor = 120,
404 };
405
406 static const struct dpu_mdss_version sc8180x_mdss_ver = {
407 .core_major_ver = 5,
408 .core_minor_ver = 1,
409 };
410
411 const struct dpu_mdss_cfg dpu_sc8180x_cfg = {
412 .mdss_ver = &sc8180x_mdss_ver,
413 .caps = &sc8180x_dpu_caps,
414 .mdp = &sc8180x_mdp,
415 .ctl_count = ARRAY_SIZE(sc8180x_ctl),
416 .ctl = sc8180x_ctl,
417 .sspp_count = ARRAY_SIZE(sc8180x_sspp),
418 .sspp = sc8180x_sspp,
419 .mixer_count = ARRAY_SIZE(sc8180x_lm),
420 .mixer = sc8180x_lm,
421 .dspp_count = ARRAY_SIZE(sc8180x_dspp),
422 .dspp = sc8180x_dspp,
423 .dsc_count = ARRAY_SIZE(sc8180x_dsc),
424 .dsc = sc8180x_dsc,
425 .pingpong_count = ARRAY_SIZE(sc8180x_pp),
426 .pingpong = sc8180x_pp,
427 .merge_3d_count = ARRAY_SIZE(sc8180x_merge_3d),
428 .merge_3d = sc8180x_merge_3d,
> 429 .wb_count = ARRAY_SIZE(sc8180x_wb),
430 .wb = sc8180x_wb,
431 .intf_count = ARRAY_SIZE(sc8180x_intf),
432 .intf = sc8180x_intf,
433 .vbif_count = ARRAY_SIZE(sdm845_vbif),
434 .vbif = sdm845_vbif,
435 .perf = &sc8180x_perf_data,
436 };
437
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms
2023-12-03 0:31 [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms Dmitry Baryshkov
` (3 preceding siblings ...)
2023-12-03 0:32 ` [RFT PATCH v2 4/4] drm/msm/dpu: enable writeback on SM6350 Dmitry Baryshkov
@ 2023-12-12 0:30 ` Abhinav Kumar
2023-12-12 6:23 ` Dmitry Baryshkov
2024-09-05 3:33 ` Dmitry Baryshkov
5 siblings, 1 reply; 18+ messages in thread
From: Abhinav Kumar @ 2023-12-12 0:30 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Sean Paul, Marijn Suijten
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
On 12/2/2023 4:31 PM, Dmitry Baryshkov wrote:
> I was not able to test it on my own, this is a call for testing for the
> owners of these platforms. The git version of modetest now fully
> supports writeback.
>
> Use libdrm >= 2.4.117, run modetest -ac to determine the writeback
> connector, cat /sys/kernel/debug/dri/0/state to determine
> spare CRTC and plane, then run something like:
>
> modetest -M msm -a -s 36@85:1024x768 -o test.d -P 79@85:1024x768
>
> where 36 is the Writeback connector id, 85 is CRTC and 79 is the plane.
>
> Then press Enter and check the test.d file for the raw image dump.
>
> Changes since v1:
> - Fixed the DPU_CLK_CTRL_WB2 definition
>
I think this series needs to be re-based as WB_SDM845_MASK is no longer
present in msm-next and 3/4 patches in this series use that.
> Dmitry Baryshkov (4):
> drm/msm/dpu: enable writeback on SM8150
> drm/msm/dpu: enable writeback on SC8108X
> drm/msm/dpu: enable writeback on SM6125
> drm/msm/dpu: enable writeback on SM6350
>
> .../drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 18 ++++++++++++++++++
> .../msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 18 ++++++++++++++++++
> .../drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h | 18 ++++++++++++++++++
> .../drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h | 18 ++++++++++++++++++
> 4 files changed, 72 insertions(+)
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms
2023-12-12 0:30 ` [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms Abhinav Kumar
@ 2023-12-12 6:23 ` Dmitry Baryshkov
2023-12-13 21:09 ` Abhinav Kumar
0 siblings, 1 reply; 18+ messages in thread
From: Dmitry Baryshkov @ 2023-12-12 6:23 UTC (permalink / raw)
To: Abhinav Kumar
Cc: Rob Clark, Sean Paul, Marijn Suijten, Stephen Boyd, David Airlie,
Daniel Vetter, Bjorn Andersson, linux-arm-msm, dri-devel,
freedreno
On Tue, 12 Dec 2023 at 02:30, Abhinav Kumar <quic_abhinavk@quicinc.com> wrote:
>
>
>
> On 12/2/2023 4:31 PM, Dmitry Baryshkov wrote:
> > I was not able to test it on my own, this is a call for testing for the
> > owners of these platforms. The git version of modetest now fully
> > supports writeback.
> >
> > Use libdrm >= 2.4.117, run modetest -ac to determine the writeback
> > connector, cat /sys/kernel/debug/dri/0/state to determine
> > spare CRTC and plane, then run something like:
> >
> > modetest -M msm -a -s 36@85:1024x768 -o test.d -P 79@85:1024x768
> >
> > where 36 is the Writeback connector id, 85 is CRTC and 79 is the plane.
> >
> > Then press Enter and check the test.d file for the raw image dump.
> >
> > Changes since v1:
> > - Fixed the DPU_CLK_CTRL_WB2 definition
> >
>
> I think this series needs to be re-based as WB_SDM845_MASK is no longer
> present in msm-next and 3/4 patches in this series use that.
Quite the contrary: the WB_SDM845_MASK was added in
https://patchwork.freedesktop.org/patch/570189/?series=127245&rev=1,
which is now merged to msm-next-lumag
>
> > Dmitry Baryshkov (4):
> > drm/msm/dpu: enable writeback on SM8150
> > drm/msm/dpu: enable writeback on SC8108X
> > drm/msm/dpu: enable writeback on SM6125
> > drm/msm/dpu: enable writeback on SM6350
> >
> > .../drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 18 ++++++++++++++++++
> > .../msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 18 ++++++++++++++++++
> > .../drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h | 18 ++++++++++++++++++
> > .../drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h | 18 ++++++++++++++++++
> > 4 files changed, 72 insertions(+)
> >
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms
2023-12-12 6:23 ` Dmitry Baryshkov
@ 2023-12-13 21:09 ` Abhinav Kumar
0 siblings, 0 replies; 18+ messages in thread
From: Abhinav Kumar @ 2023-12-13 21:09 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Rob Clark, Sean Paul, Marijn Suijten, Stephen Boyd, David Airlie,
Daniel Vetter, Bjorn Andersson, linux-arm-msm, dri-devel,
freedreno
On 12/11/2023 10:23 PM, Dmitry Baryshkov wrote:
> On Tue, 12 Dec 2023 at 02:30, Abhinav Kumar <quic_abhinavk@quicinc.com> wrote:
>>
>>
>>
>> On 12/2/2023 4:31 PM, Dmitry Baryshkov wrote:
>>> I was not able to test it on my own, this is a call for testing for the
>>> owners of these platforms. The git version of modetest now fully
>>> supports writeback.
>>>
>>> Use libdrm >= 2.4.117, run modetest -ac to determine the writeback
>>> connector, cat /sys/kernel/debug/dri/0/state to determine
>>> spare CRTC and plane, then run something like:
>>>
>>> modetest -M msm -a -s 36@85:1024x768 -o test.d -P 79@85:1024x768
>>>
>>> where 36 is the Writeback connector id, 85 is CRTC and 79 is the plane.
>>>
>>> Then press Enter and check the test.d file for the raw image dump.
>>>
>>> Changes since v1:
>>> - Fixed the DPU_CLK_CTRL_WB2 definition
>>>
>>
>> I think this series needs to be re-based as WB_SDM845_MASK is no longer
>> present in msm-next and 3/4 patches in this series use that.
>
> Quite the contrary: the WB_SDM845_MASK was added in
> https://patchwork.freedesktop.org/patch/570189/?series=127245&rev=1,
> which is now merged to msm-next-lumag
>
Ah okay, I was comparing against msm-next. Let me complete rest of the
review checking the other branch.
>>
>>> Dmitry Baryshkov (4):
>>> drm/msm/dpu: enable writeback on SM8150
>>> drm/msm/dpu: enable writeback on SC8108X
>>> drm/msm/dpu: enable writeback on SM6125
>>> drm/msm/dpu: enable writeback on SM6350
>>>
>>> .../drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 18 ++++++++++++++++++
>>> .../msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 18 ++++++++++++++++++
>>> .../drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h | 18 ++++++++++++++++++
>>> .../drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h | 18 ++++++++++++++++++
>>> 4 files changed, 72 insertions(+)
>>>
>
>
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150
2023-12-03 0:32 ` [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150 Dmitry Baryshkov
2023-12-05 11:46 ` kernel test robot
2023-12-05 13:32 ` kernel test robot
@ 2023-12-13 21:13 ` Abhinav Kumar
2 siblings, 0 replies; 18+ messages in thread
From: Abhinav Kumar @ 2023-12-13 21:13 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Sean Paul, Marijn Suijten
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
On 12/2/2023 4:32 PM, Dmitry Baryshkov wrote:
> Enable WB2 hardware block, enabling writeback support on this platform.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
> .../drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h
> index 9392ad2b4d3f..62deedb206b4 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_0_sm8150.h
> @@ -34,6 +34,7 @@ static const struct dpu_mdp_cfg sm8150_mdp = {
> [DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
> [DPU_CLK_CTRL_DMA2] = { .reg_off = 0x2bc, .bit_off = 8 },
> [DPU_CLK_CTRL_DMA3] = { .reg_off = 0x2c4, .bit_off = 8 },
> + [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
> },
> };
>
> @@ -291,6 +292,21 @@ static const struct dpu_dsc_cfg sm8150_dsc[] = {
> },
> };
>
> +static const struct dpu_wb_cfg sm8150_wb[] = {
> + {
> + .name = "wb_2", .id = WB_2,
> + .base = 0x65000, .len = 0x2c8,
> + .features = WB_SDM845_MASK,
> + .format_list = wb2_formats,
> + .num_formats = ARRAY_SIZE(wb2_formats),
This should now be wb2_formats_rgb.
With that fixed,
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
> + .clk_ctrl = DPU_CLK_CTRL_WB2,
> + .xin_id = 6,
> + .vbif_idx = VBIF_RT,
> + .maxlinewidth = 4096,
> + .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
> + },
> +};
> +
> static const struct dpu_intf_cfg sm8150_intf[] = {
> {
> .name = "intf_0", .id = INTF_0,
> @@ -385,6 +401,8 @@ const struct dpu_mdss_cfg dpu_sm8150_cfg = {
> .pingpong = sm8150_pp,
> .merge_3d_count = ARRAY_SIZE(sm8150_merge_3d),
> .merge_3d = sm8150_merge_3d,
> + .wb_count = ARRAY_SIZE(sm8150_wb),
> + .wb = sm8150_wb,
> .intf_count = ARRAY_SIZE(sm8150_intf),
> .intf = sm8150_intf,
> .vbif_count = ARRAY_SIZE(sdm845_vbif),
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 2/4] drm/msm/dpu: enable writeback on SC8108X
2023-12-03 0:32 ` [RFT PATCH v2 2/4] drm/msm/dpu: enable writeback on SC8108X Dmitry Baryshkov
2023-12-05 18:50 ` kernel test robot
@ 2023-12-13 21:18 ` Abhinav Kumar
2023-12-21 23:36 ` Marijn Suijten
2 siblings, 0 replies; 18+ messages in thread
From: Abhinav Kumar @ 2023-12-13 21:18 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Sean Paul, Marijn Suijten
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
On 12/2/2023 4:32 PM, Dmitry Baryshkov wrote:
> Enable WB2 hardware block, enabling writeback support on this platform.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
> .../msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
> index 9ffc8804a6fc..d4b531752ec2 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
> @@ -34,6 +34,7 @@ static const struct dpu_mdp_cfg sc8180x_mdp = {
> [DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
> [DPU_CLK_CTRL_DMA2] = { .reg_off = 0x2bc, .bit_off = 8 },
> [DPU_CLK_CTRL_DMA3] = { .reg_off = 0x2c4, .bit_off = 8 },
> + [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
> },
> };
>
> @@ -298,6 +299,21 @@ static const struct dpu_dsc_cfg sc8180x_dsc[] = {
> },
> };
>
> +static const struct dpu_wb_cfg sc8180x_wb[] = {
> + {
> + .name = "wb_2", .id = WB_2,
> + .base = 0x65000, .len = 0x2c8,
> + .features = WB_SDM845_MASK,
> + .format_list = wb2_formats,
> + .num_formats = ARRAY_SIZE(wb2_formats),
This should now be wb2_formats_rgb.
With that fixed,
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
> + .clk_ctrl = DPU_CLK_CTRL_WB2,
> + .xin_id = 6,
> + .vbif_idx = VBIF_RT,
> + .maxlinewidth = 4096,
> + .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
> + },
> +};
> +
> static const struct dpu_intf_cfg sc8180x_intf[] = {
> {
> .name = "intf_0", .id = INTF_0,
> @@ -411,6 +427,8 @@ const struct dpu_mdss_cfg dpu_sc8180x_cfg = {
> .pingpong = sc8180x_pp,
> .merge_3d_count = ARRAY_SIZE(sc8180x_merge_3d),
> .merge_3d = sc8180x_merge_3d,
> + .wb_count = ARRAY_SIZE(sc8180x_wb),
> + .wb = sc8180x_wb,
> .intf_count = ARRAY_SIZE(sc8180x_intf),
> .intf = sc8180x_intf,
> .vbif_count = ARRAY_SIZE(sdm845_vbif),
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 3/4] drm/msm/dpu: enable writeback on SM6125
2023-12-03 0:32 ` [RFT PATCH v2 3/4] drm/msm/dpu: enable writeback on SM6125 Dmitry Baryshkov
@ 2023-12-13 21:19 ` Abhinav Kumar
0 siblings, 0 replies; 18+ messages in thread
From: Abhinav Kumar @ 2023-12-13 21:19 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Sean Paul, Marijn Suijten
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
On 12/2/2023 4:32 PM, Dmitry Baryshkov wrote:
> Enable WB2 hardware block, enabling writeback support on this platform.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
> .../drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h
> index cec7af6667dc..79fca229df18 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_4_sm6125.h
> @@ -27,6 +27,7 @@ static const struct dpu_mdp_cfg sm6125_mdp = {
> [DPU_CLK_CTRL_VIG0] = { .reg_off = 0x2ac, .bit_off = 0 },
> [DPU_CLK_CTRL_DMA0] = { .reg_off = 0x2ac, .bit_off = 8 },
> [DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
> + [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
> },
> };
>
> @@ -139,6 +140,21 @@ static const struct dpu_pingpong_cfg sm6125_pp[] = {
> },
> };
>
> +static const struct dpu_wb_cfg sm6125_wb[] = {
> + {
> + .name = "wb_2", .id = WB_2,
> + .base = 0x65000, .len = 0x2c8,
> + .features = WB_SDM845_MASK,
> + .format_list = wb2_formats,
> + .num_formats = ARRAY_SIZE(wb2_formats),
> + .clk_ctrl = DPU_CLK_CTRL_WB2,
This should now be wb2_formats_rgb.
With that fixed,
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
> + .xin_id = 6,
> + .vbif_idx = VBIF_RT,
> + .maxlinewidth = 2160,
> + .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
> + },
> +};
> +
> static const struct dpu_intf_cfg sm6125_intf[] = {
> {
> .name = "intf_0", .id = INTF_0,
> @@ -210,6 +226,8 @@ const struct dpu_mdss_cfg dpu_sm6125_cfg = {
> .dspp = sm6125_dspp,
> .pingpong_count = ARRAY_SIZE(sm6125_pp),
> .pingpong = sm6125_pp,
> + .wb_count = ARRAY_SIZE(sm6125_wb),
> + .wb = sm6125_wb,
> .intf_count = ARRAY_SIZE(sm6125_intf),
> .intf = sm6125_intf,
> .vbif_count = ARRAY_SIZE(sdm845_vbif),
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 4/4] drm/msm/dpu: enable writeback on SM6350
2023-12-03 0:32 ` [RFT PATCH v2 4/4] drm/msm/dpu: enable writeback on SM6350 Dmitry Baryshkov
@ 2023-12-19 15:39 ` Luca Weiss
2024-01-24 8:00 ` Luca Weiss
0 siblings, 1 reply; 18+ messages in thread
From: Luca Weiss @ 2023-12-19 15:39 UTC (permalink / raw)
To: Dmitry Baryshkov, Rob Clark, Sean Paul, Abhinav Kumar,
Marijn Suijten
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
On Sun Dec 3, 2023 at 1:32 AM CET, Dmitry Baryshkov wrote:
> Enable WB2 hardware block, enabling writeback support on this platform.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Hi Dmitry,
I've tried this on sm7225-fairphone-fp4 but having trouble testing this.
I guess I'm using some ID wrong with modetest, could you check and see
what I do wrong?
libdrm is on version 2.4.118 from Alpine Linux/postmarketOS, kernel is
v6.7.0-rc6 plus a few patches for hardware enablement (like display).
See log:
fairphone-fp4:~$ sudo modetest -ac
trying to open device 'i915'...failed
trying to open device 'amdgpu'...failed
trying to open device 'radeon'...failed
trying to open device 'nouveau'...failed
trying to open device 'vmwgfx'...failed
trying to open device 'omapdrm'...failed
trying to open device 'exynos'...failed
trying to open device 'tilcdc'...failed
trying to open device 'msm'...done
Connectors:
id encoder status name size (mm) modes encoders
32 31 connected DSI-1 65x115 1 31
modes:
index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot
#0 1080x2340 60.00 1080 1108 1116 1124 2340 2367 2372 2377 160304 flags: ; type: preferred, driver
props:
1 EDID:
flags: immutable blob
blobs:
value:
2 DPMS:
flags: enum
enums: On=0 Standby=1 Suspend=2 Off=3
value: 0
5 link-status:
flags: enum
enums: Good=0 Bad=1
value: 0
6 non-desktop:
flags: immutable range
values: 0 1
value: 0
4 TILE:
flags: immutable blob
blobs:
value:
20 CRTC_ID:
flags: object
value: 63
38 0 unknown Writeback-1 0x0 0 33
props:
2 DPMS:
flags: enum
enums: On=0 Standby=1 Suspend=2 Off=3
value: 0
5 link-status:
flags: enum
enums: Good=0 Bad=1
value: 0
6 non-desktop:
flags: immutable range
values: 0 1
value: 0
4 TILE:
flags: immutable blob
blobs:
value:
20 CRTC_ID:
flags: object
value: 0
36 WRITEBACK_OUT_FENCE_PTR:
flags: range
values: 0 18446744073709551615
value: 0
34 WRITEBACK_FB_ID:
flags: object
value: 0
35 WRITEBACK_PIXEL_FORMATS:
flags: immutable blob
blobs:
value:
52473136424731365247323441523234
52413234414232345852323452583234
58423234415231355241313558523135
52583135415231325241313252583132
58523132424731364247323441423234
42413234425832345842323441423135
42413135584231354258313541423132
424131324258313258423132
fairphone-fp4:~$ sudo cat /sys/kernel/debug/dri/0/state
plane[39]: plane-0
crtc=crtc-0
fb=66
allocated by = phoc
refcount=2
format=XR24 little-endian (0x34325258)
modifier=0x500000000000001
size=1080x2340
layers:
size[0]=1080x2340
pitch[0]=4352
offset[0]=0
obj[0]:
name=0
refcount=3
start=00101fec
size=10485760
imported=no
crtc-pos=1080x2340+0+0
src-pos=1080.000000x2340.000000+0.000000+0.000000
rotation=1
normalized-zpos=0
color-encoding=ITU-R BT.601 YCbCr
color-range=YCbCr limited range
stage=1
sspp[0]=sspp_0
multirect_mode[0]=none
multirect_index[0]=solo
src[0]=1080x2340+0+0
dst[0]=1080x2340+0+0
plane[45]: plane-1
crtc=(null)
fb=0
crtc-pos=0x0+0+0
src-pos=0.000000x0.000000+0.000000+0.000000
rotation=1
normalized-zpos=0
color-encoding=ITU-R BT.601 YCbCr
color-range=YCbCr limited range
stage=0
sspp[0]=sspp_8
multirect_mode[0]=none
multirect_index[0]=solo
src[0]=0x0+0+0
dst[0]=0x0+0+0
plane[51]: plane-2
crtc=(null)
fb=0
crtc-pos=0x0+0+0
src-pos=0.000000x0.000000+0.000000+0.000000
rotation=1
normalized-zpos=0
color-encoding=ITU-R BT.601 YCbCr
color-range=YCbCr limited range
stage=0
sspp[0]=sspp_9
multirect_mode[0]=none
multirect_index[0]=solo
src[0]=0x0+0+0
dst[0]=0x0+0+0
plane[57]: plane-3
crtc=(null)
fb=0
crtc-pos=0x0+0+0
src-pos=0.000000x0.000000+0.000000+0.000000
rotation=1
normalized-zpos=0
color-encoding=ITU-R BT.601 YCbCr
color-range=YCbCr limited range
stage=0
sspp[0]=sspp_10
multirect_mode[0]=none
multirect_index[0]=solo
src[0]=0x0+0+0
dst[0]=0x0+0+0
crtc[63]: crtc-0
enable=1
active=1
self_refresh_active=0
planes_changed=1
mode_changed=0
active_changed=0
connectors_changed=0
color_mgmt_changed=0
plane_mask=1
connector_mask=1
encoder_mask=1
mode: "1080x2340": 60 160304 1080 1108 1116 1124 2340 2367 2372 2377 0x48 0x0
lm[0]=0
ctl[0]=0
crtc[64]: crtc-1
enable=0
active=0
self_refresh_active=0
planes_changed=0
mode_changed=0
active_changed=0
connectors_changed=0
color_mgmt_changed=0
plane_mask=0
connector_mask=0
encoder_mask=0
mode: "": 0 0 0 0 0 0 0 0 0 0 0x0 0x0
connector[32]: DSI-1
crtc=crtc-0
self_refresh_aware=0
max_requested_bpc=0
colorspace=Default
connector[38]: Writeback-1
crtc=(null)
self_refresh_aware=0
max_requested_bpc=0
colorspace=Default
fairphone-fp4:~$ sudo modetest -M msm -a -s 38@64:1080x2340 -o test.d -P 45@64:1080x2340
failed to find mode "1080x2340" for connector 38
no mode for writeback
failed to set gamma: Permission denied
testing 1080x2340@XR24 on plane 45, crtc 64
Atomic Commit failed [1]
Regards
Luca
> ---
> .../drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h
> index 62db84bd15f2..3c179a73c030 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h
> @@ -27,6 +27,7 @@ static const struct dpu_mdp_cfg sm6350_mdp = {
> [DPU_CLK_CTRL_DMA0] = { .reg_off = 0x2ac, .bit_off = 8 },
> [DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
> [DPU_CLK_CTRL_DMA2] = { .reg_off = 0x2c4, .bit_off = 8 },
> + [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
> [DPU_CLK_CTRL_REG_DMA] = { .reg_off = 0x2bc, .bit_off = 20 },
> },
> };
> @@ -146,6 +147,21 @@ static const struct dpu_dsc_cfg sm6350_dsc[] = {
> },
> };
>
> +static const struct dpu_wb_cfg sm6350_wb[] = {
> + {
> + .name = "wb_2", .id = WB_2,
> + .base = 0x65000, .len = 0x2c8,
> + .features = WB_SM8250_MASK,
> + .format_list = wb2_formats,
> + .num_formats = ARRAY_SIZE(wb2_formats),
> + .clk_ctrl = DPU_CLK_CTRL_WB2,
> + .xin_id = 6,
> + .vbif_idx = VBIF_RT,
> + .maxlinewidth = 1920,
> + .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
> + },
> +};
> +
> static const struct dpu_intf_cfg sm6350_intf[] = {
> {
> .name = "intf_0", .id = INTF_0,
> @@ -219,6 +235,8 @@ const struct dpu_mdss_cfg dpu_sm6350_cfg = {
> .dsc = sm6350_dsc,
> .pingpong_count = ARRAY_SIZE(sm6350_pp),
> .pingpong = sm6350_pp,
> + .wb_count = ARRAY_SIZE(sm6350_wb),
> + .wb = sm6350_wb,
> .intf_count = ARRAY_SIZE(sm6350_intf),
> .intf = sm6350_intf,
> .vbif_count = ARRAY_SIZE(sdm845_vbif),
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 2/4] drm/msm/dpu: enable writeback on SC8108X
2023-12-03 0:32 ` [RFT PATCH v2 2/4] drm/msm/dpu: enable writeback on SC8108X Dmitry Baryshkov
2023-12-05 18:50 ` kernel test robot
2023-12-13 21:18 ` Abhinav Kumar
@ 2023-12-21 23:36 ` Marijn Suijten
2 siblings, 0 replies; 18+ messages in thread
From: Marijn Suijten @ 2023-12-21 23:36 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Rob Clark, Sean Paul, Abhinav Kumar, Stephen Boyd, David Airlie,
Daniel Vetter, Bjorn Andersson, linux-arm-msm, dri-devel,
freedreno
Title typo: SC8108X -> SC8180X :)
On 2023-12-03 03:32:01, Dmitry Baryshkov wrote:
> Enable WB2 hardware block, enabling writeback support on this platform.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
> .../msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
> index 9ffc8804a6fc..d4b531752ec2 100644
> --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
> +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_5_1_sc8180x.h
> @@ -34,6 +34,7 @@ static const struct dpu_mdp_cfg sc8180x_mdp = {
> [DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
> [DPU_CLK_CTRL_DMA2] = { .reg_off = 0x2bc, .bit_off = 8 },
> [DPU_CLK_CTRL_DMA3] = { .reg_off = 0x2c4, .bit_off = 8 },
> + [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
> },
> };
>
> @@ -298,6 +299,21 @@ static const struct dpu_dsc_cfg sc8180x_dsc[] = {
> },
> };
>
> +static const struct dpu_wb_cfg sc8180x_wb[] = {
> + {
> + .name = "wb_2", .id = WB_2,
> + .base = 0x65000, .len = 0x2c8,
> + .features = WB_SDM845_MASK,
> + .format_list = wb2_formats,
> + .num_formats = ARRAY_SIZE(wb2_formats),
> + .clk_ctrl = DPU_CLK_CTRL_WB2,
> + .xin_id = 6,
> + .vbif_idx = VBIF_RT,
> + .maxlinewidth = 4096,
> + .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
> + },
> +};
> +
> static const struct dpu_intf_cfg sc8180x_intf[] = {
> {
> .name = "intf_0", .id = INTF_0,
> @@ -411,6 +427,8 @@ const struct dpu_mdss_cfg dpu_sc8180x_cfg = {
> .pingpong = sc8180x_pp,
> .merge_3d_count = ARRAY_SIZE(sc8180x_merge_3d),
> .merge_3d = sc8180x_merge_3d,
> + .wb_count = ARRAY_SIZE(sc8180x_wb),
> + .wb = sc8180x_wb,
> .intf_count = ARRAY_SIZE(sc8180x_intf),
> .intf = sc8180x_intf,
> .vbif_count = ARRAY_SIZE(sdm845_vbif),
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 4/4] drm/msm/dpu: enable writeback on SM6350
2023-12-19 15:39 ` Luca Weiss
@ 2024-01-24 8:00 ` Luca Weiss
0 siblings, 0 replies; 18+ messages in thread
From: Luca Weiss @ 2024-01-24 8:00 UTC (permalink / raw)
To: Luca Weiss, Dmitry Baryshkov, Rob Clark, Sean Paul, Abhinav Kumar,
Marijn Suijten
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
On Tue Dec 19, 2023 at 4:39 PM CET, Luca Weiss wrote:
> On Sun Dec 3, 2023 at 1:32 AM CET, Dmitry Baryshkov wrote:
> > Enable WB2 hardware block, enabling writeback support on this platform.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>
> Hi Dmitry,
>
> I've tried this on sm7225-fairphone-fp4 but having trouble testing this.
>
> I guess I'm using some ID wrong with modetest, could you check and see
> what I do wrong?
>
> libdrm is on version 2.4.118 from Alpine Linux/postmarketOS, kernel is
> v6.7.0-rc6 plus a few patches for hardware enablement (like display).
>
> See log:
>
> <snip>
>
Hi Dmitry,
I've tested again now and made it work.
$ modetest -M msm -a -s 38@64:1024x768 -o test.d -P 45@64:1024x768
Then display the image with
$ magick display -size 1024x768 -depth 8 RGBA:test.d
As discussed on IRC it seems the byte order of R and B might be wrong,
so it looks like BGRA is the format we get the data in, not RGBA.
Anyways:
Tested-by: Luca Weiss <luca.weiss@fairphone.com>
Regards
Luca
>
> Regards
> Luca
>
>
> > ---
> > .../drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h | 18 ++++++++++++++++++
> > 1 file changed, 18 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h
> > index 62db84bd15f2..3c179a73c030 100644
> > --- a/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h
> > +++ b/drivers/gpu/drm/msm/disp/dpu1/catalog/dpu_6_4_sm6350.h
> > @@ -27,6 +27,7 @@ static const struct dpu_mdp_cfg sm6350_mdp = {
> > [DPU_CLK_CTRL_DMA0] = { .reg_off = 0x2ac, .bit_off = 8 },
> > [DPU_CLK_CTRL_DMA1] = { .reg_off = 0x2b4, .bit_off = 8 },
> > [DPU_CLK_CTRL_DMA2] = { .reg_off = 0x2c4, .bit_off = 8 },
> > + [DPU_CLK_CTRL_WB2] = { .reg_off = 0x2bc, .bit_off = 16 },
> > [DPU_CLK_CTRL_REG_DMA] = { .reg_off = 0x2bc, .bit_off = 20 },
> > },
> > };
> > @@ -146,6 +147,21 @@ static const struct dpu_dsc_cfg sm6350_dsc[] = {
> > },
> > };
> >
> > +static const struct dpu_wb_cfg sm6350_wb[] = {
> > + {
> > + .name = "wb_2", .id = WB_2,
> > + .base = 0x65000, .len = 0x2c8,
> > + .features = WB_SM8250_MASK,
> > + .format_list = wb2_formats,
> > + .num_formats = ARRAY_SIZE(wb2_formats),
> > + .clk_ctrl = DPU_CLK_CTRL_WB2,
> > + .xin_id = 6,
> > + .vbif_idx = VBIF_RT,
> > + .maxlinewidth = 1920,
> > + .intr_wb_done = DPU_IRQ_IDX(MDP_SSPP_TOP0_INTR, 4),
> > + },
> > +};
> > +
> > static const struct dpu_intf_cfg sm6350_intf[] = {
> > {
> > .name = "intf_0", .id = INTF_0,
> > @@ -219,6 +235,8 @@ const struct dpu_mdss_cfg dpu_sm6350_cfg = {
> > .dsc = sm6350_dsc,
> > .pingpong_count = ARRAY_SIZE(sm6350_pp),
> > .pingpong = sm6350_pp,
> > + .wb_count = ARRAY_SIZE(sm6350_wb),
> > + .wb = sm6350_wb,
> > .intf_count = ARRAY_SIZE(sm6350_intf),
> > .intf = sm6350_intf,
> > .vbif_count = ARRAY_SIZE(sdm845_vbif),
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms
2023-12-03 0:31 [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms Dmitry Baryshkov
` (4 preceding siblings ...)
2023-12-12 0:30 ` [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms Abhinav Kumar
@ 2024-09-05 3:33 ` Dmitry Baryshkov
5 siblings, 0 replies; 18+ messages in thread
From: Dmitry Baryshkov @ 2024-09-05 3:33 UTC (permalink / raw)
To: Rob Clark, Sean Paul, Abhinav Kumar, Marijn Suijten,
Dmitry Baryshkov
Cc: Stephen Boyd, David Airlie, Daniel Vetter, Bjorn Andersson,
linux-arm-msm, dri-devel, freedreno
On Sun, 03 Dec 2023 03:31:59 +0300, Dmitry Baryshkov wrote:
> I was not able to test it on my own, this is a call for testing for the
> owners of these platforms. The git version of modetest now fully
> supports writeback.
>
> Use libdrm >= 2.4.117, run modetest -ac to determine the writeback
> connector, cat /sys/kernel/debug/dri/0/state to determine
> spare CRTC and plane, then run something like:
>
> [...]
Applied, thanks!
[1/4] drm/msm/dpu: enable writeback on SM8150
https://gitlab.freedesktop.org/lumag/msm/-/commit/47cebb740a83
[2/4] drm/msm/dpu: enable writeback on SC8108X
https://gitlab.freedesktop.org/lumag/msm/-/commit/1f5bcc4316b3
[3/4] drm/msm/dpu: enable writeback on SM6125
https://gitlab.freedesktop.org/lumag/msm/-/commit/ab2b03d73a66
[4/4] drm/msm/dpu: enable writeback on SM6350
https://gitlab.freedesktop.org/lumag/msm/-/commit/15302579373e
Best regards,
--
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
^ permalink raw reply [flat|nested] 18+ messages in thread
end of thread, other threads:[~2024-09-05 3:33 UTC | newest]
Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-03 0:31 [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms Dmitry Baryshkov
2023-12-03 0:32 ` [RFT PATCH v2 1/4] drm/msm/dpu: enable writeback on SM8150 Dmitry Baryshkov
2023-12-05 11:46 ` kernel test robot
2023-12-05 13:32 ` kernel test robot
2023-12-13 21:13 ` Abhinav Kumar
2023-12-03 0:32 ` [RFT PATCH v2 2/4] drm/msm/dpu: enable writeback on SC8108X Dmitry Baryshkov
2023-12-05 18:50 ` kernel test robot
2023-12-13 21:18 ` Abhinav Kumar
2023-12-21 23:36 ` Marijn Suijten
2023-12-03 0:32 ` [RFT PATCH v2 3/4] drm/msm/dpu: enable writeback on SM6125 Dmitry Baryshkov
2023-12-13 21:19 ` Abhinav Kumar
2023-12-03 0:32 ` [RFT PATCH v2 4/4] drm/msm/dpu: enable writeback on SM6350 Dmitry Baryshkov
2023-12-19 15:39 ` Luca Weiss
2024-01-24 8:00 ` Luca Weiss
2023-12-12 0:30 ` [RFT PATCH v2 0/4] drm/msm/dpu: enable writeback on the other platforms Abhinav Kumar
2023-12-12 6:23 ` Dmitry Baryshkov
2023-12-13 21:09 ` Abhinav Kumar
2024-09-05 3:33 ` Dmitry Baryshkov
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).