Using the mailbox subsystem for plain doorbells?
From: Stephen Warren
Date: Mon May 09 2016 - 19:45:46 EST
Jassi,
Does the HW described below sound like something that should be
represented using the Linux kernel's mailbox subsystem, and related DT
bindings? I think the existing drivers/mailbox/pcc.c is similar, but
wanted to double-check.
We have some HW that literally just allows a SW-generated interrupt to
be generated by our main CPU complex to an auxiliary CPU, and likewise a
different interrupt can be generated in the opposite direction. There's
no ability to transfer any data; just an IRQ is generated. Our current
mailbox implementation just handles IRQ generation/reception so struct
mbox_chan_ops.send_data completely ignores the data parameter, and our
IRQ handler "receives" hard-coded NULL messages when the IRQ fires.
Higher level protocol code (using shared memory along with the plain-IRQ
mbox channels) is outside the mailbox driver.
Does that fit the mailbox subsystem?