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
296 static void isci_remote_device_not_ready(struct isci_host *ihost,
300 dev_dbg(&ihost->pdev->dev,
444 struct isci_host *ihost = idev->owning_port->owning_controller;
458 sci_controller_release_frame(ihost, frame_index);
471 status = sci_unsolicited_frame_control_get_header(&ihost->uf_control,
480 ireq = sci_request_by_tag(ihost, be16_to_cpu(hdr.tag));
488 sci_controller_release_frame(ihost, frame_index);
495 status = sci_unsolicited_frame_control_get_header(&ihost->uf_control,
518 sci_controller_release_frame(ihost, frame_index);
653 enum sci_status sci_remote_device_start_io(struct isci_host *ihost,
789 enum sci_status sci_remote_device_complete_io(struct isci_host *ihost,
871 enum sci_status sci_remote_device_start_task(struct isci_host *ihost,
984 struct isci_host *ihost = idev->owning_port->owning_controller;
990 isci_remote_device_ready(ihost, idev);
1018 struct isci_host *ihost;
1026 ihost = idev->owning_port->owning_controller;
1027 sci_controller_free_remote_node_context(ihost, idev,
1037 * @ihost: This parameter specifies the isci host object.
1041 static void isci_remote_device_deconstruct(struct isci_host *ihost, struct isci_remote_device *idev)
1043 dev_dbg(&ihost->pdev->dev,
1060 struct isci_host *ihost = idev->owning_port->owning_controller;
1068 isci_remote_device_deconstruct(ihost, idev);
1070 sci_controller_remote_device_stopped(ihost, idev);
1076 struct isci_host *ihost = idev->owning_port->owning_controller;
1078 isci_remote_device_not_ready(ihost, idev,
1085 struct isci_host *ihost = idev->owning_port->owning_controller;
1093 isci_remote_device_ready(ihost, idev);
1102 struct isci_host *ihost = idev->owning_port->owning_controller;
1104 isci_remote_device_not_ready(ihost, idev,
1112 struct isci_host *ihost = idev->owning_port->owning_controller;
1114 dev_dbg(&ihost->pdev->dev,
1123 struct isci_host *ihost = idev->owning_port->owning_controller;
1125 dev_dbg(&ihost->pdev->dev,
1151 struct isci_host *ihost = idev->owning_port->owning_controller;
1155 isci_remote_device_not_ready(ihost, idev,
1162 struct isci_host *ihost = idev->owning_port->owning_controller;
1165 isci_remote_device_not_ready(ihost, idev,
1172 struct isci_host *ihost = idev->owning_port->owning_controller;
1174 isci_remote_device_ready(ihost, idev);
1180 struct isci_host *ihost = idev->owning_port->owning_controller;
1184 isci_remote_device_not_ready(ihost, idev,
1356 struct isci_host *ihost = idev->owning_port->owning_controller;
1368 wake_up(&ihost->eventq);
1372 struct isci_host *ihost,
1378 spin_lock_irqsave(&ihost->scic_lock, flags);
1382 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1388 struct isci_host *ihost,
1391 dev_dbg(&ihost->pdev->dev, "%s: starting resume wait: %p\n",
1395 if (!wait_event_timeout(ihost->eventq,
1396 isci_remote_device_test_resume_done(ihost, idev),
1399 dev_warn(&ihost->pdev->dev, "%s: #### Timeout waiting for "
1404 dev_dbg(&ihost->pdev->dev, "%s: resume wait done: %p\n",
1409 struct isci_host *ihost,
1416 spin_lock_irqsave(&ihost->scic_lock, flags);
1429 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1431 isci_remote_device_wait_for_resume_from_abort(ihost, idev);
1477 struct isci_host *ihost = iport->isci_host;
1487 dev_dbg(&ihost->pdev->dev, "%s: construct failed: %d\n",
1497 dev_warn(&ihost->pdev->dev, "remote device start failed: %d\n",
1512 isci_remote_device_alloc(struct isci_host *ihost, struct isci_port *iport)
1518 idev = &ihost->devices[i];
1524 dev_warn(&ihost->pdev->dev, "%s: failed\n", __func__);
1536 struct isci_host *ihost = idev->isci_port->isci_host;
1546 wake_up(&ihost->eventq);
1555 * The status of the ihost request to stop.
1557 enum sci_status isci_remote_device_stop(struct isci_host *ihost, struct isci_remote_device *idev)
1562 dev_dbg(&ihost->pdev->dev,
1565 spin_lock_irqsave(&ihost->scic_lock, flags);
1571 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1577 wait_for_device_stop(ihost, idev);
1579 dev_dbg(&ihost->pdev->dev,
1593 struct isci_host *ihost = dev_to_ihost(dev);
1596 dev_dbg(&ihost->pdev->dev,
1600 isci_remote_device_stop(ihost, idev);
1659 struct isci_host *ihost,
1667 spin_lock_irqsave(&ihost->scic_lock, flags);
1670 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1673 status = isci_remote_device_terminate_requests(ihost, idev, ireq);
1675 dev_dbg(&ihost->pdev->dev,
1697 struct isci_host *ihost,
1703 spin_lock_irqsave(&ihost->scic_lock, flags);
1705 spin_unlock_irqrestore(&ihost->scic_lock, flags);