mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-12-27 09:38:24 +00:00
if the D-cache is enabled, make sure the buffer used by DMA is aligned to 32 bytes
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1945 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
@@ -175,7 +175,7 @@ rt_int32_t mmcsd_get_cid(struct rt_mmcsd_host *host, rt_uint32_t *cid)
|
||||
return 0;
|
||||
}
|
||||
|
||||
buf = rt_malloc(16);
|
||||
buf = rt_malloc_align(16, 32);
|
||||
if (!buf)
|
||||
{
|
||||
rt_kprintf("malloc mem failed\n");
|
||||
@@ -214,13 +214,13 @@ rt_int32_t mmcsd_get_cid(struct rt_mmcsd_host *host, rt_uint32_t *cid)
|
||||
|
||||
if (cmd.err || data.err)
|
||||
{
|
||||
rt_free(buf);
|
||||
rt_free_align(buf);
|
||||
return -RT_ERROR;
|
||||
}
|
||||
|
||||
for (i = 0;i < 4;i++)
|
||||
cid[i] = buf[i];
|
||||
rt_free(buf);
|
||||
rt_free_align(buf);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -248,7 +248,7 @@ rt_int32_t mmcsd_get_csd(struct rt_mmcsd_card *card, rt_uint32_t *csd)
|
||||
return 0;
|
||||
}
|
||||
|
||||
buf = rt_malloc(16);
|
||||
buf = rt_malloc_align(16, 32);
|
||||
if (!buf)
|
||||
{
|
||||
rt_kprintf("malloc mem failed\n");
|
||||
@@ -288,13 +288,13 @@ rt_int32_t mmcsd_get_csd(struct rt_mmcsd_card *card, rt_uint32_t *csd)
|
||||
|
||||
if (cmd.err || data.err)
|
||||
{
|
||||
rt_free(buf);
|
||||
rt_free_align(buf);
|
||||
return -RT_ERROR;
|
||||
}
|
||||
|
||||
for (i = 0;i < 4;i++)
|
||||
csd[i] = buf[i];
|
||||
rt_free(buf);
|
||||
rt_free_align(buf);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user