I have taken a look on the irq_tables files for almost all AMD boards and what I noticed is that the tables define a bridge device 14.4 as a router and old SBXXX device/vendor ID. To me it looks like a copy-paste from very old code base. I am going to look into that soon if I find some spare time.
I also wonder why the boards are not using intel_irq_routing_table that describe the devices and their corresponding IRQs instead. Regards, Michał On 08.01.2020 12:16, Mike Banon wrote: >> I think something is messed up with those USB ports on G505s too, >> because I have to use irqpoll on them in Qubes. I have the BKDG for AMD >> 15h. Where can I find the appropriate IRQ routings for the G505s's chipset? > Build a coreboot for G505S with CONFIG_DEBUG_PIRQ and see the > warning/error messages. To me, it seems that - to fix the interrupts - > first of all we need to convert the stuff like irq_tables.c from a > G505S "legacy style" ( i.e. pirq_info function ) to AM1I-A "new style" > ( i.e. intel_irq_routing_table structure ). On another fam15h board > (A88XM-E) and most likely on G505S too, if CONFIG_DEBUG_PIRQ is > enabled, this "legacy style" code is giving bad warning like "Can't > write PCI IRQ assignments because mainboard_pirq_data structure does > not exist" and i.e. KolibriOS can't see the interrupt numbers at all. > While, on fam16h AM1I-A board, "new style" code seems to work fine - > "Finished writing PCI config space IRQ assignments" - and KolibriOS > sees the interrupt numbers OK. Maybe using KolibriOS as an indicator > seems irrelevant, however to me its' a sign that "new style" code for > interrupt routing is better quality, and maybe simply converting G505S > interrupts code from "legacy style" to "new style" alone should fix > them. > > Sadly no fam15h boards have a "new style" interrupt routing code: if > to search like " find . -type f -name "irq_tables.c" -print0 | xargs > -0 grep -n "intel_irq_routing_table" ", only fam14h and fam16h boards > appear. But I don't expect it to be too difficult: i.e. AM1I-A fam16h > code is based on ASRock IMB-A180 according to d777c78 commit message, > and the conversion went OK, also fam15h and 16h are similar enough > except the vendorcode. I suggest doing " git reset --hard d777c78 " , > " kdiff3 ./src/mainboard/asrock/imb-a180/ > ./src/mainboard/biostar/am1ml/ & " , and applying the same logic while > converting a G505S code. I don't have the time to do this conversion > myself (spent all holidays working on coreboot and they ran out), but > if you succeed in this I will happily review your change. > > Best regards, > Mike Banon > _______________________________________________ > coreboot mailing list -- coreboot@coreboot.org > To unsubscribe send an email to coreboot-le...@coreboot.org -- Michał Żygowski Firmware Engineer http://3mdeb.com | @3mdeb_com _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-le...@coreboot.org