Lines Matching refs:reg
54 static inline u32 efx_reg(struct efx_nic *efx, unsigned int reg)
56 return efx->reg_base + reg;
61 unsigned int reg)
63 __raw_writeq((__force u64)value, efx->membase + reg);
65 static inline __le64 _efx_readq(struct efx_nic *efx, unsigned int reg)
67 return (__force __le64)__raw_readq(efx->membase + reg);
72 unsigned int reg)
74 __raw_writel((__force u32)value, efx->membase + reg);
76 static inline __le32 _efx_readd(struct efx_nic *efx, unsigned int reg)
78 return (__force __le32)__raw_readl(efx->membase + reg);
83 unsigned int reg)
88 "writing register %x with " EFX_OWORD_FMT "\n", reg,
93 _efx_writeq(efx, value->u64[0], reg + 0);
94 _efx_writeq(efx, value->u64[1], reg + 8);
96 _efx_writed(efx, value->u32[0], reg + 0);
97 _efx_writed(efx, value->u32[1], reg + 4);
98 _efx_writed(efx, value->u32[2], reg + 8);
99 _efx_writed(efx, value->u32[3], reg + 12);
106 unsigned int reg)
110 reg, EFX_DWORD_VAL(*value));
113 _efx_writed(efx, value->u32[0], reg);
118 unsigned int reg)
123 value->u32[0] = _efx_readd(efx, reg + 0);
124 value->u32[1] = _efx_readd(efx, reg + 4);
125 value->u32[2] = _efx_readd(efx, reg + 8);
126 value->u32[3] = _efx_readd(efx, reg + 12);
130 "read from register %x, got " EFX_OWORD_FMT "\n", reg,
136 unsigned int reg)
138 value->u32[0] = _efx_readd(efx, reg);
141 reg, EFX_DWORD_VAL(*value));
147 unsigned int reg, unsigned int index)
149 efx_writeo(efx, value, reg + index * sizeof(efx_oword_t));
154 unsigned int reg, unsigned int index)
156 efx_reado(efx, value, reg + index * sizeof(efx_oword_t));
167 unsigned int reg)
169 return page * efx->vi_stride + reg;
174 unsigned int reg, unsigned int page)
176 reg = efx_paged_reg(efx, page, reg);
179 "writing register %x with " EFX_OWORD_FMT "\n", reg,
183 _efx_writeq(efx, value->u64[0], reg + 0);
184 _efx_writeq(efx, value->u64[1], reg + 8);
186 _efx_writed(efx, value->u32[0], reg + 0);
187 _efx_writed(efx, value->u32[1], reg + 4);
188 _efx_writed(efx, value->u32[2], reg + 8);
189 _efx_writed(efx, value->u32[3], reg + 12);
192 #define efx_writeo_page(efx, value, reg, page) \
194 reg + \
195 BUILD_BUG_ON_ZERO((reg) != 0x830 && (reg) != 0xa10), \
203 unsigned int reg, unsigned int page)
205 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
207 #define efx_writed_page(efx, value, reg, page) \
209 reg + \
210 BUILD_BUG_ON_ZERO((reg) != 0x180 && \
211 (reg) != 0x200 && \
212 (reg) != 0x400 && \
213 (reg) != 0x420 && \
214 (reg) != 0x830 && \
215 (reg) != 0x83c && \
216 (reg) != 0xa18 && \
217 (reg) != 0xa1c), \
226 unsigned int reg,
233 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
236 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
239 #define efx_writed_page_locked(efx, value, reg, page) \
241 reg + BUILD_BUG_ON_ZERO((reg) != 0x420), \