Message ID | 1486458995-31018-6-git-send-email-shawnguo@kernel.org |
---|---|
State | New |
Headers | show |
Series | Add vblank hooks to struct drm_crtc_funcs | expand |
On Tue, Feb 07, 2017 at 05:16:17PM +0800, Shawn Guo wrote: > From: Shawn Guo <shawn.guo@linaro.org> > > 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@linaro.org> > Cc: Mali DP Maintainers <malidp@foss.arm.com> Acked-by: Liviu Dudau <liviu.dudau@arm.com> > --- > 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 >
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,