Lines Matching defs:efx
78 static inline u32 efx_reg(struct efx_nic *efx, unsigned int reg)
80 return efx->reg_base + reg;
84 static inline void _efx_writeq(struct efx_nic *efx, __le64 value,
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);
95 static inline void _efx_writed(struct efx_nic *efx, __le32 value,
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);
106 static inline void efx_writeo(struct efx_nic *efx, const efx_oword_t *value,
111 netif_vdbg(efx, hw, efx->net_dev,
115 spin_lock_irqsave(&efx->biu_lock, flags);
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);
125 spin_unlock_irqrestore(&efx->biu_lock, flags);
129 static inline void efx_sram_writeq(struct efx_nic *efx, void __iomem *membase,
135 netif_vdbg(efx, hw, efx->net_dev,
139 spin_lock_irqsave(&efx->biu_lock, flags);
146 spin_unlock_irqrestore(&efx->biu_lock, flags);
150 static inline void efx_writed(struct efx_nic *efx, const efx_dword_t *value,
153 netif_vdbg(efx, hw, efx->net_dev,
158 _efx_writed(efx, value->u32[0], reg);
162 static inline void efx_reado(struct efx_nic *efx, efx_oword_t *value,
167 spin_lock_irqsave(&efx->biu_lock, flags);
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);
172 spin_unlock_irqrestore(&efx->biu_lock, flags);
174 netif_vdbg(efx, hw, efx->net_dev,
180 static inline void efx_sram_readq(struct efx_nic *efx, void __iomem *membase,
186 spin_lock_irqsave(&efx->biu_lock, flags);
193 spin_unlock_irqrestore(&efx->biu_lock, flags);
195 netif_vdbg(efx, hw, efx->net_dev,
201 static inline void efx_readd(struct efx_nic *efx, efx_dword_t *value,
204 value->u32[0] = _efx_readd(efx, reg);
205 netif_vdbg(efx, hw, efx->net_dev,
212 efx_writeo_table(struct efx_nic *efx, const efx_oword_t *value,
215 efx_writeo(efx, value, reg + index * sizeof(efx_oword_t));
219 static inline void efx_reado_table(struct efx_nic *efx, efx_oword_t *value,
222 efx_reado(efx, value, reg + index * sizeof(efx_oword_t));
232 static inline unsigned int efx_paged_reg(struct efx_nic *efx, unsigned int page,
235 return page * efx->vi_stride + reg;
239 static inline void _efx_writeo_page(struct efx_nic *efx, efx_oword_t *value,
242 reg = efx_paged_reg(efx, page, reg);
244 netif_vdbg(efx, hw, efx->net_dev,
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) \
259 _efx_writeo_page(efx, value, \
268 _efx_writed_page(struct efx_nic *efx, const efx_dword_t *value,
271 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
273 #define efx_writed_page(efx, value, reg, page) \
274 _efx_writed_page(efx, value, \
290 static inline void _efx_writed_page_locked(struct efx_nic *efx,
298 spin_lock_irqsave(&efx->biu_lock, flags);
299 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
300 spin_unlock_irqrestore(&efx->biu_lock, flags);
302 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
305 #define efx_writed_page_locked(efx, value, reg, page) \
306 _efx_writed_page_locked(efx, value, \