Re: [PATCH v1] msm:disp:dpu1: add support for display for SC7180 target

2019-11-19 Thread Stephen Boyd
Quoting Kalyan Thota (2019-11-18 02:47:43)
> Add display hw catalog changes for SC7180 target.
> 
> Changes in v1:
> 
> 1) Configure register offsets and capabilities for the
> display hw blocks.
> 
> This patch has dependency on the below series
> 
> https://patchwork.kernel.org/patch/11243111/
> 
> Signed-off-by: Kalyan Thota 
> Signed-off-by: Shubhashree Dhar 
> Signed-off-by: Raviteja Tamatam 

Your signoff chain looks wrong. Probably should have some
Co-developed-by tags here, and then your SoB should be last.

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[PATCH v1] msm:disp:dpu1: add support for display for SC7180 target

2019-11-19 Thread Kalyan Thota
Add display hw catalog changes for SC7180 target.

Changes in v1:

1) Configure register offsets and capabilities for the
display hw blocks.

This patch has dependency on the below series

https://patchwork.kernel.org/patch/11243111/

Signed-off-by: Kalyan Thota 
Signed-off-by: Shubhashree Dhar 
Signed-off-by: Raviteja Tamatam 
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 189 +++--
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h |   4 +
 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_lm.c  |   2 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c|   1 +
 drivers/gpu/drm/msm/msm_drv.c  |   4 +-
 5 files changed, 187 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
index 357e15b..1d2ea93 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c
@@ -11,11 +11,17 @@
 #include "dpu_hw_catalog_format.h"
 #include "dpu_kms.h"
 
-#define VIG_SDM845_MASK \
-   (BIT(DPU_SSPP_SRC) | BIT(DPU_SSPP_SCALER_QSEED3) | BIT(DPU_SSPP_QOS) |\
+#define VIG_MASK \
+   (BIT(DPU_SSPP_SRC) | BIT(DPU_SSPP_QOS) |\
BIT(DPU_SSPP_CSC_10BIT) | BIT(DPU_SSPP_CDP) | BIT(DPU_SSPP_QOS_8LVL) |\
BIT(DPU_SSPP_TS_PREFILL) | BIT(DPU_SSPP_EXCL_RECT))
 
+#define VIG_SDM845_MASK \
+   (VIG_MASK | BIT(DPU_SSPP_SCALER_QSEED3))
+
+#define VIG_SC7180_MASK \
+   (VIG_MASK | BIT(DPU_SSPP_SCALER_QSEED4))
+
 #define DMA_SDM845_MASK \
(BIT(DPU_SSPP_SRC) | BIT(DPU_SSPP_QOS) | BIT(DPU_SSPP_QOS_8LVL) |\
BIT(DPU_SSPP_TS_PREFILL) | BIT(DPU_SSPP_TS_PREFILL_REC1) |\
@@ -27,6 +33,9 @@
 #define MIXER_SDM845_MASK \
(BIT(DPU_MIXER_SOURCESPLIT) | BIT(DPU_DIM_LAYER))
 
+#define MIXER_SC7180_MASK \
+   (BIT(DPU_DIM_LAYER))
+
 #define PINGPONG_SDM845_MASK BIT(DPU_PINGPONG_DITHER)
 
 #define PINGPONG_SDM845_SPLIT_MASK \
@@ -60,6 +69,16 @@
.has_idle_pc = true,
 };
 
+static const struct dpu_caps sc7180_dpu_caps = {
+   .max_mixer_width = DEFAULT_DPU_OUTPUT_LINE_WIDTH,
+   .max_mixer_blendstages = 0x9,
+   .qseed_type = DPU_SSPP_SCALER_QSEED4,
+   .smart_dma_rev = DPU_SSPP_SMART_DMA_V2,
+   .ubwc_version = DPU_HW_UBWC_VER_20,
+   .has_dim_layer = true,
+   .has_idle_pc = true,
+};
+
 static struct dpu_mdp_cfg sdm845_mdp[] = {
{
.name = "top_0", .id = MDP_TOP,
@@ -85,6 +104,23 @@
},
 };
 
+static struct dpu_mdp_cfg sc7180_mdp[] = {
+   {
+   .name = "top_0", .id = MDP_TOP,
+   .base = 0x0, .len = 0x494,
+   .features = 0,
+   .highest_bank_bit = 0x3,
+   .clk_ctrls[DPU_CLK_CTRL_VIG0] = {
+   .reg_off = 0x2AC, .bit_off = 0},
+   .clk_ctrls[DPU_CLK_CTRL_DMA0] = {
+   .reg_off = 0x2AC, .bit_off = 8},
+   .clk_ctrls[DPU_CLK_CTRL_DMA1] = {
+   .reg_off = 0x2B4, .bit_off = 8},
+   .clk_ctrls[DPU_CLK_CTRL_CURSOR0] = {
+   .reg_off = 0x2BC, .bit_off = 8},
+   },
+};
+
 /*
  * CTL sub blocks config
  */
@@ -116,6 +152,24 @@
},
 };
 
