.. | .. |
---|
254 | 254 | int (*qc_issue) (struct ata_queued_cmd *qc); |
---|
255 | 255 | |
---|
256 | 256 | |
---|
257 | | -Higher-level hooks, these two hooks can potentially supercede several of |
---|
| 257 | +Higher-level hooks, these two hooks can potentially supersede several of |
---|
258 | 258 | the above taskfile/DMA engine hooks. ``->qc_prep`` is called after the |
---|
259 | 259 | buffers have been DMA-mapped, and is typically used to populate the |
---|
260 | | -hardware's DMA scatter-gather table. Most drivers use the standard |
---|
261 | | -:c:func:`ata_qc_prep` helper function, but more advanced drivers roll their |
---|
262 | | -own. |
---|
| 260 | +hardware's DMA scatter-gather table. Some drivers use the standard |
---|
| 261 | +:c:func:`ata_bmdma_qc_prep` and :c:func:`ata_bmdma_dumb_qc_prep` helper |
---|
| 262 | +functions, but more advanced drivers roll their own. |
---|
263 | 263 | |
---|
264 | 264 | ``->qc_issue`` is used to make a command active, once the hardware and S/G |
---|
265 | 265 | tables have been prepared. IDE BMDMA drivers use the helper function |
---|
266 | | -:c:func:`ata_qc_issue_prot` for taskfile protocol-based dispatch. More |
---|
| 266 | +:c:func:`ata_sff_qc_issue` for taskfile protocol-based dispatch. More |
---|
267 | 267 | advanced drivers implement their own ``->qc_issue``. |
---|
268 | 268 | |
---|
269 | | -:c:func:`ata_qc_issue_prot` calls ``->tf_load()``, ``->bmdma_setup()``, and |
---|
| 269 | +:c:func:`ata_sff_qc_issue` calls ``->sff_tf_load()``, ``->bmdma_setup()``, and |
---|
270 | 270 | ``->bmdma_start()`` as necessary to initiate a transfer. |
---|
271 | 271 | |
---|
272 | 272 | Exception and probe handling (EH) |
---|
.. | .. |
---|
401 | 401 | ============== |
---|
402 | 402 | |
---|
403 | 403 | This chapter describes how errors are handled under libata. Readers are |
---|
404 | | -advised to read SCSI EH (Documentation/scsi/scsi_eh.txt) and ATA |
---|
| 404 | +advised to read SCSI EH (Documentation/scsi/scsi_eh.rst) and ATA |
---|
405 | 405 | exceptions doc first. |
---|
406 | 406 | |
---|
407 | 407 | Origins of commands |
---|
.. | .. |
---|
508 | 508 | |
---|
509 | 509 | 2. ATA_QCFLAG_ACTIVE is cleared from qc->flags. |
---|
510 | 510 | |
---|
511 | | -3. :c:func:`qc->complete_fn` callback is invoked. If the return value of the |
---|
| 511 | +3. :c:expr:`qc->complete_fn` callback is invoked. If the return value of the |
---|
512 | 512 | callback is not zero. Completion is short circuited and |
---|
513 | 513 | :c:func:`ata_qc_complete` returns. |
---|
514 | 514 | |
---|