• Magnus Damm's avatar
    usb: r8a66597-udc unaligned fifo fix · 59c82d12
    Magnus Damm authored
    Rework the r8a66597-udc fifo code to avoid unaligned accesses.
    
    Without this patch unaligned exceptions will degrade the
    USB performance. The exceptions come from the fact that
    the usb fifo data buffers may be misaligned.
    
    This patch updates the fifo access code to only use
    insl()/outsl() and insw()/outsw() in the case of properly
    aligned data buffers. The fallback case is that inl()/inw()
    are used for misaligned buffer reads together with outb()
    that is used for misaligned buffer writes.
    Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
    Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
    59c82d12
r8a66597-udc.h 6.71 KB