[PATCH 2/2] nouveau: Acknowledge HPD irq in handler, not bottom half
Andrew Lutomirski
luto at mit.edu
Wed Nov 10 14:51:35 PST 2010
On Wed, Nov 10, 2010 at 5:35 PM, Ben Skeggs <bskeggs at redhat.com> wrote:
> On Wed, 2010-11-10 at 17:25 -0500, Andrew Lutomirski wrote:
>> On Wed, Nov 10, 2010 at 5:10 PM, Ben Skeggs <bskeggs at redhat.com> wrote:
>> > On Wed, 2010-11-10 at 16:32 -0500, Andy Lutomirski wrote:
>> >> The old code generated an interrupt storm bad enough to completely
>> >> take down my system.
>> >>
>> >> This only fixes the bits that are defined nouveau_regs.h. Newer hardware
>> >> uses another register that isn't described, and I don't have that hardware
>> >> to test.
>> > Thanks for looking at this. I'll take a closer look at the problem
>> > today and see what I can come up with too, that'll work with the newer
>> > hardware too.
>>
>> It should be as simple as adding an hpd1 field to the hpd_state and
>> making exactly the same change. (It would be nice to put the register
>> definitions into nouveau_regs.h as well -- I didn't really want to
>> muck around with a bunch of magic numbers that I can't test.)
> Yes, it is. I can confirm the problem on another card, but it doesn't
> actually cause any crashes here. If you can rework the patch to support
> the newer chips too, that'd be great.
>
> As for magic numbers, the register names for those regs are wrong
> anyway. The joy of reverse-engineering the support. It doesn't really
> matter if you want to stick to them or go back to "magic" numbers.
That explains why INTR and CTRL seemed backwards :) I'll leave the
magic numbers for the 0xe07? stuff.
Also, I accidentally dropped the "& enabled_bits" part -- I'll put that back.
Patch to follow after I boot and test it here.
--Andy
More information about the dri-devel
mailing list