[RFCv1 33/42] drm/omap: dsi: use atomic helper for dirtyfb

Tomi Valkeinen tomi.valkeinen at ti.com
Tue Nov 19 05:42:12 UTC 2019


On 19/11/2019 01:05, Tony Lindgren wrote:
> * Sebastian Reichel <sebastian.reichel at collabora.com> [191117 07:11]:
>> We can simply use the atomic helper for
>> handling the dirtyfb callback.
> ...
>> --- a/drivers/gpu/drm/omapdrm/omap_crtc.c
>> +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c
>> -void omap_crtc_flush(struct drm_crtc *crtc)
>> +static void omap_crtc_flush(struct drm_crtc *crtc)
>>   {
>>   	struct omap_crtc *omap_crtc = to_omap_crtc(crtc);
>> -	struct omap_crtc_state *omap_state = to_omap_crtc_state(crtc->state);
>> -
>> -	if (!omap_state->manually_updated)
>> -		return;
>>   
>>   	if (!delayed_work_pending(&omap_crtc->update_work))
>>   		schedule_delayed_work(&omap_crtc->update_work, 0);
> 
> It would be nice if omap_crtc_flush() would become just some generic
> void function with no need to pass it a crtc. I guess for that it
> should know what panels are in manual command mode to refresh them.
> 
> The reason I'm bringing this up is because it looks like we need
> to also flush DSI command mode panels from omap_gem_op_finish()
> for gles and the gem code probably should not need to know anything
> about crtc, right?

We haven't had omap_gem_op_finish() in the kernel for some years now...

Shouldn't a normal page flip, or if doing single-buffering, using the 
dirtyfb ioctl, do the job?

  Tomi

-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki


More information about the dri-devel mailing list