• Angus Gratton's avatar
    rp2: Change to use TinyUSB dcd_event_handler hook. · bcbdee23
    Angus Gratton authored
    This change:
    - Has a small code size reduction.
    - Should slightly improve overall performance.  The old hook code
      seemed to use between 0.1% and 1.6% of the total CPU time doing no-op
      calls even when no USB work was required.
    - USB performance is mostly the same, there is a small increase in
      latency for some workloads that seems to because sometimes the hook
      usbd_task() is called at the right time to line up with the next USB host
      request.  This only happened semi-randomly due to the timing of the hook.
      Improving the wakeup latency by switching rp2 to tickless WFE allows the
      usbd_task() to run in time for the next USB host request almost always,
      improving performance and more than offsetting this impact.
    
    This work was funded through GitHub Sponsors.
    Signed-off-by: default avatarAngus Gratton <angus@redyak.com.au>
    bcbdee23
mpconfigport.h 11 KB