• Jeffrey Lee's avatar
    Enable part two of the FIQ fix · 1bec5bff
    Jeffrey Lee authored
      This enables support for the code which handles split transactions in the FIQ handler. This requires some extra logic to allow the FIQ handler to gracefully terminate its state machine when we need to release our hold on the FIQ vector.
      c/dwc_otg_riscos - Update FIQ claim/release functions to initialise and terminate fiq_split_enable. Make FIQ usage bools static const as nothing needs to change them at runtime.
      h/dwc_otg_riscos - Remove unused use_fiq_fix extern
      dwc/driver/c/dwc_otg_hcd_intr - Modify fiq_hcintr_handle() to allow for graceful termination - when terminating, suppress adding new xfers to the schedule and instead force the IRQ handler to deal with them
      Tested on Raspberry Pi
      Thrashing Service_ClaimFIQ/Service_ReleaseFIQ didn't result in any obvious problems while split xfers were occuring
    Version 0.16. Tagged as 'DWCDriver-0_16'
dwc_otg_hcd_intr 80.5 KB