aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_scsi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_scsi.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_scsi.c79
1 files changed, 36 insertions, 43 deletions
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
index 36fd2e75da1c..6eedb23980d6 100644
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
@@ -112,7 +112,7 @@ lpfc_debug_save_dif(struct scsi_cmnd *cmnd)
112} 112}
113 113
114/** 114/**
115 * lpfc_update_stats: Update statistical data for the command completion. 115 * lpfc_update_stats - Update statistical data for the command completion
116 * @phba: Pointer to HBA object. 116 * @phba: Pointer to HBA object.
117 * @lpfc_cmd: lpfc scsi command object pointer. 117 * @lpfc_cmd: lpfc scsi command object pointer.
118 * 118 *
@@ -165,8 +165,7 @@ lpfc_update_stats(struct lpfc_hba *phba, struct lpfc_scsi_buf *lpfc_cmd)
165} 165}
166 166
167/** 167/**
168 * lpfc_send_sdev_queuedepth_change_event: Posts a queuedepth change 168 * lpfc_send_sdev_queuedepth_change_event - Posts a queuedepth change event
169 * event.
170 * @phba: Pointer to HBA context object. 169 * @phba: Pointer to HBA context object.
171 * @vport: Pointer to vport object. 170 * @vport: Pointer to vport object.
172 * @ndlp: Pointer to FC node associated with the target. 171 * @ndlp: Pointer to FC node associated with the target.
@@ -220,7 +219,7 @@ lpfc_send_sdev_queuedepth_change_event(struct lpfc_hba *phba,
220} 219}
221 220
222/** 221/**
223 * lpfc_rampdown_queue_depth: Post RAMP_DOWN_QUEUE event to worker thread. 222 * lpfc_rampdown_queue_depth - Post RAMP_DOWN_QUEUE event to worker thread
224 * @phba: The Hba for which this call is being executed. 223 * @phba: The Hba for which this call is being executed.
225 * 224 *
226 * This routine is called when there is resource error in driver or firmware. 225 * This routine is called when there is resource error in driver or firmware.
@@ -261,7 +260,7 @@ lpfc_rampdown_queue_depth(struct lpfc_hba *phba)
261} 260}
262 261
263/** 262/**
264 * lpfc_rampup_queue_depth: Post RAMP_UP_QUEUE event for worker thread. 263 * lpfc_rampup_queue_depth - Post RAMP_UP_QUEUE event for worker thread
265 * @phba: The Hba for which this call is being executed. 264 * @phba: The Hba for which this call is being executed.
266 * 265 *
267 * This routine post WORKER_RAMP_UP_QUEUE event for @phba vport. This routine 266 * This routine post WORKER_RAMP_UP_QUEUE event for @phba vport. This routine
@@ -303,7 +302,7 @@ lpfc_rampup_queue_depth(struct lpfc_vport *vport,
303} 302}
304 303
305/** 304/**
306 * lpfc_ramp_down_queue_handler: WORKER_RAMP_DOWN_QUEUE event handler. 305 * lpfc_ramp_down_queue_handler - WORKER_RAMP_DOWN_QUEUE event handler
307 * @phba: The Hba for which this call is being executed. 306 * @phba: The Hba for which this call is being executed.
308 * 307 *
309 * This routine is called to process WORKER_RAMP_DOWN_QUEUE event for worker 308 * This routine is called to process WORKER_RAMP_DOWN_QUEUE event for worker
@@ -361,7 +360,7 @@ lpfc_ramp_down_queue_handler(struct lpfc_hba *phba)
361} 360}
362 361
363/** 362/**
364 * lpfc_ramp_up_queue_handler: WORKER_RAMP_UP_QUEUE event handler. 363 * lpfc_ramp_up_queue_handler - WORKER_RAMP_UP_QUEUE event handler
365 * @phba: The Hba for which this call is being executed. 364 * @phba: The Hba for which this call is being executed.
366 * 365 *
367 * This routine is called to process WORKER_RAMP_UP_QUEUE event for worker 366 * This routine is called to process WORKER_RAMP_UP_QUEUE event for worker
@@ -410,7 +409,7 @@ lpfc_ramp_up_queue_handler(struct lpfc_hba *phba)
410} 409}
411 410
412/** 411/**
413 * lpfc_scsi_dev_block: set all scsi hosts to block state. 412 * lpfc_scsi_dev_block - set all scsi hosts to block state
414 * @phba: Pointer to HBA context object. 413 * @phba: Pointer to HBA context object.
415 * 414 *
416 * This function walks vport list and set each SCSI host to block state 415 * This function walks vport list and set each SCSI host to block state
@@ -439,7 +438,7 @@ lpfc_scsi_dev_block(struct lpfc_hba *phba)
439} 438}
440 439
441/** 440/**
442 * lpfc_new_scsi_buf: Scsi buffer allocator. 441 * lpfc_new_scsi_buf - Scsi buffer allocator
443 * @vport: The virtual port for which this call being executed. 442 * @vport: The virtual port for which this call being executed.
444 * 443 *
445 * This routine allocates a scsi buffer, which contains all the necessary 444 * This routine allocates a scsi buffer, which contains all the necessary
@@ -563,7 +562,7 @@ lpfc_new_scsi_buf(struct lpfc_vport *vport)
563} 562}
564 563
565/** 564/**
566 * lpfc_get_scsi_buf: Get a scsi buffer from lpfc_scsi_buf_list list of Hba. 565 * lpfc_get_scsi_buf - Get a scsi buffer from lpfc_scsi_buf_list list of Hba
567 * @phba: The Hba for which this call is being executed. 566 * @phba: The Hba for which this call is being executed.
568 * 567 *
569 * This routine removes a scsi buffer from head of @phba lpfc_scsi_buf_list list 568 * This routine removes a scsi buffer from head of @phba lpfc_scsi_buf_list list
@@ -592,7 +591,7 @@ lpfc_get_scsi_buf(struct lpfc_hba * phba)
592} 591}
593 592
594/** 593/**
595 * lpfc_release_scsi_buf: Return a scsi buffer back to hba lpfc_scsi_buf_list list. 594 * lpfc_release_scsi_buf - Return a scsi buffer back to hba's lpfc_scsi_buf_list
596 * @phba: The Hba for which this call is being executed. 595 * @phba: The Hba for which this call is being executed.
597 * @psb: The scsi buffer which is being released. 596 * @psb: The scsi buffer which is being released.
598 * 597 *
@@ -611,7 +610,7 @@ lpfc_release_scsi_buf(struct lpfc_hba *phba, struct lpfc_scsi_buf *psb)
611} 610}
612 611
613/** 612/**
614 * lpfc_scsi_prep_dma_buf: Routine to do DMA mapping for scsi buffer. 613 * lpfc_scsi_prep_dma_buf - Routine to do DMA mapping for scsi buffer
615 * @phba: The Hba for which this call is being executed. 614 * @phba: The Hba for which this call is being executed.
616 * @lpfc_cmd: The scsi buffer which is going to be mapped. 615 * @lpfc_cmd: The scsi buffer which is going to be mapped.
617 * 616 *
@@ -823,9 +822,9 @@ lpfc_cmd_blksize(struct scsi_cmnd *sc)
823/** 822/**
824 * lpfc_get_cmd_dif_parms - Extract DIF parameters from SCSI command 823 * lpfc_get_cmd_dif_parms - Extract DIF parameters from SCSI command
825 * @sc: in: SCSI command 824 * @sc: in: SCSI command
826 * @apptagmask out: app tag mask 825 * @apptagmask: out: app tag mask
827 * @apptagval out: app tag value 826 * @apptagval: out: app tag value
828 * @reftag out: ref tag (reference tag) 827 * @reftag: out: ref tag (reference tag)
829 * 828 *
830 * Description: 829 * Description:
831 * Extract DIF paramters from the command if possible. Otherwise, 830 * Extract DIF paramters from the command if possible. Otherwise,
@@ -1413,7 +1412,7 @@ out:
1413} 1412}
1414 1413
1415/** 1414/**
1416 * lpfc_send_scsi_error_event: Posts an event when there is SCSI error. 1415 * lpfc_send_scsi_error_event - Posts an event when there is SCSI error
1417 * @phba: Pointer to hba context object. 1416 * @phba: Pointer to hba context object.
1418 * @vport: Pointer to vport object. 1417 * @vport: Pointer to vport object.
1419 * @lpfc_cmd: Pointer to lpfc scsi command which reported the error. 1418 * @lpfc_cmd: Pointer to lpfc scsi command which reported the error.
@@ -1505,7 +1504,7 @@ lpfc_send_scsi_error_event(struct lpfc_hba *phba, struct lpfc_vport *vport,
1505} 1504}
1506 1505
1507/** 1506/**
1508 * lpfc_scsi_unprep_dma_buf: Routine to un-map DMA mapping of scatter gather. 1507 * lpfc_scsi_unprep_dma_buf - Routine to un-map DMA mapping of scatter gather
1509 * @phba: The Hba for which this call is being executed. 1508 * @phba: The Hba for which this call is being executed.
1510 * @psb: The scsi buffer which is going to be un-mapped. 1509 * @psb: The scsi buffer which is going to be un-mapped.
1511 * 1510 *
@@ -1530,7 +1529,7 @@ lpfc_scsi_unprep_dma_buf(struct lpfc_hba * phba, struct lpfc_scsi_buf * psb)
1530} 1529}
1531 1530
1532/** 1531/**
1533 * lpfc_handler_fcp_err: FCP response handler. 1532 * lpfc_handler_fcp_err - FCP response handler
1534 * @vport: The virtual port for which this call is being executed. 1533 * @vport: The virtual port for which this call is being executed.
1535 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure. 1534 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure.
1536 * @rsp_iocb: The response IOCB which contains FCP error. 1535 * @rsp_iocb: The response IOCB which contains FCP error.
@@ -1674,7 +1673,7 @@ lpfc_handle_fcp_err(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,
1674} 1673}
1675 1674
1676/** 1675/**
1677 * lpfc_scsi_cmd_iocb_cmpl: Scsi cmnd IOCB completion routine. 1676 * lpfc_scsi_cmd_iocb_cmpl - Scsi cmnd IOCB completion routine
1678 * @phba: The Hba for which this call is being executed. 1677 * @phba: The Hba for which this call is being executed.
1679 * @pIocbIn: The command IOCBQ for the scsi cmnd. 1678 * @pIocbIn: The command IOCBQ for the scsi cmnd.
1680 * @pIocbOut: The response IOCBQ for the scsi cmnd . 1679 * @pIocbOut: The response IOCBQ for the scsi cmnd .
@@ -1935,7 +1934,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn,
1935} 1934}
1936 1935
1937/** 1936/**
1938 * lpfc_fcpcmd_to_iocb - copy the fcp_cmd data into the IOCB. 1937 * lpfc_fcpcmd_to_iocb - copy the fcp_cmd data into the IOCB
1939 * @data: A pointer to the immediate command data portion of the IOCB. 1938 * @data: A pointer to the immediate command data portion of the IOCB.
1940 * @fcp_cmnd: The FCP Command that is provided by the SCSI layer. 1939 * @fcp_cmnd: The FCP Command that is provided by the SCSI layer.
1941 * 1940 *
@@ -1953,7 +1952,7 @@ lpfc_fcpcmd_to_iocb(uint8_t *data, struct fcp_cmnd *fcp_cmnd)
1953} 1952}
1954 1953
1955/** 1954/**
1956 * lpfc_scsi_prep_cmnd: Routine to convert scsi cmnd to FCP information unit. 1955 * lpfc_scsi_prep_cmnd - Routine to convert scsi cmnd to FCP information unit
1957 * @vport: The virtual port for which this call is being executed. 1956 * @vport: The virtual port for which this call is being executed.
1958 * @lpfc_cmd: The scsi command which needs to send. 1957 * @lpfc_cmd: The scsi command which needs to send.
1959 * @pnode: Pointer to lpfc_nodelist. 1958 * @pnode: Pointer to lpfc_nodelist.
@@ -2047,7 +2046,7 @@ lpfc_scsi_prep_cmnd(struct lpfc_vport *vport, struct lpfc_scsi_buf *lpfc_cmd,
2047} 2046}
2048 2047
2049/** 2048/**
2050 * lpfc_scsi_prep_task_mgmt_cmnd: Convert scsi TM cmnd to FCP information unit. 2049 * lpfc_scsi_prep_task_mgmt_cmnd - Convert scsi TM cmnd to FCP information unit
2051 * @vport: The virtual port for which this call is being executed. 2050 * @vport: The virtual port for which this call is being executed.
2052 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure. 2051 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure.
2053 * @lun: Logical unit number. 2052 * @lun: Logical unit number.
@@ -2110,7 +2109,7 @@ lpfc_scsi_prep_task_mgmt_cmd(struct lpfc_vport *vport,
2110} 2109}
2111 2110
2112/** 2111/**
2113 * lpc_taskmgmt_def_cmpl: IOCB completion routine for task management command. 2112 * lpfc_taskmgmt_def_cmpl - IOCB completion routine for task management command
2114 * @phba: The Hba for which this call is being executed. 2113 * @phba: The Hba for which this call is being executed.
2115 * @cmdiocbq: Pointer to lpfc_iocbq data structure. 2114 * @cmdiocbq: Pointer to lpfc_iocbq data structure.
2116 * @rspiocbq: Pointer to lpfc_iocbq data structure. 2115 * @rspiocbq: Pointer to lpfc_iocbq data structure.
@@ -2131,7 +2130,7 @@ lpfc_tskmgmt_def_cmpl(struct lpfc_hba *phba,
2131} 2130}
2132 2131
2133/** 2132/**
2134 * lpfc_scsi_tgt_reset: Target reset handler. 2133 * lpfc_scsi_tgt_reset - Target reset handler
2135 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure 2134 * @lpfc_cmd: Pointer to lpfc_scsi_buf data structure
2136 * @vport: The virtual port for which this call is being executed. 2135 * @vport: The virtual port for which this call is being executed.
2137 * @tgt_id: Target ID. 2136 * @tgt_id: Target ID.
@@ -2198,7 +2197,7 @@ lpfc_scsi_tgt_reset(struct lpfc_scsi_buf *lpfc_cmd, struct lpfc_vport *vport,
2198} 2197}
2199 2198
2200/** 2199/**
2201 * lpfc_info: Info entry point of scsi_host_template data structure. 2200 * lpfc_info - Info entry point of scsi_host_template data structure
2202 * @host: The scsi host for which this call is being executed. 2201 * @host: The scsi host for which this call is being executed.
2203 * 2202 *
2204 * This routine provides module information about hba. 2203 * This routine provides module information about hba.
@@ -2236,7 +2235,7 @@ lpfc_info(struct Scsi_Host *host)
2236} 2235}
2237 2236
2238/** 2237/**
2239 * lpfc_poll_rearm_time: Routine to modify fcp_poll timer of hba. 2238 * lpfc_poll_rearm_time - Routine to modify fcp_poll timer of hba
2240 * @phba: The Hba for which this call is being executed. 2239 * @phba: The Hba for which this call is being executed.
2241 * 2240 *
2242 * This routine modifies fcp_poll_timer field of @phba by cfg_poll_tmo. 2241 * This routine modifies fcp_poll_timer field of @phba by cfg_poll_tmo.
@@ -2253,7 +2252,7 @@ static __inline__ void lpfc_poll_rearm_timer(struct lpfc_hba * phba)
2253} 2252}
2254 2253
2255/** 2254/**
2256 * lpfc_poll_start_timer: Routine to start fcp_poll_timer of HBA. 2255 * lpfc_poll_start_timer - Routine to start fcp_poll_timer of HBA
2257 * @phba: The Hba for which this call is being executed. 2256 * @phba: The Hba for which this call is being executed.
2258 * 2257 *
2259 * This routine starts the fcp_poll_timer of @phba. 2258 * This routine starts the fcp_poll_timer of @phba.
@@ -2264,7 +2263,7 @@ void lpfc_poll_start_timer(struct lpfc_hba * phba)
2264} 2263}
2265 2264
2266/** 2265/**
2267 * lpfc_poll_timeout: Restart polling timer. 2266 * lpfc_poll_timeout - Restart polling timer
2268 * @ptr: Map to lpfc_hba data structure pointer. 2267 * @ptr: Map to lpfc_hba data structure pointer.
2269 * 2268 *
2270 * This routine restarts fcp_poll timer, when FCP ring polling is enable 2269 * This routine restarts fcp_poll timer, when FCP ring polling is enable
@@ -2283,8 +2282,7 @@ void lpfc_poll_timeout(unsigned long ptr)
2283} 2282}
2284 2283
2285/** 2284/**
2286 * lpfc_queuecommand: Queuecommand entry point of Scsi Host Templater data 2285 * lpfc_queuecommand - scsi_host_template queuecommand entry point
2287 * structure.
2288 * @cmnd: Pointer to scsi_cmnd data structure. 2286 * @cmnd: Pointer to scsi_cmnd data structure.
2289 * @done: Pointer to done routine. 2287 * @done: Pointer to done routine.
2290 * 2288 *
@@ -2450,7 +2448,7 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *))
2450} 2448}
2451 2449
2452/** 2450/**
2453 * lpfc_block_error_handler: Routine to block error handler. 2451 * lpfc_block_error_handler - Routine to block error handler
2454 * @cmnd: Pointer to scsi_cmnd data structure. 2452 * @cmnd: Pointer to scsi_cmnd data structure.
2455 * 2453 *
2456 * This routine blocks execution till fc_rport state is not FC_PORSTAT_BLCOEKD. 2454 * This routine blocks execution till fc_rport state is not FC_PORSTAT_BLCOEKD.
@@ -2472,8 +2470,7 @@ lpfc_block_error_handler(struct scsi_cmnd *cmnd)
2472} 2470}
2473 2471
2474/** 2472/**
2475 * lpfc_abort_handler: Eh_abort_handler entry point of Scsi Host Template data 2473 * lpfc_abort_handler - scsi_host_template eh_abort_handler entry point
2476 *structure.
2477 * @cmnd: Pointer to scsi_cmnd data structure. 2474 * @cmnd: Pointer to scsi_cmnd data structure.
2478 * 2475 *
2479 * This routine aborts @cmnd pending in base driver. 2476 * This routine aborts @cmnd pending in base driver.
@@ -2578,8 +2575,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
2578} 2575}
2579 2576
2580/** 2577/**
2581 * lpfc_device_reset_handler: eh_device_reset entry point of Scsi Host Template 2578 * lpfc_device_reset_handler - scsi_host_template eh_device_reset entry point
2582 *data structure.
2583 * @cmnd: Pointer to scsi_cmnd data structure. 2579 * @cmnd: Pointer to scsi_cmnd data structure.
2584 * 2580 *
2585 * This routine does a device reset by sending a TARGET_RESET task management 2581 * This routine does a device reset by sending a TARGET_RESET task management
@@ -2587,7 +2583,7 @@ lpfc_abort_handler(struct scsi_cmnd *cmnd)
2587 * 2583 *
2588 * Return code : 2584 * Return code :
2589 * 0x2003 - Error 2585 * 0x2003 - Error
2590 * 0ex2002 - Success 2586 * 0x2002 - Success
2591 **/ 2587 **/
2592static int 2588static int
2593lpfc_device_reset_handler(struct scsi_cmnd *cmnd) 2589lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
@@ -2707,8 +2703,7 @@ lpfc_device_reset_handler(struct scsi_cmnd *cmnd)
2707} 2703}
2708 2704
2709/** 2705/**
2710 * lpfc_bus_reset_handler: eh_bus_reset_handler entry point of Scsi Host 2706 * lpfc_bus_reset_handler - scsi_host_template eh_bus_reset_handler entry point
2711 * Template data structure.
2712 * @cmnd: Pointer to scsi_cmnd data structure. 2707 * @cmnd: Pointer to scsi_cmnd data structure.
2713 * 2708 *
2714 * This routine does target reset to all target on @cmnd->device->host. 2709 * This routine does target reset to all target on @cmnd->device->host.
@@ -2808,8 +2803,7 @@ lpfc_bus_reset_handler(struct scsi_cmnd *cmnd)
2808} 2803}
2809 2804
2810/** 2805/**
2811 * lpfc_slave_alloc: slave_alloc entry point of Scsi Host Template data 2806 * lpfc_slave_alloc - scsi_host_template slave_alloc entry point
2812 * structure.
2813 * @sdev: Pointer to scsi_device. 2807 * @sdev: Pointer to scsi_device.
2814 * 2808 *
2815 * This routine populates the cmds_per_lun count + 2 scsi_bufs into this host's 2809 * This routine populates the cmds_per_lun count + 2 scsi_bufs into this host's
@@ -2883,8 +2877,7 @@ lpfc_slave_alloc(struct scsi_device *sdev)
2883} 2877}
2884 2878
2885/** 2879/**
2886 * lpfc_slave_configure: slave_configure entry point of Scsi Host Templater data 2880 * lpfc_slave_configure - scsi_host_template slave_configure entry point
2887 * structure.
2888 * @sdev: Pointer to scsi_device. 2881 * @sdev: Pointer to scsi_device.
2889 * 2882 *
2890 * This routine configures following items 2883 * This routine configures following items
@@ -2925,7 +2918,7 @@ lpfc_slave_configure(struct scsi_device *sdev)
2925} 2918}
2926 2919
2927/** 2920/**
2928 * lpfc_slave_destroy: slave_destroy entry point of SHT data structure. 2921 * lpfc_slave_destroy - slave_destroy entry point of SHT data structure
2929 * @sdev: Pointer to scsi_device. 2922 * @sdev: Pointer to scsi_device.
2930 * 2923 *
2931 * This routine sets @sdev hostatdata filed to null. 2924 * This routine sets @sdev hostatdata filed to null.