Re: [DPU PATCH 1/6] drm/msm: remove display stream compression(DSC) support for SM845
On Mon, Apr 16, 2018 at 11:22:16AM -0700, Jeykumar Sankaran wrote: > Upstream DSI driver doesn't support DSC panels yet. Remove > the support for compression from DPU for now. > > Signed-off-by: Jeykumar Sankaran > --- > drivers/gpu/drm/msm/Makefile | 1 - > drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c | 4 - > drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h | 2 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c| 476 > + > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h| 14 - > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 7 +- > .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 1 - > .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 7 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 25 -- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 16 - > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c | 252 --- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.h | 100 - > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h| 17 +- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c| 48 --- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h| 22 - > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c | 13 - > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h | 7 - > drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 55 --- > drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 8 - > drivers/gpu/drm/msm/msm_drv.h | 16 - > 20 files changed, 7 insertions(+), 1084 deletions(-) > delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c > delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.h > > diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile > index 9c27991..b23a001 100644 > --- a/drivers/gpu/drm/msm/Makefile > +++ b/drivers/gpu/drm/msm/Makefile > @@ -64,7 +64,6 @@ msm-y := \ > disp/dpu1/dpu_hw_color_processing_v1_7.o \ > disp/dpu1/dpu_hw_ctl.o \ > disp/dpu1/dpu_hw_ds.o \ > - disp/dpu1/dpu_hw_dsc.o \ > disp/dpu1/dpu_hw_dspp.o \ > disp/dpu1/dpu_hw_interrupts.o \ > disp/dpu1/dpu_hw_intf.o \ > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c > b/drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c > index 36607e3..1237efc 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c > @@ -39,12 +39,8 @@ > static const struct drm_prop_enum_list e_topology_name[] = { > {DPU_RM_TOPOLOGY_NONE, "dpu_none"}, > {DPU_RM_TOPOLOGY_SINGLEPIPE,"dpu_singlepipe"}, > - {DPU_RM_TOPOLOGY_SINGLEPIPE_DSC,"dpu_singlepipe_dsc"}, > {DPU_RM_TOPOLOGY_DUALPIPE, "dpu_dualpipe"}, > - {DPU_RM_TOPOLOGY_DUALPIPE_DSC, "dpu_dualpipe_dsc"}, > {DPU_RM_TOPOLOGY_DUALPIPE_3DMERGE, "dpu_dualpipemerge"}, > - {DPU_RM_TOPOLOGY_DUALPIPE_3DMERGE_DSC, "dpu_dualpipemerge_dsc"}, > - {DPU_RM_TOPOLOGY_DUALPIPE_DSCMERGE, "dpu_dualpipe_dscmerge"}, > {DPU_RM_TOPOLOGY_PPSPLIT, "dpu_ppsplit"}, > }; > static const struct drm_prop_enum_list e_topology_control[] = { > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h > b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h > index 8756b2b..fade658 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h > @@ -147,7 +147,7 @@ struct dpu_crtc_event { > * @num_ctls : Number of ctl paths in use > * @num_mixers: Number of mixers in use > * @mixers_swapped: Whether the mixers have been swapped for left/right > update > - * especially in the case of DSC Merge. > + especially in the case of DSC Merge. > * @mixers: List of active mixers > * @event : Pointer to last received drm vblank event. If there is a > * pending vblank event, this will be non-null. Unrelated change > static void _dpu_encoder_update_vsync_source(struct dpu_encoder_virt > *dpu_enc, > struct msm_display_info *disp_info) > { > @@ -1109,102 +761,8 @@ static void _dpu_encoder_update_vsync_source(struct > dpu_encoder_virt *dpu_enc, > > hw_mdptop->ops.setup_vsync_source(hw_mdptop, &vsync_cfg); > } > -} > - > -static int _dpu_encoder_dsc_disable(struct dpu_encoder_virt *dpu_enc) > -{ > - enum dpu_rm_topology_name topology; > - struct drm_connector *drm_conn; > - int i, ret = 0; > - struct dpu_hw_pingpong *hw_pp[MAX_CHANNELS_PER_ENC]; > - struct dpu_hw_dsc *hw_dsc[MAX_CHANNELS_PER_ENC] = {NULL}; > - int pp_count = 0; > - int dsc_count = 0; > - > - if (!dpu_enc || !dpu_enc->phys_encs[0] || > - !dpu_enc->phys_encs[0]->connector) { > - DPU_ERROR("invalid params %d %d\n", > - !dpu_enc, dpu_enc ? !dpu_enc->phys_encs[0] : -1); > - return -EINVAL; > - } > - > - drm_conn = dpu_enc->phys_encs[0
[DPU PATCH 1/6] drm/msm: remove display stream compression(DSC) support for SM845
Upstream DSI driver doesn't support DSC panels yet. Remove the support for compression from DPU for now. Signed-off-by: Jeykumar Sankaran --- drivers/gpu/drm/msm/Makefile | 1 - drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c | 4 - drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h | 2 +- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c| 476 + drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h| 14 - drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 7 +- .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 1 - .../gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 7 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c | 25 -- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h | 16 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c | 252 --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.h | 100 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_mdss.h| 17 +- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.c| 48 --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_pingpong.h| 22 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.c | 13 - drivers/gpu/drm/msm/disp/dpu1/dpu_hw_top.h | 7 - drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 55 --- drivers/gpu/drm/msm/disp/dpu1/dpu_rm.h | 8 - drivers/gpu/drm/msm/msm_drv.h | 16 - 20 files changed, 7 insertions(+), 1084 deletions(-) delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.h diff --git a/drivers/gpu/drm/msm/Makefile b/drivers/gpu/drm/msm/Makefile index 9c27991..b23a001 100644 --- a/drivers/gpu/drm/msm/Makefile +++ b/drivers/gpu/drm/msm/Makefile @@ -64,7 +64,6 @@ msm-y := \ disp/dpu1/dpu_hw_color_processing_v1_7.o \ disp/dpu1/dpu_hw_ctl.o \ disp/dpu1/dpu_hw_ds.o \ - disp/dpu1/dpu_hw_dsc.o \ disp/dpu1/dpu_hw_dspp.o \ disp/dpu1/dpu_hw_interrupts.o \ disp/dpu1/dpu_hw_intf.o \ diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c index 36607e3..1237efc 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_connector.c @@ -39,12 +39,8 @@ static const struct drm_prop_enum_list e_topology_name[] = { {DPU_RM_TOPOLOGY_NONE, "dpu_none"}, {DPU_RM_TOPOLOGY_SINGLEPIPE,"dpu_singlepipe"}, - {DPU_RM_TOPOLOGY_SINGLEPIPE_DSC,"dpu_singlepipe_dsc"}, {DPU_RM_TOPOLOGY_DUALPIPE, "dpu_dualpipe"}, - {DPU_RM_TOPOLOGY_DUALPIPE_DSC, "dpu_dualpipe_dsc"}, {DPU_RM_TOPOLOGY_DUALPIPE_3DMERGE, "dpu_dualpipemerge"}, - {DPU_RM_TOPOLOGY_DUALPIPE_3DMERGE_DSC, "dpu_dualpipemerge_dsc"}, - {DPU_RM_TOPOLOGY_DUALPIPE_DSCMERGE, "dpu_dualpipe_dscmerge"}, {DPU_RM_TOPOLOGY_PPSPLIT, "dpu_ppsplit"}, }; static const struct drm_prop_enum_list e_topology_control[] = { diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h index 8756b2b..fade658 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.h @@ -147,7 +147,7 @@ struct dpu_crtc_event { * @num_ctls : Number of ctl paths in use * @num_mixers: Number of mixers in use * @mixers_swapped: Whether the mixers have been swapped for left/right update - * especially in the case of DSC Merge. + especially in the case of DSC Merge. * @mixers: List of active mixers * @event : Pointer to last received drm vblank event. If there is a * pending vblank event, this will be non-null. diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c index 198c618..6f12355 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c @@ -32,7 +32,6 @@ #include "dpu_formats.h" #include "dpu_encoder_phys.h" #include "dpu_power_handle.h" -#include "dpu_hw_dsc.h" #include "dpu_crtc.h" #include "dpu_trace.h" #include "dpu_core_irq.h" @@ -152,7 +151,6 @@ enum dpu_enc_rc_states { * Only valid after enable. Cleared as disable. * @hw_pp Handle to the pingpong blocks used for the display. No. * pingpong blocks can be different than num_phys_encs. - * @hw_dsc:Array of DSC block handles used for the display. * @intfs_swapped Whether or not the phys_enc interfaces have been swapped * for partial update right-only cases, such as pingpong * split where virtual pingpong does not generate IRQs @@ -199,7 +197,6 @@ struct dpu_encoder_virt { struct dpu_encoder_phys *phys_encs[MAX_PHYS_ENCODERS_PER_VIRTUAL]; struct dpu_encoder_phys *cur_master; struct dpu_hw_pingpong *hw_pp[MAX_CHANNELS_PER_ENC]; -