Loading drivers/gpu/drm/msm/sde/sde_hw_catalog.h +8 −2 Original line number Diff line number Diff line Loading @@ -329,7 +329,7 @@ struct sde_ctl_cfg { * @id: index identifying this block * @base register offset of this block * @features bit mask identifying sub-blocks/features * @sblk: Sub-blocks of SSPP * @sblk: SSPP sub-blocks information */ struct sde_sspp_cfg { SDE_HW_BLK_INFO; Loading @@ -341,11 +341,17 @@ struct sde_sspp_cfg { * @id: index identifying this block * @base register offset of this block * @features bit mask identifying sub-blocks/features * @sblk: Sub-blocks of SSPP * @sblk: LM Sub-blocks information * @dspp: ID of connected DSPP, DSPP_MAX if unsupported * @pingpong: ID of connected PingPong, PINGPONG_MAX if unsupported * @lm_pair_mask: Bitmask of LMs that can be controlled by same CTL */ struct sde_lm_cfg { SDE_HW_BLK_INFO; const struct sde_lm_sub_blks *sblk; u32 dspp; u32 pingpong; u32 lm_pair_mask; }; /** Loading drivers/gpu/drm/msm/sde/sde_hw_catalog_8996.c +32 −16 Original line number Diff line number Diff line Loading @@ -315,7 +315,7 @@ static inline int set_cfg_1xx_init(struct sde_mdss_cfg *cfg) }; /* DSPP capability */ static const struct sde_dspp_sub_blks pp = { static const struct sde_dspp_sub_blks dspp = { .igc = {.id = SDE_DSPP_GC, .base = 0x17c0, .len = 0x0, .version = 0x1}, .pcc = {.id = SDE_DSPP_PCC, .base = 0x00, .len = 0x0, Loading @@ -331,7 +331,7 @@ static inline int set_cfg_1xx_init(struct sde_mdss_cfg *cfg) }; /* PINGPONG capability */ static const struct sde_pingpong_sub_blks p_p = { static const struct sde_pingpong_sub_blks pingpong = { .te = {.id = SDE_PINGPONG_TE, .base = 0x0000, .len = 0x0, .version = 0x1}, .te2 = {.id = SDE_PINGPONG_TE2, .base = 0x2000, .len = 0x0, Loading Loading @@ -404,46 +404,62 @@ static inline int set_cfg_1xx_init(struct sde_mdss_cfg *cfg) .mixer = { {.id = LM_0, .base = 0x00045000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_0, .pingpong = PINGPONG_0, .lm_pair_mask = (1 << LM_1) }, {.id = LM_1, .base = 0x00046000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_1, .pingpong = PINGPONG_1, .lm_pair_mask = (1 << LM_0) }, {.id = LM_2, .base = 0x00047000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_MAX, .pingpong = PINGPONG_2, .lm_pair_mask = (1 << LM_5) }, {.id = LM_3, .base = 0x00048000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_MAX, .pingpong = PINGPONG_MAX}, {.id = LM_4, .base = 0x00049000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_MAX, .pingpong = PINGPONG_MAX}, {.id = LM_5, .base = 0x0004a000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_MAX, .pingpong = PINGPONG_3, .lm_pair_mask = (1 << LM_2) }, }, .dspp_count = 2, .dspp = { {.id = DSPP_0, .base = 0x00055000, .features = DSPP_17X_MASK, .sblk = &pp}, .sblk = &dspp}, {.id = DSPP_1, .base = 0x00057000, .features = DSPP_17X_MASK, .sblk = &pp}, .sblk = &dspp}, }, .pingpong_count = 4, .pingpong = { {.id = PINGPONG_0, .base = 0x00071000, .features = PINGPONG_17X_SPLIT_MASK, .sblk = &p_p}, .sblk = &pingpong}, {.id = PINGPONG_1, .base = 0x00071800, .features = PINGPONG_17X_SPLIT_MASK, .sblk = &p_p}, .sblk = &pingpong}, {.id = PINGPONG_2, .base = 0x00072000, .features = PINGPONG_17X_MASK, .sblk = &p_p}, .sblk = &pingpong}, {.id = PINGPONG_3, .base = 0x00072800, .features = PINGPONG_17X_MASK, .sblk = &p_p}, .sblk = &pingpong}, }, .cdm_count = 1, .cdm = { Loading Loading
drivers/gpu/drm/msm/sde/sde_hw_catalog.h +8 −2 Original line number Diff line number Diff line Loading @@ -329,7 +329,7 @@ struct sde_ctl_cfg { * @id: index identifying this block * @base register offset of this block * @features bit mask identifying sub-blocks/features * @sblk: Sub-blocks of SSPP * @sblk: SSPP sub-blocks information */ struct sde_sspp_cfg { SDE_HW_BLK_INFO; Loading @@ -341,11 +341,17 @@ struct sde_sspp_cfg { * @id: index identifying this block * @base register offset of this block * @features bit mask identifying sub-blocks/features * @sblk: Sub-blocks of SSPP * @sblk: LM Sub-blocks information * @dspp: ID of connected DSPP, DSPP_MAX if unsupported * @pingpong: ID of connected PingPong, PINGPONG_MAX if unsupported * @lm_pair_mask: Bitmask of LMs that can be controlled by same CTL */ struct sde_lm_cfg { SDE_HW_BLK_INFO; const struct sde_lm_sub_blks *sblk; u32 dspp; u32 pingpong; u32 lm_pair_mask; }; /** Loading
drivers/gpu/drm/msm/sde/sde_hw_catalog_8996.c +32 −16 Original line number Diff line number Diff line Loading @@ -315,7 +315,7 @@ static inline int set_cfg_1xx_init(struct sde_mdss_cfg *cfg) }; /* DSPP capability */ static const struct sde_dspp_sub_blks pp = { static const struct sde_dspp_sub_blks dspp = { .igc = {.id = SDE_DSPP_GC, .base = 0x17c0, .len = 0x0, .version = 0x1}, .pcc = {.id = SDE_DSPP_PCC, .base = 0x00, .len = 0x0, Loading @@ -331,7 +331,7 @@ static inline int set_cfg_1xx_init(struct sde_mdss_cfg *cfg) }; /* PINGPONG capability */ static const struct sde_pingpong_sub_blks p_p = { static const struct sde_pingpong_sub_blks pingpong = { .te = {.id = SDE_PINGPONG_TE, .base = 0x0000, .len = 0x0, .version = 0x1}, .te2 = {.id = SDE_PINGPONG_TE2, .base = 0x2000, .len = 0x0, Loading Loading @@ -404,46 +404,62 @@ static inline int set_cfg_1xx_init(struct sde_mdss_cfg *cfg) .mixer = { {.id = LM_0, .base = 0x00045000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_0, .pingpong = PINGPONG_0, .lm_pair_mask = (1 << LM_1) }, {.id = LM_1, .base = 0x00046000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_1, .pingpong = PINGPONG_1, .lm_pair_mask = (1 << LM_0) }, {.id = LM_2, .base = 0x00047000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_MAX, .pingpong = PINGPONG_2, .lm_pair_mask = (1 << LM_5) }, {.id = LM_3, .base = 0x00048000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_MAX, .pingpong = PINGPONG_MAX}, {.id = LM_4, .base = 0x00049000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_MAX, .pingpong = PINGPONG_MAX}, {.id = LM_5, .base = 0x0004a000, .features = MIXER_17X_MASK, .sblk = &lm}, .sblk = &lm, .dspp = DSPP_MAX, .pingpong = PINGPONG_3, .lm_pair_mask = (1 << LM_2) }, }, .dspp_count = 2, .dspp = { {.id = DSPP_0, .base = 0x00055000, .features = DSPP_17X_MASK, .sblk = &pp}, .sblk = &dspp}, {.id = DSPP_1, .base = 0x00057000, .features = DSPP_17X_MASK, .sblk = &pp}, .sblk = &dspp}, }, .pingpong_count = 4, .pingpong = { {.id = PINGPONG_0, .base = 0x00071000, .features = PINGPONG_17X_SPLIT_MASK, .sblk = &p_p}, .sblk = &pingpong}, {.id = PINGPONG_1, .base = 0x00071800, .features = PINGPONG_17X_SPLIT_MASK, .sblk = &p_p}, .sblk = &pingpong}, {.id = PINGPONG_2, .base = 0x00072000, .features = PINGPONG_17X_MASK, .sblk = &p_p}, .sblk = &pingpong}, {.id = PINGPONG_3, .base = 0x00072800, .features = PINGPONG_17X_MASK, .sblk = &p_p}, .sblk = &pingpong}, }, .cdm_count = 1, .cdm = { Loading