Message ID | 20220404124209.1086-2-shameerali.kolothum.thodi@huawei.com (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | ACPI/IORT: Support for IORT RMR node | expand |
On Mon, Apr 04, 2022 at 01:41:59PM +0100, Shameer Kolothum wrote: > IORT rev E.d introduces more details into the RMR node Flags > field. Add temporary definitions to describe and access these > Flags field until ACPICA header is updated to support E.d. > > This patch can be reverted once the include/acpi/actbl2.h has > all the relevant definitions. > > Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> > --- > Please find the ACPICA E.d related changes pull request here, > https://github.com/acpica/acpica/pull/765 > > This is now merged to acpica:master. I assume we can drop this patch when ACPICA Linuxized patches hit Rafael's tree. > --- > drivers/acpi/arm64/iort.c | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c > index f2f8f05662de..fd06cf43ba31 100644 > --- a/drivers/acpi/arm64/iort.c > +++ b/drivers/acpi/arm64/iort.c > @@ -25,6 +25,30 @@ > #define IORT_IOMMU_TYPE ((1 << ACPI_IORT_NODE_SMMU) | \ > (1 << ACPI_IORT_NODE_SMMU_V3)) > > +/* > + * The following RMR related definitions are temporary and > + * can be removed once ACPICA headers support IORT rev E.d > + */ > +#ifndef ACPI_IORT_RMR_REMAP_PERMITTED > +#define ACPI_IORT_RMR_REMAP_PERMITTED (1) > +#endif > + > +#ifndef ACPI_IORT_RMR_ACCESS_PRIVILEGE > +#define ACPI_IORT_RMR_ACCESS_PRIVILEGE (1 << 1) > +#endif > + > +#ifndef ACPI_IORT_RMR_ACCESS_ATTRIBUTES > +#define ACPI_IORT_RMR_ACCESS_ATTRIBUTES(flags) (((flags) >> 2) & 0xFF) > +#endif > + > +#ifndef ACPI_IORT_RMR_ATTR_DEVICE_GRE > +#define ACPI_IORT_RMR_ATTR_DEVICE_GRE 0x03 > +#endif > + > +#ifndef ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB > +#define ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB 0x05 > +#endif > + > struct iort_its_msi_chip { > struct list_head list; > struct fwnode_handle *fw_node; > -- > 2.25.1 >
diff --git a/drivers/acpi/arm64/iort.c b/drivers/acpi/arm64/iort.c index f2f8f05662de..fd06cf43ba31 100644 --- a/drivers/acpi/arm64/iort.c +++ b/drivers/acpi/arm64/iort.c @@ -25,6 +25,30 @@ #define IORT_IOMMU_TYPE ((1 << ACPI_IORT_NODE_SMMU) | \ (1 << ACPI_IORT_NODE_SMMU_V3)) +/* + * The following RMR related definitions are temporary and + * can be removed once ACPICA headers support IORT rev E.d + */ +#ifndef ACPI_IORT_RMR_REMAP_PERMITTED +#define ACPI_IORT_RMR_REMAP_PERMITTED (1) +#endif + +#ifndef ACPI_IORT_RMR_ACCESS_PRIVILEGE +#define ACPI_IORT_RMR_ACCESS_PRIVILEGE (1 << 1) +#endif + +#ifndef ACPI_IORT_RMR_ACCESS_ATTRIBUTES +#define ACPI_IORT_RMR_ACCESS_ATTRIBUTES(flags) (((flags) >> 2) & 0xFF) +#endif + +#ifndef ACPI_IORT_RMR_ATTR_DEVICE_GRE +#define ACPI_IORT_RMR_ATTR_DEVICE_GRE 0x03 +#endif + +#ifndef ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB +#define ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB 0x05 +#endif + struct iort_its_msi_chip { struct list_head list; struct fwnode_handle *fw_node;
IORT rev E.d introduces more details into the RMR node Flags field. Add temporary definitions to describe and access these Flags field until ACPICA header is updated to support E.d. This patch can be reverted once the include/acpi/actbl2.h has all the relevant definitions. Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> --- Please find the ACPICA E.d related changes pull request here, https://github.com/acpica/acpica/pull/765 This is now merged to acpica:master. --- drivers/acpi/arm64/iort.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)