Thread (24 messages) flat view 24 messages, 7 authors, 2014-06-24
STALE4460d

[PATCH RFC v1 1/2] documentation/iommu: Add description of Hisilicon System MMU binding

From: Varun Sethi <hidden>
Date: 2014-06-20 18:57:03

-----Original Message-----
From: Will Deacon [mailto:will.deacon at arm.com]
Sent: Friday, June 20, 2014 11:20 PM
To: Sethi Varun-B16395
Cc: Arnd Bergmann; Kefeng Wang; Catalin Marinas; Tianhong Ding;
huxinwei at huawei.com; Zefan Li; Zhen Lei; Dave P Martin; linux-arm-
kernel at lists.infradead.org
Subject: Re: [PATCH RFC v1 1/2] documentation/iommu: Add description of
Hisilicon System MMU binding

On Fri, Jun 20, 2014 at 10:54:59AM +0100, Varun Sethi wrote:
quoted
Hi Will,
Hello,
quoted
quoted
Note that I *have* been playing with PCI on the ARM SMMU (see the
patch
below) but I currently just assume RequesterID == StreamID, which is
true for the platform I'm using.
[...]
quoted
quoted
@@ -1596,15 +1634,35 @@ static int arm_smmu_add_device(struct device
*dev)
              return PTR_ERR(group);
      }

+     if (dev_is_pci(dev)) {
+             struct arm_smmu_master_cfg *cfg;
+             struct pci_dev *pdev = to_pci_dev(dev);
+
+             cfg = kzalloc(sizeof(*cfg), GFP_KERNEL);
+             if (!cfg) {
+                     ret = -ENOMEM;
+                     goto out_put_group;
+             }
+
+             cfg->num_streamids = 1;
+             cfg->streamids[0] = PCI_DEVID(pdev->bus->number, pdev-
quoted
devfn);
[Sethi Varun-B16395] We should be considering the bus topology i.e.
what if the device is setting behind a bridge? It's possible the
requestor id for the DMA transaction belongs to the bridge. Also, the
iommu group creation should also take in to account the topology.
Yeah, as I mentioned above, this assumes that RequesterID == StreamID.
Are you simply alluding to a non-transparent PCI bridge, or do you have
something different? For non-transparent bridges, I guess we can re-use
the code already in the kernel (VFIO handles this with its groups IIUC)?
Yes, we can use the API from patch posted by Alex Williamson.
https://lkml.org/lkml/2014/5/10/129

-Varun
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help