Hi Arnd, On 16/11/20 9:07 pm, Arnd Bergmann wrote: > On Mon, Nov 16, 2020 at 6:19 AM Kishon Vijay Abraham I <kishon@xxxxxx> wrote: >> On 12/11/20 6:54 pm, Arnd Bergmann wrote: >>> >>> This looks very promising indeed, I need to read up on the whole >>> discussion there. I also see your slides at [1] that help do explain some >>> of it. I have one fundamental question that I can't figure out from >>> the description, maybe you can help me here: >>> >>> How is the configuration managed, taking the EP case as an >>> example? Your UseCase1 example sounds like the system that owns >>> the EP hardware is the one that turns the EP into a vhost device, >>> and creates a vhost-rpmsg device on top, while the RC side would >>> probe the pci-vhost and then detect a virtio-rpmsg device to talk to. >> >> That's correct. Slide no 9 in [1] should give the layering details. >> >>> Can it also do the opposite, so you end up with e.g. a virtio-net >>> device on the EP side and vhost-net on the RC? >> >> Unfortunately no. Again referring slide 9 in [1], we only have >> vhost-pci-epf on the EP side which only creates a "vhost_dev" to deal >> with vhost side of things. For doing the opposite, we'd need to create >> virtio-pci-epf for EP side that interacts with core virtio (and also the >> corresponding vhost back end on PCI host). > > Ok, I see. So I think this is the opposite of drivers/misc/mic and > the bluefield driver were using, so we would probably end up > needing both. > > Then again, I guess the NTB driver would give us the functionality > for free, if it shows a symmetric link? Right, NTB driver would need "pci_dev" on both sides of the link. But that would also mean we cannot use pci EP framework which actually uses "pci_epf". Thanks Kishon