On Tue, Feb 07, 2017 at 05:16:17PM +0800, Shawn Guo wrote: > From: Shawn Guo <shawn.guo@xxxxxxxxxx> > > The vblank hooks in struct drm_driver are deprecated and only meant for > legacy drivers. For modern drivers with DRIVER_MODESET flag, the hooks > in struct drm_crtc_funcs should be used instead. > > Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxx> > Cc: Mali DP Maintainers <malidp@xxxxxxxxxxxx> Acked-by: Liviu Dudau <liviu.dudau@xxxxxxx> > --- > drivers/gpu/drm/arm/malidp_crtc.c | 21 +++++++++++++++++++++ > drivers/gpu/drm/arm/malidp_drv.c | 21 --------------------- > 2 files changed, 21 insertions(+), 21 deletions(-) > > diff --git a/drivers/gpu/drm/arm/malidp_crtc.c b/drivers/gpu/drm/arm/malidp_crtc.c > index 08e6a71f5d05..bad4d80cb711 100644 > --- a/drivers/gpu/drm/arm/malidp_crtc.c > +++ b/drivers/gpu/drm/arm/malidp_crtc.c > @@ -167,6 +167,25 @@ static int malidp_crtc_atomic_check(struct drm_crtc *crtc, > .atomic_check = malidp_crtc_atomic_check, > }; > > +static int malidp_crtc_enable_vblank(struct drm_crtc *crtc) > +{ > + struct malidp_drm *malidp = crtc_to_malidp_device(crtc); > + struct malidp_hw_device *hwdev = malidp->dev; > + > + malidp_hw_enable_irq(hwdev, MALIDP_DE_BLOCK, > + hwdev->map.de_irq_map.vsync_irq); > + return 0; > +} > + > +static void malidp_crtc_disable_vblank(struct drm_crtc *crtc) > +{ > + struct malidp_drm *malidp = crtc_to_malidp_device(crtc); > + struct malidp_hw_device *hwdev = malidp->dev; > + > + malidp_hw_disable_irq(hwdev, MALIDP_DE_BLOCK, > + hwdev->map.de_irq_map.vsync_irq); > +} > + > static const struct drm_crtc_funcs malidp_crtc_funcs = { > .destroy = drm_crtc_cleanup, > .set_config = drm_atomic_helper_set_config, > @@ -174,6 +193,8 @@ static int malidp_crtc_atomic_check(struct drm_crtc *crtc, > .reset = drm_atomic_helper_crtc_reset, > .atomic_duplicate_state = drm_atomic_helper_crtc_duplicate_state, > .atomic_destroy_state = drm_atomic_helper_crtc_destroy_state, > + .enable_vblank = malidp_crtc_enable_vblank, > + .disable_vblank = malidp_crtc_disable_vblank, > }; > > int malidp_crtc_init(struct drm_device *drm) > diff --git a/drivers/gpu/drm/arm/malidp_drv.c b/drivers/gpu/drm/arm/malidp_drv.c > index ca6ccd172de3..5dfcdb05c96e 100644 > --- a/drivers/gpu/drm/arm/malidp_drv.c > +++ b/drivers/gpu/drm/arm/malidp_drv.c > @@ -111,25 +111,6 @@ static void malidp_atomic_commit_tail(struct drm_atomic_state *state) > .atomic_commit = drm_atomic_helper_commit, > }; > > -static int malidp_enable_vblank(struct drm_device *drm, unsigned int crtc) > -{ > - struct malidp_drm *malidp = drm->dev_private; > - struct malidp_hw_device *hwdev = malidp->dev; > - > - malidp_hw_enable_irq(hwdev, MALIDP_DE_BLOCK, > - hwdev->map.de_irq_map.vsync_irq); > - return 0; > -} > - > -static void malidp_disable_vblank(struct drm_device *drm, unsigned int pipe) > -{ > - struct malidp_drm *malidp = drm->dev_private; > - struct malidp_hw_device *hwdev = malidp->dev; > - > - malidp_hw_disable_irq(hwdev, MALIDP_DE_BLOCK, > - hwdev->map.de_irq_map.vsync_irq); > -} > - > static int malidp_init(struct drm_device *drm) > { > int ret; > @@ -213,8 +194,6 @@ static void malidp_lastclose(struct drm_device *drm) > .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC | > DRIVER_PRIME, > .lastclose = malidp_lastclose, > - .enable_vblank = malidp_enable_vblank, > - .disable_vblank = malidp_disable_vblank, > .gem_free_object_unlocked = drm_gem_cma_free_object, > .gem_vm_ops = &drm_gem_cma_vm_ops, > .dumb_create = drm_gem_cma_dumb_create, > -- > 1.9.1 > -- ==================== | I would like to | | fix the world, | | but they're not | | giving me the | \ source code! / --------------- ¯\_(ツ)_/¯ _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel