diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/kexec.h | 3 | ||||
-rw-r--r-- | include/linux/msi.h | 4 | ||||
-rw-r--r-- | include/linux/pci.h | 85 | ||||
-rw-r--r-- | include/uapi/linux/pci_regs.h | 37 |
4 files changed, 91 insertions, 38 deletions
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index d78d28a733b1..5fd33dc1fe3a 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h | |||
@@ -198,6 +198,9 @@ extern u32 vmcoreinfo_note[VMCOREINFO_NOTE_SIZE/4]; | |||
198 | extern size_t vmcoreinfo_size; | 198 | extern size_t vmcoreinfo_size; |
199 | extern size_t vmcoreinfo_max_size; | 199 | extern size_t vmcoreinfo_max_size; |
200 | 200 | ||
201 | /* flag to track if kexec reboot is in progress */ | ||
202 | extern bool kexec_in_progress; | ||
203 | |||
201 | int __init parse_crashkernel(char *cmdline, unsigned long long system_ram, | 204 | int __init parse_crashkernel(char *cmdline, unsigned long long system_ram, |
202 | unsigned long long *crash_size, unsigned long long *crash_base); | 205 | unsigned long long *crash_size, unsigned long long *crash_base); |
203 | int parse_crashkernel_high(char *cmdline, unsigned long long system_ram, | 206 | int parse_crashkernel_high(char *cmdline, unsigned long long system_ram, |
diff --git a/include/linux/msi.h b/include/linux/msi.h index 009b02481436..92a2f991262a 100644 --- a/include/linux/msi.h +++ b/include/linux/msi.h | |||
@@ -60,10 +60,10 @@ void arch_teardown_msi_irq(unsigned int irq); | |||
60 | int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); | 60 | int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); |
61 | void arch_teardown_msi_irqs(struct pci_dev *dev); | 61 | void arch_teardown_msi_irqs(struct pci_dev *dev); |
62 | int arch_msi_check_device(struct pci_dev* dev, int nvec, int type); | 62 | int arch_msi_check_device(struct pci_dev* dev, int nvec, int type); |
63 | void arch_restore_msi_irqs(struct pci_dev *dev, int irq); | 63 | void arch_restore_msi_irqs(struct pci_dev *dev); |
64 | 64 | ||
65 | void default_teardown_msi_irqs(struct pci_dev *dev); | 65 | void default_teardown_msi_irqs(struct pci_dev *dev); |
66 | void default_restore_msi_irqs(struct pci_dev *dev, int irq); | 66 | void default_restore_msi_irqs(struct pci_dev *dev); |
67 | u32 default_msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag); | 67 | u32 default_msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag); |
68 | u32 default_msix_mask_irq(struct msi_desc *desc, u32 flag); | 68 | u32 default_msix_mask_irq(struct msi_desc *desc, u32 flag); |
69 | 69 | ||
diff --git a/include/linux/pci.h b/include/linux/pci.h index 095eb44fcbb6..f7d1dcc002fa 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -224,7 +224,8 @@ enum pci_bus_speed { | |||
224 | }; | 224 | }; |
225 | 225 | ||
226 | struct pci_cap_saved_data { | 226 | struct pci_cap_saved_data { |
227 | char cap_nr; | 227 | u16 cap_nr; |
228 | bool cap_extended; | ||
228 | unsigned int size; | 229 | unsigned int size; |
229 | u32 data[0]; | 230 | u32 data[0]; |
230 | }; | 231 | }; |
@@ -351,7 +352,7 @@ struct pci_dev { | |||
351 | struct bin_attribute *res_attr_wc[DEVICE_COUNT_RESOURCE]; /* sysfs file for WC mapping of resources */ | 352 | struct bin_attribute *res_attr_wc[DEVICE_COUNT_RESOURCE]; /* sysfs file for WC mapping of resources */ |
352 | #ifdef CONFIG_PCI_MSI | 353 | #ifdef CONFIG_PCI_MSI |
353 | struct list_head msi_list; | 354 | struct list_head msi_list; |
354 | struct kset *msi_kset; | 355 | const struct attribute_group **msi_irq_groups; |
355 | #endif | 356 | #endif |
356 | struct pci_vpd *vpd; | 357 | struct pci_vpd *vpd; |
357 | #ifdef CONFIG_PCI_ATS | 358 | #ifdef CONFIG_PCI_ATS |
@@ -634,8 +635,7 @@ struct pci_driver { | |||
634 | * DEFINE_PCI_DEVICE_TABLE - macro used to describe a pci device table | 635 | * DEFINE_PCI_DEVICE_TABLE - macro used to describe a pci device table |
635 | * @_table: device table name | 636 | * @_table: device table name |
636 | * | 637 | * |
637 | * This macro is used to create a struct pci_device_id array (a device table) | 638 | * This macro is deprecated and should not be used in new code. |
638 | * in a generic manner. | ||
639 | */ | 639 | */ |
640 | #define DEFINE_PCI_DEVICE_TABLE(_table) \ | 640 | #define DEFINE_PCI_DEVICE_TABLE(_table) \ |
641 | const struct pci_device_id _table[] | 641 | const struct pci_device_id _table[] |
@@ -938,6 +938,7 @@ bool pci_check_and_unmask_intx(struct pci_dev *dev); | |||
938 | void pci_msi_off(struct pci_dev *dev); | 938 | void pci_msi_off(struct pci_dev *dev); |
939 | int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size); | 939 | int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size); |
940 | int pci_set_dma_seg_boundary(struct pci_dev *dev, unsigned long mask); | 940 | int pci_set_dma_seg_boundary(struct pci_dev *dev, unsigned long mask); |
941 | int pci_wait_for_pending(struct pci_dev *dev, int pos, u16 mask); | ||
941 | int pci_wait_for_pending_transaction(struct pci_dev *dev); | 942 | int pci_wait_for_pending_transaction(struct pci_dev *dev); |
942 | int pcix_get_max_mmrbc(struct pci_dev *dev); | 943 | int pcix_get_max_mmrbc(struct pci_dev *dev); |
943 | int pcix_get_mmrbc(struct pci_dev *dev); | 944 | int pcix_get_mmrbc(struct pci_dev *dev); |
@@ -976,6 +977,12 @@ struct pci_saved_state *pci_store_saved_state(struct pci_dev *dev); | |||
976 | int pci_load_saved_state(struct pci_dev *dev, struct pci_saved_state *state); | 977 | int pci_load_saved_state(struct pci_dev *dev, struct pci_saved_state *state); |
977 | int pci_load_and_free_saved_state(struct pci_dev *dev, | 978 | int pci_load_and_free_saved_state(struct pci_dev *dev, |
978 | struct pci_saved_state **state); | 979 | struct pci_saved_state **state); |
980 | struct pci_cap_saved_state *pci_find_saved_cap(struct pci_dev *dev, char cap); | ||
981 | struct pci_cap_saved_state *pci_find_saved_ext_cap(struct pci_dev *dev, | ||
982 | u16 cap); | ||
983 | int pci_add_cap_save_buffer(struct pci_dev *dev, char cap, unsigned int size); | ||
984 | int pci_add_ext_cap_save_buffer(struct pci_dev *dev, | ||
985 | u16 cap, unsigned int size); | ||
979 | int __pci_complete_power_transition(struct pci_dev *dev, pci_power_t state); | 986 | int __pci_complete_power_transition(struct pci_dev *dev, pci_power_t state); |
980 | int pci_set_power_state(struct pci_dev *dev, pci_power_t state); | 987 | int pci_set_power_state(struct pci_dev *dev, pci_power_t state); |
981 | pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state); | 988 | pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state); |
@@ -997,6 +1004,11 @@ static inline int pci_enable_wake(struct pci_dev *dev, pci_power_t state, | |||
997 | return __pci_enable_wake(dev, state, false, enable); | 1004 | return __pci_enable_wake(dev, state, false, enable); |
998 | } | 1005 | } |
999 | 1006 | ||
1007 | /* PCI Virtual Channel */ | ||
1008 | int pci_save_vc_state(struct pci_dev *dev); | ||
1009 | void pci_restore_vc_state(struct pci_dev *dev); | ||
1010 | void pci_allocate_vc_save_buffers(struct pci_dev *dev); | ||
1011 | |||
1000 | #define PCI_EXP_IDO_REQUEST (1<<0) | 1012 | #define PCI_EXP_IDO_REQUEST (1<<0) |
1001 | #define PCI_EXP_IDO_COMPLETION (1<<1) | 1013 | #define PCI_EXP_IDO_COMPLETION (1<<1) |
1002 | void pci_enable_ido(struct pci_dev *dev, unsigned long type); | 1014 | void pci_enable_ido(struct pci_dev *dev, unsigned long type); |
@@ -1162,15 +1174,14 @@ struct msix_entry { | |||
1162 | 1174 | ||
1163 | 1175 | ||
1164 | #ifndef CONFIG_PCI_MSI | 1176 | #ifndef CONFIG_PCI_MSI |
1165 | static inline int pci_enable_msi_block(struct pci_dev *dev, unsigned int nvec) | 1177 | static inline int pci_msi_vec_count(struct pci_dev *dev) |
1166 | { | 1178 | { |
1167 | return -1; | 1179 | return -ENOSYS; |
1168 | } | 1180 | } |
1169 | 1181 | ||
1170 | static inline int | 1182 | static inline int pci_enable_msi_block(struct pci_dev *dev, int nvec) |
1171 | pci_enable_msi_block_auto(struct pci_dev *dev, unsigned int *maxvec) | ||
1172 | { | 1183 | { |
1173 | return -1; | 1184 | return -ENOSYS; |
1174 | } | 1185 | } |
1175 | 1186 | ||
1176 | static inline void pci_msi_shutdown(struct pci_dev *dev) | 1187 | static inline void pci_msi_shutdown(struct pci_dev *dev) |
@@ -1178,14 +1189,14 @@ static inline void pci_msi_shutdown(struct pci_dev *dev) | |||
1178 | static inline void pci_disable_msi(struct pci_dev *dev) | 1189 | static inline void pci_disable_msi(struct pci_dev *dev) |
1179 | { } | 1190 | { } |
1180 | 1191 | ||
1181 | static inline int pci_msix_table_size(struct pci_dev *dev) | 1192 | static inline int pci_msix_vec_count(struct pci_dev *dev) |
1182 | { | 1193 | { |
1183 | return 0; | 1194 | return -ENOSYS; |
1184 | } | 1195 | } |
1185 | static inline int pci_enable_msix(struct pci_dev *dev, | 1196 | static inline int pci_enable_msix(struct pci_dev *dev, |
1186 | struct msix_entry *entries, int nvec) | 1197 | struct msix_entry *entries, int nvec) |
1187 | { | 1198 | { |
1188 | return -1; | 1199 | return -ENOSYS; |
1189 | } | 1200 | } |
1190 | 1201 | ||
1191 | static inline void pci_msix_shutdown(struct pci_dev *dev) | 1202 | static inline void pci_msix_shutdown(struct pci_dev *dev) |
@@ -1202,18 +1213,32 @@ static inline int pci_msi_enabled(void) | |||
1202 | { | 1213 | { |
1203 | return 0; | 1214 | return 0; |
1204 | } | 1215 | } |
1216 | |||
1217 | static inline int pci_enable_msi_range(struct pci_dev *dev, int minvec, | ||
1218 | int maxvec) | ||
1219 | { | ||
1220 | return -ENOSYS; | ||
1221 | } | ||
1222 | static inline int pci_enable_msix_range(struct pci_dev *dev, | ||
1223 | struct msix_entry *entries, int minvec, int maxvec) | ||
1224 | { | ||
1225 | return -ENOSYS; | ||
1226 | } | ||
1205 | #else | 1227 | #else |
1206 | int pci_enable_msi_block(struct pci_dev *dev, unsigned int nvec); | 1228 | int pci_msi_vec_count(struct pci_dev *dev); |
1207 | int pci_enable_msi_block_auto(struct pci_dev *dev, unsigned int *maxvec); | 1229 | int pci_enable_msi_block(struct pci_dev *dev, int nvec); |
1208 | void pci_msi_shutdown(struct pci_dev *dev); | 1230 | void pci_msi_shutdown(struct pci_dev *dev); |
1209 | void pci_disable_msi(struct pci_dev *dev); | 1231 | void pci_disable_msi(struct pci_dev *dev); |
1210 | int pci_msix_table_size(struct pci_dev *dev); | 1232 | int pci_msix_vec_count(struct pci_dev *dev); |
1211 | int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec); | 1233 | int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec); |
1212 | void pci_msix_shutdown(struct pci_dev *dev); | 1234 | void pci_msix_shutdown(struct pci_dev *dev); |
1213 | void pci_disable_msix(struct pci_dev *dev); | 1235 | void pci_disable_msix(struct pci_dev *dev); |
1214 | void msi_remove_pci_irq_vectors(struct pci_dev *dev); | 1236 | void msi_remove_pci_irq_vectors(struct pci_dev *dev); |
1215 | void pci_restore_msi_state(struct pci_dev *dev); | 1237 | void pci_restore_msi_state(struct pci_dev *dev); |
1216 | int pci_msi_enabled(void); | 1238 | int pci_msi_enabled(void); |
1239 | int pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec); | ||
1240 | int pci_enable_msix_range(struct pci_dev *dev, struct msix_entry *entries, | ||
1241 | int minvec, int maxvec); | ||
1217 | #endif | 1242 | #endif |
1218 | 1243 | ||
1219 | #ifdef CONFIG_PCIEPORTBUS | 1244 | #ifdef CONFIG_PCIEPORTBUS |
@@ -1571,65 +1596,65 @@ enum pci_fixup_pass { | |||
1571 | /* Anonymous variables would be nice... */ | 1596 | /* Anonymous variables would be nice... */ |
1572 | #define DECLARE_PCI_FIXUP_SECTION(section, name, vendor, device, class, \ | 1597 | #define DECLARE_PCI_FIXUP_SECTION(section, name, vendor, device, class, \ |
1573 | class_shift, hook) \ | 1598 | class_shift, hook) \ |
1574 | static const struct pci_fixup __pci_fixup_##name __used \ | 1599 | static const struct pci_fixup __PASTE(__pci_fixup_##name,__LINE__) __used \ |
1575 | __attribute__((__section__(#section), aligned((sizeof(void *))))) \ | 1600 | __attribute__((__section__(#section), aligned((sizeof(void *))))) \ |
1576 | = { vendor, device, class, class_shift, hook }; | 1601 | = { vendor, device, class, class_shift, hook }; |
1577 | 1602 | ||
1578 | #define DECLARE_PCI_FIXUP_CLASS_EARLY(vendor, device, class, \ | 1603 | #define DECLARE_PCI_FIXUP_CLASS_EARLY(vendor, device, class, \ |
1579 | class_shift, hook) \ | 1604 | class_shift, hook) \ |
1580 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_early, \ | 1605 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_early, \ |
1581 | vendor##device##hook, vendor, device, class, class_shift, hook) | 1606 | hook, vendor, device, class, class_shift, hook) |
1582 | #define DECLARE_PCI_FIXUP_CLASS_HEADER(vendor, device, class, \ | 1607 | #define DECLARE_PCI_FIXUP_CLASS_HEADER(vendor, device, class, \ |
1583 | class_shift, hook) \ | 1608 | class_shift, hook) \ |
1584 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ | 1609 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ |
1585 | vendor##device##hook, vendor, device, class, class_shift, hook) | 1610 | hook, vendor, device, class, class_shift, hook) |
1586 | #define DECLARE_PCI_FIXUP_CLASS_FINAL(vendor, device, class, \ | 1611 | #define DECLARE_PCI_FIXUP_CLASS_FINAL(vendor, device, class, \ |
1587 | class_shift, hook) \ | 1612 | class_shift, hook) \ |
1588 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_final, \ | 1613 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_final, \ |
1589 | vendor##device##hook, vendor, device, class, class_shift, hook) | 1614 | hook, vendor, device, class, class_shift, hook) |
1590 | #define DECLARE_PCI_FIXUP_CLASS_ENABLE(vendor, device, class, \ | 1615 | #define DECLARE_PCI_FIXUP_CLASS_ENABLE(vendor, device, class, \ |
1591 | class_shift, hook) \ | 1616 | class_shift, hook) \ |
1592 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \ | 1617 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \ |
1593 | vendor##device##hook, vendor, device, class, class_shift, hook) | 1618 | hook, vendor, device, class, class_shift, hook) |
1594 | #define DECLARE_PCI_FIXUP_CLASS_RESUME(vendor, device, class, \ | 1619 | #define DECLARE_PCI_FIXUP_CLASS_RESUME(vendor, device, class, \ |
1595 | class_shift, hook) \ | 1620 | class_shift, hook) \ |
1596 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume, \ | 1621 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume, \ |
1597 | resume##vendor##device##hook, vendor, device, class, \ | 1622 | resume##hook, vendor, device, class, \ |
1598 | class_shift, hook) | 1623 | class_shift, hook) |
1599 | #define DECLARE_PCI_FIXUP_CLASS_RESUME_EARLY(vendor, device, class, \ | 1624 | #define DECLARE_PCI_FIXUP_CLASS_RESUME_EARLY(vendor, device, class, \ |
1600 | class_shift, hook) \ | 1625 | class_shift, hook) \ |
1601 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume_early, \ | 1626 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume_early, \ |
1602 | resume_early##vendor##device##hook, vendor, device, \ | 1627 | resume_early##hook, vendor, device, \ |
1603 | class, class_shift, hook) | 1628 | class, class_shift, hook) |
1604 | #define DECLARE_PCI_FIXUP_CLASS_SUSPEND(vendor, device, class, \ | 1629 | #define DECLARE_PCI_FIXUP_CLASS_SUSPEND(vendor, device, class, \ |
1605 | class_shift, hook) \ | 1630 | class_shift, hook) \ |
1606 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_suspend, \ | 1631 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_suspend, \ |
1607 | suspend##vendor##device##hook, vendor, device, class, \ | 1632 | suspend##hook, vendor, device, class, \ |
1608 | class_shift, hook) | 1633 | class_shift, hook) |
1609 | 1634 | ||
1610 | #define DECLARE_PCI_FIXUP_EARLY(vendor, device, hook) \ | 1635 | #define DECLARE_PCI_FIXUP_EARLY(vendor, device, hook) \ |
1611 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_early, \ | 1636 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_early, \ |
1612 | vendor##device##hook, vendor, device, PCI_ANY_ID, 0, hook) | 1637 | hook, vendor, device, PCI_ANY_ID, 0, hook) |
1613 | #define DECLARE_PCI_FIXUP_HEADER(vendor, device, hook) \ | 1638 | #define DECLARE_PCI_FIXUP_HEADER(vendor, device, hook) \ |
1614 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ | 1639 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ |
1615 | vendor##device##hook, vendor, device, PCI_ANY_ID, 0, hook) | 1640 | hook, vendor, device, PCI_ANY_ID, 0, hook) |
1616 | #define DECLARE_PCI_FIXUP_FINAL(vendor, device, hook) \ | 1641 | #define DECLARE_PCI_FIXUP_FINAL(vendor, device, hook) \ |
1617 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_final, \ | 1642 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_final, \ |
1618 | vendor##device##hook, vendor, device, PCI_ANY_ID, 0, hook) | 1643 | hook, vendor, device, PCI_ANY_ID, 0, hook) |
1619 | #define DECLARE_PCI_FIXUP_ENABLE(vendor, device, hook) \ | 1644 | #define DECLARE_PCI_FIXUP_ENABLE(vendor, device, hook) \ |
1620 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \ | 1645 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \ |
1621 | vendor##device##hook, vendor, device, PCI_ANY_ID, 0, hook) | 1646 | hook, vendor, device, PCI_ANY_ID, 0, hook) |
1622 | #define DECLARE_PCI_FIXUP_RESUME(vendor, device, hook) \ | 1647 | #define DECLARE_PCI_FIXUP_RESUME(vendor, device, hook) \ |
1623 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume, \ | 1648 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume, \ |
1624 | resume##vendor##device##hook, vendor, device, \ | 1649 | resume##hook, vendor, device, \ |
1625 | PCI_ANY_ID, 0, hook) | 1650 | PCI_ANY_ID, 0, hook) |
1626 | #define DECLARE_PCI_FIXUP_RESUME_EARLY(vendor, device, hook) \ | 1651 | #define DECLARE_PCI_FIXUP_RESUME_EARLY(vendor, device, hook) \ |
1627 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume_early, \ | 1652 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume_early, \ |
1628 | resume_early##vendor##device##hook, vendor, device, \ | 1653 | resume_early##hook, vendor, device, \ |
1629 | PCI_ANY_ID, 0, hook) | 1654 | PCI_ANY_ID, 0, hook) |
1630 | #define DECLARE_PCI_FIXUP_SUSPEND(vendor, device, hook) \ | 1655 | #define DECLARE_PCI_FIXUP_SUSPEND(vendor, device, hook) \ |
1631 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_suspend, \ | 1656 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_suspend, \ |
1632 | suspend##vendor##device##hook, vendor, device, \ | 1657 | suspend##hook, vendor, device, \ |
1633 | PCI_ANY_ID, 0, hook) | 1658 | PCI_ANY_ID, 0, hook) |
1634 | 1659 | ||
1635 | #ifdef CONFIG_PCI_QUIRKS | 1660 | #ifdef CONFIG_PCI_QUIRKS |
diff --git a/include/uapi/linux/pci_regs.h b/include/uapi/linux/pci_regs.h index 4a98e85438a7..ab6b4e7f6657 100644 --- a/include/uapi/linux/pci_regs.h +++ b/include/uapi/linux/pci_regs.h | |||
@@ -518,8 +518,16 @@ | |||
518 | #define PCI_EXP_SLTCTL_CCIE 0x0010 /* Command Completed Interrupt Enable */ | 518 | #define PCI_EXP_SLTCTL_CCIE 0x0010 /* Command Completed Interrupt Enable */ |
519 | #define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */ | 519 | #define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */ |
520 | #define PCI_EXP_SLTCTL_AIC 0x00c0 /* Attention Indicator Control */ | 520 | #define PCI_EXP_SLTCTL_AIC 0x00c0 /* Attention Indicator Control */ |
521 | #define PCI_EXP_SLTCTL_ATTN_IND_ON 0x0040 /* Attention Indicator on */ | ||
522 | #define PCI_EXP_SLTCTL_ATTN_IND_BLINK 0x0080 /* Attention Indicator blinking */ | ||
523 | #define PCI_EXP_SLTCTL_ATTN_IND_OFF 0x00c0 /* Attention Indicator off */ | ||
521 | #define PCI_EXP_SLTCTL_PIC 0x0300 /* Power Indicator Control */ | 524 | #define PCI_EXP_SLTCTL_PIC 0x0300 /* Power Indicator Control */ |
525 | #define PCI_EXP_SLTCTL_PWR_IND_ON 0x0100 /* Power Indicator on */ | ||
526 | #define PCI_EXP_SLTCTL_PWR_IND_BLINK 0x0200 /* Power Indicator blinking */ | ||
527 | #define PCI_EXP_SLTCTL_PWR_IND_OFF 0x0300 /* Power Indicator off */ | ||
522 | #define PCI_EXP_SLTCTL_PCC 0x0400 /* Power Controller Control */ | 528 | #define PCI_EXP_SLTCTL_PCC 0x0400 /* Power Controller Control */ |
529 | #define PCI_EXP_SLTCTL_PWR_ON 0x0000 /* Power On */ | ||
530 | #define PCI_EXP_SLTCTL_PWR_OFF 0x0400 /* Power Off */ | ||
523 | #define PCI_EXP_SLTCTL_EIC 0x0800 /* Electromechanical Interlock Control */ | 531 | #define PCI_EXP_SLTCTL_EIC 0x0800 /* Electromechanical Interlock Control */ |
524 | #define PCI_EXP_SLTCTL_DLLSCE 0x1000 /* Data Link Layer State Changed Enable */ | 532 | #define PCI_EXP_SLTCTL_DLLSCE 0x1000 /* Data Link Layer State Changed Enable */ |
525 | #define PCI_EXP_SLTSTA 26 /* Slot Status */ | 533 | #define PCI_EXP_SLTSTA 26 /* Slot Status */ |
@@ -677,17 +685,34 @@ | |||
677 | #define PCI_ERR_ROOT_ERR_SRC 52 /* Error Source Identification */ | 685 | #define PCI_ERR_ROOT_ERR_SRC 52 /* Error Source Identification */ |
678 | 686 | ||
679 | /* Virtual Channel */ | 687 | /* Virtual Channel */ |
680 | #define PCI_VC_PORT_REG1 4 | 688 | #define PCI_VC_PORT_CAP1 4 |
681 | #define PCI_VC_REG1_EVCC 0x7 /* extended VC count */ | 689 | #define PCI_VC_CAP1_EVCC 0x00000007 /* extended VC count */ |
682 | #define PCI_VC_PORT_REG2 8 | 690 | #define PCI_VC_CAP1_LPEVCC 0x00000070 /* low prio extended VC count */ |
683 | #define PCI_VC_REG2_32_PHASE 0x2 | 691 | #define PCI_VC_CAP1_ARB_SIZE 0x00000c00 |
684 | #define PCI_VC_REG2_64_PHASE 0x4 | 692 | #define PCI_VC_PORT_CAP2 8 |
685 | #define PCI_VC_REG2_128_PHASE 0x8 | 693 | #define PCI_VC_CAP2_32_PHASE 0x00000002 |
694 | #define PCI_VC_CAP2_64_PHASE 0x00000004 | ||
695 | #define PCI_VC_CAP2_128_PHASE 0x00000008 | ||
696 | #define PCI_VC_CAP2_ARB_OFF 0xff000000 | ||
686 | #define PCI_VC_PORT_CTRL 12 | 697 | #define PCI_VC_PORT_CTRL 12 |
698 | #define PCI_VC_PORT_CTRL_LOAD_TABLE 0x00000001 | ||
687 | #define PCI_VC_PORT_STATUS 14 | 699 | #define PCI_VC_PORT_STATUS 14 |
700 | #define PCI_VC_PORT_STATUS_TABLE 0x00000001 | ||
688 | #define PCI_VC_RES_CAP 16 | 701 | #define PCI_VC_RES_CAP 16 |
702 | #define PCI_VC_RES_CAP_32_PHASE 0x00000002 | ||
703 | #define PCI_VC_RES_CAP_64_PHASE 0x00000004 | ||
704 | #define PCI_VC_RES_CAP_128_PHASE 0x00000008 | ||
705 | #define PCI_VC_RES_CAP_128_PHASE_TB 0x00000010 | ||
706 | #define PCI_VC_RES_CAP_256_PHASE 0x00000020 | ||
707 | #define PCI_VC_RES_CAP_ARB_OFF 0xff000000 | ||
689 | #define PCI_VC_RES_CTRL 20 | 708 | #define PCI_VC_RES_CTRL 20 |
709 | #define PCI_VC_RES_CTRL_LOAD_TABLE 0x00010000 | ||
710 | #define PCI_VC_RES_CTRL_ARB_SELECT 0x000e0000 | ||
711 | #define PCI_VC_RES_CTRL_ID 0x07000000 | ||
712 | #define PCI_VC_RES_CTRL_ENABLE 0x80000000 | ||
690 | #define PCI_VC_RES_STATUS 26 | 713 | #define PCI_VC_RES_STATUS 26 |
714 | #define PCI_VC_RES_STATUS_TABLE 0x00000001 | ||
715 | #define PCI_VC_RES_STATUS_NEGO 0x00000002 | ||
691 | #define PCI_CAP_VC_BASE_SIZEOF 0x10 | 716 | #define PCI_CAP_VC_BASE_SIZEOF 0x10 |
692 | #define PCI_CAP_VC_PER_VC_SIZEOF 0x0C | 717 | #define PCI_CAP_VC_PER_VC_SIZEOF 0x0C |
693 | 718 | ||