Lines Matching refs: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,
400 struct isci_host *ihost = idev->owning_port->owning_controller;
414 sci_controller_release_frame(ihost, frame_index);
427 status = sci_unsolicited_frame_control_get_header(&ihost->uf_control,
436 ireq = sci_request_by_tag(ihost, be16_to_cpu(hdr.tag));
444 sci_controller_release_frame(ihost, frame_index);
451 status = sci_unsolicited_frame_control_get_header(&ihost->uf_control,
474 sci_controller_release_frame(ihost, frame_index);
609 enum sci_status sci_remote_device_start_io(struct isci_host *ihost,
745 enum sci_status sci_remote_device_complete_io(struct isci_host *ihost,
827 enum sci_status sci_remote_device_start_task(struct isci_host *ihost,
940 struct isci_host *ihost = idev->owning_port->owning_controller;
946 isci_remote_device_ready(ihost, idev);
974 struct isci_host *ihost;
982 ihost = idev->owning_port->owning_controller;
983 sci_controller_free_remote_node_context(ihost, idev,
993 * @ihost: This parameter specifies the isci host object.
997 static void isci_remote_device_deconstruct(struct isci_host *ihost, struct isci_remote_device *idev)
999 dev_dbg(&ihost->pdev->dev,
1016 struct isci_host *ihost = idev->owning_port->owning_controller;
1024 isci_remote_device_deconstruct(ihost, idev);
1026 sci_controller_remote_device_stopped(ihost, idev);
1032 struct isci_host *ihost = idev->owning_port->owning_controller;
1034 isci_remote_device_not_ready(ihost, idev,
1041 struct isci_host *ihost = idev->owning_port->owning_controller;
1049 isci_remote_device_ready(ihost, idev);
1058 struct isci_host *ihost = idev->owning_port->owning_controller;
1060 isci_remote_device_not_ready(ihost, idev,
1068 struct isci_host *ihost = idev->owning_port->owning_controller;
1070 dev_dbg(&ihost->pdev->dev,
1079 struct isci_host *ihost = idev->owning_port->owning_controller;
1081 dev_dbg(&ihost->pdev->dev,
1107 struct isci_host *ihost = idev->owning_port->owning_controller;
1111 isci_remote_device_not_ready(ihost, idev,
1118 struct isci_host *ihost = idev->owning_port->owning_controller;
1121 isci_remote_device_not_ready(ihost, idev,
1128 struct isci_host *ihost = idev->owning_port->owning_controller;
1130 isci_remote_device_ready(ihost, idev);
1136 struct isci_host *ihost = idev->owning_port->owning_controller;
1140 isci_remote_device_not_ready(ihost, idev,
1312 struct isci_host *ihost = idev->owning_port->owning_controller;
1324 wake_up(&ihost->eventq);
1328 struct isci_host *ihost,
1334 spin_lock_irqsave(&ihost->scic_lock, flags);
1338 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1344 struct isci_host *ihost,
1347 dev_dbg(&ihost->pdev->dev, "%s: starting resume wait: %p\n",
1351 if (!wait_event_timeout(ihost->eventq,
1352 isci_remote_device_test_resume_done(ihost, idev),
1355 dev_warn(&ihost->pdev->dev, "%s: #### Timeout waiting for "
1360 dev_dbg(&ihost->pdev->dev, "%s: resume wait done: %p\n",
1365 struct isci_host *ihost,
1372 spin_lock_irqsave(&ihost->scic_lock, flags);
1385 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1387 isci_remote_device_wait_for_resume_from_abort(ihost, idev);
1433 struct isci_host *ihost = iport->isci_host;
1443 dev_dbg(&ihost->pdev->dev, "%s: construct failed: %d\n",
1453 dev_warn(&ihost->pdev->dev, "remote device start failed: %d\n",
1463 * @ihost: This parameter specifies the isci host object.
1469 isci_remote_device_alloc(struct isci_host *ihost, struct isci_port *iport)
1475 idev = &ihost->devices[i];
1481 dev_warn(&ihost->pdev->dev, "%s: failed\n", __func__);
1493 struct isci_host *ihost = idev->isci_port->isci_host;
1503 wake_up(&ihost->eventq);
1509 * @ihost: This parameter specifies the isci host object.
1512 * The status of the ihost request to stop.
1514 enum sci_status isci_remote_device_stop(struct isci_host *ihost, struct isci_remote_device *idev)
1519 dev_dbg(&ihost->pdev->dev,
1522 spin_lock_irqsave(&ihost->scic_lock, flags);
1528 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1534 wait_for_device_stop(ihost, idev);
1536 dev_dbg(&ihost->pdev->dev,
1549 struct isci_host *ihost = dev_to_ihost(dev);
1552 dev_dbg(&ihost->pdev->dev,
1556 isci_remote_device_stop(ihost, idev);
1615 struct isci_host *ihost,
1623 spin_lock_irqsave(&ihost->scic_lock, flags);
1626 spin_unlock_irqrestore(&ihost->scic_lock, flags);
1629 status = isci_remote_device_terminate_requests(ihost, idev, ireq);
1631 dev_dbg(&ihost->pdev->dev,