[PATCH 03/13] drm/bochs: Store correct CRTC index in events

Thierry Reding thierry.reding at gmail.com
Wed Aug 12 08:00:25 PDT 2015

From: Thierry Reding <treding at nvidia.com>

Previously a negative pipe caused a special case to be triggered for
drivers that didn't have proper VBLANK support. The trigger for this
special case is now independent of the pipe, so the correct CRTC index
can now be stored in events.

Cc: Gerd Hoffmann <kraxel at redhat.com>
Signed-off-by: Thierry Reding <treding at nvidia.com>
 drivers/gpu/drm/bochs/bochs_kms.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bochs/bochs_kms.c b/drivers/gpu/drm/bochs/bochs_kms.c
index 26bcd03a8cb6..c219c1de3722 100644
--- a/drivers/gpu/drm/bochs/bochs_kms.c
+++ b/drivers/gpu/drm/bochs/bochs_kms.c
@@ -113,13 +113,14 @@ static int bochs_crtc_page_flip(struct drm_crtc *crtc,
 	struct bochs_device *bochs =
 		container_of(crtc, struct bochs_device, crtc);
 	struct drm_framebuffer *old_fb = crtc->primary->fb;
+	unsigned int pipe = drm_crtc_index(crtc);
 	unsigned long irqflags;
 	crtc->primary->fb = fb;
 	bochs_crtc_mode_set_base(crtc, 0, 0, old_fb);
 	if (event) {
 		spin_lock_irqsave(&bochs->dev->event_lock, irqflags);
-		drm_send_vblank_event(bochs->dev, -1, event);
+		drm_send_vblank_event(bochs->dev, pipe, event);
 		spin_unlock_irqrestore(&bochs->dev->event_lock, irqflags);
 	return 0;

More information about the dri-devel mailing list