On Wed, Aug 12, 2015 at 05:00:25PM +0200, Thierry Reding wrote:
> 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);

I'd vote for a

void drm_crtc_send_vblank_event(struct drm_crtc *crtc,
                                struct drm_event *event)
{
        drm_send_vblank_event(crtc->dev, drm_crtc_index(crtc), event);
}

instead and then rolling that out over all drivers. I really like the
underlying idea though, it's always good to standardize more what drivers
are doing around kms semantics.
-Daniel

>               spin_unlock_irqrestore(&bochs->dev->event_lock, irqflags);
>       }
>       return 0;
> -- 
> 2.4.5
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

Reply via email to