[Intel-gfx] drm/atomic: Reject events for inactive crtc's.

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Aug 6 04:19:35 PDT 2015


Hey,

Op 06-08-15 om 11:47 schreef Daniel Stone:
> Hi,
>
> On 30 July 2015 at 08:03, Maarten Lankhorst
> <maarten.lankhorst at linux.intel.com> wrote:
>> This will cause drm_atomic_helper_page_flip and drm_mode_atomic_ioctl to
>> fail with -EINVAL if a event is requested on a inactive crtc.
>>
>> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
>> ---
>> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
>> index d719ce0b10a0..679577e8e02d 100644
>> --- a/drivers/gpu/drm/drm_atomic.c
>> +++ b/drivers/gpu/drm/drm_atomic.c
>> @@ -476,6 +476,12 @@ static int drm_atomic_crtc_check(struct drm_crtc *crtc,
>>                 return -EINVAL;
>>         }
>>
>> +       if (!state->active && state->event) {
>> +               DRM_DEBUG_ATOMIC("[CRTC:%d] requesting event and not active\n",
>> +                                crtc->base.id);
>> +               return -EINVAL;
>> +       }
> Hmm, even if disabling? Maybe (!crtc->state->active && !state->active)
> && state->event.
How do you want to send a vblank event after disabling?

I think the only thing that makes sense would be not creating events when crtc_state->enable = false,
so when a crtc is removed and an event is requested you won't return -EINVAL.

~Maarten


More information about the dri-devel mailing list