git: 5f2f582cccee - main - LinuxKPI: pci.h add more MSI related constanst and pci_is_enabled()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 28 Nov 2022 17:14:36 UTC
The branch main has been updated by bz:
URL: https://cgit.FreeBSD.org/src/commit/?id=5f2f582ccceec8729ee85bf191a2f7373c2994a4
commit 5f2f582ccceec8729ee85bf191a2f7373c2994a4
Author: Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-10-31 22:14:10 +0000
Commit: Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2022-11-28 17:11:47 +0000
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.
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D37225
---
sys/compat/linuxkpi/common/include/linux/pci.h | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h
index 72fe345a72a6..20f9b917fbdc 100644
--- a/sys/compat/linuxkpi/common/include/linux/pci.h
+++ b/sys/compat/linuxkpi/common/include/linux/pci.h
@@ -161,6 +161,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
@@ -1608,4 +1613,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_ */