aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/sata_sil24.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/sata_sil24.c')
-rw-r--r--drivers/ata/sata_sil24.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index 51a7c06803df..15a4067149b7 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
@@ -336,12 +336,10 @@ static struct sil24_cerr_info {
336struct sil24_port_priv { 336struct sil24_port_priv {
337 union sil24_cmd_block *cmd_block; /* 32 cmd blocks */ 337 union sil24_cmd_block *cmd_block; /* 32 cmd blocks */
338 dma_addr_t cmd_block_dma; /* DMA base addr for them */ 338 dma_addr_t cmd_block_dma; /* DMA base addr for them */
339 struct ata_taskfile tf; /* Cached taskfile registers */
340 int do_port_rst; 339 int do_port_rst;
341}; 340};
342 341
343static void sil24_dev_config(struct ata_device *dev); 342static void sil24_dev_config(struct ata_device *dev);
344static u8 sil24_check_status(struct ata_port *ap);
345static int sil24_scr_read(struct ata_port *ap, unsigned sc_reg, u32 *val); 343static int sil24_scr_read(struct ata_port *ap, unsigned sc_reg, u32 *val);
346static int sil24_scr_write(struct ata_port *ap, unsigned sc_reg, u32 val); 344static int sil24_scr_write(struct ata_port *ap, unsigned sc_reg, u32 val);
347static int sil24_qc_defer(struct ata_queued_cmd *qc); 345static int sil24_qc_defer(struct ata_queued_cmd *qc);
@@ -401,8 +399,6 @@ static struct scsi_host_template sil24_sht = {
401static struct ata_port_operations sil24_ops = { 399static struct ata_port_operations sil24_ops = {
402 .inherits = &sata_pmp_port_ops, 400 .inherits = &sata_pmp_port_ops,
403 401
404 .sff_check_status = sil24_check_status,
405 .sff_check_altstatus = sil24_check_status,
406 .qc_defer = sil24_qc_defer, 402 .qc_defer = sil24_qc_defer,
407 .qc_prep = sil24_qc_prep, 403 .qc_prep = sil24_qc_prep,
408 .qc_issue = sil24_qc_issue, 404 .qc_issue = sil24_qc_issue,
@@ -492,12 +488,6 @@ static void sil24_read_tf(struct ata_port *ap, int tag, struct ata_taskfile *tf)
492 ata_tf_from_fis(fis, tf); 488 ata_tf_from_fis(fis, tf);
493} 489}
494 490
495static u8 sil24_check_status(struct ata_port *ap)
496{
497 struct sil24_port_priv *pp = ap->private_data;
498 return pp->tf.command;
499}
500
501static int sil24_scr_map[] = { 491static int sil24_scr_map[] = {
502 [SCR_CONTROL] = 0, 492 [SCR_CONTROL] = 0,
503 [SCR_STATUS] = 1, 493 [SCR_STATUS] = 1,
@@ -1074,10 +1064,9 @@ static void sil24_error_intr(struct ata_port *ap)
1074 } 1064 }
1075 1065
1076 /* record error info */ 1066 /* record error info */
1077 if (qc) { 1067 if (qc)
1078 sil24_read_tf(ap, qc->tag, &pp->tf);
1079 qc->err_mask |= err_mask; 1068 qc->err_mask |= err_mask;
1080 } else 1069 else
1081 ehi->err_mask |= err_mask; 1070 ehi->err_mask |= err_mask;
1082 1071
1083 ehi->action |= action; 1072 ehi->action |= action;
@@ -1210,8 +1199,6 @@ static int sil24_port_start(struct ata_port *ap)
1210 if (!pp) 1199 if (!pp)
1211 return -ENOMEM; 1200 return -ENOMEM;
1212 1201
1213 pp->tf.command = ATA_DRDY;
1214
1215 cb = dmam_alloc_coherent(dev, cb_size, &cb_dma, GFP_KERNEL); 1202 cb = dmam_alloc_coherent(dev, cb_size, &cb_dma, GFP_KERNEL);
1216 if (!cb) 1203 if (!cb)
1217 return -ENOMEM; 1204 return -ENOMEM;