Lines Matching refs:circularQ
1268 * @circularQ: the inbound queue we want to transfer to HBA.
1272 int pm8001_mpi_msg_free_get(struct inbound_queue_table *circularQ,
1286 consumer_index = pm8001_read_32(circularQ->ci_virt);
1287 circularQ->consumer_index = cpu_to_le32(consumer_index);
1288 if (((circularQ->producer_idx + bcCount) % PM8001_MPI_QUEUE) ==
1289 le32_to_cpu(circularQ->consumer_index)) {
1294 offset = circularQ->producer_idx * messageSize;
1296 circularQ->producer_idx = (circularQ->producer_idx + bcCount)
1300 msgHeader = (struct mpi_msg_hdr *)(circularQ->base_virt + offset);
1309 * @circularQ: the inbound queue we want to transfer to HBA.
1316 struct inbound_queue_table *circularQ,
1323 int q_index = circularQ - pm8001_ha->inbnd_q_tbl;
1329 spin_lock_irqsave(&circularQ->iq_lock, flags);
1330 rv = pm8001_mpi_msg_free_get(circularQ, pm8001_ha->iomb_size,
1352 pm8001_cw32(pm8001_ha, circularQ->pi_pci_bar,
1353 circularQ->pi_offset, circularQ->producer_idx);
1356 responseQueue, opCode, circularQ->producer_idx,
1357 circularQ->consumer_index);
1359 spin_unlock_irqrestore(&circularQ->iq_lock, flags);
1364 struct outbound_queue_table *circularQ, u8 bc)
1371 pOutBoundMsgHeader = (struct mpi_msg_hdr *)(circularQ->base_virt +
1372 circularQ->consumer_idx * pm8001_ha->iomb_size);
1376 circularQ->consumer_idx, msgHeader);
1379 producer_index = pm8001_read_32(circularQ->pi_virt);
1380 circularQ->producer_index = cpu_to_le32(producer_index);
1383 circularQ->consumer_idx,
1384 circularQ->producer_index, msgHeader);
1388 circularQ->consumer_idx = (circularQ->consumer_idx + bc)
1391 pm8001_cw32(pm8001_ha, circularQ->ci_pci_bar, circularQ->ci_offset,
1392 circularQ->consumer_idx);
1394 producer_index = pm8001_read_32(circularQ->pi_virt);
1395 circularQ->producer_index = cpu_to_le32(producer_index);
1397 circularQ->consumer_idx, circularQ->producer_index);
1405 * @circularQ: the outbound queue table.
1410 struct outbound_queue_table *circularQ,
1418 if (le32_to_cpu(circularQ->producer_index)
1419 != circularQ->consumer_idx) {
1422 (circularQ->base_virt +
1423 circularQ->consumer_idx * pm8001_ha->iomb_size);
1429 msgHeader_tmp, circularQ->consumer_idx,
1430 circularQ->producer_index);
1441 circularQ->consumer_idx,
1442 circularQ->producer_index,
1446 circularQ->consumer_idx =
1447 (circularQ->consumer_idx +
1455 circularQ->ci_pci_bar,
1456 circularQ->ci_offset,
1457 circularQ->consumer_idx);
1460 circularQ->consumer_idx =
1461 (circularQ->consumer_idx +
1467 pm8001_cw32(pm8001_ha, circularQ->ci_pci_bar,
1468 circularQ->ci_offset,
1469 circularQ->consumer_idx);
1474 void *pi_virt = circularQ->pi_virt;
1483 circularQ->producer_index = cpu_to_le32(producer_index);
1485 } while (le32_to_cpu(circularQ->producer_index) !=
1486 circularQ->consumer_idx);
1704 struct inbound_queue_table *circularQ;
1733 circularQ = &pm8001_ha->inbnd_q_tbl[0];
1740 ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &task_abort,
1759 struct inbound_queue_table *circularQ;
1800 circularQ = &pm8001_ha->inbnd_q_tbl[0];
1815 res = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &sata_cmd,
3268 struct inbound_queue_table *circularQ;
3271 circularQ = &pm8001_ha->inbnd_q_tbl[Qnum];
3277 pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &payload,
4024 struct outbound_queue_table *circularQ;
4031 circularQ = &pm8001_ha->outbnd_q_tbl[vec];
4033 ret = pm8001_mpi_msg_consume(pm8001_ha, circularQ, &pMsg1, &bc);
4039 circularQ, bc);
4043 circularQ->producer_index =
4044 cpu_to_le32(pm8001_read_32(circularQ->pi_virt));
4045 if (le32_to_cpu(circularQ->producer_index) ==
4046 circularQ->consumer_idx)
4100 struct inbound_queue_table *circularQ;
4126 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4137 rc = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc,
4168 struct inbound_queue_table *circularQ;
4184 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4205 ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &ssp_cmd,
4223 struct inbound_queue_table *circularQ;
4227 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4314 ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &sata_cmd,
4328 struct inbound_queue_table *circularQ;
4332 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4349 ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opcode, &payload,
4363 struct inbound_queue_table *circularQ;
4367 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4371 ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opcode, &payload,
4385 struct inbound_queue_table *circularQ;
4394 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4431 rc = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &payload,
4448 struct inbound_queue_table *circularQ;
4450 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4456 ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &payload,
4471 struct inbound_queue_table *circularQ;
4475 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4479 ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &payload,
4519 struct inbound_queue_table *circularQ;
4521 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4533 ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &task_abort,
4575 struct inbound_queue_table *circularQ;
4587 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4588 ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &sspTMCmd,
4601 struct inbound_queue_table *circularQ;
4612 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4679 rc = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &nvmd_req,
4696 struct inbound_queue_table *circularQ;
4705 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4764 rc = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &nvmd_req,
4785 struct inbound_queue_table *circularQ;
4790 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4801 ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &payload,
4939 struct inbound_queue_table *circularQ;
4951 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4955 rc = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &payload,
4968 struct inbound_queue_table *circularQ;
4979 circularQ = &pm8001_ha->inbnd_q_tbl[0];
4984 rc = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &payload,