diff options
Diffstat (limited to 'drivers/gpu/nvgpu/boardobj/boardobjgrp.h')
-rw-r--r-- | drivers/gpu/nvgpu/boardobj/boardobjgrp.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/boardobj/boardobjgrp.h b/drivers/gpu/nvgpu/boardobj/boardobjgrp.h index 6527bbdc..7baa5bea 100644 --- a/drivers/gpu/nvgpu/boardobj/boardobjgrp.h +++ b/drivers/gpu/nvgpu/boardobj/boardobjgrp.h | |||
@@ -254,6 +254,19 @@ struct boardobjgrp { | |||
254 | #define BOARDOBJGRP_FOR_EACH(_pgrp, _ptype, _pobj, _index) \ | 254 | #define BOARDOBJGRP_FOR_EACH(_pgrp, _ptype, _pobj, _index) \ |
255 | BOARDOBJGRP_ITERATOR(_pgrp, _ptype, _pobj, _index, NULL) | 255 | BOARDOBJGRP_ITERATOR(_pgrp, _ptype, _pobj, _index, NULL) |
256 | 256 | ||
257 | #define BOARDOBJGRP_FOR_EACH_INDEX_IN_MASK(mask_width, index, mask) \ | ||
258 | { \ | ||
259 | u##mask_width lcl_msk = (u##mask_width)(mask); \ | ||
260 | for (index = 0; lcl_msk != 0; index++, lcl_msk >>= 1) { \ | ||
261 | if (((u##mask_width)((u64)1) & lcl_msk) == 0) { \ | ||
262 | continue; \ | ||
263 | } | ||
264 | |||
265 | #define BOARDOBJGRP_FOR_EACH_INDEX_IN_MASK_END \ | ||
266 | } \ | ||
267 | } | ||
268 | |||
269 | |||
257 | /*! | 270 | /*! |
258 | * Invalid UNIT_ID. Used to indicate that the implementing class has not set | 271 | * Invalid UNIT_ID. Used to indicate that the implementing class has not set |
259 | * @ref BOARDOBJGRP::unitId and, thus, certain BOARDOBJGRP PMU interfaces are | 272 | * @ref BOARDOBJGRP::unitId and, thus, certain BOARDOBJGRP PMU interfaces are |