Message ID | 20211201225140.2481577-4-dmitry.baryshkov@linaro.org |
---|---|
State | Accepted |
Commit | 1e35e3fc3f714045078a6b4fcb4f0fe61df9e328 |
Headers | show |
Series | [v2,1/4] drm/msm/dpu: drop scaler config from plane state | expand |
On 12/1/2021 2:51 PM, Dmitry Baryshkov wrote: > Add DPU_SSPP_CSC_ANY denoting any CSC block. As we are at it, rewrite > DPU_SSPP_SCALER (any scaler) to use BIT(x) instead of hand-coded > bitshifts. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com> > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 16 +++++++++++----- > drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 3 +-- > 2 files changed, 12 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h > index ad2002d75739..3c53bd03bdeb 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h > @@ -25,11 +25,17 @@ struct dpu_hw_pipe; > /** > * Define all scaler feature bits in catalog > */ > -#define DPU_SSPP_SCALER ((1UL << DPU_SSPP_SCALER_RGB) | \ > - (1UL << DPU_SSPP_SCALER_QSEED2) | \ > - (1UL << DPU_SSPP_SCALER_QSEED3) | \ > - (1UL << DPU_SSPP_SCALER_QSEED3LITE) | \ > - (1UL << DPU_SSPP_SCALER_QSEED4)) > +#define DPU_SSPP_SCALER (BIT(DPU_SSPP_SCALER_RGB) | \ > + BIT(DPU_SSPP_SCALER_QSEED2) | \ > + BIT(DPU_SSPP_SCALER_QSEED3) | \ > + BIT(DPU_SSPP_SCALER_QSEED3LITE) | \ > + BIT(DPU_SSPP_SCALER_QSEED4)) > + > +/* > + * Define all CSC feature bits in catalog > + */ > +#define DPU_SSPP_CSC_ANY (BIT(DPU_SSPP_CSC) | \ > + BIT(DPU_SSPP_CSC_10BIT)) > > /** > * Component indices > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > index c7b065b14c5c..911f5f0b41d8 100644 > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > @@ -1010,8 +1010,7 @@ static int dpu_plane_atomic_check(struct drm_plane *plane, > > if (DPU_FORMAT_IS_YUV(fmt) && > (!(pdpu->pipe_hw->cap->features & DPU_SSPP_SCALER) || > - !(pdpu->pipe_hw->cap->features & (BIT(DPU_SSPP_CSC) > - | BIT(DPU_SSPP_CSC_10BIT))))) { > + !(pdpu->pipe_hw->cap->features & DPU_SSPP_CSC_ANY))) { > DPU_DEBUG_PLANE(pdpu, > "plane doesn't have scaler/csc for yuv\n"); > return -EINVAL; >
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h index ad2002d75739..3c53bd03bdeb 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h @@ -25,11 +25,17 @@ struct dpu_hw_pipe; /** * Define all scaler feature bits in catalog */ -#define DPU_SSPP_SCALER ((1UL << DPU_SSPP_SCALER_RGB) | \ - (1UL << DPU_SSPP_SCALER_QSEED2) | \ - (1UL << DPU_SSPP_SCALER_QSEED3) | \ - (1UL << DPU_SSPP_SCALER_QSEED3LITE) | \ - (1UL << DPU_SSPP_SCALER_QSEED4)) +#define DPU_SSPP_SCALER (BIT(DPU_SSPP_SCALER_RGB) | \ + BIT(DPU_SSPP_SCALER_QSEED2) | \ + BIT(DPU_SSPP_SCALER_QSEED3) | \ + BIT(DPU_SSPP_SCALER_QSEED3LITE) | \ + BIT(DPU_SSPP_SCALER_QSEED4)) + +/* + * Define all CSC feature bits in catalog + */ +#define DPU_SSPP_CSC_ANY (BIT(DPU_SSPP_CSC) | \ + BIT(DPU_SSPP_CSC_10BIT)) /** * Component indices diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c index c7b065b14c5c..911f5f0b41d8 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c @@ -1010,8 +1010,7 @@ static int dpu_plane_atomic_check(struct drm_plane *plane, if (DPU_FORMAT_IS_YUV(fmt) && (!(pdpu->pipe_hw->cap->features & DPU_SSPP_SCALER) || - !(pdpu->pipe_hw->cap->features & (BIT(DPU_SSPP_CSC) - | BIT(DPU_SSPP_CSC_10BIT))))) { + !(pdpu->pipe_hw->cap->features & DPU_SSPP_CSC_ANY))) { DPU_DEBUG_PLANE(pdpu, "plane doesn't have scaler/csc for yuv\n"); return -EINVAL;
Add DPU_SSPP_CSC_ANY denoting any CSC block. As we are at it, rewrite DPU_SSPP_SCALER (any scaler) to use BIT(x) instead of hand-coded bitshifts. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp.h | 16 +++++++++++----- drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 3 +-- 2 files changed, 12 insertions(+), 7 deletions(-)