southbridge/intel/common: Improve ACPI _PRT method generation
Add a scope parameter for `intel_write_pci0_PRT()` so that it could be reused for multiple domains. Change-Id: I867a0c74e633ddfe63d29870f9fd50ca883c2e78 Signed-off-by: Yuchi Chen <yuchi.chen@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/85013 Reviewed-by: Shuo Liu <shuo.liu@intel.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
This commit is contained in:
parent
618fbe0d21
commit
1a22344d58
4 changed files with 7 additions and 10 deletions
|
|
@ -397,7 +397,7 @@ bool generate_pin_irq_map(void)
|
|||
entry = entry->next;
|
||||
}
|
||||
|
||||
intel_write_pci0_PRT(pin_irq_map, map_count, &pirq_map);
|
||||
intel_write_pci_PRT("\\_SB.PCI0", pin_irq_map, map_count, &pirq_map);
|
||||
free(pin_irq_map);
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -43,12 +43,10 @@ static void gen_pic_route(const struct slot_pin_irq_map *pin_irq_map,
|
|||
}
|
||||
}
|
||||
|
||||
void intel_write_pci0_PRT(const struct slot_pin_irq_map *pin_irq_map,
|
||||
unsigned int map_count,
|
||||
const struct pic_pirq_map *pirq_map)
|
||||
void intel_write_pci_PRT(const char *scope, const struct slot_pin_irq_map *pin_irq_map,
|
||||
unsigned int map_count, const struct pic_pirq_map *pirq_map)
|
||||
{
|
||||
/* \_SB.PCI0._PRT */
|
||||
acpigen_write_scope("\\_SB.PCI0");
|
||||
acpigen_write_scope(scope);
|
||||
acpigen_write_method("_PRT", 0);
|
||||
acpigen_write_if();
|
||||
acpigen_emit_namestring("PICM");
|
||||
|
|
|
|||
|
|
@ -84,9 +84,8 @@ struct pic_pirq_map {
|
|||
* slot/pin combination, and optionally providing paths to LNKx devices that can
|
||||
* provide IRQs in PIC mode.
|
||||
*/
|
||||
void intel_write_pci0_PRT(const struct slot_pin_irq_map *pin_irq_map,
|
||||
unsigned int map_count,
|
||||
const struct pic_pirq_map *pirq_map);
|
||||
void intel_write_pci_PRT(const char *scope, const struct slot_pin_irq_map *pin_irq_map,
|
||||
unsigned int map_count, const struct pic_pirq_map *pirq_map);
|
||||
|
||||
bool is_slot_pin_assigned(const struct slot_pin_irq_map *pin_irq_map,
|
||||
unsigned int map_count, unsigned int slot,
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ void intel_acpi_gen_def_acpi_pirq(const struct device *lpc)
|
|||
map_count++;
|
||||
}
|
||||
|
||||
intel_write_pci0_PRT(pin_irq_map, map_count, &pirq_map);
|
||||
intel_write_pci_PRT("\\_SB.PCI0", pin_irq_map, map_count, &pirq_map);
|
||||
|
||||
free(pin_irq_map);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue