Thread (6 messages) 6 messages, 2 authors, 2018-08-31

Re: [PATCH 04/15] soc: octeontx2: Add mailbox support infra

From: Sunil Kovvuri <hidden>
Date: 2018-08-31 17:25:40
Also in: linux-arm-kernel, lkml

On Fri, Aug 31, 2018 at 7:46 PM Arnd Bergmann [off-list ref] wrote:
On Thu, Aug 30, 2018 at 8:37 PM Sunil Kovvuri [off-list ref] wrote:
quoted
On Thu, Aug 30, 2018 at 7:27 PM Arnd Bergmann [off-list ref] wrote:
quoted
On Tue, Aug 28, 2018 at 3:23 PM Sunil Kovvuri [off-list ref] wrote:
quoted
On Tue, Aug 28, 2018 at 6:22 PM Arnd Bergmann [off-list ref] wrote:
quoted
On Tue, Aug 28, 2018 at 2:48 PM Sunil Kovvuri [off-list ref] wrote:
Any PCI device here irrespective in what domain (kernel or userspace)
they are in
use common mailbox communication. Which is
# Write a mailbox msg (format is agreed between all parties) into
shared (between AF and other PF/VFs)
   memory region and trigger a interrupt to admin function.
# Admin function processes the msg and puts reply in the same memory
region and trigger
   IRQ to the requesting device. If the device has a driver instance
in kernel then it uses
   IRQ and userspace applications does polling on the IRQ status bit.
What is the purpose of the exported interface then? Is this
just an abstraction so each of the drivers can talk to its own
mailbox using a set of common helper functions?
Yes, that's correct.

In kernel there will be a minimum of 3 drivers which will use this
mailbox communication.
So instead of duplicating APIs and structures in every driver, we
thought of adding them in this AF driver and export them to ethernet
and crypto drivers.
Ok. My feeling is then that the API is fine, but that it should not
be part of the AF module but rather be a standalone module.

My comment about the generic mailbox API no longer applies
here: you don't have a single shared mailbox hardware interface,
but each device has its own mailbox register set, so there
is no point in setting up a separate device for it, but I see
no need for creating an artificial dependency on the AF
driver. E.g. in a virtual machine that only has one ethernet
interface, you otherwise wouldn't load that driver, right?

         Arnd
Good point, thanks for catching this.
Will look into this and post a v2 series.

Thanks,
Sunil.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help