• Mikael Pettersson's avatar
    sata_promise: handle ATAPI_NODATA ourselves · fba6edbd
    Mikael Pettersson authored
    This patch extends sata_promise to handle ATAPI_NODATA
    commands internally. However, commands destined to
    ATA_DFLAG_CDB_INTR devices are excluded from this and
    continue to be returned to libata.
    
    Concrete changes:
    - pdc_atapi_dma_pkt() is renamed to pdc_atapi_pkt(), and is
      extended to set up correct headers for NODATA packets
    - pdc_qc_prep() calls pdc_atapi_pkt() for ATAPI_NODATA
    - pdc_host_intr() handles ATAPI_NODATA
    - pdc_qc_issue_prot() sends ATAPI_NODATA packets via the
      chip's packet mechanism, except for CDB_INTR devices
    
    Tested on first- and second-generation chips, SATAPI and PATAPI,
    with no observable regressions.
    Signed-off-by: default avatarMikael Pettersson <mikpe@it.uu.se>
    Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
    fba6edbd
sata_promise.c 27.1 KB