4141#define PINGPONG_SDM845_SPLIT_MASK \
4242 (PINGPONG_SDM845_MASK | BIT(DPU_PINGPONG_TE2))
4343
44+ #define DSPP_SC7180_MASK 0
45+
4446#define DEFAULT_PIXEL_RAM_SIZE (50 * 1024)
4547#define DEFAULT_DPU_LINE_WIDTH 2048
4648#define DEFAULT_DPU_OUTPUT_LINE_WIDTH 2560
@@ -291,29 +293,30 @@ static const struct dpu_lm_sub_blks sdm845_lm_sblk = {
291293 },
292294};
293295
294- #define LM_BLK (_name , _id , _base , _fmask , _sblk , _pp , _lmpair ) \
296+ #define LM_BLK (_name , _id , _base , _fmask , _sblk , _pp , _lmpair , _dspp ) \
295297 { \
296298 .name = _name, .id = _id, \
297299 .base = _base, .len = 0x320, \
298300 .features = _fmask, \
299301 .sblk = _sblk, \
300302 .pingpong = _pp, \
301- .lm_pair_mask = (1 << _lmpair) \
303+ .lm_pair_mask = (1 << _lmpair), \
304+ .dspp = _dspp \
302305 }
303306
304307static const struct dpu_lm_cfg sdm845_lm [] = {
305308 LM_BLK ("lm_0" , LM_0 , 0x44000 , MIXER_SDM845_MASK ,
306- & sdm845_lm_sblk , PINGPONG_0 , LM_1 ),
309+ & sdm845_lm_sblk , PINGPONG_0 , LM_1 , 0 ),
307310 LM_BLK ("lm_1" , LM_1 , 0x45000 , MIXER_SDM845_MASK ,
308- & sdm845_lm_sblk , PINGPONG_1 , LM_0 ),
311+ & sdm845_lm_sblk , PINGPONG_1 , LM_0 , 0 ),
309312 LM_BLK ("lm_2" , LM_2 , 0x46000 , MIXER_SDM845_MASK ,
310- & sdm845_lm_sblk , PINGPONG_2 , LM_5 ),
313+ & sdm845_lm_sblk , PINGPONG_2 , LM_5 , 0 ),
311314 LM_BLK ("lm_3" , LM_3 , 0x0 , MIXER_SDM845_MASK ,
312- & sdm845_lm_sblk , PINGPONG_MAX , 0 ),
315+ & sdm845_lm_sblk , PINGPONG_MAX , 0 , 0 ),
313316 LM_BLK ("lm_4" , LM_4 , 0x0 , MIXER_SDM845_MASK ,
314- & sdm845_lm_sblk , PINGPONG_MAX , 0 ),
317+ & sdm845_lm_sblk , PINGPONG_MAX , 0 , 0 ),
315318 LM_BLK ("lm_5" , LM_5 , 0x49000 , MIXER_SDM845_MASK ,
316- & sdm845_lm_sblk , PINGPONG_3 , LM_2 ),
319+ & sdm845_lm_sblk , PINGPONG_3 , LM_2 , 0 ),
317320};
318321
319322/* SC7180 */
@@ -328,11 +331,25 @@ static const struct dpu_lm_sub_blks sc7180_lm_sblk = {
328331
329332static const struct dpu_lm_cfg sc7180_lm [] = {
330333 LM_BLK ("lm_0" , LM_0 , 0x44000 , MIXER_SC7180_MASK ,
331- & sc7180_lm_sblk , PINGPONG_0 , LM_1 ),
334+ & sc7180_lm_sblk , PINGPONG_0 , LM_1 , DSPP_0 ),
332335 LM_BLK ("lm_1" , LM_1 , 0x45000 , MIXER_SC7180_MASK ,
333- & sc7180_lm_sblk , PINGPONG_1 , LM_0 ),
336+ & sc7180_lm_sblk , PINGPONG_1 , LM_0 , 0 ),
334337};
335338
339+ /*************************************************************
340+ * DSPP sub blocks config
341+ *************************************************************/
342+ #define DSPP_BLK (_name , _id , _base ) \
343+ {\
344+ .name = _name, .id = _id, \
345+ .base = _base, .len = 0x1800, \
346+ .features = DSPP_SC7180_MASK, \
347+ .sblk = NULL, \
348+ }
349+
350+ static const struct dpu_dspp_cfg sc7180_dspp [] = {
351+ DSPP_BLK ("dspp_0" , DSPP_0 , 0x54000 ),
352+ };
336353/*************************************************************
337354 * PINGPONG sub blocks config
338355 *************************************************************/
@@ -587,6 +604,8 @@ static void sc7180_cfg_init(struct dpu_mdss_cfg *dpu_cfg)
587604 .sspp = sc7180_sspp ,
588605 .mixer_count = ARRAY_SIZE (sc7180_lm ),
589606 .mixer = sc7180_lm ,
607+ .dspp_count = ARRAY_SIZE (sc7180_dspp ),
608+ .dspp = sc7180_dspp ,
590609 .pingpong_count = ARRAY_SIZE (sc7180_pp ),
591610 .pingpong = sc7180_pp ,
592611 .intf_count = ARRAY_SIZE (sc7180_intf ),
0 commit comments