[PATCH 1/2] drm/radeon: Only enable and handle pageflip interrupts when needed
Christian König
deathsimple at vodafone.de
Fri Jun 27 01:18:51 PDT 2014
Am 27.06.2014 04:58, schrieb Michel Dänzer:
> On 26.06.2014 19:39, Christian König wrote:
>> Am 26.06.2014 11:29, schrieb Michel Dänzer:
>>> From: Michel Dänzer <michel.daenzer at amd.com>
>>>
>>> Prevents radeon_crtc_handle_flip() from running before
>>> radeon_flip_work_func(), resulting in a kernel panic due to the BUG_ON()
>>> in drm_vblank_put().
>>>
>>> Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
>>> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
>> Does patch #2 alone fixes the problem as well?
> It should avoid the panic as well.
>
>
>> I would rather want to avoid turning the pflip interrupt on and off.
> What's the problem with that? It's not like we're saving any register
> writes by not doing it.
We don't? As far as I can see we reprogram all interrupt registers if
any of the interrupts changed, this has already lead to quite some
additional overhead in the fence waiting code.
>
> The diagnostic messages Dieter was getting with only patch #2 show that
> the pflip interrupt often triggers unnecessarily, potentially wasting
> power by waking up the CPU from a power saving state pointlessly.
That's a really good point, but my question would rather be why does the
pflip interrupt fires if there isn't any pflip?
Turning the vblank and other interrupts off makes sense because they
fire anyway, but pflip should only fire if we really made a request for
it to do so.
Regards,
Christian.
More information about the dri-devel
mailing list