On 02/04/2020 16:42, Christian Mauderer wrote:
diff --git a/freebsd/sys/dev/usb/usb_busdma.c b/freebsd/sys/dev/usb/usb_busdma.c
index 9a70c687..c8000170 100644
--- a/freebsd/sys/dev/usb/usb_busdma.c
+++ b/freebsd/sys/dev/usb/usb_busdma.c
@@ -78,6 +78,52 @@ static void usb_pc_common_mem_cb(void *, bus_dma_segment_t
*, int, int,
uint8_t);
#endif
+#ifdef __rtems__
+#include <bsp.h>
+#if defined(LIBBSP_ARM_IMX_BSP_H)
+#define NEED_MISSALIGNED_COPY
+#endif
Could you please move changes in general file imported from FreeBSD to
separate commits.
I don't like this change here at all. I had a similar issue with
misaligned memcpy() to device memory here on the STM32H7 platform. Could
you first try this patch here:
diff --git a/freebsd/sys/dev/usb/usb_busdma.c
b/freebsd/sys/dev/usb/usb_busdma.c
index 9a70c687..973a3409 100644
--- a/freebsd/sys/dev/usb/usb_busdma.c
+++ b/freebsd/sys/dev/usb/usb_busdma.c
@@ -584,7 +584,7 @@ usb_pc_alloc_mem(struct usb_page_cache *pc, struct
usb_page *pg,
}
/* allocate memory */
if (bus_dmamem_alloc(
- utag->tag, &ptr, (BUS_DMA_WAITOK | BUS_DMA_COHERENT), &map)) {
+ utag->tag, &ptr, BUS_DMA_WAITOK, &map)) {
goto error;
}
/* setup page cache */
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel