Lines Matching refs:ihost

70 * @ihost: host on which the the request was queued
76 static void isci_task_refuse(struct isci_host *ihost, struct sas_task *task,
84 dev_dbg(&ihost->pdev->dev, "%s: task = %p, response=%d, status=%d\n",
126 struct isci_host *ihost = dev_to_ihost(task->dev);
133 spin_lock_irqsave(&ihost->scic_lock, flags);
136 tag = isci_alloc_tag(ihost);
137 spin_unlock_irqrestore(&ihost->scic_lock, flags);
139 dev_dbg(&ihost->pdev->dev,
145 isci_task_refuse(ihost, task, SAS_TASK_UNDELIVERED,
151 isci_task_refuse(ihost, task, SAS_TASK_COMPLETE,
161 isci_task_refuse(ihost, task,
169 status = isci_request_execute(ihost, idev, task, tag);
181 isci_task_refuse(ihost, task,
193 isci_task_refuse(ihost, task,
202 spin_lock_irqsave(&ihost->scic_lock, flags);
206 isci_tci_free(ihost, ISCI_TAG_TCI(tag));
207 spin_unlock_irqrestore(&ihost->scic_lock, flags);
214 static struct isci_request *isci_task_request_build(struct isci_host *ihost,
222 dev_dbg(&ihost->pdev->dev,
228 ireq = isci_tmf_request_from_tag(ihost, isci_tmf, tag);
233 status = sci_task_request_construct(ihost, idev, tag,
237 dev_warn(&ihost->pdev->dev,
256 static int isci_task_execute_tmf(struct isci_host *ihost,
268 spin_lock_irqsave(&ihost->scic_lock, flags);
269 tag = isci_alloc_tag(ihost);
270 spin_unlock_irqrestore(&ihost->scic_lock, flags);
281 dev_dbg(&ihost->pdev->dev,
287 dev_dbg(&ihost->pdev->dev,
295 ireq = isci_task_request_build(ihost, idev, tag, tmf);
299 spin_lock_irqsave(&ihost->scic_lock, flags);
302 status = sci_controller_start_task(ihost, idev, ireq);
305 dev_dbg(&ihost->pdev->dev,
310 spin_unlock_irqrestore(&ihost->scic_lock, flags);
313 spin_unlock_irqrestore(&ihost->scic_lock, flags);
316 isci_remote_device_resume_from_abort(ihost, idev);
326 isci_remote_device_suspend_terminate(ihost, idev, ireq);
329 isci_print_tmf(ihost, tmf);
334 dev_dbg(&ihost->pdev->dev,
342 dev_dbg(&ihost->pdev->dev,
350 spin_lock_irqsave(&ihost->scic_lock, flags);
351 isci_tci_free(ihost, ISCI_TAG_TCI(tag));
352 spin_unlock_irqrestore(&ihost->scic_lock, flags);
414 struct isci_host *ihost = dev_to_ihost(dev);
419 spin_lock_irqsave(&ihost->scic_lock, flags);
421 spin_unlock_irqrestore(&ihost->scic_lock, flags);
423 dev_dbg(&ihost->pdev->dev,
425 __func__, dev, ihost, idev);
429 dev_dbg(&ihost->pdev->dev, "%s: No dev\n", __func__);
436 if (isci_remote_device_suspend_terminate(ihost, idev, NULL)
448 ret = isci_task_send_lu_reset_sas(ihost, idev, lun);
480 struct isci_host *ihost = dev_to_ihost(task->dev);
494 spin_lock_irqsave(&ihost->scic_lock, flags);
508 spin_unlock_irqrestore(&ihost->scic_lock, flags);
510 dev_warn(&ihost->pdev->dev,
541 dev_warn(&ihost->pdev->dev,
547 if (isci_remote_device_suspend_terminate(ihost, idev, old_request)
549 dev_warn(&ihost->pdev->dev,
556 spin_lock_irqsave(&ihost->scic_lock, flags);
563 spin_unlock_irqrestore(&ihost->scic_lock, flags);
566 isci_remote_device_resume_from_abort(ihost, idev);
568 dev_warn(&ihost->pdev->dev,
595 spin_unlock_irqrestore(&ihost->scic_lock, flags);
599 ret = isci_task_execute_tmf(ihost, idev, &tmf,
603 dev_warn(&ihost->pdev->dev,
688 * @ihost: This parameter specifies the ISCI host object
696 isci_task_request_complete(struct isci_host *ihost,
703 dev_dbg(&ihost->pdev->dev,
724 sci_controller_complete_io(ihost, ireq->target_device, ireq);
731 wake_up_all(&ihost->eventq);
734 isci_free_tag(ihost, ireq->io_tag);
741 static int isci_reset_device(struct isci_host *ihost,
749 dev_dbg(&ihost->pdev->dev, "%s: idev %p\n", __func__, idev);
752 if (isci_remote_device_suspend_terminate(ihost, idev, NULL)
765 struct isci_phy *iphy = &ihost->phys[phy->number];
767 reset_stat = isci_port_perform_hard_reset(ihost, iport,
773 isci_remote_device_resume_from_abort(ihost, idev);
775 dev_dbg(&ihost->pdev->dev, "%s: idev %p complete, reset_stat=%d.\n",
784 struct isci_host *ihost = dev_to_ihost(dev);
789 spin_lock_irqsave(&ihost->scic_lock, flags);
791 spin_unlock_irqrestore(&ihost->scic_lock, flags);
801 ret = isci_reset_device(ihost, dev, idev);