aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/kexec.h3
-rw-r--r--include/linux/msi.h4
-rw-r--r--include/linux/pci.h85
-rw-r--r--include/uapi/linux/pci_regs.h37
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];
198extern size_t vmcoreinfo_size; 198extern size_t vmcoreinfo_size;
199extern size_t vmcoreinfo_max_size; 199extern size_t vmcoreinfo_max_size;
200 200
201/* flag to track if kexec reboot is in progress */
202extern bool kexec_in_progress;
203
201int __init parse_crashkernel(char *cmdline, unsigned long long system_ram, 204int __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);
203int parse_crashkernel_high(char *cmdline, unsigned long long system_ram, 206int 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);
60int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); 60int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type);
61void arch_teardown_msi_irqs(struct pci_dev *dev); 61void arch_teardown_msi_irqs(struct pci_dev *dev);
62int arch_msi_check_device(struct pci_dev* dev, int nvec, int type); 62int arch_msi_check_device(struct pci_dev* dev, int nvec, int type);
63void arch_restore_msi_irqs(struct pci_dev *dev, int irq); 63void arch_restore_msi_irqs(struct pci_dev *dev);
64 64
65void default_teardown_msi_irqs(struct pci_dev *dev); 65void default_teardown_msi_irqs(struct pci_dev *dev);
66void default_restore_msi_irqs(struct pci_dev *dev, int irq); 66void default_restore_msi_irqs(struct pci_dev *dev);
67u32 default_msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag); 67u32 default_msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag);
68u32 default_msix_mask_irq(struct msi_desc *desc, u32 flag); 68u32 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
226struct pci_cap_saved_data { 226struct 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);
938void pci_msi_off(struct pci_dev *dev); 938void pci_msi_off(struct pci_dev *dev);
939int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size); 939int pci_set_dma_max_seg_size(struct pci_dev *dev, unsigned int size);
940int pci_set_dma_seg_boundary(struct pci_dev *dev, unsigned long mask); 940int pci_set_dma_seg_boundary(struct pci_dev *dev, unsigned long mask);
941int pci_wait_for_pending(struct pci_dev *dev, int pos, u16 mask);
941int pci_wait_for_pending_transaction(struct pci_dev *dev); 942int pci_wait_for_pending_transaction(struct pci_dev *dev);
942int pcix_get_max_mmrbc(struct pci_dev *dev); 943int pcix_get_max_mmrbc(struct pci_dev *dev);
943int pcix_get_mmrbc(struct pci_dev *dev); 944int pcix_get_mmrbc(struct pci_dev *dev);
@@ -976,6 +977,12 @@ struct pci_saved_state *pci_store_saved_state(struct pci_dev *dev);
976int pci_load_saved_state(struct pci_dev *dev, struct pci_saved_state *state); 977int pci_load_saved_state(struct pci_dev *dev, struct pci_saved_state *state);
977int pci_load_and_free_saved_state(struct pci_dev *dev, 978int pci_load_and_free_saved_state(struct pci_dev *dev,
978 struct pci_saved_state **state); 979 struct pci_saved_state **state);
980struct pci_cap_saved_state *pci_find_saved_cap(struct pci_dev *dev, char cap);
981struct pci_cap_saved_state *pci_find_saved_ext_cap(struct pci_dev *dev,
982 u16 cap);
983int pci_add_cap_save_buffer(struct pci_dev *dev, char cap, unsigned int size);
984int pci_add_ext_cap_save_buffer(struct pci_dev *dev,
985 u16 cap, unsigned int size);
979int __pci_complete_power_transition(struct pci_dev *dev, pci_power_t state); 986int __pci_complete_power_transition(struct pci_dev *dev, pci_power_t state);
980int pci_set_power_state(struct pci_dev *dev, pci_power_t state); 987int pci_set_power_state(struct pci_dev *dev, pci_power_t state);
981pci_power_t pci_choose_state(struct pci_dev *dev, pm_message_t state); 988pci_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 */
1008int pci_save_vc_state(struct pci_dev *dev);
1009void pci_restore_vc_state(struct pci_dev *dev);
1010void 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)
1002void pci_enable_ido(struct pci_dev *dev, unsigned long type); 1014void 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
1165static inline int pci_enable_msi_block(struct pci_dev *dev, unsigned int nvec) 1177static inline int pci_msi_vec_count(struct pci_dev *dev)
1166{ 1178{
1167 return -1; 1179 return -ENOSYS;
1168} 1180}
1169 1181
1170static inline int 1182static inline int pci_enable_msi_block(struct pci_dev *dev, int nvec)
1171pci_enable_msi_block_auto(struct pci_dev *dev, unsigned int *maxvec)
1172{ 1183{
1173 return -1; 1184 return -ENOSYS;
1174} 1185}
1175 1186
1176static inline void pci_msi_shutdown(struct pci_dev *dev) 1187static inline void pci_msi_shutdown(struct pci_dev *dev)
@@ -1178,14 +1189,14 @@ static inline void pci_msi_shutdown(struct pci_dev *dev)
1178static inline void pci_disable_msi(struct pci_dev *dev) 1189static inline void pci_disable_msi(struct pci_dev *dev)
1179{ } 1190{ }
1180 1191
1181static inline int pci_msix_table_size(struct pci_dev *dev) 1192static inline int pci_msix_vec_count(struct pci_dev *dev)
1182{ 1193{
1183 return 0; 1194 return -ENOSYS;
1184} 1195}
1185static inline int pci_enable_msix(struct pci_dev *dev, 1196static 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
1191static inline void pci_msix_shutdown(struct pci_dev *dev) 1202static 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
1217static inline int pci_enable_msi_range(struct pci_dev *dev, int minvec,
1218 int maxvec)
1219{
1220 return -ENOSYS;
1221}
1222static 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
1206int pci_enable_msi_block(struct pci_dev *dev, unsigned int nvec); 1228int pci_msi_vec_count(struct pci_dev *dev);
1207int pci_enable_msi_block_auto(struct pci_dev *dev, unsigned int *maxvec); 1229int pci_enable_msi_block(struct pci_dev *dev, int nvec);
1208void pci_msi_shutdown(struct pci_dev *dev); 1230void pci_msi_shutdown(struct pci_dev *dev);
1209void pci_disable_msi(struct pci_dev *dev); 1231void pci_disable_msi(struct pci_dev *dev);
1210int pci_msix_table_size(struct pci_dev *dev); 1232int pci_msix_vec_count(struct pci_dev *dev);
1211int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec); 1233int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec);
1212void pci_msix_shutdown(struct pci_dev *dev); 1234void pci_msix_shutdown(struct pci_dev *dev);
1213void pci_disable_msix(struct pci_dev *dev); 1235void pci_disable_msix(struct pci_dev *dev);
1214void msi_remove_pci_irq_vectors(struct pci_dev *dev); 1236void msi_remove_pci_irq_vectors(struct pci_dev *dev);
1215void pci_restore_msi_state(struct pci_dev *dev); 1237void pci_restore_msi_state(struct pci_dev *dev);
1216int pci_msi_enabled(void); 1238int pci_msi_enabled(void);
1239int pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec);
1240int 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