43 rdev->
lldi.vr->qp.start,
44 rdev->
lldi.vr->qp.size,
45 rdev->
lldi.vr->qp.size, 0))
48 for (i = rdev->
lldi.vr->qp.start;
49 i < rdev->lldi.vr->qp.start + rdev->
lldi.vr->qp.size; i++)
63 err = c4iw_init_qid_table(rdev);
86 if (entry == (
u32)(-1))
93 PDBG(
"%s entry 0x%x\n", __func__, entry);
104 if (!list_empty(&uctx->
cqids)) {
117 for (i = qid+1; i & rdev->
qpmask; i++) {
134 for (i = qid+1; i & rdev->
qpmask; i++) {
144 PDBG(
"%s qid 0x%x\n", __func__, qid);
146 if (rdev->
stats.qid.cur > rdev->
stats.qid.max)
160 PDBG(
"%s qid 0x%x\n", __func__, qid);
174 if (!list_empty(&uctx->
qpids)) {
187 for (i = qid+1; i & rdev->
qpmask; i++) {
204 for (i = qid; i & rdev->
qpmask; i++) {
214 PDBG(
"%s qid 0x%x\n", __func__, qid);
216 if (rdev->
stats.qid.cur > rdev->
stats.qid.max)
230 PDBG(
"%s qid 0x%x\n", __func__, qid);
248 #define MIN_PBL_SHIFT 8
253 PDBG(
"%s addr 0x%x size %d\n", __func__, (
u32)addr, size);
257 if (rdev->
stats.pbl.cur > rdev->
stats.pbl.max)
260 rdev->
stats.pbl.fail++;
267 PDBG(
"%s addr 0x%x size %d\n", __func__, addr, size);
276 unsigned pbl_start, pbl_chunk, pbl_top;
282 pbl_start = rdev->
lldi.vr->pbl.start;
283 pbl_chunk = rdev->
lldi.vr->pbl.size;
284 pbl_top = pbl_start + pbl_chunk;
286 while (pbl_start < pbl_top) {
287 pbl_chunk =
min(pbl_top - pbl_start + 1, pbl_chunk);
288 if (gen_pool_add(rdev->
pbl_pool, pbl_start, pbl_chunk, -1)) {
289 PDBG(
"%s failed to add PBL chunk (%x/%x)\n",
290 __func__, pbl_start, pbl_chunk);
293 "Failed to add all PBL chunks (%x/%x)\n",
295 pbl_top - pbl_start);
300 PDBG(
"%s added PBL chunk (%x/%x)\n",
301 __func__, pbl_start, pbl_chunk);
302 pbl_start += pbl_chunk;
318 #define MIN_RQT_SHIFT 10
323 PDBG(
"%s addr 0x%x size %d\n", __func__, (
u32)addr, size << 6);
326 pci_name(rdev->
lldi.pdev));
330 if (rdev->
stats.rqt.cur > rdev->
stats.rqt.max)
333 rdev->
stats.rqt.fail++;
340 PDBG(
"%s addr 0x%x size %d\n", __func__, addr, size << 6);
349 unsigned rqt_start, rqt_chunk, rqt_top;
355 rqt_start = rdev->
lldi.vr->rq.start;
356 rqt_chunk = rdev->
lldi.vr->rq.size;
357 rqt_top = rqt_start + rqt_chunk;
359 while (rqt_start < rqt_top) {
360 rqt_chunk =
min(rqt_top - rqt_start + 1, rqt_chunk);
361 if (gen_pool_add(rdev->
rqt_pool, rqt_start, rqt_chunk, -1)) {
362 PDBG(
"%s failed to add RQT chunk (%x/%x)\n",
363 __func__, rqt_start, rqt_chunk);
366 "Failed to add all RQT chunks (%x/%x)\n",
367 rqt_start, rqt_top - rqt_start);
372 PDBG(
"%s added RQT chunk (%x/%x)\n",
373 __func__, rqt_start, rqt_chunk);
374 rqt_start += rqt_chunk;
388 #define MIN_OCQP_SHIFT 12
393 PDBG(
"%s addr 0x%x size %d\n", __func__, (
u32)addr, size);
397 if (rdev->
stats.ocqp.cur > rdev->
stats.ocqp.max)
406 PDBG(
"%s addr 0x%x size %d\n", __func__, addr, size);
421 start = rdev->
lldi.vr->ocq.start;
422 chunk = rdev->
lldi.vr->ocq.size;
425 while (start < top) {
426 chunk =
min(top - start + 1, chunk);
427 if (gen_pool_add(rdev->
ocqp_pool, start, chunk, -1)) {
428 PDBG(
"%s failed to add OCQP chunk (%x/%x)\n",
429 __func__, start, chunk);
432 "Failed to add all OCQP chunks (%x/%x)\n",
438 PDBG(
"%s added OCQP chunk (%x/%x)\n",
439 __func__, start, chunk);