[PATCH 1/1] drm/mediatek: Fix errors when reporting rotation capability

CK Hu (胡俊光) ck.hu at mediatek.com
Thu Oct 26 01:29:37 PDT 2023


Hi, Hsiao-chien:

On Thu, 2023-10-26 at 08:27 +0000, Shawn Sung (宋孝謙) wrote:
> Hi CK,
> 
> On Thu, 2023-10-26 at 01:53 +0000, CK Hu (胡俊光) wrote:
> > Hi, Hsiao-chien:
> > 
> > On Mon, 2023-09-18 at 15:10 +0800, Hsiao Chien Sung wrote:
> > > For CRTCs that doesn't support rotation should still return
> > > DRM_MODE_ROTATE_0. Since both OVL and OVL adaptor on MTK chip
> > > doesn't support rotation, return the capability of the
> > > hardware accordingly.
> > > 
> > > Fixes: df4444577118 ("drm/mediatek: Support 180 degree rotation")
> > > Fixes: 84d805753983 ("drm/mediatek: Support reflect-y plane
> > > rotation")
> > > 
> > > Signed-off-by: Hsiao Chien Sung <shawn.sung at mediatek.com>
> > > ---
> > >  drivers/gpu/drm/mediatek/mtk_disp_drv.h         | 1 +
> > >  drivers/gpu/drm/mediatek/mtk_disp_ovl.c         | 8 +-------
> > >  drivers/gpu/drm/mediatek/mtk_disp_ovl_adaptor.c | 5 +++++
> > >  drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c     | 1 +
> > >  drivers/gpu/drm/mediatek/mtk_drm_plane.c        | 2 +-
> > >  5 files changed, 9 insertions(+), 8 deletions(-)
> > > 
> > > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > > b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > > index 2254038519e1..f4c7dba8f73d 100644
> > > --- a/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > > +++ b/drivers/gpu/drm/mediatek/mtk_disp_drv.h
> > > @@ -120,6 +120,7 @@ void
> > > mtk_ovl_adaptor_register_vblank_cb(struct
> > > device *dev, void (*vblank_cb)(vo
> > >  void mtk_ovl_adaptor_unregister_vblank_cb(struct device *dev);
> > >  void mtk_ovl_adaptor_enable_vblank(struct device *dev);
> > >  void mtk_ovl_adaptor_disable_vblank(struct device *dev);
> > > +unsigned int mtk_ovl_adaptor_supported_rotations(struct device
> > > *dev);
> > >  void mtk_ovl_adaptor_start(struct device *dev);
> > >  void mtk_ovl_adaptor_stop(struct device *dev);
> > >  unsigned int mtk_ovl_adaptor_layer_nr(struct device *dev);
> > > diff --git a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> > > b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> > > index 2bffe4245466..5fd1f6ae41f3 100644
> > > --- a/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> > > +++ b/drivers/gpu/drm/mediatek/mtk_disp_ovl.c
> > > @@ -288,8 +288,7 @@ unsigned int mtk_ovl_layer_nr(struct device
> > > *dev)
> > > 
> > >  unsigned int mtk_ovl_supported_rotations(struct device *dev)
> > >  {
> > > -	return DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_180 |
> > > -	       DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y;
> > > +	return DRM_MODE_ROTATE_0 | DRM_MODE_REFLECT_X |
> > > DRM_MODE_REFLECT_Y;
> > 
> > If ovl enable reflect_x and reflect_y at the same time, it is
> > rotate
> > 180, right?
> > 
> > Regards,
> > CK
> 
> Yes, if the user do such an operation, the result is equal to 180
> degrees rotation.

So ovl support rotate 180, why do you remove this capability?

> 
> Regards,
> Shawn 


More information about the Linux-mediatek mailing list