diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-06-27 17:57:03 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2011-07-03 07:04:52 -0400 |
commit | 5076a1a97e2fa61c847a5fdd4b1991faf7716da6 (patch) | |
tree | 251d207e75439da25d4d3a0353e0b853c8e79f2b /drivers/scsi/isci/task.c | |
parent | ba7cb22342a66505a831bb7e4541fef90e0193c9 (diff) |
isci: unify isci_request and scic_sds_request
They are one in the same object so remove the distinction. The near
duplicate fields (owning_controller, and isci_host) will be cleaned up
after the scic_sds_contoller isci_host unification.
Reported-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi/isci/task.c')
-rw-r--r-- | drivers/scsi/isci/task.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/scsi/isci/task.c b/drivers/scsi/isci/task.c index d2dba835489..700708c8267 100644 --- a/drivers/scsi/isci/task.c +++ b/drivers/scsi/isci/task.c | |||
@@ -258,7 +258,7 @@ static struct isci_request *isci_task_request_build(struct isci_host *ihost, | |||
258 | 258 | ||
259 | /* let the core do it's construct. */ | 259 | /* let the core do it's construct. */ |
260 | status = scic_task_request_construct(&ihost->sci, &idev->sci, tag, | 260 | status = scic_task_request_construct(&ihost->sci, &idev->sci, tag, |
261 | &ireq->sci); | 261 | ireq); |
262 | 262 | ||
263 | if (status != SCI_SUCCESS) { | 263 | if (status != SCI_SUCCESS) { |
264 | dev_warn(&ihost->pdev->dev, | 264 | dev_warn(&ihost->pdev->dev, |
@@ -272,7 +272,7 @@ static struct isci_request *isci_task_request_build(struct isci_host *ihost, | |||
272 | /* XXX convert to get this from task->tproto like other drivers */ | 272 | /* XXX convert to get this from task->tproto like other drivers */ |
273 | if (dev->dev_type == SAS_END_DEV) { | 273 | if (dev->dev_type == SAS_END_DEV) { |
274 | isci_tmf->proto = SAS_PROTOCOL_SSP; | 274 | isci_tmf->proto = SAS_PROTOCOL_SSP; |
275 | status = scic_task_request_construct_ssp(&ireq->sci); | 275 | status = scic_task_request_construct_ssp(ireq); |
276 | if (status != SCI_SUCCESS) | 276 | if (status != SCI_SUCCESS) |
277 | return NULL; | 277 | return NULL; |
278 | } | 278 | } |
@@ -337,7 +337,7 @@ int isci_task_execute_tmf(struct isci_host *ihost, | |||
337 | /* start the TMF io. */ | 337 | /* start the TMF io. */ |
338 | status = scic_controller_start_task(&ihost->sci, | 338 | status = scic_controller_start_task(&ihost->sci, |
339 | sci_device, | 339 | sci_device, |
340 | &ireq->sci); | 340 | ireq); |
341 | 341 | ||
342 | if (status != SCI_TASK_SUCCESS) { | 342 | if (status != SCI_TASK_SUCCESS) { |
343 | dev_warn(&ihost->pdev->dev, | 343 | dev_warn(&ihost->pdev->dev, |
@@ -371,7 +371,7 @@ int isci_task_execute_tmf(struct isci_host *ihost, | |||
371 | 371 | ||
372 | scic_controller_terminate_request(&ihost->sci, | 372 | scic_controller_terminate_request(&ihost->sci, |
373 | &isci_device->sci, | 373 | &isci_device->sci, |
374 | &ireq->sci); | 374 | ireq); |
375 | 375 | ||
376 | spin_unlock_irqrestore(&ihost->scic_lock, flags); | 376 | spin_unlock_irqrestore(&ihost->scic_lock, flags); |
377 | 377 | ||
@@ -565,7 +565,7 @@ static void isci_terminate_request_core( | |||
565 | status = scic_controller_terminate_request( | 565 | status = scic_controller_terminate_request( |
566 | &isci_host->sci, | 566 | &isci_host->sci, |
567 | &isci_device->sci, | 567 | &isci_device->sci, |
568 | &isci_request->sci); | 568 | isci_request); |
569 | } | 569 | } |
570 | spin_unlock_irqrestore(&isci_host->scic_lock, flags); | 570 | spin_unlock_irqrestore(&isci_host->scic_lock, flags); |
571 | 571 | ||
@@ -1235,7 +1235,6 @@ isci_task_request_complete(struct isci_host *ihost, | |||
1235 | { | 1235 | { |
1236 | struct isci_tmf *tmf = isci_request_access_tmf(ireq); | 1236 | struct isci_tmf *tmf = isci_request_access_tmf(ireq); |
1237 | struct completion *tmf_complete; | 1237 | struct completion *tmf_complete; |
1238 | struct scic_sds_request *sci_req = &ireq->sci; | ||
1239 | 1238 | ||
1240 | dev_dbg(&ihost->pdev->dev, | 1239 | dev_dbg(&ihost->pdev->dev, |
1241 | "%s: request = %p, status=%d\n", | 1240 | "%s: request = %p, status=%d\n", |
@@ -1248,18 +1247,18 @@ isci_task_request_complete(struct isci_host *ihost, | |||
1248 | 1247 | ||
1249 | if (tmf->proto == SAS_PROTOCOL_SSP) { | 1248 | if (tmf->proto == SAS_PROTOCOL_SSP) { |
1250 | memcpy(&tmf->resp.resp_iu, | 1249 | memcpy(&tmf->resp.resp_iu, |
1251 | &sci_req->ssp.rsp, | 1250 | &ireq->ssp.rsp, |
1252 | SSP_RESP_IU_MAX_SIZE); | 1251 | SSP_RESP_IU_MAX_SIZE); |
1253 | } else if (tmf->proto == SAS_PROTOCOL_SATA) { | 1252 | } else if (tmf->proto == SAS_PROTOCOL_SATA) { |
1254 | memcpy(&tmf->resp.d2h_fis, | 1253 | memcpy(&tmf->resp.d2h_fis, |
1255 | &sci_req->stp.rsp, | 1254 | &ireq->stp.rsp, |
1256 | sizeof(struct dev_to_host_fis)); | 1255 | sizeof(struct dev_to_host_fis)); |
1257 | } | 1256 | } |
1258 | 1257 | ||
1259 | /* PRINT_TMF( ((struct isci_tmf *)request->task)); */ | 1258 | /* PRINT_TMF( ((struct isci_tmf *)request->task)); */ |
1260 | tmf_complete = tmf->complete; | 1259 | tmf_complete = tmf->complete; |
1261 | 1260 | ||
1262 | scic_controller_complete_io(&ihost->sci, ireq->sci.target_device, &ireq->sci); | 1261 | scic_controller_complete_io(&ihost->sci, ireq->target_device, ireq); |
1263 | /* set the 'terminated' flag handle to make sure it cannot be terminated | 1262 | /* set the 'terminated' flag handle to make sure it cannot be terminated |
1264 | * or completed again. | 1263 | * or completed again. |
1265 | */ | 1264 | */ |