+static struct dpu_ctl_cfg sc7180_ctl[] = {
+   {
+   .name = "ctl_0", .id = CTL_0,
+   .base = 0x1000, .len = 0xE4,
+   .features = BIT(DPU_CTL_ACTIVE_CFG)
+   },
+   {
+   .name = "ctl_1", .id = CTL_1,
+   .base = 0x1200, .len = 0xE4,
+   .features = BIT(DPU_CTL_ACTIVE_CFG)
+   },
+   {
+   .name = "ctl_2", .id = CTL_2,
+   .base = 0x1400, .len = 0xE4,
+   .features = BIT(DPU_CTL_ACTIVE_CFG)
+   },
+};
+
 /*
  * SSPP sub blocks config
  */
@@ -203,9 +257,23 @@
sdm845_dma_sblk_3, 13, SSPP_TYPE_DMA, DPU_CLK_CTRL_CURSOR1),
 };
 
+static struct dpu_sspp_cfg sc7180_sspp[] = {
+   SSPP_BLK("sspp_0", SSPP_VIG0, 0x4000, VIG_SC7180_MASK,
+   sdm845_vig_sblk_0, 0,  SSPP_TYPE_VIG, DPU_CLK_CTRL_VIG0),
+   SSPP_BLK("sspp_8", SSPP_DMA0, 0x24000,  DMA_SDM845_MASK,
+   sdm845_dma_sblk_0, 1, SSPP_TYPE_DMA, DPU_CLK_CTRL_DMA0),
+   SSPP_BLK("sspp_9", SSPP_DMA1, 0x26000,  DMA_SDM845_MASK,
+   sdm845_dma_sblk_1, 5, SSPP_TYPE_DMA, DPU_CLK_CTRL_DMA1),
+   SSPP_BLK("sspp_10", SSPP_DMA2, 0x28000,  DMA_CURSOR_SDM845_MASK,
+   sdm845_dma_sblk_2, 9, SSPP_TYPE_DMA, DPU_CLK_CTRL_CURSOR0),
+};
+
 /*
  * MIXER sub blocks config
  */
+
+/* SDM845 */
+
 static const struct dpu_lm_sub_blks sdm845_lm_sblk = {
.maxwidth = DEFAULT_DPU_OUTPUT_LINE_WIDTH,
.maxblendstages = 11, /* excluding base layer */
@@ -215,23 +283,46 @@
},
 };
 
-#define LM_BLK(_name, _id, _base, _pp, _lmpair) \

Re: [PATCH v1] msm:disp:dpu1: add support for display for SC7180 target

2019-11-18 Thread kbuild test robot
Hi Kalyan,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tegra-drm/drm/tegra/for-next]
[also build test ERROR on v5.4-rc8 next-20191118]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:
https://github.com/0day-ci/linux/commits/Kalyan-Thota/msm-disp-dpu1-add-support-for-display-for-SC7180-target/20191118-193857
base:   git://anongit.freedesktop.org/tegra/linux.git drm/tegra/for-next
config: arm64-randconfig-a001-20191118 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 7.4.0
reproduce:
wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.4.0 make.cross ARCH=arm64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All error/warnings (new ones prefixed by >>):

   drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c: In function 
'sc7180_cfg_init':
>> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:589:4: error: 'struct 
>> dpu_mdss_cfg' has no member named 'mdss_irqs'
  .mdss_irqs[0] = 0x3f,
   ^
>> drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:589:19: warning: 
>> initialization makes pointer from integer without a cast [-Wint-conversion]
  .mdss_irqs[0] = 0x3f,
  ^~~~
   drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c:589:19: note: (near 
initialization for '(anonymous).dma_formats')

vim +589 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c

   563  
   564  /*
   565   * sc7180_cfg_init(): populate sc7180 dpu sub-blocks reg offsets
   566   * and instance counts.
   567   */
   568  static void sc7180_cfg_init(struct dpu_mdss_cfg *dpu_cfg)
   569  {
   570  *dpu_cfg = (struct dpu_mdss_cfg){
   571  .caps = _dpu_caps,
   572  .mdp_count = ARRAY_SIZE(sc7180_mdp),
   573  .mdp = sc7180_mdp,
   574  .ctl_count = ARRAY_SIZE(sc7180_ctl),
   575  .ctl = sc7180_ctl,
   576  .sspp_count = ARRAY_SIZE(sc7180_sspp),
   577  .sspp = sc7180_sspp,
   578  .mixer_count = ARRAY_SIZE(sc7180_lm),
   579  .mixer = sc7180_lm,
   580  .pingpong_count = ARRAY_SIZE(sc7180_pp),
   581  .pingpong = sc7180_pp,
   582  .intf_count = ARRAY_SIZE(sc7180_intf),
   583  .intf = sc7180_intf,
   584  .vbif_count = ARRAY_SIZE(sdm845_vbif),
   585  .vbif = sdm845_vbif,
   586  .reg_dma_count = 1,
   587  .dma_cfg = sdm845_regdma,
   588  .perf = sc7180_perf_data,
 > 589  .mdss_irqs[0] = 0x3f,
   590  };
   591  }
   592  

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org Intel Corporation


.config.gz
Description: application/gzip
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel