Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec11d63c authored by Marc Zyngier's avatar Marc Zyngier Committed by Will Deacon
Browse files

iommu/arm-smmu: Fix MSI memory attributes to match specification



The MSI memory attributes in the SMMUv3 driver are from an older
revision of the spec, which doesn't match the current implementations.

Out with the old, in with the new.

Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent ccd6385d
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -174,14 +174,14 @@
#define ARM_SMMU_PRIQ_IRQ_CFG2		0xdc

/* Common MSI config fields */
#define MSI_CFG0_SH_SHIFT		60
#define MSI_CFG0_SH_NSH			(0UL << MSI_CFG0_SH_SHIFT)
#define MSI_CFG0_SH_OSH			(2UL << MSI_CFG0_SH_SHIFT)
#define MSI_CFG0_SH_ISH			(3UL << MSI_CFG0_SH_SHIFT)
#define MSI_CFG0_MEMATTR_SHIFT		56
#define MSI_CFG0_MEMATTR_DEVICE_nGnRE	(0x1 << MSI_CFG0_MEMATTR_SHIFT)
#define MSI_CFG0_ADDR_SHIFT		2
#define MSI_CFG0_ADDR_MASK		0x3fffffffffffUL
#define MSI_CFG2_SH_SHIFT		4
#define MSI_CFG2_SH_NSH			(0UL << MSI_CFG2_SH_SHIFT)
#define MSI_CFG2_SH_OSH			(2UL << MSI_CFG2_SH_SHIFT)
#define MSI_CFG2_SH_ISH			(3UL << MSI_CFG2_SH_SHIFT)
#define MSI_CFG2_MEMATTR_SHIFT		0
#define MSI_CFG2_MEMATTR_DEVICE_nGnRE	(0x1 << MSI_CFG2_MEMATTR_SHIFT)

#define Q_IDX(q, p)			((p) & ((1 << (q)->max_n_shift) - 1))
#define Q_WRP(q, p)			((p) & (1 << (q)->max_n_shift))