diff --git a/drivers/gpu/drm/msm/sde/sde_hw_top.c b/drivers/gpu/drm/msm/sde/sde_hw_top.c
index 8feca9b..9e9fb04 100644
--- a/drivers/gpu/drm/msm/sde/sde_hw_top.c
+++ b/drivers/gpu/drm/msm/sde/sde_hw_top.c
@@ -84,30 +84,6 @@
 	SDE_REG_WRITE(c, MDP_OUT_CTL_0, out_ctl);
 }
 
-static void sde_hw_setup_traffic_shaper(struct sde_hw_mdp *mdp,
-		struct traffic_shaper_cfg *cfg)
-{
-	struct sde_hw_blk_reg_map *c = &mdp->hw;
-	u32 ts_control = 0;
-	u32 offset;
-	u64 bpc;
-
-	if (cfg->rd_client)
-		offset = TRAFFIC_SHAPER_RD_CLIENT(cfg->client_id);
-	else
-		offset = TRAFFIC_SHAPER_WR_CLIENT(cfg->client_id);
-
-	if (cfg->en) {
-		bpc = cfg->bpc_numer;
-		do_div(bpc, (cfg->bpc_denom >>
-					TRAFFIC_SHAPER_FIXPOINT_FACTOR));
-		ts_control = lower_32_bits(bpc) + 1;
-		ts_control |= TRAFFIC_SHAPER_EN;
-	}
-
-	SDE_REG_WRITE(c, offset, ts_control);
-}
-
 static bool sde_hw_setup_clk_force_ctrl(struct sde_hw_mdp *mdp,
 		enum sde_clk_ctrl_type clk_ctrl, bool enable)
 {
@@ -141,7 +117,6 @@
 {
 	ops->setup_split_pipe = sde_hw_setup_split_pipe_control;
 	ops->setup_cdm_output = sde_hw_setup_cdm_output;
-	ops->setup_traffic_shaper = sde_hw_setup_traffic_shaper;
 	ops->setup_clk_force_ctrl = sde_hw_setup_clk_force_ctrl;
 }
 
diff --git a/drivers/gpu/drm/msm/sde/sde_hw_wb.c b/drivers/gpu/drm/msm/sde/sde_hw_wb.c
index 3c7f2fe..c68ee23 100644
--- a/drivers/gpu/drm/msm/sde/sde_hw_wb.c
+++ b/drivers/gpu/drm/msm/sde/sde_hw_wb.c
@@ -162,14 +162,6 @@
 	SDE_REG_WRITE(c, WB_CDP_CTRL, cdp_settings);
 }
 
-static void sde_hw_wb_traffic_shaper(struct sde_hw_wb *ctx,
-		struct sde_hw_wb_cfg *data)
-{
-	if (ctx->hw_mdp && ctx->hw_mdp->ops.setup_traffic_shaper)
-		ctx->hw_mdp->ops.setup_traffic_shaper(ctx->hw_mdp,
-				&data->ts_cfg);
-}
-
 static void sde_hw_wb_roi(struct sde_hw_wb *ctx, struct sde_hw_wb_cfg *wb)
 {
 	struct sde_hw_blk_reg_map *c = &ctx->hw;
@@ -190,9 +182,6 @@
 	ops->setup_outaddress = sde_hw_wb_setup_outaddress;
 	ops->setup_outformat = sde_hw_wb_setup_format;
 
-	if (test_bit(SDE_WB_TRAFFIC_SHAPER, &features))
-		ops->setup_trafficshaper = sde_hw_wb_traffic_shaper;
-
 	if (test_bit(SDE_WB_XY_ROI_OFFSET, &features))
 		ops->setup_roi = sde_hw_wb_roi;
 }
