Can you elaborate on this and how it would be different from signaling on interrupts and DMA?
Hardware-level async makes sense to me. I can scope it. I can read the data sheet.
Software async in contrast seems difficult to characterize and reason about so I've been intimidated.