Thank you very much for your advice, dear Naresh, I will try matching
the UEFI routing.
Dear Elyes, huge thanks to you for telling me about "getpir" utility -
never heard about it before!

> this old "getpir" utility may help you ;)
> You may have to run:
> coreboot/util$ git revert 6c90f3334e65ff4b0ff4900df77bc33d53beb677

What I already discovered:
*) To activate the irq_tables.c / intel_irq_routing_table code, I need
to enable CONFIG_HAVE_PIRQ_TABLE and CONFIG_GENERATE_PIRQ_TABLE. But I
don't see it having any visible effect on the IRQ routing: instead,
maybe this intel_irq_routing_table is supposed to be a reflection of
this routing?
*) By adding to mainboard.c / mainboard_pirq_data structure these lines
    {NB_PCIE_PORT3_DEVFN,    {PIRQ_A, PIRQ_B, PIRQ_C, PIRQ_D}},    /*
x4 PCIe:    02.3 */    /* 0:04.00 / 2:00.00 - IRQ 3 */
    {NB_PCIE_PORT4_DEVFN,    {PIRQ_A, PIRQ_B, PIRQ_C, PIRQ_D}},    /*
x4 PCIe:    02.4 */    /* 0:05.00 / 3:00.00 - IRQ 3 */
I got the interrupts assigned to Ethernet 2:00.00 and WiFi 3:00.00
devices, which are behind the 0:04.00 and 0:05.00 bridges
respectively. And this assignment is even visible by KolibriOS now!
But I don't know if it's normal that a lot of devices are sharing the
same IRQ 3 now, is it bad?

*) For a moment I thought that only _pirq_data structure matters, and
set the contains of picr_data/_intr_data to all 0x1F to check this
though. But a laptop can't boot with such a change ;-)

What I have trouble understanding:
what is the relationship between mainboard_picr_data/_intr_data,
_pirq_data, and intel_irq_routing_table?
If I got the intel_irq_routing_table with getpir - how to convert its'
contents to these other tables so that they match each other?

Best regards,
Mike Banon





On Tue, Nov 10, 2020 at 5:52 PM Naresh G. Solanki
<[email protected]> wrote:
>
> Hi Mike,
>
> I see that IRQ routing that you set in Coreboot is different then that in 
> UEFI bios.
> I recommend you first try to match them.
> Required data is already available in the dump you took.
>
> Also this link can be of help:
> https://gist.github.com/mcastelino/4acda7c2407f1c51e68f3f994d8ffc98
>
> IRQ routing is mandatory for non-MSI capable devices so make sure you best 
> match them with UEFI bios for now.
>
> There might be some other issues other than IRQ routing but you can focus on 
> them later as they dont seem critical.
>
> Please let me know how it goes.
>
> Regards,
> Naresh G Solanki
>
> On Mon, Nov 9, 2020 at 7:43 PM Mike Banon <[email protected]> wrote:
>>
>> Dear Naresh, please check the attached archive for these files (and
>> tell if there's anything else I need to show)
>>
>> On Thu, Nov 5, 2020 at 8:08 PM Naresh G. Solanki
>> <[email protected]> wrote:
>> >
>> > Can you give following output with coreboot and OEM bios.
>> > lspci -vvvk
>> > dmesg
>> > cat /proc/interrupt
>> >
>> >
>> > On Thu, 5 Nov, 2020, 6:29 pm Mike Banon, <[email protected]> wrote:
>> >>
>> >> Still need your help, friend
>> >>
>> >> On Sat, Oct 24, 2020 at 11:15 AM Mike Banon <[email protected]> wrote:
>> >> >
>> >> > Although I found this article
>> >> > https://www.coreboot.org/Creating_Valid_IRQ_Tables , I'm not sure if
>> >> > it applies to mainboard_picr_data/_intr_data : considering a problem
>> >> > from my previous msg - where a copy-paste of old picr/intr data
>> >> > structures gave the bad results. Could you please clarify if this
>> >> > article is still valid for these new data structures? If not, how to
>> >> > get the correct values for mainboard_picr_data/_intr_data using Linux?
>> >> >
>> >> >
>> >> > On Tue, Oct 20, 2020 at 6:23 PM Mike Banon <[email protected]> wrote:
>> >> > >
>> >> > > Dear friends, I'm trying to properly program the IRQ tables for Lenovo
>> >> > > G505S, because the old IRQ routing is bad and doesn't work for a
>> >> > > simple OS like Kolibri. Full details are in the comments under this
>> >> > > change:
>> >> > >
>> >> > > https://review.coreboot.org/c/coreboot/+/46587/
>> >> > >
>> >> > > When I used the old picr_data/intr_data values of G505S for the new
>> >> > > structures, I got only 1 IRQ working. However, with a copy-paste of
>> >> > > AM1I-A - surprisingly 12 IRQs and a laptop boots, but still some
>> >> > > problems. Please advise how to compose mainboard_picr_data/_intr_data
>> >> > > and also a intel_irq_routing_table, your help will be very much
>> >> > > appreciated.
>> >> > >
>> >> > > Best regards,
>> >> > > Mike Banon
>> >> _______________________________________________
>> >> coreboot mailing list -- [email protected]
>> >> To unsubscribe send an email to [email protected]
>
>
>
> --
> Best regards,
> Naresh G. Solanki
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to