Skip to content

Commit

Permalink
Merge tag 'sunxi-drm-fixes-for-4.7-2' of https://git.kernel.org/pub/s…
Browse files Browse the repository at this point in the history
…cm/linux/kernel/git/mripard/linux into drm-fixes

Allwinner DRM driver fixes for 4.7, take 2

A new set of fixes for the sun4i driver, mostly related to vblank handling,
and a minor fix to release a reference on the device tree nodes we're
parsing in the probe logic.

* tag 'sunxi-drm-fixes-for-4.7-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
  gpu: drm: sun4i_drv: add missing of_node_put after calling of_parse_phandle
  drm/sun4i: Send vblank event when the CRTC is disabled
  drm/sun4i: Report proper vblank
  • Loading branch information
airlied committed Jul 8, 2016
2 parents 27c0b74 + 3b8e64f commit 39c8859
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
8 changes: 8 additions & 0 deletions drivers/gpu/drm/sun4i/sun4i_crtc.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,14 @@ static void sun4i_crtc_disable(struct drm_crtc *crtc)
DRM_DEBUG_DRIVER("Disabling the CRTC\n");

sun4i_tcon_disable(drv->tcon);

if (crtc->state->event && !crtc->state->active) {
spin_lock_irq(&crtc->dev->event_lock);
drm_crtc_send_vblank_event(crtc, crtc->state->event);
spin_unlock_irq(&crtc->dev->event_lock);

crtc->state->event = NULL;
}
}

static void sun4i_crtc_enable(struct drm_crtc *crtc)
Expand Down
3 changes: 2 additions & 1 deletion drivers/gpu/drm/sun4i/sun4i_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ static struct drm_driver sun4i_drv_driver = {
/* Frame Buffer Operations */

/* VBlank Operations */
.get_vblank_counter = drm_vblank_count,
.get_vblank_counter = drm_vblank_no_hw_counter,
.enable_vblank = sun4i_drv_enable_vblank,
.disable_vblank = sun4i_drv_disable_vblank,
};
Expand Down Expand Up @@ -310,6 +310,7 @@ static int sun4i_drv_probe(struct platform_device *pdev)

count += sun4i_drv_add_endpoints(&pdev->dev, &match,
pipeline);
of_node_put(pipeline);

DRM_DEBUG_DRIVER("Queued %d outputs on pipeline %d\n",
count, i);
Expand Down

0 comments on commit 39c8859

Please sign in to comment.