Lines Matching refs:queue_group

61 	struct pqi_queue_group *queue_group, enum pqi_io_path path,
68 unsigned int cdb_length, struct pqi_queue_group *queue_group,
2245 struct pqi_queue_group *queue_group) in pqi_raid_bypass_submit_scsi_cmd() argument
2566 cdb, cdb_length, queue_group, encryption_info_ptr, true); in pqi_raid_bypass_submit_scsi_cmd()
2889 static int pqi_process_io_intr(struct pqi_ctrl_info *ctrl_info, struct pqi_queue_group *queue_group) in pqi_process_io_intr() argument
2899 oq_ci = queue_group->oq_ci_copy; in pqi_process_io_intr()
2902 oq_pi = readl(queue_group->oq_pi); in pqi_process_io_intr()
2914 response = queue_group->oq_element_array + in pqi_process_io_intr()
2983 queue_group->oq_ci_copy = oq_ci; in pqi_process_io_intr()
2984 writel(oq_ci, queue_group->oq_ci); in pqi_process_io_intr()
3010 struct pqi_queue_group *queue_group; in pqi_send_event_ack() local
3012 queue_group = &ctrl_info->queue_groups[PQI_DEFAULT_QUEUE_GROUP]; in pqi_send_event_ack()
3013 put_unaligned_le16(queue_group->oq_id, &iu->header.response_queue_id); in pqi_send_event_ack()
3016 spin_lock_irqsave(&queue_group->submit_lock[RAID_PATH], flags); in pqi_send_event_ack()
3018 iq_pi = queue_group->iq_pi_copy[RAID_PATH]; in pqi_send_event_ack()
3019 iq_ci = readl(queue_group->iq_ci[RAID_PATH]); in pqi_send_event_ack()
3026 &queue_group->submit_lock[RAID_PATH], flags); in pqi_send_event_ack()
3032 next_element = queue_group->iq_element_array[RAID_PATH] + in pqi_send_event_ack()
3038 queue_group->iq_pi_copy[RAID_PATH] = iq_pi; in pqi_send_event_ack()
3044 writel(iq_pi, queue_group->iq_pi[RAID_PATH]); in pqi_send_event_ack()
3046 spin_unlock_irqrestore(&queue_group->submit_lock[RAID_PATH], flags); in pqi_send_event_ack()
3444 struct pqi_queue_group *queue_group; in pqi_irq_handler() local
3448 queue_group = data; in pqi_irq_handler()
3449 ctrl_info = queue_group->ctrl_info; in pqi_irq_handler()
3454 num_io_responses_handled = pqi_process_io_intr(ctrl_info, queue_group); in pqi_irq_handler()
3469 pqi_start_io(ctrl_info, queue_group, RAID_PATH, NULL); in pqi_irq_handler()
3470 pqi_start_io(ctrl_info, queue_group, AIO_PATH, NULL); in pqi_irq_handler()
3549 struct pqi_queue_group *queue_group; in pqi_alloc_operational_queues() local
3605 queue_group = &ctrl_info->queue_groups[i]; in pqi_alloc_operational_queues()
3606 queue_group->iq_element_array[RAID_PATH] = element_array; in pqi_alloc_operational_queues()
3607 queue_group->iq_element_array_bus_addr[RAID_PATH] = in pqi_alloc_operational_queues()
3613 queue_group->iq_element_array[AIO_PATH] = element_array; in pqi_alloc_operational_queues()
3614 queue_group->iq_element_array_bus_addr[AIO_PATH] = in pqi_alloc_operational_queues()
3623 queue_group = &ctrl_info->queue_groups[i]; in pqi_alloc_operational_queues()
3624 queue_group->oq_element_array = element_array; in pqi_alloc_operational_queues()
3625 queue_group->oq_element_array_bus_addr = in pqi_alloc_operational_queues()
3644 queue_group = &ctrl_info->queue_groups[i]; in pqi_alloc_operational_queues()
3645 queue_group->iq_ci[RAID_PATH] = next_queue_index; in pqi_alloc_operational_queues()
3646 queue_group->iq_ci_bus_addr[RAID_PATH] = in pqi_alloc_operational_queues()
3653 queue_group->iq_ci[AIO_PATH] = next_queue_index; in pqi_alloc_operational_queues()
3654 queue_group->iq_ci_bus_addr[AIO_PATH] = in pqi_alloc_operational_queues()
3661 queue_group->oq_pi = next_queue_index; in pqi_alloc_operational_queues()
3662 queue_group->oq_pi_bus_addr = in pqi_alloc_operational_queues()
3891 struct pqi_queue_group *queue_group, enum pqi_io_path path, in pqi_start_io() argument
3905 spin_lock_irqsave(&queue_group->submit_lock[path], flags); in pqi_start_io()
3908 io_request->queue_group = queue_group; in pqi_start_io()
3910 &queue_group->request_list[path]); in pqi_start_io()
3913 iq_pi = queue_group->iq_pi_copy[path]; in pqi_start_io()
3916 &queue_group->request_list[path], request_list_entry) { in pqi_start_io()
3926 iq_ci = readl(queue_group->iq_ci[path]); in pqi_start_io()
3932 put_unaligned_le16(queue_group->oq_id, in pqi_start_io()
3935 next_element = queue_group->iq_element_array[path] + in pqi_start_io()
3947 memcpy(queue_group->iq_element_array[path], in pqi_start_io()
3958 if (iq_pi != queue_group->iq_pi_copy[path]) { in pqi_start_io()
3959 queue_group->iq_pi_copy[path] = iq_pi; in pqi_start_io()
3964 writel(iq_pi, queue_group->iq_pi[path]); in pqi_start_io()
3967 spin_unlock_irqrestore(&queue_group->submit_lock[path], flags); in pqi_start_io()
4337 struct pqi_queue_group *queue_group; in pqi_create_queue_group() local
4341 queue_group = &ctrl_info->queue_groups[group_number]; in pqi_create_queue_group()
4352 put_unaligned_le16(queue_group->iq_id[RAID_PATH], in pqi_create_queue_group()
4355 (u64)queue_group->iq_element_array_bus_addr[RAID_PATH], in pqi_create_queue_group()
4357 put_unaligned_le64((u64)queue_group->iq_ci_bus_addr[RAID_PATH], in pqi_create_queue_group()
4373 queue_group->iq_pi[RAID_PATH] = ctrl_info->iomem_base + in pqi_create_queue_group()
4387 put_unaligned_le16(queue_group->iq_id[AIO_PATH], in pqi_create_queue_group()
4389 put_unaligned_le64((u64)queue_group-> in pqi_create_queue_group()
4392 put_unaligned_le64((u64)queue_group->iq_ci_bus_addr[AIO_PATH], in pqi_create_queue_group()
4408 queue_group->iq_pi[AIO_PATH] = ctrl_info->iomem_base + in pqi_create_queue_group()
4423 put_unaligned_le16(queue_group->iq_id[AIO_PATH], in pqi_create_queue_group()
4444 put_unaligned_le16(queue_group->oq_id, in pqi_create_queue_group()
4446 put_unaligned_le64((u64)queue_group->oq_element_array_bus_addr, in pqi_create_queue_group()
4448 put_unaligned_le64((u64)queue_group->oq_pi_bus_addr, in pqi_create_queue_group()
4455 put_unaligned_le16(queue_group->int_msg_num, in pqi_create_queue_group()
4466 queue_group->oq_ci = ctrl_info->iomem_base + in pqi_create_queue_group()
4942 struct pqi_queue_group *queue_group) in pqi_raid_submit_scsi_cmd_with_io_request() argument
5024 pqi_start_io(ctrl_info, queue_group, RAID_PATH, io_request); in pqi_raid_submit_scsi_cmd_with_io_request()
5031 struct pqi_queue_group *queue_group) in pqi_raid_submit_scsi_cmd() argument
5038 device, scmd, queue_group); in pqi_raid_submit_scsi_cmd()
5118 struct pqi_queue_group *queue_group; in pqi_retry_raid_bypass() local
5130 queue_group = io_request->queue_group; in pqi_retry_raid_bypass()
5135 device, scmd, queue_group); in pqi_retry_raid_bypass()
5218 struct pqi_queue_group *queue_group) in pqi_aio_submit_scsi_cmd() argument
5221 scmd->cmnd, scmd->cmd_len, queue_group, NULL, false); in pqi_aio_submit_scsi_cmd()
5226 unsigned int cdb_length, struct pqi_queue_group *queue_group, in pqi_aio_submit_io() argument
5289 pqi_start_io(ctrl_info, queue_group, AIO_PATH, io_request); in pqi_aio_submit_io()
5336 struct pqi_queue_group *queue_group; in pqi_scsi_queue_command() local
5371 queue_group = &ctrl_info->queue_groups[hw_queue]; in pqi_scsi_queue_command()
5378 scmd, queue_group); in pqi_scsi_queue_command()
5385 rc = pqi_raid_submit_scsi_cmd(ctrl_info, device, scmd, queue_group); in pqi_scsi_queue_command()
5388 rc = pqi_aio_submit_scsi_cmd(ctrl_info, device, scmd, queue_group); in pqi_scsi_queue_command()
5390 rc = pqi_raid_submit_scsi_cmd(ctrl_info, device, scmd, queue_group); in pqi_scsi_queue_command()
5402 struct pqi_queue_group *queue_group) in pqi_wait_until_queued_io_drained() argument
5411 &queue_group->submit_lock[path], flags); in pqi_wait_until_queued_io_drained()
5413 list_empty(&queue_group->request_list[path]); in pqi_wait_until_queued_io_drained()
5415 &queue_group->submit_lock[path], flags); in pqi_wait_until_queued_io_drained()
5433 struct pqi_queue_group *queue_group; in pqi_wait_until_inbound_queues_empty() local
5438 queue_group = &ctrl_info->queue_groups[i]; in pqi_wait_until_inbound_queues_empty()
5440 rc = pqi_wait_until_queued_io_drained(ctrl_info, queue_group); in pqi_wait_until_inbound_queues_empty()
5445 iq_pi = queue_group->iq_pi_copy[path]; in pqi_wait_until_inbound_queues_empty()
5448 iq_ci = readl(queue_group->iq_ci[path]); in pqi_wait_until_inbound_queues_empty()
5467 struct pqi_queue_group *queue_group; in pqi_fail_io_queued_for_device() local
5475 queue_group = &ctrl_info->queue_groups[i]; in pqi_fail_io_queued_for_device()
5479 &queue_group->submit_lock[path], flags); in pqi_fail_io_queued_for_device()
5482 &queue_group->request_list[path], in pqi_fail_io_queued_for_device()
5498 &queue_group->submit_lock[path], flags); in pqi_fail_io_queued_for_device()
5507 struct pqi_queue_group *queue_group; in pqi_fail_io_queued_for_all_devices() local
5514 queue_group = &ctrl_info->queue_groups[i]; in pqi_fail_io_queued_for_all_devices()
5517 spin_lock_irqsave(&queue_group->submit_lock[path], in pqi_fail_io_queued_for_all_devices()
5521 &queue_group->request_list[path], in pqi_fail_io_queued_for_all_devices()
5534 &queue_group->submit_lock[path], flags); in pqi_fail_io_queued_for_all_devices()