summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/pci_clp.h
diff options
context:
space:
mode:
authorSebastian Ott <sebott@linux.ibm.com>2019-04-14 16:38:01 +0300
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2019-04-29 11:47:01 +0300
commit71ba41c9b1d91042960e9d92a5c8f52dc8531eda (patch)
treec0d4f5379684fb236526127730073d5fe1d44ea3 /arch/s390/include/asm/pci_clp.h
parentc475f1770a5e062652a6a877afcbd4e22b18039f (diff)
downloadlinux-71ba41c9b1d91042960e9d92a5c8f52dc8531eda.tar.xz
s390/pci: provide support for MIO instructions
Provide support for PCI I/O instructions that work on mapped IO addresses. Signed-off-by: Sebastian Ott <sebott@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/pci_clp.h')
-rw-r--r--arch/s390/include/asm/pci_clp.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/s390/include/asm/pci_clp.h b/arch/s390/include/asm/pci_clp.h
index d2d824a91e66..3ec52a05d500 100644
--- a/arch/s390/include/asm/pci_clp.h
+++ b/arch/s390/include/asm/pci_clp.h
@@ -43,6 +43,8 @@ struct clp_fh_list_entry {
#define CLP_SET_ENABLE_PCI_FN 0 /* Yes, 0 enables it */
#define CLP_SET_DISABLE_PCI_FN 1 /* Yes, 1 disables it */
+#define CLP_SET_ENABLE_MIO 2
+#define CLP_SET_DISABLE_MIO 3
#define CLP_UTIL_STR_LEN 64
#define CLP_PFIP_NR_SEGMENTS 4
@@ -80,7 +82,8 @@ struct clp_req_query_pci {
struct clp_rsp_query_pci {
struct clp_rsp_hdr hdr;
u16 vfn; /* virtual fn number */
- u16 : 7;
+ u16 : 6;
+ u16 mio_addr_avail : 1;
u16 util_str_avail : 1; /* utility string available? */
u16 pfgid : 8; /* pci function group id */
u32 fid; /* pci function id */
@@ -96,6 +99,15 @@ struct clp_rsp_query_pci {
u32 reserved[11];
u32 uid; /* user defined id */
u8 util_str[CLP_UTIL_STR_LEN]; /* utility string */
+ u32 reserved2[16];
+ u32 mio_valid : 6;
+ u32 : 26;
+ u32 : 32;
+ struct {
+ u64 wb;
+ u64 wt;
+ } addr[PCI_BAR_COUNT];
+ u32 reserved3[6];
} __packed;
/* Query PCI function group request */