Browse Source

disp: msm: sde: remove unnecessary wb feature flags & reg-offset

Remove the hw feature flags that are set by default for writeback as
it does not add any value. As part of the change, remove the unused
wb register offsets.

Change-Id: I04376242e764d8d0a1edb763c9f799d7ae5447ac
Signed-off-by: Veera Sundaram Sankaran <[email protected]>
Veera Sundaram Sankaran 4 years ago
parent
commit
1428cbb7d0
4 changed files with 4 additions and 42 deletions
  1. 1 8
      msm/sde/sde_encoder_phys_wb.c
  2. 0 5
      msm/sde/sde_hw_catalog.c
  3. 0 9
      msm/sde/sde_hw_catalog.h
  4. 3 20
      msm/sde/sde_hw_wb.c

+ 1 - 8
msm/sde/sde_encoder_phys_wb.c

@@ -880,14 +880,7 @@ static int sde_encoder_phys_wb_atomic_check(
 		return -EINVAL;
 	}
 
-	SDE_DEBUG("[fb_fmt:%x,%llx]\n", fb->format->format,
-			fb->modifier);
-
-	if (SDE_FORMAT_IS_YUV(fmt) &&
-			!(wb_cfg->features & BIT(SDE_WB_YUV_CONFIG))) {
-		SDE_ERROR("invalid output format %x\n", fmt->base.pixel_format);
-		return -EINVAL;
-	}
+	SDE_DEBUG("[fb_fmt:%x,%llx]\n", fb->format->format, fb->modifier);
 
 	if (fmt->chroma_sample == SDE_CHROMA_H2V1 ||
 		fmt->chroma_sample == SDE_CHROMA_H1V2) {

+ 0 - 5
msm/sde/sde_hw_catalog.c

@@ -2539,13 +2539,10 @@ static int sde_wb_parse_dt(struct device_node *np, struct sde_mdss_cfg *sde_cfg)
 			set_bit(SDE_WB_LINE_MODE, &wb->features);
 		else
 			set_bit(SDE_WB_BLOCK_MODE, &wb->features);
-		set_bit(SDE_WB_TRAFFIC_SHAPER, &wb->features);
-		set_bit(SDE_WB_YUV_CONFIG, &wb->features);
 
 		if (test_bit(SDE_FEATURE_CDP, sde_cfg->features))
 			set_bit(SDE_WB_CDP, &wb->features);
 
-		set_bit(SDE_WB_QOS, &wb->features);
 		if (sde_cfg->vbif_qos_nlvl == 8)
 			set_bit(SDE_WB_QOS_8LVL, &wb->features);
 
@@ -2555,8 +2552,6 @@ static int sde_wb_parse_dt(struct device_node *np, struct sde_mdss_cfg *sde_cfg)
 		if (test_bit(SDE_FEATURE_CWB_CROP, sde_cfg->features))
 			set_bit(SDE_WB_CROP, &wb->features);
 
-		set_bit(SDE_WB_XY_ROI_OFFSET, &wb->features);
-
 		if (IS_SDE_CTL_REV_100(sde_cfg->ctl_rev))
 			set_bit(SDE_WB_INPUT_CTRL, &wb->features);
 

+ 0 - 9
msm/sde/sde_hw_catalog.h

@@ -540,13 +540,8 @@ enum {
  * @SDE_WB_CHROMA_DOWN,     Writeback chroma down block,
  * @SDE_WB_DOWNSCALE,       Writeback integer downscaler,
  * @SDE_WB_DITHER,          Dither block
- * @SDE_WB_TRAFFIC_SHAPER,  Writeback traffic shaper bloc
  * @SDE_WB_UBWC,            Writeback Universal bandwidth compression
- * @SDE_WB_YUV_CONFIG       Writeback supports output of YUV colorspace
  * @SDE_WB_PIPE_ALPHA       Writeback supports pipe alpha
- * @SDE_WB_XY_ROI_OFFSET    Writeback supports x/y-offset of out ROI in
- *                          the destination image
- * @SDE_WB_QOS,             Writeback supports QoS control, danger/safe/creq
  * @SDE_WB_QOS_8LVL,        Writeback supports 8-level QoS control
  * @SDE_WB_CDP              Writeback supports client driven prefetch
  * @SDE_WB_INPUT_CTRL       Writeback supports from which pp block input pixel
@@ -567,12 +562,8 @@ enum {
 	SDE_WB_CHROMA_DOWN,
 	SDE_WB_DOWNSCALE,
 	SDE_WB_DITHER,
-	SDE_WB_TRAFFIC_SHAPER,
 	SDE_WB_UBWC,
-	SDE_WB_YUV_CONFIG,
 	SDE_WB_PIPE_ALPHA,
-	SDE_WB_XY_ROI_OFFSET,
-	SDE_WB_QOS,
 	SDE_WB_QOS_8LVL,
 	SDE_WB_CDP,
 	SDE_WB_INPUT_CTRL,

+ 3 - 20
msm/sde/sde_hw_wb.c

@@ -21,19 +21,7 @@
 #define WB_DST3_ADDR			0x018
 #define WB_DST_YSTRIDE0			0x01C
 #define WB_DST_YSTRIDE1			0x020
-#define WB_DST_YSTRIDE1			0x020
-#define WB_DST_DITHER_BITDEPTH		0x024
-#define WB_DST_MATRIX_ROW0		0x030
-#define WB_DST_MATRIX_ROW1		0x034
-#define WB_DST_MATRIX_ROW2		0x038
-#define WB_DST_MATRIX_ROW3		0x03C
 #define WB_DST_WRITE_CONFIG		0x048
-#define WB_ROTATION_DNSCALER		0x050
-#define WB_ROTATOR_PIPE_DOWNSCALER	0x054
-#define WB_N16_INIT_PHASE_X_C03		0x060
-#define WB_N16_INIT_PHASE_X_C12		0x064
-#define WB_N16_INIT_PHASE_Y_C03		0x068
-#define WB_N16_INIT_PHASE_Y_C12		0x06C
 #define WB_OUT_SIZE			0x074
 #define WB_ALPHA_X_VALUE		0x078
 #define WB_DANGER_LUT			0x084
@@ -198,8 +186,7 @@ static void sde_hw_wb_setup_format(struct sde_hw_wb *ctx,
 			dst_format |= BIT(14); /* DST_ALPHA_X */
 	}
 
-	if (SDE_FORMAT_IS_YUV(fmt) &&
-			(ctx->caps->features & BIT(SDE_WB_YUV_CONFIG)))
+	if (SDE_FORMAT_IS_YUV(fmt))
 		dst_format |= BIT(15);
 
 	if (SDE_FORMAT_IS_DX(fmt))
@@ -548,16 +535,12 @@ static void _setup_wb_ops(struct sde_hw_wb_ops *ops,
 {
 	ops->setup_outaddress = sde_hw_wb_setup_outaddress;
 	ops->setup_outformat = sde_hw_wb_setup_format;
-
-	if (test_bit(SDE_WB_XY_ROI_OFFSET, &features))
-		ops->setup_roi = sde_hw_wb_roi;
+	ops->setup_qos_lut = sde_hw_wb_setup_qos_lut;
+	ops->setup_roi = sde_hw_wb_roi;
 
 	if (test_bit(SDE_WB_CROP, &features))
 		ops->setup_crop = sde_hw_wb_crop;
 
-	if (test_bit(SDE_WB_QOS, &features))
-		ops->setup_qos_lut = sde_hw_wb_setup_qos_lut;
-
 	if (test_bit(SDE_WB_CDP, &features))
 		ops->setup_cdp = sde_hw_wb_setup_cdp;