Skip to content

Commit cd4a7b2

Browse files
jwrdegoederafaeljw
authored andcommitted
ACPI: resource: acpi_dev_irq_override(): Check DMI match last
acpi_dev_irq_override() gets called approx. 30 times during boot (15 legacy IRQs * 2 override_table entries). Of these 30 calls at max 1 will match the non DMI checks done by acpi_dev_irq_override(). The dmi_check_system() check is by far the most expensive check done by acpi_dev_irq_override(), make this call the last check done by acpi_dev_irq_override() so that it will be called at max 1 time instead of 30 times. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Mario Limonciello <mario.limonciello@amd.com> Link: https://patch.msgid.link/20241228165253.42584-1-hdegoede@redhat.com [ rjw: Subject edit ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 7ed4e4a commit cd4a7b2

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/acpi/resource.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -689,11 +689,11 @@ static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity,
689689
for (i = 0; i < ARRAY_SIZE(override_table); i++) {
690690
const struct irq_override_cmp *entry = &override_table[i];
691691

692-
if (dmi_check_system(entry->system) &&
693-
entry->irq == gsi &&
692+
if (entry->irq == gsi &&
694693
entry->triggering == triggering &&
695694
entry->polarity == polarity &&
696-
entry->shareable == shareable)
695+
entry->shareable == shareable &&
696+
dmi_check_system(entry->system))
697697
return entry->override;
698698
}
699699

0 commit comments

Comments
 (0)