Lines Matching defs:efx
54 static inline u32 efx_reg(struct efx_nic *efx, unsigned int reg)
56 return efx->reg_base + reg;
60 static inline void _efx_writeq(struct efx_nic *efx, __le64 value,
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);
71 static inline void _efx_writed(struct efx_nic *efx, __le32 value,
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);
82 static inline void efx_writeo(struct efx_nic *efx, const efx_oword_t *value,
87 netif_vdbg(efx, hw, efx->net_dev,
91 spin_lock_irqsave(&efx->biu_lock, flags);
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);
101 spin_unlock_irqrestore(&efx->biu_lock, flags);
105 static inline void efx_writed(struct efx_nic *efx, const efx_dword_t *value,
108 netif_vdbg(efx, hw, efx->net_dev,
113 _efx_writed(efx, value->u32[0], reg);
117 static inline void efx_reado(struct efx_nic *efx, efx_oword_t *value,
122 spin_lock_irqsave(&efx->biu_lock, flags);
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);
127 spin_unlock_irqrestore(&efx->biu_lock, flags);
129 netif_vdbg(efx, hw, efx->net_dev,
135 static inline void efx_readd(struct efx_nic *efx, efx_dword_t *value,
138 value->u32[0] = _efx_readd(efx, reg);
139 netif_vdbg(efx, hw, efx->net_dev,
146 efx_writeo_table(struct efx_nic *efx, const efx_oword_t *value,
149 efx_writeo(efx, value, reg + index * sizeof(efx_oword_t));
153 static inline void efx_reado_table(struct efx_nic *efx, efx_oword_t *value,
156 efx_reado(efx, value, reg + index * sizeof(efx_oword_t));
166 static inline unsigned int efx_paged_reg(struct efx_nic *efx, unsigned int page,
169 return page * efx->vi_stride + reg;
173 static inline void _efx_writeo_page(struct efx_nic *efx, efx_oword_t *value,
176 reg = efx_paged_reg(efx, page, reg);
178 netif_vdbg(efx, hw, efx->net_dev,
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) \
193 _efx_writeo_page(efx, value, \
202 _efx_writed_page(struct efx_nic *efx, const efx_dword_t *value,
205 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
207 #define efx_writed_page(efx, value, reg, page) \
208 _efx_writed_page(efx, value, \
224 static inline void _efx_writed_page_locked(struct efx_nic *efx,
232 spin_lock_irqsave(&efx->biu_lock, flags);
233 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
234 spin_unlock_irqrestore(&efx->biu_lock, flags);
236 efx_writed(efx, value, efx_paged_reg(efx, page, reg));
239 #define efx_writed_page_locked(efx, value, reg, page) \
240 _efx_writed_page_locked(efx, value, \