Hi,

Sorry, i broke it.
Oh man, that's a good catch.
I will send revised patch later.

Damien

Sent from Proton Mail Android


-------- Original Message --------
On 12/10/25 9:16 pm, Michael Kelly <[email protected]> wrote:

>  On 12/10/2025 05:07, Damien Zammit wrote:
>  > Mike, I hope you don't mind me refactoring your patches and mailing them
>  > in.  This provides corrected IRQ selection by matching _PRT to the INTx
>  > pins of each pci device that is requested.  I changed the logic from
>  > your original patch such that it now fails if the pci_pin == 0 since
>  > it's supposed to be a non-zero value.  In this case it will fall back to
>  > using the other method of selection.
>  >
>  > Also, I made the acpi code hard fail if it can't configure the pic mode,
>  > since it is a hard requirement for acpi server to work correctly.
>  
>  I don't mind you altering my proposal at all; you certainly have a
>  vastly superior understanding of the whole system than I do. Can I check
>  with you though that the changes do still work in your test environment
>  ?  It doesn't behave correctly in mine and fails to set the PIC mode
>  with a kernel supporting IRQGETPICMODE.
>  
>  I hope this is just a failing at my end, but I noticed that you also
>  removed the 2nd call to device_get_status() that I added. I added a
>  printf to your revised patch to illustrate what I receive from that
>  single call:
>  
>  printf("PIC mode returned: %s: %d: %d: %d\n", strerror(err), err, cnt,
>  *pic_mode);
>  
>  Old kernel:
>  PIC mode returned: Function not implemented: 1073741902: 0: -1
>  Cannot determine PIC mode: Function not implemented
>  
>  New Kernel:
>  PIC mode returned: (ipc/mig) array not large enough: -307: 1: -1
>  Cannot determine PIC mode: (ipc/mig) array not large enough
>  
>  Note that the call to device_get_status() does indeed return 1 but it
>  does not populate the 'pic_mode' into the return status array because
>  the input array length is set to 0. That case was why I thought it was
>  necessary for the 2nd call to device_get_status().
>  
>  All the best,
>  
>  Mike.
>  
>

Reply via email to