Lines Matching refs:reg

78 static inline u32 efx_reg(struct efx_nic *efx, unsigned int reg)
80 return efx->reg_base + reg;
85 unsigned int reg)
87 __raw_writeq((__force u64)value, efx->membase + reg);
89 static inline __le64 _efx_readq(struct efx_nic *efx, unsigned int reg)
91 return (__force __le64)__raw_readq(efx->membase + reg);
96 unsigned int reg)
98 __raw_writel((__force u32)value, efx->membase + reg);
100 static inline __le32 _efx_readd(struct efx_nic *efx, unsigned int reg)
102 return (__force __le32)__raw_readl(efx->membase + reg);
107 unsigned int reg)
112 "writing register %x with " EFX_OWORD_FMT "\n", reg,
117 _efx_writeq(efx, value->u64[0], reg + 0);
118 _efx_writeq(efx, value->u64[1], reg + 8);
120 _efx_writed(efx, value->u32[0], reg + 0);
121 _efx_writed(efx, value->u32[1], reg + 4);
122 _efx_writed(efx, value->u32[2], reg + 8);
123 _efx_writed(efx, value->u32[3], reg + 12);
151 unsigned int reg)
155 reg, EFX_DWORD_VAL(*value));
158 _efx_writed(efx, value->u32[0], reg);
163 unsigned int reg)
168 value->u32[0] = _efx_readd(efx, reg + 0);
169 value->u32[1] = _efx_readd(efx, reg + 4);
170 value->u32[2] = _efx_readd(efx, reg + 8);
171 value->u32[3] = _efx_readd(efx, reg + 12);
175 "read from register %x, got " EFX_OWORD_FMT "\n", reg,
202 unsigned int reg)
204 value->u32[0] = _efx_readd(efx, reg);
207 reg, EFX_DWORD_VAL(*value));
213 unsigned int reg, unsigned int index)
215 efx_writeo(efx, value, reg + index * sizeof(efx_oword_t));
220 unsigned int reg, unsigned int index)
222 efx_reado(efx, value, reg + index * sizeof(efx_oword_t));
233 unsigned int reg)
235 return page * efx->vi_stride + reg;
240 unsigned int reg, unsigned int page)
242 reg = efx_paged_reg(efx, page, reg);
245 "writing register %x with " EFX_OWORD_FMT "\n", reg,
249 _efx_writeq(efx, value->u64[0], reg + 0);
250 _efx_writeq(efx, value->u64[1], reg + 8);
252 _efx_writed(efx, value->u32[0], reg + 0);
253 _efx_writed(efx, value->u32[1], reg + 4);
254 _efx_writed(efx, value->u32[2], reg + 8);
255 _efx_writed(efx, value->u32[3], reg + 12);
258 #define efx_writeo_page(efx, value, reg, page) \
260 reg + \
261 BUILD_BUG_ON_ZERO((reg) != 0x830 && (reg) != 0xa10), \
269 unsigned int reg, unsigned int page)
271 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
273 #define efx_writed_page(efx, value, reg, page) \
275 reg + \
276 BUILD_BUG_ON_ZERO((reg) != 0x180 && \
277 (reg) != 0x200 && \
278 (reg) != 0x400 && \
279 (reg) != 0x420 && \
280 (reg) != 0x830 && \
281 (reg) != 0x83c && \
282 (reg) != 0xa18 && \
283 (reg) != 0xa1c), \
292 unsigned int reg,
299 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
302 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
305 #define efx_writed_page_locked(efx, value, reg, page) \
307 reg + BUILD_BUG_ON_ZERO((reg) != 0x420), \