Lines Matching refs:_field
185 #define MCDI_PTR(_buf, _field) \ argument
186 _MCDI_PTR(_buf, MC_CMD_ ## _field ## _OFST)
189 #define _MCDI_DWORD(_buf, _field) \ argument
190 ((_buf) + (_MCDI_CHECK_ALIGN(MC_CMD_ ## _field ## _OFST, 4) >> 2))
192 #define MCDI_WORD(_buf, _field) \ argument
193 ((u16)BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 2) + \
194 le16_to_cpu(*(__force const __le16 *)MCDI_PTR(_buf, _field)))
195 #define MCDI_SET_DWORD(_buf, _field, _value) \ argument
196 EFX_POPULATE_DWORD_1(*_MCDI_DWORD(_buf, _field), EFX_DWORD_0, _value)
197 #define MCDI_DWORD(_buf, _field) \ argument
198 EFX_DWORD_FIELD(*_MCDI_DWORD(_buf, _field), EFX_DWORD_0)
199 #define MCDI_POPULATE_DWORD_1(_buf, _field, _name1, _value1) \ argument
200 EFX_POPULATE_DWORD_1(*_MCDI_DWORD(_buf, _field), \
202 #define MCDI_POPULATE_DWORD_2(_buf, _field, _name1, _value1, \ argument
204 EFX_POPULATE_DWORD_2(*_MCDI_DWORD(_buf, _field), \
207 #define MCDI_POPULATE_DWORD_3(_buf, _field, _name1, _value1, \ argument
209 EFX_POPULATE_DWORD_3(*_MCDI_DWORD(_buf, _field), \
213 #define MCDI_POPULATE_DWORD_4(_buf, _field, _name1, _value1, \ argument
216 EFX_POPULATE_DWORD_4(*_MCDI_DWORD(_buf, _field), \
221 #define MCDI_POPULATE_DWORD_5(_buf, _field, _name1, _value1, \ argument
224 EFX_POPULATE_DWORD_5(*_MCDI_DWORD(_buf, _field), \
230 #define MCDI_POPULATE_DWORD_6(_buf, _field, _name1, _value1, \ argument
234 EFX_POPULATE_DWORD_6(*_MCDI_DWORD(_buf, _field), \
241 #define MCDI_POPULATE_DWORD_7(_buf, _field, _name1, _value1, \ argument
245 EFX_POPULATE_DWORD_7(*_MCDI_DWORD(_buf, _field), \
253 #define MCDI_SET_QWORD(_buf, _field, _value) \ argument
255 EFX_POPULATE_DWORD_1(_MCDI_DWORD(_buf, _field)[0], \
257 EFX_POPULATE_DWORD_1(_MCDI_DWORD(_buf, _field)[1], \
260 #define MCDI_QWORD(_buf, _field) \ argument
261 (EFX_DWORD_FIELD(_MCDI_DWORD(_buf, _field)[0], EFX_DWORD_0) | \
262 (u64)EFX_DWORD_FIELD(_MCDI_DWORD(_buf, _field)[1], EFX_DWORD_0) << 32)
263 #define MCDI_FIELD(_ptr, _type, _field) \ argument
266 _MCDI_PTR(_ptr, MC_CMD_ ## _type ## _ ## _field ## _OFST & ~3),\
267 MC_CMD_ ## _type ## _ ## _field ## _LBN & 0x1f, \
268 (MC_CMD_ ## _type ## _ ## _field ## _LBN & 0x1f) + \
269 MC_CMD_ ## _type ## _ ## _field ## _WIDTH - 1)
271 #define _MCDI_ARRAY_PTR(_buf, _field, _index, _align) \ argument
272 (_MCDI_PTR(_buf, _MCDI_CHECK_ALIGN(MC_CMD_ ## _field ## _OFST, _align))\
273 + (_index) * _MCDI_CHECK_ALIGN(MC_CMD_ ## _field ## _LEN, _align))
276 #define MCDI_ARRAY_STRUCT_PTR(_buf, _field, _index) \ argument
277 ((efx_dword_t *)_MCDI_ARRAY_PTR(_buf, _field, _index, 4))
278 #define MCDI_VAR_ARRAY_LEN(_len, _field) \ argument
279 min_t(size_t, MC_CMD_ ## _field ## _MAXNUM, \
280 ((_len) - MC_CMD_ ## _field ## _OFST) / MC_CMD_ ## _field ## _LEN)
281 #define MCDI_ARRAY_WORD(_buf, _field, _index) \ argument
282 (BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 2) + \
284 _MCDI_ARRAY_PTR(_buf, _field, _index, 2)))
285 #define _MCDI_ARRAY_DWORD(_buf, _field, _index) \ argument
286 (BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 4) + \
287 (efx_dword_t *)_MCDI_ARRAY_PTR(_buf, _field, _index, 4))
288 #define MCDI_SET_ARRAY_DWORD(_buf, _field, _index, _value) \ argument
289 EFX_SET_DWORD_FIELD(*_MCDI_ARRAY_DWORD(_buf, _field, _index), \
291 #define MCDI_ARRAY_DWORD(_buf, _field, _index) \ argument
292 EFX_DWORD_FIELD(*_MCDI_ARRAY_DWORD(_buf, _field, _index), EFX_DWORD_0)
293 #define _MCDI_ARRAY_QWORD(_buf, _field, _index) \ argument
294 (BUILD_BUG_ON_ZERO(MC_CMD_ ## _field ## _LEN != 8) + \
295 (efx_dword_t *)_MCDI_ARRAY_PTR(_buf, _field, _index, 4))
296 #define MCDI_SET_ARRAY_QWORD(_buf, _field, _index, _value) \ argument
298 EFX_SET_DWORD_FIELD(_MCDI_ARRAY_QWORD(_buf, _field, _index)[0],\
300 EFX_SET_DWORD_FIELD(_MCDI_ARRAY_QWORD(_buf, _field, _index)[1],\
307 #define MCDI_EVENT_FIELD(_ev, _field) \ argument
308 EFX_QWORD_FIELD(_ev, MCDI_EVENT_ ## _field)