@ -554,12 +554,6 @@ enum {
# define DIR_TO_DEVICE 2
# define DIR_TO_DEVICE 2
# define DIR_RESERVED 3
# define DIR_RESERVED 3
# define SATA_PROTOCOL_NONDATA 0x1
# define SATA_PROTOCOL_PIO 0x2
# define SATA_PROTOCOL_DMA 0x4
# define SATA_PROTOCOL_FPDMA 0x8
# define SATA_PROTOCOL_ATAPI 0x10
# define ERR_ON_TX_PHASE(err_phase) (err_phase == 0x2 || \
# define ERR_ON_TX_PHASE(err_phase) (err_phase == 0x2 || \
err_phase = = 0x4 | | err_phase = = 0x8 | | \
err_phase = = 0x4 | | err_phase = = 0x8 | | \
err_phase = = 0x6 | | err_phase = = 0xa )
err_phase = = 0x6 | | err_phase = = 0xa )
@ -2352,64 +2346,6 @@ out:
return sts ;
return sts ;
}
}
static u8 get_ata_protocol ( u8 cmd , int direction )
{
switch ( cmd ) {
case ATA_CMD_FPDMA_WRITE :
case ATA_CMD_FPDMA_READ :
case ATA_CMD_FPDMA_RECV :
case ATA_CMD_FPDMA_SEND :
case ATA_CMD_NCQ_NON_DATA :
return SATA_PROTOCOL_FPDMA ;
case ATA_CMD_DOWNLOAD_MICRO :
case ATA_CMD_ID_ATA :
case ATA_CMD_PMP_READ :
case ATA_CMD_READ_LOG_EXT :
case ATA_CMD_PIO_READ :
case ATA_CMD_PIO_READ_EXT :
case ATA_CMD_PMP_WRITE :
case ATA_CMD_WRITE_LOG_EXT :
case ATA_CMD_PIO_WRITE :
case ATA_CMD_PIO_WRITE_EXT :
return SATA_PROTOCOL_PIO ;
case ATA_CMD_DSM :
case ATA_CMD_DOWNLOAD_MICRO_DMA :
case ATA_CMD_PMP_READ_DMA :
case ATA_CMD_PMP_WRITE_DMA :
case ATA_CMD_READ :
case ATA_CMD_READ_EXT :
case ATA_CMD_READ_LOG_DMA_EXT :
case ATA_CMD_READ_STREAM_DMA_EXT :
case ATA_CMD_TRUSTED_RCV_DMA :
case ATA_CMD_TRUSTED_SND_DMA :
case ATA_CMD_WRITE :
case ATA_CMD_WRITE_EXT :
case ATA_CMD_WRITE_FUA_EXT :
case ATA_CMD_WRITE_QUEUED :
case ATA_CMD_WRITE_LOG_DMA_EXT :
case ATA_CMD_WRITE_STREAM_DMA_EXT :
return SATA_PROTOCOL_DMA ;
case ATA_CMD_CHK_POWER :
case ATA_CMD_DEV_RESET :
case ATA_CMD_EDD :
case ATA_CMD_FLUSH :
case ATA_CMD_FLUSH_EXT :
case ATA_CMD_VERIFY :
case ATA_CMD_VERIFY_EXT :
case ATA_CMD_SET_FEATURES :
case ATA_CMD_STANDBY :
case ATA_CMD_STANDBYNOW1 :
return SATA_PROTOCOL_NONDATA ;
default :
if ( direction = = DMA_NONE )
return SATA_PROTOCOL_NONDATA ;
return SATA_PROTOCOL_PIO ;
}
}
static int get_ncq_tag_v2_hw ( struct sas_task * task , u32 * tag )
static int get_ncq_tag_v2_hw ( struct sas_task * task , u32 * tag )
{
{
struct ata_queued_cmd * qc = task - > uldd_task ;
struct ata_queued_cmd * qc = task - > uldd_task ;
@ -2464,7 +2400,8 @@ static int prep_ata_v2_hw(struct hisi_hba *hisi_hba,
( task - > ata_task . fis . control & ATA_SRST ) )
( task - > ata_task . fis . control & ATA_SRST ) )
dw1 | = 1 < < CMD_HDR_RESET_OFF ;
dw1 | = 1 < < CMD_HDR_RESET_OFF ;
dw1 | = ( get_ata_protocol ( task - > ata_task . fis . command , task - > data_dir ) )
dw1 | = ( hisi_sas_get_ata_protocol (
task - > ata_task . fis . command , task - > data_dir ) )
< < CMD_HDR_FRAME_TYPE_OFF ;
< < CMD_HDR_FRAME_TYPE_OFF ;
dw1 | = sas_dev - > device_id < < CMD_HDR_DEV_ID_OFF ;
dw1 | = sas_dev - > device_id < < CMD_HDR_DEV_ID_OFF ;
hdr - > dw1 = cpu_to_le32 ( dw1 ) ;
hdr - > dw1 = cpu_to_le32 ( dw1 ) ;