summaryrefslogtreecommitdiff
path: root/sys/src/9/port/pci.h
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2020-11-21 16:02:21 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2020-11-21 16:02:21 +0100
commit1376d39ef1194c76e97035a1af110a59e4ad8257 (patch)
tree0025763d0b5c7be90716dfa767957d525272561b /sys/src/9/port/pci.h
parentcedded7b50e91344eb469efee354ee8682e33cf3 (diff)
kernel: add portable pcimsienable()/pcimsidisable(), disable MSI/MSI-X on pcidisable()/pcireset()
This avoids some duplication in the pci support code and allows pcireset() to diable MSI and MSI-X interrupts when disabling or reseting a device.
Diffstat (limited to 'sys/src/9/port/pci.h')
-rw-r--r--sys/src/9/port/pci.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/src/9/port/pci.h b/sys/src/9/port/pci.h
index 176117119..fc84d1e2b 100644
--- a/sys/src/9/port/pci.h
+++ b/sys/src/9/port/pci.h
@@ -199,6 +199,7 @@ struct Pcidev
} prefa;
int pmrb; /* power management register block */
+ int msi; /* MSI capability register block */
};
enum {
@@ -248,6 +249,10 @@ extern void pciclrmwi(Pcidev* p);
extern int pcicap(Pcidev *p, int cap);
extern int pcihtcap(Pcidev *p, int cap);
+
+extern int pcimsienable(Pcidev *p, uvlong addr, ulong data);
+extern int pcimsidisable(Pcidev *p);
+
extern int pcigetpms(Pcidev* p);
extern int pcisetpms(Pcidev* p, int state);