r2tq
struct ustorm_iscsi_r2tq_db r2tq /* R2TQ db. */;
lm_iscsi_pbl_t r2tq;
iscsi->r2tq.base_size = pdev->iscsi_info.run_time.num_of_tasks * ISCSI_MAX_NUM_OF_PENDING_R2TS * ISCSI_R2TQE_SIZE;
iscsi->r2tq.base_virt = mm_rt_alloc_phys_mem(pdev,
iscsi->r2tq.base_size,
&iscsi->r2tq.base_phy,
if CHK_NULL(iscsi->r2tq.base_virt)
mm_memset(iscsi->r2tq.base_virt, 0, iscsi->r2tq.base_size);
iscsi->r2tq.base_virt,
&iscsi->r2tq.base_phy,
iscsi->r2tq.base_size,
&iscsi->r2tq.pbl_phys_table_virt,
&iscsi->r2tq.pbl_phys_table_phys,
&iscsi->r2tq.pbl_virt_table,
&iscsi->r2tq.pbl_entries,
&iscsi->r2tq.pbl_size,
if (iscsi->r2tq.base_virt) {
mm_rt_free_phys_mem(pdev, iscsi->r2tq.base_size, iscsi->r2tq.base_virt, iscsi->r2tq.base_phy, mm_cli_idx);
iscsi->r2tq.base_virt = NULL;
if (iscsi->r2tq.pbl_phys_table_virt) {
mm_rt_free_phys_mem(pdev, iscsi->r2tq.pbl_size, iscsi->r2tq.pbl_phys_table_virt, iscsi->r2tq.pbl_phys_table_phys, mm_cli_idx);
iscsi->r2tq.pbl_phys_table_virt = NULL;
if (iscsi->r2tq.pbl_virt_table) {
mm_rt_free_mem(pdev, iscsi->r2tq.pbl_virt_table, iscsi->r2tq.pbl_entries * sizeof(void *), mm_cli_idx);
iscsi->r2tq.pbl_virt_table = NULL;
ctx->xstorm_st_context.iscsi.r2tq_pbl_base.lo = iscsi->r2tq.pbl_phys_table_phys.as_u32.low;
ctx->xstorm_st_context.iscsi.r2tq_pbl_base.hi = iscsi->r2tq.pbl_phys_table_phys.as_u32.high;
ctx->xstorm_st_context.iscsi.r2tq_curr_pbe_base.lo = iscsi->r2tq.pbl_phys_table_virt[0].as_u32.low;
ctx->xstorm_st_context.iscsi.r2tq_curr_pbe_base.hi = iscsi->r2tq.pbl_phys_table_virt[0].as_u32.high;
ctx->ustorm_st_context.ring.r2tq.pbl_base.lo = iscsi->r2tq.pbl_phys_table_phys.as_u32.low;
ctx->ustorm_st_context.ring.r2tq.pbl_base.hi = iscsi->r2tq.pbl_phys_table_phys.as_u32.high;
ctx->ustorm_st_context.ring.r2tq.curr_pbe.lo = iscsi->r2tq.pbl_phys_table_virt[0].as_u32.low;
ctx->ustorm_st_context.ring.r2tq.curr_pbe.hi = iscsi->r2tq.pbl_phys_table_virt[0].as_u32.high;