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 28/01/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 

Dispc change is on our todo, but the size of the change won't fit into
"fix" definition =). There's a lot of state that the dispc side is
looking at, which at the moment doesn't come from drm side.

 Tomi

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
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