diff options
Diffstat (limited to 'arch/s390/include/asm/pci_io.h')
-rw-r--r-- | arch/s390/include/asm/pci_io.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/arch/s390/include/asm/pci_io.h b/arch/s390/include/asm/pci_io.h index 5fd81f31d6c7..83a9caa6ae53 100644 --- a/arch/s390/include/asm/pci_io.h +++ b/arch/s390/include/asm/pci_io.h | |||
@@ -36,7 +36,7 @@ static inline RETTYPE zpci_read_##RETTYPE(const volatile void __iomem *addr) \ | |||
36 | u64 data; \ | 36 | u64 data; \ |
37 | int rc; \ | 37 | int rc; \ |
38 | \ | 38 | \ |
39 | rc = pcilg_instr(&data, req, ZPCI_OFFSET(addr)); \ | 39 | rc = s390pci_load(&data, req, ZPCI_OFFSET(addr)); \ |
40 | if (rc) \ | 40 | if (rc) \ |
41 | data = -1ULL; \ | 41 | data = -1ULL; \ |
42 | return (RETTYPE) data; \ | 42 | return (RETTYPE) data; \ |
@@ -50,7 +50,7 @@ static inline void zpci_write_##VALTYPE(VALTYPE val, \ | |||
50 | u64 req = ZPCI_CREATE_REQ(entry->fh, entry->bar, LENGTH); \ | 50 | u64 req = ZPCI_CREATE_REQ(entry->fh, entry->bar, LENGTH); \ |
51 | u64 data = (VALTYPE) val; \ | 51 | u64 data = (VALTYPE) val; \ |
52 | \ | 52 | \ |
53 | pcistg_instr(data, req, ZPCI_OFFSET(addr)); \ | 53 | s390pci_store(data, req, ZPCI_OFFSET(addr)); \ |
54 | } | 54 | } |
55 | 55 | ||
56 | zpci_read(8, u64) | 56 | zpci_read(8, u64) |
@@ -83,15 +83,18 @@ static inline int zpci_write_single(u64 req, const u64 *data, u64 offset, u8 len | |||
83 | val = 0; /* let FW report error */ | 83 | val = 0; /* let FW report error */ |
84 | break; | 84 | break; |
85 | } | 85 | } |
86 | return pcistg_instr(val, req, offset); | 86 | return s390pci_store(val, req, offset); |
87 | } | 87 | } |
88 | 88 | ||
89 | static inline int zpci_read_single(u64 req, u64 *dst, u64 offset, u8 len) | 89 | static inline int zpci_read_single(u64 req, u64 *dst, u64 offset, u8 len) |
90 | { | 90 | { |
91 | u64 data; | 91 | u64 data; |
92 | u8 cc; | 92 | int cc; |
93 | |||
94 | cc = s390pci_load(&data, req, offset); | ||
95 | if (cc) | ||
96 | goto out; | ||
93 | 97 | ||
94 | cc = pcilg_instr(&data, req, offset); | ||
95 | switch (len) { | 98 | switch (len) { |
96 | case 1: | 99 | case 1: |
97 | *((u8 *) dst) = (u8) data; | 100 | *((u8 *) dst) = (u8) data; |
@@ -106,12 +109,13 @@ static inline int zpci_read_single(u64 req, u64 *dst, u64 offset, u8 len) | |||
106 | *((u64 *) dst) = (u64) data; | 109 | *((u64 *) dst) = (u64) data; |
107 | break; | 110 | break; |
108 | } | 111 | } |
112 | out: | ||
109 | return cc; | 113 | return cc; |
110 | } | 114 | } |
111 | 115 | ||
112 | static inline int zpci_write_block(u64 req, const u64 *data, u64 offset) | 116 | static inline int zpci_write_block(u64 req, const u64 *data, u64 offset) |
113 | { | 117 | { |
114 | return pcistb_instr(data, req, offset); | 118 | return s390pci_store_block(data, req, offset); |
115 | } | 119 | } |
116 | 120 | ||
117 | static inline u8 zpci_get_max_write_size(u64 src, u64 dst, int len, int max) | 121 | static inline u8 zpci_get_max_write_size(u64 src, u64 dst, int len, int max) |