lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ae93843f-7ab0-9d10-cf93-261f986962a5@assembler.cz>
Date:   Sun, 4 Jun 2023 22:41:15 +0200
From:   Rudolf Marek <r.marek@...embler.cz>
To:     Jean Delvare <jdelvare@...e.de>, Marius Hoch <mail@...iushoch.de>
Cc:     linux-i2c@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/2] i2c: i801: Force no IRQ for Dell Latitude E7450

Hi Jean,

Dne 04. 06. 23 v 16:01 Jean Delvare napsal(a):
> I admit I don't know. I'm not familiar with how GSI numbers relate to
> IRQ numbers. I think I understand that GSI numbers are an ACPI thing,
> and the ACPI layer is responsible for mapping these to actual IRQ
> numbers? Is there a GSI-to-IRQ table available somewhere as part of the
> ACPI tables? If so, it would be interesting to disassemble the ACPI
> tables on your system and check what this looks like for you.

You need to check _PRT method of PCI0 device in APIC mode.
This will tell you to what GSI (APIC/pin) it goes.
To check you need to have a look to the DSDT table and decompile
it. You can obtain it by running acpidump > tables.txt and the acpixtract -a tables.txt
and finally running iasl -d dsdt.asl.

Then, because the SMBUS lives on bus0, you just need to check _PRT method
under PCI0 device for the entry of 001fffff (INT C).
If this entry exists it will tell you where is it connected.

I assume this has no entry and then as a last chance Linux tries the PCI IRQ entry
in the configuration space gets queried. And this has 0xff which is
telling no IRQ connected.

The southbridge has a IRQ routing configuration register which can be used to verify
if this is routed anywhere or really left "unconnected". This is usually in the the RCBA base + something
register. Have a look to "D31IP" register:

SMBus Pin (SMIP) — R/W. Indicates which pin the SMBus controller drives as its
interrupt. bits 15:12

If there is 0, it is not routed anywhere. Also you need to check "D31IR" where the PIN C is going:

Interrupt C Pin Route (ICR) — R/W. Indicates which physical pin on the PCH is
connected to the INTC# pin reported for device 31 functions.

The PIRQA corresponds to the PIN 16 of IOAPIC etc.

If you need more info on that feel free to contact me. I can try to help.


Thanks,
Rudolf

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