fix for CRTC mutex corruption

Ilija Hadzic ihadzic at research.bell-labs.com
Tue Oct 29 20:22:09 CET 2013



On Tue, 29 Oct 2013, Daniel Vetter wrote:

> Aside: The horribly ad-hoc calling convetions with some of the (x, y, fb,
> mode) parameters being set before calling a lower-level functions, some
> being restored, some of them being the old backup value and some of them
> being expected to be updated by the called function really gives me the
> creeps.
>
> But fixing that is something for a _really_ slow week (month even ...).
>

I agree, I don't like it either. It's too tangled-up, but fixing it will 
probably be a major rework.

>> The actual fix is implemented in patch #6; preceding
>> 5 patches are necessary prerequisites.
>
> Hm, I don't really see why patches 1,2&4 are required. If we reorder them
> to the end of the series as follow-up cleanups then we'd only need to
> backport 3 patches. Which is imo reasonable.

1 and 2 could indeed be left out, but the end-result will look really ugly 
(e.g., x and y restoration will come from save_set.x and save_set.y, while 
frame buffer restoration will come from old_fb (and IMO, it's always 
better to first cleanup the code that one is about to touch and then make 
functional changes).

Patch 4, however, is required because of saving and restoration of 
'enabled' flag, but it could be split in two: the required part that 
restores the enabled flag that restores only the the 'enabled' flag and 
the cleanup part that eliminates unecessary restoration of hwmode field.

-- Ilija



More information about the dri-devel mailing list