Message ID | 20210401154718.307519-10-jean-philippe@linaro.org (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | iommu: I/O page faults for SMMUv3 | expand |
On 2021/4/1 23:47, Jean-Philippe Brucker wrote: > Copy the "Stall supported" bit, that tells whether a named component > supports stall, into the dma-can-stall device property. > > Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org> > --- > drivers/acpi/arm64/iort.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c > index 3912a1f6058e..0828f70cb782 100644 > --- a/drivers/acpi/arm64/iort.c > +++ b/drivers/acpi/arm64/iort.c > @@ -968,13 +968,15 @@ static int iort_pci_iommu_init(struct pci_dev *pdev, u16 alias, void *data) > static void iort_named_component_init(struct device *dev, > struct acpi_iort_node *node) > { > - struct property_entry props[2] = {}; > + struct property_entry props[3] = {}; > struct acpi_iort_named_component *nc; > > nc = (struct acpi_iort_named_component *)node->node_data; > props[0] = PROPERTY_ENTRY_U32("pasid-num-bits", > FIELD_GET(ACPI_IORT_NC_PASID_BITS, > nc->node_flags)); > + if (nc->node_flags & ACPI_IORT_NC_STALL_SUPPORTED) > + props[1] = PROPERTY_ENTRY_BOOL("dma-can-stall"); > > if (device_add_properties(dev, props)) > dev_warn(dev, "Could not add device properties\n"); Acked-by: Hanjun Guo <guohanjun@huawei.com>
On Thu, Apr 01, 2021 at 05:47:18PM +0200, Jean-Philippe Brucker wrote: > Copy the "Stall supported" bit, that tells whether a named component > supports stall, into the dma-can-stall device property. > > Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org> > --- > drivers/acpi/arm64/iort.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> > diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c > index 3912a1f6058e..0828f70cb782 100644 > --- a/drivers/acpi/arm64/iort.c > +++ b/drivers/acpi/arm64/iort.c > @@ -968,13 +968,15 @@ static int iort_pci_iommu_init(struct pci_dev *pdev, u16 alias, void *data) > static void iort_named_component_init(struct device *dev, > struct acpi_iort_node *node) > { > - struct property_entry props[2] = {}; > + struct property_entry props[3] = {}; > struct acpi_iort_named_component *nc; > > nc = (struct acpi_iort_named_component *)node->node_data; > props[0] = PROPERTY_ENTRY_U32("pasid-num-bits", > FIELD_GET(ACPI_IORT_NC_PASID_BITS, > nc->node_flags)); > + if (nc->node_flags & ACPI_IORT_NC_STALL_SUPPORTED) > + props[1] = PROPERTY_ENTRY_BOOL("dma-can-stall"); > > if (device_add_properties(dev, props)) > dev_warn(dev, "Could not add device properties\n"); > -- > 2.31.1 >
diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c index 3912a1f6058e..0828f70cb782 100644 --- a/drivers/acpi/arm64/iort.c +++ b/drivers/acpi/arm64/iort.c @@ -968,13 +968,15 @@ static int iort_pci_iommu_init(struct pci_dev *pdev, u16 alias, void *data) static void iort_named_component_init(struct device *dev, struct acpi_iort_node *node) { - struct property_entry props[2] = {}; + struct property_entry props[3] = {}; struct acpi_iort_named_component *nc; nc = (struct acpi_iort_named_component *)node->node_data; props[0] = PROPERTY_ENTRY_U32("pasid-num-bits", FIELD_GET(ACPI_IORT_NC_PASID_BITS, nc->node_flags)); + if (nc->node_flags & ACPI_IORT_NC_STALL_SUPPORTED) + props[1] = PROPERTY_ENTRY_BOOL("dma-can-stall"); if (device_add_properties(dev, props)) dev_warn(dev, "Could not add device properties\n");