Re: [PATCH 2/2] drm/omapdrm: Move commit_modeset_enables() before commit_planes()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/28/17 18:17, Laurent Pinchart wrote:
> Hi Jyri,
> 
> Thank you for the patch.
> 
> On Friday 27 Jan 2017 12:04:55 Jyri Sarha wrote:
>> Move drm_atomic_helper_commit_modeset_enables() call to before
>> drm_atomic_helper_commit_planes() call and have a
>> omap_atomic_wait_for_completion() call after both.
>>
>> With the current dss dispc implementation we have to enable the new
>> modeset before we can commit planes. The dispc ovl configuration
>> relies on the video mode configuration been written into the HW when
>> the ovl configuration is calculated.
>>
>> This approach is not ideal because after a mode change the plane
>> update is executed only after the first vblank interrupt. The dispc
>> implementation should be fixed so that it is able use uncommitted drm
>> state information.  information.
>>
>> Signed-off-by: Jyri Sarha <jsarha@xxxxxx>
>> ---
>>  drivers/gpu/drm/omapdrm/omap_drv.c | 16 +++++++++++++++-
>>  1 file changed, 15 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c
>> b/drivers/gpu/drm/omapdrm/omap_drv.c index 5e55f1b..8c15735 100644
>> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
>> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
>> @@ -96,8 +96,22 @@ static void omap_atomic_complete(struct
>> omap_atomic_state_commit *commit) dispc_runtime_get();
>>
>>  	drm_atomic_helper_commit_modeset_disables(dev, old_state);
>> -	drm_atomic_helper_commit_planes(dev, old_state, 0);
>> +
>> +	/* With the current dss dispc implementation we have to enable
>> +	 * the new modeset before we can commit planes. The dispc ovl
>> +	 * configuration relies on the video mode configuration been
>> +	 * written into the HW when the ovl configuration is
>> +	 * calculated.
>> +	 *
>> +	 * This approach is not ideal because after a mode change the
>> +	 * plane update is executed only after the first vblank
>> +	 * interrupt. The dispc implementation should be fixed so that
>> +	 * it is able use uncommitted drm state information.
> Any chance you could fix the dispc implementation ? ;-) Otherwise, could you 

I am currently studying how to do it, but it tricky... really tricky. In
DRM terms, the plane configuration is affected by the connector where
the crtc is connected to. The whole DSS should have to made understand
drm state structures. There certainly wont be any "fix" for 4.10,
probably nothing for 4.11 either.

> rebase (and retest) this patch on top of "[PATCH 0/5] omapdrm: fences and 
> zpos" ?
> 

Thanks, I'll do that.

BR,
Jyri
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux