|
@@ -205,6 +205,7 @@ struct cmdhdr_tbl_entry {
|
|
|
* Description information bitdefs
|
|
|
*/
|
|
|
enum {
|
|
|
+ CMD_DESC_RES = (1 << 11),
|
|
|
VENDOR_SPECIFIC_BIST = (1 << 10),
|
|
|
CMD_DESC_SNOOP_ENABLE = (1 << 9),
|
|
|
FPDMA_QUEUED_CMD = (1 << 8),
|
|
@@ -388,7 +389,7 @@ static void sata_fsl_qc_prep(struct ata_queued_cmd *qc)
|
|
|
void __iomem *hcr_base = host_priv->hcr_base;
|
|
|
unsigned int tag = sata_fsl_tag(qc->tag, hcr_base);
|
|
|
struct command_desc *cd;
|
|
|
- u32 desc_info = CMD_DESC_SNOOP_ENABLE;
|
|
|
+ u32 desc_info = CMD_DESC_RES | CMD_DESC_SNOOP_ENABLE;
|
|
|
u32 num_prde = 0;
|
|
|
u32 ttl_dwords = 0;
|
|
|
dma_addr_t cd_paddr;
|
|
@@ -841,7 +842,7 @@ issue_srst:
|
|
|
|
|
|
/* device reset/SRST is a control register update FIS, uses tag0 */
|
|
|
sata_fsl_setup_cmd_hdr_entry(pp, 0,
|
|
|
- SRST_CMD | CMD_DESC_SNOOP_ENABLE, 0, 0, 5);
|
|
|
+ SRST_CMD | CMD_DESC_RES | CMD_DESC_SNOOP_ENABLE, 0, 0, 5);
|
|
|
|
|
|
tf.ctl |= ATA_SRST; /* setup SRST bit in taskfile control reg */
|
|
|
ata_tf_to_fis(&tf, pmp, 0, cfis);
|
|
@@ -887,7 +888,8 @@ issue_srst:
|
|
|
* using ATA signature D2H register FIS to the host controller.
|
|
|
*/
|
|
|
|
|
|
- sata_fsl_setup_cmd_hdr_entry(pp, 0, CMD_DESC_SNOOP_ENABLE, 0, 0, 5);
|
|
|
+ sata_fsl_setup_cmd_hdr_entry(pp, 0, CMD_DESC_RES | CMD_DESC_SNOOP_ENABLE,
|
|
|
+ 0, 0, 5);
|
|
|
|
|
|
tf.ctl &= ~ATA_SRST; /* 2nd H2D Ctl. register FIS */
|
|
|
ata_tf_to_fis(&tf, pmp, 0, cfis);
|