[U-Boot] [PATCH 1/2] USB: make usb_kbd obey USB DMA alignment requirements
Stephen Warren
swarren at wwwdotorg.org
Mon Oct 22 23:59:43 CEST 2012
On 10/22/2012 03:39 PM, Allen Martin wrote:
> Change usb_kbd driver to obey alignment requirements for USB DMA on
> the buffer used for data transfer. This is necessary for
> architectures that enable dcache and enable USB DMA.
> diff --git a/common/usb_kbd.c b/common/usb_kbd.c
> struct usb_kbd_pdata {
> + uint8_t new[8];
> + uint8_t old[8];
> +
> uint32_t repeat_delay;
>
> uint32_t usb_in_pointer;
> uint32_t usb_out_pointer;
> uint8_t usb_kbd_buffer[USB_KBD_BUFFER_LEN];
>
> - uint8_t new[8];
> - uint8_t old[8];
> -
> uint8_t flags;
> -};
> +} __aligned(USB_DMA_MINALIGN);
Surely you need to edit the malloc() call in usb_kbd_probe() instead of
adding __aligned to the type; does the alignment on the type really get
propagated into malloc(), or as custom code at the call-site somehow?
More information about the U-Boot
mailing list