summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Quadros <rogerq@ti.com>2013-11-11 16:56:38 +0200
committerTom Rini <trini@ti.com>2013-12-04 08:12:08 -0500
commit2faf5fb82ed6f3df07635cddca0a2a54e3ef74ef (patch)
treefb1cfca52da716b2831b87948d5f427afb7e7a1f
parentd73763a4fbc741b3faee43d0a668dd220a81d772 (diff)
downloadu-boot-imx-2faf5fb82ed6f3df07635cddca0a2a54e3ef74ef.zip
u-boot-imx-2faf5fb82ed6f3df07635cddca0a2a54e3ef74ef.tar.gz
u-boot-imx-2faf5fb82ed6f3df07635cddca0a2a54e3ef74ef.tar.bz2
ahci: Fix cache align error messages
Align the ATA ID buffer to the cache-line boundary. This gets rid of the below error mesages on ARM v7 platforms. scanning bus for devices... ERROR: v7_dcache_inval_range - start address is not aligned - 0xfee48618 ERROR: v7_dcache_inval_range - stop address is not aligned - 0xfee48818 CC: Aneesh V <aneesh@ti.com> Signed-off-by: Roger Quadros <rogerq@ti.com>
-rw-r--r--drivers/block/ahci.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/block/ahci.c b/drivers/block/ahci.c
index e24d634..e64df4f 100644
--- a/drivers/block/ahci.c
+++ b/drivers/block/ahci.c
@@ -623,7 +623,7 @@ static int ata_scsiop_inquiry(ccb *pccb)
95 - 4,
};
u8 fis[20];
- u16 *tmpid;
+ ALLOC_CACHE_ALIGN_BUFFER(u16, tmpid, ATA_ID_WORDS);
u8 port;
/* Clean ccb data buffer */
@@ -642,16 +642,10 @@ static int ata_scsiop_inquiry(ccb *pccb)
/* Read id from sata */
port = pccb->target;
- tmpid = malloc(ATA_ID_WORDS * 2);
- if (!tmpid) {
- printf("%s: No memory for tmpid\n", __func__);
- return -ENOMEM;
- }
if (ahci_device_data_io(port, (u8 *) &fis, sizeof(fis), (u8 *)tmpid,
ATA_ID_WORDS * 2, 0)) {
debug("scsi_ahci: SCSI inquiry command failure.\n");
- free(tmpid);
return -EIO;
}