Skip to content
  • Fernando Guzman Lugo's avatar
    remoteproc: add rproc_report_crash function to notify rproc crashes · 8afd519c
    Fernando Guzman Lugo authored
    Allow low-level remoteproc drivers to report rproc crashes by exporting
    a new rproc_report_crash() function (invoking this from non-rproc drivers
    is probably wrong, and should be carefully scrutinized if ever needed).
    
    rproc_report_crash() can be called from any context; it offloads the
    tasks of handling the crash to a separate thread.
    
    Handling the crash from a separate thread is helpful because:
    - Ability to call invoke rproc_report_crash() from atomic context, due to
      the fact that many crashes trigger an interrupt, so this function can be
      called directly from ISR context.
    - Avoiding deadlocks which could happen if rproc_report_crash() is called
      from a function which indirectly holds the rproc lock.
    
    Handling the crash might involve:
    - Remoteproc register dump
    - Remoteproc stack dump
    - Remoteproc core dump
    - Saving Remoteproc traces so they can be read after the crash
    - Reseting the remoteproc in order to make it functional again ...
    8afd519c