|
|
|
[PATCH 13/15] ahci: kill pp->cmd_tbl_sg | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
With NCQ, there are multiple sg tables, so pp->cmd_tbl_sg doesn't cut
it. Directly calculate sg table address from pp->cmd_tbl.
Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>
---
drivers/scsi/ahci.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
54c5e95cb986b8045d510cb62d2f89376ffcbc30
diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c
index 375857b..027fea1 100644
--- a/drivers/scsi/ahci.c
+++ b/drivers/scsi/ahci.c
@@ -187,7 +187,6 @@ struct ahci_port_priv {
dma_addr_t cmd_slot_dma;
void *cmd_tbl;
dma_addr_t cmd_tbl_dma;
- struct ahci_sg *cmd_tbl_sg;
void *rx_fis;
dma_addr_t rx_fis_dma;
/* register values stored by interrupt handler for EH */
@@ -385,8 +384,6 @@ static int ahci_port_start(struct ata_po
pp->cmd_tbl = mem;
pp->cmd_tbl_dma = mem_dma;
- pp->cmd_tbl_sg = mem + AHCI_CMD_TBL_HDR_SZ;
-
ap->private_data = pp;
if (hpriv->cap & HOST_CAP_64)
@@ -715,7 +712,7 @@ static unsigned int ahci_fill_sg(struct
/*
* Next, the S/G list.
*/
- ahci_sg = pp->cmd_tbl_sg;
+ ahci_sg = pp->cmd_tbl + AHCI_CMD_TBL_HDR_SZ;
ata_for_each_sg(sg, qc) {
dma_addr_t addr = sg_dma_address(sg);
u32 sg_len = sg_dma_len(sg);
--
1.2.4
-
: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Site Home] [Git] [Kernel Newbies] [Linux Newbie] [Share Photos] [Security] [Netfilter] [Bugtraq] [Linux Filesystems] [Photo] [Yosemite] [Yosemite News] [MIPS Linux] [ARM Linux] [Linux Security] [Linux SCSI] [Linux RAID] [Samba] [Video 4 Linux] [Device Mapper] [Linux Resources]
![]() |