cxgbe(4): Changes to the fatal error handler.
- New error_flags that can be used from the error ithread and elsewhere without a synch_op.
- Stop the adapter immediately in t4_fatal_err but defer most of the rest of the handling to a task. The task is allowed to sleep, unlike the ithread. Remove async_event_task as it is no longer needed.
- Dump the devlog, CIMLA, and PCIE_FW exactly once on any fatal error involving the firmware or the CIM block. While here, dump some additional info (see dump_cim_regs) for these errors.
- If both reset_on_fatal_err and panic_on_fatal_err are set then attempt a reset first and do not panic the system if it is successful.
MFC after: 1 week
Sponsored by: Chelsio Communications