drivers/gpu/drm/openchrome/via_crtc.c | 4 ++++ drivers/gpu/drm/openchrome/via_drv.c | 3 --- drivers/gpu/drm/openchrome/via_drv.h | 4 ++-- drivers/gpu/drm/openchrome/via_irq.c | 30 ++++++++++++------------------ 4 files changed, 18 insertions(+), 23 deletions(-)
New commits: commit fc54deca1fe4d5433d24d52e7ba8b496217bbf76 Author: Kevin Brace <kevinbr...@gmx.com> Date: Thu Aug 24 11:31:34 2017 -0700 Use vblank callbacks of drm_crtc_funcs instead of drm_driver vblank callbacks provided by drm_driver struct were deprecated, hence, the need for conversion. Signed-off-by: Kevin Brace <kevinbr...@gmx.com> diff --git a/drivers/gpu/drm/openchrome/via_crtc.c b/drivers/gpu/drm/openchrome/via_crtc.c index c4200e4e2656..44c973bd5c5f 100644 --- a/drivers/gpu/drm/openchrome/via_crtc.c +++ b/drivers/gpu/drm/openchrome/via_crtc.c @@ -465,6 +465,8 @@ static const struct drm_crtc_funcs via_iga1_funcs = { .gamma_set = via_iga1_gamma_set, .set_config = drm_crtc_helper_set_config, .destroy = via_crtc_destroy, + .enable_vblank = via_enable_vblank, + .disable_vblank = via_disable_vblank, }; static const struct drm_crtc_funcs via_iga2_funcs = { @@ -473,6 +475,8 @@ static const struct drm_crtc_funcs via_iga2_funcs = { .gamma_set = via_iga2_gamma_set, .set_config = drm_crtc_helper_set_config, .destroy = via_crtc_destroy, + .enable_vblank = via_enable_vblank, + .disable_vblank = via_disable_vblank, }; static void diff --git a/drivers/gpu/drm/openchrome/via_drv.c b/drivers/gpu/drm/openchrome/via_drv.c index 58cdd9f7e38c..40515729687b 100644 --- a/drivers/gpu/drm/openchrome/via_drv.c +++ b/drivers/gpu/drm/openchrome/via_drv.c @@ -468,9 +468,6 @@ static struct drm_driver via_driver = { .unload = via_driver_unload, .preclose = via_reclaim_buffers_locked, .context_dtor = via_final_context, - .get_vblank_counter = drm_vblank_count, - .enable_vblank = via_enable_vblank, - .disable_vblank = via_disable_vblank, .irq_preinstall = via_driver_irq_preinstall, .irq_postinstall = via_driver_irq_postinstall, .irq_uninstall = via_driver_irq_uninstall, diff --git a/drivers/gpu/drm/openchrome/via_drv.h b/drivers/gpu/drm/openchrome/via_drv.h index 0ae0be53f822..b39a14d7688b 100644 --- a/drivers/gpu/drm/openchrome/via_drv.h +++ b/drivers/gpu/drm/openchrome/via_drv.h @@ -237,8 +237,8 @@ extern int via_wait_idle(struct via_device *dev_priv); extern int via_vram_init(struct via_device *dev_priv); -extern int via_enable_vblank(struct drm_device *dev, int crtc); -extern void via_disable_vblank(struct drm_device *dev, int crtc); +extern int via_enable_vblank(struct drm_crtc *crtc); +extern void via_disable_vblank(struct drm_crtc *crtc); extern irqreturn_t via_driver_irq_handler(int irq, void *arg); extern void via_driver_irq_preinstall(struct drm_device *dev); diff --git a/drivers/gpu/drm/openchrome/via_irq.c b/drivers/gpu/drm/openchrome/via_irq.c index 5fc6e59d0d5d..6cfd269dab22 100644 --- a/drivers/gpu/drm/openchrome/via_irq.c +++ b/drivers/gpu/drm/openchrome/via_irq.c @@ -268,22 +268,19 @@ irqreturn_t via_driver_irq_handler(int irq, void *arg) return ret; } -int -via_enable_vblank(struct drm_device *dev, int crtc) +int via_enable_vblank(struct drm_crtc *crtc) { + struct drm_device *dev = crtc->dev; + struct via_crtc *iga = container_of(crtc, struct via_crtc, base); struct via_device *dev_priv = dev->dev_private; u32 status; - if (crtc < 0 || crtc >= dev->num_crtcs) { - DRM_ERROR("%s: Invalid crtc %d\n", __func__, crtc); - return -EINVAL; - } - status = VIA_READ(INTERRUPT_CTRL_REG1); - if (crtc == 1) + if (iga->index) { status |= VIA_IRQ_IGA2_VSYNC_ENABLE | VIA_IRQ_IGA2_VSYNC_STATUS; - else if (!crtc) + } else { status |= VIA_IRQ_IGA1_VSYNC_ENABLE | VIA_IRQ_IGA1_VSYNC_STATUS; + } svga_wcrt_mask(VGABASE, 0xF3, 0, BIT(1)); svga_wcrt_mask(VGABASE, 0x11, BIT(4), BIT(4)); @@ -292,22 +289,19 @@ via_enable_vblank(struct drm_device *dev, int crtc) return 0; } -void -via_disable_vblank(struct drm_device *dev, int crtc) +void via_disable_vblank(struct drm_crtc *crtc) { + struct drm_device *dev = crtc->dev; + struct via_crtc *iga = container_of(crtc, struct via_crtc, base); struct via_device *dev_priv = dev->dev_private; u32 status; - if (crtc < 0 || crtc >= dev->num_crtcs) { - DRM_ERROR("%s: Invalid crtc %d\n", __func__, crtc); - return; - } - status = VIA_READ(INTERRUPT_CTRL_REG1); - if (crtc == 1) + if (iga->index) { status &= ~VIA_IRQ_IGA2_VSYNC_ENABLE; - else if (!crtc) + } else { status &= ~VIA_IRQ_IGA1_VSYNC_ENABLE; + } VIA_WRITE(INTERRUPT_CTRL_REG1, status); } _______________________________________________ Openchrome-devel mailing list Openchrome-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/openchrome-devel