[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