mailbox to dsp_1 is currently modeling platform pcm driver. mailbox to dsp_2 is also doing the same.
Platform driver callbacks cause IPC to be sent to dsp's. Lifecycle of two dsp's are managed by separate remoteproc drivers. Single sound card is exposed.
Separate watchdog interrupts from the corresponding dsp's are connected to remoteproc to manage crashing of the individual dsp's. How can I restart both the dsp when either of them crashes using the kernel device model? Remoteproc driver currently only restarts the crashed dsp instead of restarting both the dsp. It is needed to bring up the hardware in a consistent state as both the dsp's are connected to a common hardware.
I thought of making a virtual parent remoteproc device and then managing individual dsp as a subdevice of that parent device but remoteproc device node is associated with the individual elf file i.e. it can manage only a single dsp.
How can I model remoteproc drivers using linux device model so that when either of them crashes both the dsp's get reloaded by the remoteproc framework.
MailBox ---- DSP_1 --- | | Linux ------ common_hw -> speaker/mic | | MailBox ---- DSP_2 ---