From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Quadros Date: Mon, 11 Nov 2013 15:57:15 +0200 Subject: [U-Boot] [PATCH v2 2/8] ahci: Fix cache align error messages In-Reply-To: <20131111135600.GO5925@bill-the-cat> References: <1384176682-4537-1-git-send-email-rogerq@ti.com> <1384176682-4537-3-git-send-email-rogerq@ti.com> <20131111135600.GO5925@bill-the-cat> Message-ID: <5280E23B.60707@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 11/11/2013 03:56 PM, Tom Rini wrote: > On Mon, Nov 11, 2013 at 03:31:16PM +0200, Roger Quadros wrote: >> 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 >> Signed-off-by: Roger Quadros >> --- >> drivers/block/ahci.c | 8 +------- >> 1 file changed, 1 insertion(+), 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); > [snip] >> - 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)) { > > We should be calling ALLOC_CACHE_ALIGN_BUFFER with ATA_ID_WORDS * 2, > right? > No, as is u16. cheers, -roger