wishbone: Let write callback talk to slave directly and process MSI.
After handle_write_cfg(, WBA_ERR, ) the function wakes a worker which will talk to the hardware and process the MSI. This worker can be delayed if the system is busy leading to latency spikes during the communication. The detour via the worker can be avoided and the request can be completed within the write request. Doing it within handle_write_cfg() could be possible because wishbone_process_msi() is using its own buffer for communication and only the locking is in the way. It looks safer and simpler to simply wait until all locks are released and process the MSI afterwards if needed. This also mimics the previous workflow except that there is less delay now. Don't schedule the worker from handle_write_cfg() but process the MSI request directly from the write callback if needed. Signed-off-by:Sebastian Andrzej Siewior <bigeasy@linutronix.de> Reviewed-by:
Kurt Kanzenbach <kurt@linutronix.de>
Please register or sign in to comment