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

Reply via email to