Re: [PATCH] Tweak re-routing of PCI interrupts

From: M. Warner Losh <imp_at_bsdimp.com>
Date: Fri, 06 Jun 2003 12:36:54 -0600 (MDT)
In message: <XFMail.20030606141331.jhb_at_FreeBSD.org>
            John Baldwin <jhb_at_FreeBSD.org> writes:
: I have a small tweak to the PCI code that re-routes PCI interrupts.
: Basically, it does two things, 1) make the comment less ia64-specific
: and 2) if the interrupt route returns an invalid IRQ (i.e. 255), then
: we don't change the intline.  In other words, if we can't route the
: interrupt, we just assume that the firmware knows more than we do and
: go with the value it stuck in the register.  1) is a no-brainer, but
: I wonder what people think about 2).  Patch below:

I think #2 isn't so good.  #1 is a no-brainer :-)

:  #if ...
...
: +               irq = PCIB_ROUTE_INTERRUPT(pcib, dev, cfg->intpin);
: +               if (PCI_INTERRUPT_VALID(irq))
: +                       cfg->intline = irq;
: +               else
:  #endif
: +                       irq = cfg->intline;
: +               resource_list_add(rl, SYS_RES_IRQ, 0, irq, irq, 1);
:         }
:  }

The part I don't like is that if we can't route an interrupt, we
assume that the interrupt that was written there before is good and
routed.  This strikes me as an unwise assumption.  Also, we haven't
recorded our info in the underlying pci register.  Don't know if that
will matter for other OSes that are booted after we are.

Warner
Received on Fri Jun 06 2003 - 09:37:10 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:10 UTC