lkml.org 
[lkml]   [2021]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RFC 0/2] x86/PCI: SiS PIRQ router updates
Hello Nikolai,

> > Nikolai, can you please give it a hit with the extra debug patch as
> > requested in my other message?
>
> With
> linux-x86-pirq-router-sis85c503.diff applied
> linux-x86-pirq-router-sis85c497.diff applied
> and DEBUG 1 in arch/x86/include/asm/pci_x86.h
> here is new log:
>
> https://pastebin.com/n3udQgcq
>
> My feeling is that something went a bit wrong because:
>
> 8139too 0000:00:0d.0: can't route interrupt

More important is actually the previous line:

PCI: Attempting to find IRQ router for [0000:0000]

meaning that the PIRQ structure defined by the BIOS has not specified the
vendor:device ID pair for the router [1039:0496] which we match against.

I don't know where exactly the definition our `struct irq_routing_table'
corresponds to comes from (I'll appreciate pointers!); it has not been
given in the PCI BIOS 2.1 specification, only individual IRQ routing
entries have. It may well be that [0000:0000] is a legitimate blanket
entry requesting the OS to figure out itself which device is the hardware
router.

Anyway it is something we can handle in a reasonably staightforward
manner, so I'll spend some time to implement such wildcard matching. Most
importantly your system does have the router structure, so barring this
minor snag it can be handled properly without horrible hacks. We're very
close now.

> Note: I still used 4.14 kernel for this test but your patches applied cleanly
> with no fuzz so I suppose it should be ok.

Indeed, that does not matter. This code is very old, dating back to
1990s.

Maciej

\
 
 \ /
  Last update: 2021-07-03 01:10    [W:0.082 / U:0.484 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site