diff options
author | Tejun Heo <htejun@gmail.com> | 2006-05-15 08:03:53 -0400 |
---|---|---|
committer | Tejun Heo <htejun@gmail.com> | 2006-05-15 08:03:53 -0400 |
commit | a9764c2bb5b6d3c9df91f2977a2a640f55de0dc2 (patch) | |
tree | aafd47e6257d9d5e22f69c5639612e6b540093e5 /drivers/scsi/ahci.c | |
parent | 979db803b8fd120d4ed5216520e9d1815e18bc38 (diff) |
[PATCH] ahci: kill pp->cmd_tbl_sg
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@gmail.com>
Diffstat (limited to 'drivers/scsi/ahci.c')
-rw-r--r-- | drivers/scsi/ahci.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c index 740e7d86d5f8..9f974dbcd7ed 100644 --- a/drivers/scsi/ahci.c +++ b/drivers/scsi/ahci.c | |||
@@ -191,7 +191,6 @@ struct ahci_port_priv { | |||
191 | dma_addr_t cmd_slot_dma; | 191 | dma_addr_t cmd_slot_dma; |
192 | void *cmd_tbl; | 192 | void *cmd_tbl; |
193 | dma_addr_t cmd_tbl_dma; | 193 | dma_addr_t cmd_tbl_dma; |
194 | struct ahci_sg *cmd_tbl_sg; | ||
195 | void *rx_fis; | 194 | void *rx_fis; |
196 | dma_addr_t rx_fis_dma; | 195 | dma_addr_t rx_fis_dma; |
197 | }; | 196 | }; |
@@ -402,8 +401,6 @@ static int ahci_port_start(struct ata_port *ap) | |||
402 | pp->cmd_tbl = mem; | 401 | pp->cmd_tbl = mem; |
403 | pp->cmd_tbl_dma = mem_dma; | 402 | pp->cmd_tbl_dma = mem_dma; |
404 | 403 | ||
405 | pp->cmd_tbl_sg = mem + AHCI_CMD_TBL_HDR_SZ; | ||
406 | |||
407 | ap->private_data = pp; | 404 | ap->private_data = pp; |
408 | 405 | ||
409 | if (hpriv->cap & HOST_CAP_64) | 406 | if (hpriv->cap & HOST_CAP_64) |
@@ -749,7 +746,7 @@ static unsigned int ahci_fill_sg(struct ata_queued_cmd *qc) | |||
749 | /* | 746 | /* |
750 | * Next, the S/G list. | 747 | * Next, the S/G list. |
751 | */ | 748 | */ |
752 | ahci_sg = pp->cmd_tbl_sg; | 749 | ahci_sg = pp->cmd_tbl + AHCI_CMD_TBL_HDR_SZ; |
753 | ata_for_each_sg(sg, qc) { | 750 | ata_for_each_sg(sg, qc) { |
754 | dma_addr_t addr = sg_dma_address(sg); | 751 | dma_addr_t addr = sg_dma_address(sg); |
755 | u32 sg_len = sg_dma_len(sg); | 752 | u32 sg_len = sg_dma_len(sg); |