1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef AMD_PCI_UTIL_H 4 #define AMD_PCI_UTIL_H 5 6 #include <stdint.h> 7 #include "amd_pci_int_defs.h" 8 9 /* FCH index/data registers */ 10 #define PCI_INTR_INDEX 0xc00 11 #define PCI_INTR_DATA 0xc01 12 13 struct pirq_struct { 14 u8 devfn; 15 u8 PIN[4]; /* PINA/B/C/D are index 0/1/2/3 */ 16 }; 17 18 extern const struct pirq_struct * pirq_data_ptr; 19 extern u32 pirq_data_size; 20 extern const u8 *intr_data_ptr; 21 extern const u8 *picr_data_ptr; 22 23 u8 read_pci_int_idx(u8 index, int mode); 24 void write_pci_int_idx(u8 index, int mode, u8 data); 25 void write_pci_cfg_irqs(void); 26 void write_pci_int_table(void); 27 28 #endif /* AMD_PCI_UTIL_H */ 29