On 19/11/2019 01:05, Tony Lindgren wrote:
* Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> [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