Lines Matching defs:offqd
919 static void work_offqd_unpack(struct work_offq_data *offqd, unsigned long data)
923 offqd->pool_id = shift_and_mask(data, WORK_OFFQ_POOL_SHIFT,
925 offqd->disable = shift_and_mask(data, WORK_OFFQ_DISABLE_SHIFT,
927 offqd->flags = data & WORK_OFFQ_FLAG_MASK;
930 static unsigned long work_offqd_pack_flags(struct work_offq_data *offqd)
932 return ((unsigned long)offqd->disable << WORK_OFFQ_DISABLE_SHIFT) |
933 ((unsigned long)offqd->flags);
2396 struct work_offq_data offqd;
2402 work_offqd_unpack(&offqd, data);
2403 set_work_pool_and_clear_pending(work, offqd.pool_id,
2404 work_offqd_pack_flags(&offqd));
4421 static void work_offqd_disable(struct work_offq_data *offqd)
4425 if (likely(offqd->disable < max))
4426 offqd->disable++;
4431 static void work_offqd_enable(struct work_offq_data *offqd)
4433 if (likely(offqd->disable > 0))
4434 offqd->disable--;
4441 struct work_offq_data offqd;
4447 work_offqd_unpack(&offqd, *work_data_bits(work));
4450 work_offqd_disable(&offqd);
4452 set_work_pool_and_clear_pending(work, offqd.pool_id,
4453 work_offqd_pack_flags(&offqd));
4601 struct work_offq_data offqd;
4606 work_offqd_unpack(&offqd, *work_data_bits(work));
4607 work_offqd_enable(&offqd);
4608 set_work_pool_and_clear_pending(work, offqd.pool_id,
4609 work_offqd_pack_flags(&offqd));
4612 return !offqd.disable;