[Letux-kernel] regression: drm/omapdrm: Move commit_modeset_enables() before commit_planes()

Tomi Valkeinen tomi.valkeinen at ti.com
Thu Apr 20 12:21:21 CEST 2017


On 20/04/17 09:27, Tomi Valkeinen wrote:
> On 19/04/17 18:49, Jyri Sarha wrote:
>> On 04/19/17 16:35, Tomi Valkeinen wrote:
>>> I was able to reproduce on my very old omap3 beagleboard. Looks very
>>> much like a omap3 DSS HW bug to me. The unfortunate thing is that even
>>> reverting the patch won't remove the issue, if the userspace happens to
>>> configure things in certain order.
>>>
>>> It looks to me that if the DSS output is enabled without an overlay (the
>>> primary plane, normally), DSS gets stuck into a bad state, and only
>>> reboot helps (because we can't reset, there's no omap hwmod reset
>>> framework).
>>>
>>> But there should be nothing wrong with that setup, and if there's first
>>> been a successful display enable, then later we can enable the DSS
>>> without any planes.
>>
>> If that is the case, then maybe we could just enable errata i734 (the
>> gamma bug) work a round for omap3 too. The work a round makes an
>> artificial minimal display setup with GFX plane for one frame, with
>> outputs masked, so it could be exactly what we need.
> 
> Yep, that did come to my mind and I tested it yesterday. However, I
> failed to realize there's the WA init part, and I only made sure the
> dispc_errata_i734_wa() is called.
> 
> Now that I set the bit in the dispc features, it indeed seems to fix the
> issue.
> 
> Below is a hack patch for people to try out. It's based on today's
> linux-next, but should apply to more or less any semi-recent kernel. If
> it works for others, I'll create a proper patch, which drops the
> has_gamma_i734_bug flag and always does the WA.

There was also an issue with the analog tv out, it rejected all
videomodes. I've attached WIP patches.

I still see sync losts in the case I don't have display aliases set and
the analog tv out happens to be the first output. Same would probably
happen if I had the aliases, and the tv was set as display0.

 Tomi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-dss-remove-export-of-venc-modes.patch
Type: text/x-diff
Size: 2130 bytes
Desc: not available
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20170420/c2cc7f5b/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-venc-fix-modecheck.patch
Type: text/x-diff
Size: 3302 bytes
Desc: not available
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20170420/c2cc7f5b/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.goldelico.com/pipermail/letux-kernel/attachments/20170420/c2cc7f5b/attachment.asc>


More information about the Letux-kernel mailing list