• Peter Chen's avatar
    usb: chipidea: introduce ITC tuning interface · df96ed8d
    Peter Chen authored
    ITC (Interrupt Threshold Control) is used to set the maximum rate at which
    the host/device controller will issue interrupts. The default value is 8 (1ms)
    for it. EHCI core will modify it to 1, but device mode keeps it as default
    value.
    
    In some use cases like Android ADB, it only has one usb request for each
    direction, and maximum payload data is only 4KB, so the speed is 4MB/s
    at most, it needs controller to trigger interrupt as fast as possible
    to increase the speed. The USB performance will be better if the interrupt
    can be triggered faster.
    
    Reduce ITC value is benefit for USB performance, but the interrupt number
    is increased at the same time, it may increase cpu utilization too.
    Most of use case cares about performance, but some may care about
    cpu utilization, so, we leave a platform interface for user.
    We set ITC as 1 (1 micro-frame) as default value which is aligned
    with ehci core default value.
    Signed-off-by: default avatarPeter Chen <peter.chen@freescale.com>
    df96ed8d
core.c 24.3 KB