Lines Matching defs:ihost
83 * isci_remote_device_ready() - This function is called by the ihost when the
86 * @ihost: our valid isci_host
90 static void isci_remote_device_ready(struct isci_host *ihost, struct isci_remote_device *idev)
92 dev_dbg(&ihost->pdev->dev,
98 wake_up(&ihost->eventq);
102 struct isci_host *ihost,
112 dev_dbg(&ihost->pdev->dev,
118 return sci_controller_terminate_request(ihost, idev, ireq);
125 struct isci_host *ihost = idev->owning_port->owning_controller;
130 struct isci_request *ireq = ihost->reqs[i];
133 s = sci_remote_device_terminate_req(ihost, idev, chk, ireq);
154 struct isci_host *ihost,
162 spin_lock_irqsave(&ihost->scic_lock, flags);
165 spin_unlock_irqrestore(&ihost->scic_lock, flags);
171 struct isci_host *ihost,
178 spin_lock_irqsave(&ihost->scic_lock, flags);
181 spin_unlock_irqrestore(&ihost->scic_lock, flags);
187 struct isci_host *ihost,
195 spin_lock_irqsave(&ihost->scic_lock, flags);
198 dev_dbg(&ihost->pdev->dev, "%s: failed isci_get_device(idev=%p)\n",
200 spin_unlock_irqrestore(&ihost->scic_lock, flags);
209 dev_dbg(&ihost->pdev->dev,
220 sci_remote_device_terminate_req(ihost, idev, 0, ireq);
221 spin_unlock_irqrestore(&ihost->scic_lock, flags);
222 if (!wait_event_timeout(ihost->eventq,
223 isci_check_reqterm(ihost, idev, ireq,
227 dev_warn(&ihost->pdev->dev, "%s host%d timeout single\n",
228 __func__, ihost->id);
229 dev_dbg(&ihost->pdev->dev,
246 spin_lock_irqsave(&ihost->scic_lock, flags);
249 isci_free_tag(ihost, ireq->io_tag);
250 spin_unlock_irqrestore(&ihost->scic_lock, flags);
254 spin_unlock_irqrestore(&ihost->scic_lock, flags);
255 if (!wait_event_timeout(ihost->eventq,
256 isci_check_devempty(ihost, idev,
260 dev_warn(&ihost->pdev->dev, "%s host%d timeout all\n",
261 __func__, ihost->id);
262 dev_dbg(&ihost->pdev->dev,
280 dev_dbg(&ihost->pdev->dev, "%s: idev=%p, wait done\n",
288 * isci_remote_device_not_ready() - This function is called by the ihost when
291 * @ihost: This parameter specifies the isci host object.
297 static void isci_remote_device_not_ready(struct isci_host *ihost,
301 dev_dbg(&ihost->pdev->dev,
445 struct isci_host *ihost = idev->owning_port->owning_controller;
459 sci_controller_release_frame(ihost, frame_index);
472 status = sci_unsolicited_frame_control_get_header(&ihost->uf_control,
481 ireq = sci_request_by_tag(ihost, be16_to_cpu(hdr.tag));
489 sci_controller_release_frame(ihost, frame_index);
496 status = sci_unsolicited_frame_control_get_header(&ihost->uf_control,
519 sci_controller_release_frame(ihost, frame_index);
654 enum sci_status sci_remote_device_start_io(struct isci_host *ihost,
790 enum sci_status sci_remote_device_complete_io(struct isci_host *ihost,
872 enum sci_status sci_remote_device_start_task(struct isci_host *ihost,
985 struct isci_host *ihost = idev->owning_port->owning_controller;
991 isci_remote_device_ready(ihost, idev);
1019 struct isci_host *ihost;
1027 ihost = idev->owning_port->owning_controller;
1028 sci_controller_free_remote_node_context(ihost, idev,
1038 * @ihost: This parameter specifies the isci host object.
1042 static void isci_remote_device_deconstruct(struct isci_host *ihost, struct isci_remote_device *idev)
1044 dev_dbg(&ihost->pdev->dev,
1061 struct isci_host *ihost = idev->owning_port->owning_controller;
1069 isci_remote_device_deconstruct(ihost, idev);
1071 sci_controller_remote_device_stopped(ihost, idev);
1077 struct isci_host *ihost = idev->owning_port->owning_controller;
1079 isci_remote_device_not_ready(ihost, idev,
1086 struct isci_host *ihost = idev->owning_port->owning_controller;
1094 isci_remote_device_ready(ihost, idev);
1103 struct isci_host *ihost = idev->owning_port->owning_controller;
1105 isci_remote_device_not_ready(ihost, idev,
1113 struct isci_host *ihost = idev->owning_port->owning_controller;
1115 dev_dbg(&ihost->pdev->dev,
1124 struct isci_host *ihost = idev->owning_port->owning_controller;
1126 dev_dbg(&ihost->pdev->dev,
1152 struct isci_host *ihost = idev->owning_port->owning_controller;
1156 isci_remote_device_not_ready(ihost, idev,
1163 struct isci_host *ihost = idev->owning_port->owning_controller;
1166 isci_remote_device_not_ready(ihost, idev,
1173 struct isci_host *ihost = idev->owning_port->owning_controller;
1175 isci_remote_device_ready(ihost, idev);
1181 struct isci_host *ihost = idev->owning_port->owning_controller;
1185 isci_remote_device_not_ready(ihost, idev,
1357 struct isci_host *ihost = idev->owning_port->owning_controller;
1369 wake_up(&ihost->eventq);
1373 struct isci_host *ihost,
1379 spin_lock_irqsave(&ihost->scic_lock, flags);
1383 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1389 struct isci_host *ihost,
1392 dev_dbg(&ihost->pdev->dev, "%s: starting resume wait: %p\n",
1396 if (!wait_event_timeout(ihost->eventq,
1397 isci_remote_device_test_resume_done(ihost, idev),
1400 dev_warn(&ihost->pdev->dev, "%s: #### Timeout waiting for "
1405 dev_dbg(&ihost->pdev->dev, "%s: resume wait done: %p\n",
1410 struct isci_host *ihost,
1417 spin_lock_irqsave(&ihost->scic_lock, flags);
1430 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1432 isci_remote_device_wait_for_resume_from_abort(ihost, idev);
1478 struct isci_host *ihost = iport->isci_host;
1488 dev_dbg(&ihost->pdev->dev, "%s: construct failed: %d\n",
1498 dev_warn(&ihost->pdev->dev, "remote device start failed: %d\n",
1508 * @ihost: This parameter specifies the isci host object.
1514 isci_remote_device_alloc(struct isci_host *ihost, struct isci_port *iport)
1520 idev = &ihost->devices[i];
1526 dev_warn(&ihost->pdev->dev, "%s: failed\n", __func__);
1538 struct isci_host *ihost = idev->isci_port->isci_host;
1548 wake_up(&ihost->eventq);
1554 * @ihost: This parameter specifies the isci host object.
1557 * The status of the ihost request to stop.
1559 enum sci_status isci_remote_device_stop(struct isci_host *ihost, struct isci_remote_device *idev)
1564 dev_dbg(&ihost->pdev->dev,
1567 spin_lock_irqsave(&ihost->scic_lock, flags);
1573 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1579 wait_for_device_stop(ihost, idev);
1581 dev_dbg(&ihost->pdev->dev,
1594 struct isci_host *ihost = dev_to_ihost(dev);
1597 dev_dbg(&ihost->pdev->dev,
1601 isci_remote_device_stop(ihost, idev);
1660 struct isci_host *ihost,
1668 spin_lock_irqsave(&ihost->scic_lock, flags);
1671 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1674 status = isci_remote_device_terminate_requests(ihost, idev, ireq);
1676 dev_dbg(&ihost->pdev->dev,
1698 struct isci_host *ihost,
1704 spin_lock_irqsave(&ihost->scic_lock, flags);
1706 spin_unlock_irqrestore(&ihost->scic_lock, flags);