Lines Matching refs:pacing
466 /* Update the pacing tunable parameters to the default values */
471 pacing_data->do_pacing = rdev->pacing.dbr_def_do_pacing;
472 pacing_data->pacing_th = rdev->pacing.pacing_algo_th;
482 * below pacing algo threshold as soon as pacing kicks in.
485 read_val = readl(rdev->en_dev->bar0 + rdev->pacing.dbr_db_fifo_reg_off);
505 if (!mutex_trylock(&rdev->pacing.dbq_lock))
508 pacing_save = rdev->pacing.do_pacing_save;
511 if (pacing_save > rdev->pacing.dbr_def_do_pacing) {
523 pacing_data->pacing_th = rdev->pacing.pacing_algo_th * 4;
530 rdev->pacing.do_pacing_save = pacing_data->do_pacing;
534 msecs_to_jiffies(rdev->pacing.dbq_pacing_time));
535 rdev->stats.pacing.alerts++;
536 mutex_unlock(&rdev->pacing.dbq_lock);
546 if (!mutex_trylock(&rdev->pacing.dbq_lock))
550 read_val = readl(rdev->en_dev->bar0 + rdev->pacing.dbr_db_fifo_reg_off);
563 pacing_data->do_pacing = max_t(u32, rdev->pacing.dbr_def_do_pacing, pacing_data->do_pacing);
564 if (pacing_data->do_pacing <= rdev->pacing.dbr_def_do_pacing) {
566 rdev->stats.pacing.complete++;
572 msecs_to_jiffies(rdev->pacing.dbq_pacing_time));
573 rdev->stats.pacing.resched++;
575 rdev->pacing.do_pacing_save = pacing_data->do_pacing;
576 mutex_unlock(&rdev->pacing.dbq_lock);
583 if (!rdev->pacing.dbr_pacing)
585 mutex_lock(&rdev->pacing.dbq_lock);
596 mutex_unlock(&rdev->pacing.dbq_lock);
605 rdev->pacing.dbr_page = (void *)__get_free_page(GFP_KERNEL);
606 if (!rdev->pacing.dbr_page)
609 memset((u8 *)rdev->pacing.dbr_page, 0, PAGE_SIZE);
610 rdev->qplib_res.pacing_data = (struct bnxt_qplib_db_pacing_data *)rdev->pacing.dbr_page;
615 rdev->pacing.dbr_db_fifo_reg_off =
618 rdev->pacing.dbr_bar_addr =
619 pci_resource_start(rdev->qplib_res.pdev, 0) + rdev->pacing.dbr_db_fifo_reg_off;
621 rdev->pacing.pacing_algo_th = BNXT_RE_PACING_ALGO_THRESHOLD;
622 rdev->pacing.dbq_pacing_time = BNXT_RE_DBR_PACING_TIME;
623 rdev->pacing.dbr_def_do_pacing = BNXT_RE_DBR_DO_PACING_NO_CONGESTION;
624 rdev->pacing.do_pacing_save = rdev->pacing.dbr_def_do_pacing;
628 rdev->qplib_res.pacing_data->grc_reg_offset = rdev->pacing.dbr_db_fifo_reg_off;
640 if (rdev->pacing.dbr_page)
641 free_page((u64)rdev->pacing.dbr_page);
643 rdev->pacing.dbr_page = NULL;
644 rdev->pacing.dbr_pacing = false;
924 mutex_init(&rdev->pacing.dbq_lock);
1427 if (rdev->pacing.dbr_pacing)
1525 rdev->pacing.dbr_pacing = true;
1528 "DBR pacing disabled with error : %d\n", rc);
1529 rdev->pacing.dbr_pacing = false;