Lines Matching refs:queue_group
74 struct pqi_queue_group *queue_group, enum pqi_io_path path,
81 unsigned int cdb_length, struct pqi_queue_group *queue_group,
84 struct scsi_cmnd *scmd, struct pqi_queue_group *queue_group,
88 struct scsi_cmnd *scmd, struct pqi_queue_group *queue_group,
2973 struct pqi_queue_group *queue_group) in pqi_raid_bypass_submit_scsi_cmd() argument
3054 return pqi_aio_submit_r1_write_io(ctrl_info, scmd, queue_group, in pqi_raid_bypass_submit_scsi_cmd()
3058 return pqi_aio_submit_r56_write_io(ctrl_info, scmd, queue_group, in pqi_raid_bypass_submit_scsi_cmd()
3064 rmd.cdb, rmd.cdb_length, queue_group, in pqi_raid_bypass_submit_scsi_cmd()
3409 static int pqi_process_io_intr(struct pqi_ctrl_info *ctrl_info, struct pqi_queue_group *queue_group) in pqi_process_io_intr() argument
3419 oq_ci = queue_group->oq_ci_copy; in pqi_process_io_intr()
3422 oq_pi = readl(queue_group->oq_pi); in pqi_process_io_intr()
3434 response = queue_group->oq_element_array + in pqi_process_io_intr()
3501 queue_group->oq_ci_copy = oq_ci; in pqi_process_io_intr()
3502 writel(oq_ci, queue_group->oq_ci); in pqi_process_io_intr()
3528 struct pqi_queue_group *queue_group; in pqi_send_event_ack() local
3530 queue_group = &ctrl_info->queue_groups[PQI_DEFAULT_QUEUE_GROUP]; in pqi_send_event_ack()
3531 put_unaligned_le16(queue_group->oq_id, &iu->header.response_queue_id); in pqi_send_event_ack()
3534 spin_lock_irqsave(&queue_group->submit_lock[RAID_PATH], flags); in pqi_send_event_ack()
3536 iq_pi = queue_group->iq_pi_copy[RAID_PATH]; in pqi_send_event_ack()
3537 iq_ci = readl(queue_group->iq_ci[RAID_PATH]); in pqi_send_event_ack()
3544 &queue_group->submit_lock[RAID_PATH], flags); in pqi_send_event_ack()
3550 next_element = queue_group->iq_element_array[RAID_PATH] + in pqi_send_event_ack()
3556 queue_group->iq_pi_copy[RAID_PATH] = iq_pi; in pqi_send_event_ack()
3562 writel(iq_pi, queue_group->iq_pi[RAID_PATH]); in pqi_send_event_ack()
3564 spin_unlock_irqrestore(&queue_group->submit_lock[RAID_PATH], flags); in pqi_send_event_ack()
4026 struct pqi_queue_group *queue_group; in pqi_irq_handler() local
4030 queue_group = data; in pqi_irq_handler()
4031 ctrl_info = queue_group->ctrl_info; in pqi_irq_handler()
4036 num_io_responses_handled = pqi_process_io_intr(ctrl_info, queue_group); in pqi_irq_handler()
4051 pqi_start_io(ctrl_info, queue_group, RAID_PATH, NULL); in pqi_irq_handler()
4052 pqi_start_io(ctrl_info, queue_group, AIO_PATH, NULL); in pqi_irq_handler()
4135 struct pqi_queue_group *queue_group; in pqi_alloc_operational_queues() local
4191 queue_group = &ctrl_info->queue_groups[i]; in pqi_alloc_operational_queues()
4192 queue_group->iq_element_array[RAID_PATH] = element_array; in pqi_alloc_operational_queues()
4193 queue_group->iq_element_array_bus_addr[RAID_PATH] = in pqi_alloc_operational_queues()
4199 queue_group->iq_element_array[AIO_PATH] = element_array; in pqi_alloc_operational_queues()
4200 queue_group->iq_element_array_bus_addr[AIO_PATH] = in pqi_alloc_operational_queues()
4209 queue_group = &ctrl_info->queue_groups[i]; in pqi_alloc_operational_queues()
4210 queue_group->oq_element_array = element_array; in pqi_alloc_operational_queues()
4211 queue_group->oq_element_array_bus_addr = in pqi_alloc_operational_queues()
4230 queue_group = &ctrl_info->queue_groups[i]; in pqi_alloc_operational_queues()
4231 queue_group->iq_ci[RAID_PATH] = next_queue_index; in pqi_alloc_operational_queues()
4232 queue_group->iq_ci_bus_addr[RAID_PATH] = in pqi_alloc_operational_queues()
4239 queue_group->iq_ci[AIO_PATH] = next_queue_index; in pqi_alloc_operational_queues()
4240 queue_group->iq_ci_bus_addr[AIO_PATH] = in pqi_alloc_operational_queues()
4247 queue_group->oq_pi = next_queue_index; in pqi_alloc_operational_queues()
4248 queue_group->oq_pi_bus_addr = in pqi_alloc_operational_queues()
4479 struct pqi_queue_group *queue_group, enum pqi_io_path path, in pqi_start_io() argument
4493 spin_lock_irqsave(&queue_group->submit_lock[path], flags); in pqi_start_io()
4496 io_request->queue_group = queue_group; in pqi_start_io()
4498 &queue_group->request_list[path]); in pqi_start_io()
4501 iq_pi = queue_group->iq_pi_copy[path]; in pqi_start_io()
4504 &queue_group->request_list[path], request_list_entry) { in pqi_start_io()
4514 iq_ci = readl(queue_group->iq_ci[path]); in pqi_start_io()
4520 put_unaligned_le16(queue_group->oq_id, in pqi_start_io()
4523 next_element = queue_group->iq_element_array[path] + in pqi_start_io()
4535 memcpy(queue_group->iq_element_array[path], in pqi_start_io()
4546 if (iq_pi != queue_group->iq_pi_copy[path]) { in pqi_start_io()
4547 queue_group->iq_pi_copy[path] = iq_pi; in pqi_start_io()
4552 writel(iq_pi, queue_group->iq_pi[path]); in pqi_start_io()
4555 spin_unlock_irqrestore(&queue_group->submit_lock[path], flags); in pqi_start_io()
4890 struct pqi_queue_group *queue_group; in pqi_create_queue_group() local
4894 queue_group = &ctrl_info->queue_groups[group_number]; in pqi_create_queue_group()
4905 put_unaligned_le16(queue_group->iq_id[RAID_PATH], in pqi_create_queue_group()
4908 (u64)queue_group->iq_element_array_bus_addr[RAID_PATH], in pqi_create_queue_group()
4910 put_unaligned_le64((u64)queue_group->iq_ci_bus_addr[RAID_PATH], in pqi_create_queue_group()
4926 queue_group->iq_pi[RAID_PATH] = ctrl_info->iomem_base + in pqi_create_queue_group()
4940 put_unaligned_le16(queue_group->iq_id[AIO_PATH], in pqi_create_queue_group()
4942 put_unaligned_le64((u64)queue_group-> in pqi_create_queue_group()
4945 put_unaligned_le64((u64)queue_group->iq_ci_bus_addr[AIO_PATH], in pqi_create_queue_group()
4961 queue_group->iq_pi[AIO_PATH] = ctrl_info->iomem_base + in pqi_create_queue_group()
4976 put_unaligned_le16(queue_group->iq_id[AIO_PATH], in pqi_create_queue_group()
4997 put_unaligned_le16(queue_group->oq_id, in pqi_create_queue_group()
4999 put_unaligned_le64((u64)queue_group->oq_element_array_bus_addr, in pqi_create_queue_group()
5001 put_unaligned_le64((u64)queue_group->oq_pi_bus_addr, in pqi_create_queue_group()
5008 put_unaligned_le16(queue_group->int_msg_num, in pqi_create_queue_group()
5019 queue_group->oq_ci = ctrl_info->iomem_base + in pqi_create_queue_group()
5544 struct pqi_queue_group *queue_group, bool io_high_prio) in pqi_raid_submit_io() argument
5621 pqi_start_io(ctrl_info, queue_group, RAID_PATH, io_request); in pqi_raid_submit_io()
5628 struct pqi_queue_group *queue_group) in pqi_raid_submit_scsi_cmd() argument
5634 return pqi_raid_submit_io(ctrl_info, device, scmd, queue_group, io_high_prio); in pqi_raid_submit_scsi_cmd()
5681 struct pqi_queue_group *queue_group) in pqi_aio_submit_scsi_cmd() argument
5688 scmd->cmnd, scmd->cmd_len, queue_group, NULL, in pqi_aio_submit_scsi_cmd()
5694 unsigned int cdb_length, struct pqi_queue_group *queue_group, in pqi_aio_submit_io() argument
5763 pqi_start_io(ctrl_info, queue_group, AIO_PATH, io_request); in pqi_aio_submit_io()
5769 struct scsi_cmnd *scmd, struct pqi_queue_group *queue_group, in pqi_aio_submit_r1_write_io() argument
5824 pqi_start_io(ctrl_info, queue_group, AIO_PATH, io_request); in pqi_aio_submit_r1_write_io()
5830 struct scsi_cmnd *scmd, struct pqi_queue_group *queue_group, in pqi_aio_submit_r56_write_io() argument
5891 pqi_start_io(ctrl_info, queue_group, AIO_PATH, io_request); in pqi_aio_submit_r56_write_io()
6023 struct pqi_queue_group *queue_group; in pqi_scsi_queue_command() local
6061 queue_group = &ctrl_info->queue_groups[hw_queue]; in pqi_scsi_queue_command()
6068 rc = pqi_raid_bypass_submit_scsi_cmd(ctrl_info, device, scmd, queue_group); in pqi_scsi_queue_command()
6075 rc = pqi_raid_submit_scsi_cmd(ctrl_info, device, scmd, queue_group); in pqi_scsi_queue_command()
6078 rc = pqi_aio_submit_scsi_cmd(ctrl_info, device, scmd, queue_group); in pqi_scsi_queue_command()
6080 rc = pqi_raid_submit_scsi_cmd(ctrl_info, device, scmd, queue_group); in pqi_scsi_queue_command()
6098 struct pqi_queue_group *queue_group; in pqi_queued_io_count() local
6104 queue_group = &ctrl_info->queue_groups[i]; in pqi_queued_io_count()
6106 spin_lock_irqsave(&queue_group->submit_lock[path], flags); in pqi_queued_io_count()
6107 list_for_each_entry(io_request, &queue_group->request_list[path], request_list_entry) in pqi_queued_io_count()
6109 spin_unlock_irqrestore(&queue_group->submit_lock[path], flags); in pqi_queued_io_count()
6121 struct pqi_queue_group *queue_group; in pqi_nonempty_inbound_queue_count() local
6128 queue_group = &ctrl_info->queue_groups[i]; in pqi_nonempty_inbound_queue_count()
6130 iq_pi = queue_group->iq_pi_copy[path]; in pqi_nonempty_inbound_queue_count()
6131 iq_ci = readl(queue_group->iq_ci[path]); in pqi_nonempty_inbound_queue_count()
6185 struct pqi_queue_group *queue_group; in pqi_fail_io_queued_for_device() local
6193 queue_group = &ctrl_info->queue_groups[i]; in pqi_fail_io_queued_for_device()
6197 &queue_group->submit_lock[path], flags); in pqi_fail_io_queued_for_device()
6200 &queue_group->request_list[path], in pqi_fail_io_queued_for_device()
6220 &queue_group->submit_lock[path], flags); in pqi_fail_io_queued_for_device()