Lines Matching +full:pool +full:- +full:short

16  *      - Redistributions of source code must retain the above
20 * - Redistributions in binary form must reproduce the above
66 * for a 32-bit tag:
75 * |____ ddp bit: 0 - ddp tag, 1 - non-ddp tag
88 unsigned short pg_shift;
116 unsigned short npods;
120 /* per cpu ppm pool */
124 spinlock_t lock; /* ppm pool lock */
141 struct cxgbi_ppm_pool __percpu *pool; member
199 return !(tag & ppm->tformat.no_ddp_mask); in cxgbi_ppm_is_ddp_tag()
213 struct cxgbi_tag_format *tformat = &ppm->tformat; in cxgbi_ppm_make_non_ddp_tag()
217 return -EINVAL; in cxgbi_ppm_make_non_ddp_tag()
221 *final_tag = tformat->no_ddp_mask; in cxgbi_ppm_make_non_ddp_tag()
223 unsigned int shift = tformat->idx_bits + tformat->color_bits; in cxgbi_ppm_make_non_ddp_tag()
224 u32 lower = sw_tag & tformat->idx_clr_mask; in cxgbi_ppm_make_non_ddp_tag()
227 *final_tag = upper | tformat->no_ddp_mask | lower; in cxgbi_ppm_make_non_ddp_tag()
235 struct cxgbi_tag_format *tformat = &ppm->tformat; in cxgbi_ppm_decode_non_ddp_tag()
236 unsigned int shift = tformat->idx_bits + tformat->color_bits; in cxgbi_ppm_decode_non_ddp_tag()
237 u32 lower = tag & tformat->idx_clr_mask; in cxgbi_ppm_decode_non_ddp_tag()
238 u32 upper = (tag >> tformat->rsvd_bits) << shift; in cxgbi_ppm_decode_non_ddp_tag()
247 ppm->tformat.idx_mask; in cxgbi_ppm_ddp_tag_get_idx()
249 return hw_idx - ppm->base_idx; in cxgbi_ppm_ddp_tag_get_idx()
264 return ppm->ppod_data[idx].caller_data; in cxgbi_ppm_get_tag_caller_data()
272 struct cxgbi_tag_format *tformat = &ppm->tformat; in cxgbi_ppm_ddp_tag_update_sw_bits()
273 u32 v = val >> tformat->free_bits; in cxgbi_ppm_ddp_tag_update_sw_bits()
277 val, tformat->free_bits); in cxgbi_ppm_ddp_tag_update_sw_bits()
278 return -EINVAL; in cxgbi_ppm_ddp_tag_update_sw_bits()
281 return -EINVAL; in cxgbi_ppm_ddp_tag_update_sw_bits()
283 *final_tag = (val << tformat->rsvd_bits) | in cxgbi_ppm_ddp_tag_update_sw_bits()
284 (orig_tag & ppm->tformat.rsvd_mask); in cxgbi_ppm_ddp_tag_update_sw_bits()
290 ppod->hdr.vld_tid = 0U; in cxgbi_ppm_ppod_clear()
299 tformat->free_bits = 32 - 2 - bits; in cxgbi_tagmask_check()
300 tformat->rsvd_bits = bits; in cxgbi_tagmask_check()
301 tformat->color_bits = PPOD_IDX_SHIFT; in cxgbi_tagmask_check()
302 tformat->idx_bits = bits - 1 - PPOD_IDX_SHIFT; in cxgbi_tagmask_check()
303 tformat->no_ddp_mask = 1 << (bits - 1); in cxgbi_tagmask_check()
304 tformat->idx_mask = (1 << tformat->idx_bits) - 1; in cxgbi_tagmask_check()
305 tformat->color_mask = (1 << PPOD_IDX_SHIFT) - 1; in cxgbi_tagmask_check()
306 tformat->idx_clr_mask = (1 << (bits - 1)) - 1; in cxgbi_tagmask_check()
307 tformat->rsvd_mask = (1 << bits) - 1; in cxgbi_tagmask_check()
311 tagmask, tformat->rsvd_bits, tformat->idx_bits, in cxgbi_tagmask_check()
312 tformat->color_bits, tformat->no_ddp_mask, tformat->rsvd_mask, in cxgbi_tagmask_check()
313 tformat->pgsz_order[0], tformat->pgsz_order[1], in cxgbi_tagmask_check()
314 tformat->pgsz_order[2], tformat->pgsz_order[3]); in cxgbi_tagmask_check()
323 int cxgbi_ppm_ppods_reserve(struct cxgbi_ppm *, unsigned short nr_pages,