[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