Re: OMAP:DSS: possible bug in WAITFOR_VSYNC ioctl
flat view
From: Måns Rullgård <hidden>
Date: 2010-12-01 14:58:43
Also in:
linux-omap
Jonghun Han [off-list ref] writes:
Tomi Valkeinen wrote: 2010/11/30 Tomi Valkeinen [off-list ref]:quoted
On Tue, 2010-11-30 at 12:29 +0530, ext Hiremath, Vaibhav wrote:quoted
quoted
-----Original Message----- From: Paul Mundt [mailto:lethal@linux-sh.org] Sent: Tuesday, November 30, 2010 12:10 PM To: Ville Syrj?l? Cc: Hiremath, Vaibhav; M?ns Rullg?rd; linux-omap@vger.kernel.org; linux- fbdev@vger.kernel.org Subject: Re: OMAP:DSS: possible bug in WAITFOR_VSYNC ioctl On Tue, Nov 30, 2010 at 03:34:40PM +0900, Paul Mundt wrote:<snip>quoted
OMAP has user writeable shadow registers and hidden real registers for display controller. The shadow registers are latched to real registers on VFP, but only if GO bit has been set. The GO bit is cleared by the HW when latching has been done. If the GO bit is set, we cannot touch the shadow registers because we don't know when the VFP will happen. That's why there's additionally a SW cache for the config, so that we don't need to block when the GO bit is up and the user wants to change the config. The driver "flushes" the SW config to real registers in VSYNC interrupt handler.Does the driver flush the config to real register directly not a shadow register in VSYNC ISR? Does it mean display controller use the config flushed to the real register from the VSYNC ?
The hardware latches the shadow registers to the active registers at start of VFP.
I don't know OMAP in detail. But as I know other SoCs also work like it. Can Go bit is cleared by SW?
No.
And does each overlay(FB) have its own Go bit?
No. There is one GO bit per video output, i.e. one each for LCD and TV. -- Måns Rullgård mans@mansr.com