aboutsummaryrefslogtreecommitdiff
path: root/sys/compat
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2022-10-31 22:14:10 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2023-01-18 13:24:22 +0000
commit4073b7ddf14a2ff5adf5f18e3cc37a3fbb7994f3 (patch)
treec3658d2c6e800a2b1a914f743e451e334efadab5 /sys/compat
parentaa0370996eca5c8d4a8cd2c09888300bbb253994 (diff)
downloadsrc-4073b7ddf14a2ff5adf5f18e3cc37a3fbb7994f3.tar.gz
src-4073b7ddf14a2ff5adf5f18e3cc37a3fbb7994f3.zip
LinuxKPI: pci.h add more MSI related constanst and pci_is_enabled()
Add more MSI related constansts defined to our native defines and pci_is_enabled(). All are needed for another wireless driver. Differential Revision: https://reviews.freebsd.org/D37225 (cherry picked from commit 5f2f582ccceec8729ee85bf191a2f7373c2994a4)
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/linuxkpi/common/include/linux/pci.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h
index 79999c3912f7..f870b039254c 100644
--- a/sys/compat/linuxkpi/common/include/linux/pci.h
+++ b/sys/compat/linuxkpi/common/include/linux/pci.h
@@ -163,6 +163,11 @@ MODULE_PNP_INFO("U32:vendor;U32:device;V32:subvendor;V32:subdevice", \
#define PCI_EXP_LNKCTL2_ENTER_COMP 0x0010 /* Enter Compliance */
#define PCI_EXP_LNKCTL2_TX_MARGIN 0x0380 /* Transmit Margin */
+#define PCI_MSI_ADDRESS_LO PCIR_MSI_ADDR
+#define PCI_MSI_ADDRESS_HI PCIR_MSI_ADDR_HIGH
+#define PCI_MSI_FLAGS PCIR_MSI_CTRL
+#define PCI_MSI_FLAGS_ENABLE PCIM_MSICTRL_MSI_ENABLE
+
#define PCI_EXP_LNKCAP_CLKPM 0x00040000
#define PCI_EXP_DEVSTA_TRPND 0x0020
@@ -1611,4 +1616,12 @@ pcie_get_readrq(struct pci_dev *dev)
return (128 << ((ctl & PCI_EXP_DEVCTL_READRQ) >> 12));
}
+static inline bool
+pci_is_enabled(struct pci_dev *pdev)
+{
+
+ return ((pci_read_config(pdev->dev.bsddev, PCIR_COMMAND, 2) &
+ PCIM_CMD_BUSMASTEREN) != 0);
+}
+
#endif /* _LINUXKPI_LINUX_PCI_H_ */