-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Labels
Community: QuestionFurther information is requestedFurther information is requested
Description
Description
Is the stm32_dmapreflight check necessary? I can still successfully mount the filesystem and read/write when CONFIG_ARCH_HAVE_SDIO_PREFLIGHT is set to 'n'. However, setting it to 'y' results in a "dcache unaligned" error.
#if defined(CONFIG_ARMV7M_DCACHE) && !defined(CONFIG_ARMV7M_DCACHE_WRITETHROUGH)
/* buffer alignment is required for DMA transfers with dcache in buffered
* mode (not write-through) because a) arch_invalidate_dcache could lose
* buffered writes and b) arch_flush_dcache could corrupt adjacent memory
* if the maddr and the mend+1, the next next address are not on
* ARMV7M_DCACHE_LINESIZE boundaries.
*/
if (buffer != priv->rxfifo &&
(((uintptr_t)buffer & (ARMV7M_DCACHE_LINESIZE - 1)) != 0 ||
((uintptr_t)(buffer + buflen) & (ARMV7M_DCACHE_LINESIZE - 1)) != 0))
{
mcerr("dcache unaligned "
"buffer:%p end:%p\n",
buffer, buffer + buflen - 1);
return -EFAULT;
}
#endif
return 0;
Verification
- I have verified before submitting the report.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Community: QuestionFurther information is requestedFurther information is requested
