[Maverick][ti-omap4][SRU][pull-request] Reduce GFX_FIFO_UNDERFLOW issue while using SGX
Ricardo Salveti
rsalveti at rsalveti.net
Thu Dec 23 17:45:19 UTC 2010
On Thu, Dec 23, 2010 at 2:42 PM, Tim Gardner <tim.gardner at canonical.com> wrote:
> On 12/22/2010 09:06 PM, Ricardo Salveti wrote:
>>
>> SRU Justification:
>>
>> Impact: While using SGX acceleration on Pandaboard, it's quite normal to
>> face
>> the GFX_FIFO_UNDERFLOW issue, that disable the display entirely. The only
>> way to get the screen back to work is to reset it, or by changing to a
>> text mode
>> session and then getting back to X11. This issue makes practically
>> impossible
>> to use and stress the SGX driver on a Full HD monitor.
>>
>> Fix: While TI still didn't provide a proper way to fix is, a valid
>> workaround was
>> proposed to use the writeback buffers for GFX. The proposed patches are
>> all
>> already applied at Natty's branch, and this is basically a backport of
>> them for
>> Maverick.
>>
>> Testcase: Just run Unity using the SGX driver on a Full HD monitor, and
>> try to
>> use it normally, and your screen will probably get black with the
>> following
>> message at your dmesg:
>> [ 404.169006] omapdss DISPC error: GFX_FIFO_UNDERFLOW, disabling GFX
>> After applying these patches, you should be able to normally use Unity,
>> without
>> heading into any underflow issue.
>>
>> BugLink: https://bugs.launchpad.net/bugs/653002
>>
>> The following changes since commit
>> 6aba79f8f85b937596373cda8e266b823395996e:
>>
>> Ubuntu-2.6.35-903.19 (2010-11-16 18:32:27 -0700)
>>
>> are available in the git repository at:
>> git://kernel.ubuntu.com/rsalveti/ubuntu-maverick.git
>> omap4-reduce-underflow-issue
>>
>> Archit Taneja (2):
>> OMAP: DSS2: Fix FIFO Threshold calculations for dispc pipelines
>> OMAP: DSS2: Use Writeback buffers for GFX as a temporary fix
>>
>> Pavel Nedev (1):
>> OMAP: DSS2: Fix array size which stores dispc fifo sizes
>>
>> arch/arm/plat-omap/include/plat/display.h | 2 +-
>> drivers/video/omap2/dss/dispc.c | 29 +++++++++++-
>> drivers/video/omap2/dss/display.c | 25 ++++++----
>> drivers/video/omap2/dss/dsi.c | 20 ++++++--
>> drivers/video/omap2/dss/dss.h | 1 +
>> drivers/video/omap2/dss/wb.c | 70
>> +++++++++++++++++++++++++++-
>> 6 files changed, 127 insertions(+), 20 deletions(-)
>>
>
> Fetch my tree from 'git://kernel.ubuntu.com/rtg/ubuntu-maverick.git
> ti-omap4' to verify that I've applied your patches correctly. You should
> see:
>
> CC drivers/video/omap2/dss/wb.o
> drivers/video/omap2/dss/wb.c: In function 'wb_buffer_state_store':
> drivers/video/omap2/dss/wb.c:49: error: implicit declaration of function
> 'dss_get_mainclk_state'
Ouch, sorry about that.
The original patch that I tested on maverick had this change that I
forgot to apply while making the backport from the patch from Natty's
branch.
Can you please try it again from the same branch? I forced the update
with the fixed patch and also built here without any issue.
Thanks!
--
Ricardo Salveti de Araujo
More information about the kernel-team
mailing list