From ed06539aae6b28574fc4d449eab20a1aa3587fef Mon Sep 17 00:00:00 2001 From: Junjie Mao Date: Tue, 25 Jan 2022 21:13:05 +0800 Subject: [PATCH] board_inspector: add index info to INTx pins from device objects INTx routing can be specified in ACPI PRT (PCI Routing Table) in two ways: 1. By an absolute interrupt line from the global interrupt pool. 2. By a device object and an index to its interrupt resource. The board inspector today only encodes the source object of an interrupt pin routing in XML device resource descriptors, which is incomplete if the source is a device object (i.e. case 2 above). This patch adds the index from PRT to device resource nodes as well. Tracked-On: #7058 Signed-off-by: Junjie Mao Acked-by: Anthony Xu --- misc/config_tools/board_inspector/extractors/60-pci.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/misc/config_tools/board_inspector/extractors/60-pci.py b/misc/config_tools/board_inspector/extractors/60-pci.py index 6f97b4729..80563e5a2 100644 --- a/misc/config_tools/board_inspector/extractors/60-pci.py +++ b/misc/config_tools/board_inspector/extractors/60-pci.py @@ -148,6 +148,8 @@ def parse_device(bus_node, device_path): mapping = device_node.xpath(f"../interrupt_pin_routing/routing[@address='{prt_address}']/mapping[@pin='{pin_name}']") if len(mapping) > 0: res_node.set("source", mapping[0].get("source")) + if "index" in mapping[0].keys(): + res_node.set("index", mapping[0].get("index")) # Secondary bus if cfg.header.header_type == 1: