Commit 0b9bcf9a authored by Ariel D'Alessandro's avatar Ariel D'Alessandro Committed by Steven Price
Browse files

drm/panfrost: Use GPU_MMU_FEATURES_VA_BITS/PA_BITS macros

parent f91e534f
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -615,6 +615,8 @@ static void panfrost_drm_mm_color_adjust(const struct drm_mm_node *node,

struct panfrost_mmu *panfrost_mmu_ctx_create(struct panfrost_device *pfdev)
{
	u32 va_bits = GPU_MMU_FEATURES_VA_BITS(pfdev->features.mmu_features);
	u32 pa_bits = GPU_MMU_FEATURES_PA_BITS(pfdev->features.mmu_features);
	struct panfrost_mmu *mmu;

	mmu = kzalloc(sizeof(*mmu), GFP_KERNEL);
@@ -633,8 +635,8 @@ struct panfrost_mmu *panfrost_mmu_ctx_create(struct panfrost_device *pfdev)

	mmu->pgtbl_cfg = (struct io_pgtable_cfg) {
		.pgsize_bitmap	= SZ_4K | SZ_2M,
		.ias		= FIELD_GET(0xff, pfdev->features.mmu_features),
		.oas		= FIELD_GET(0xff00, pfdev->features.mmu_features),
		.ias		= va_bits,
		.oas		= pa_bits,
		.coherent_walk	= pfdev->coherent,
		.tlb		= &mmu_tlb_ops,
		.iommu_dev	= pfdev->dev,
+2 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@
#define   GROUPS_L2_COHERENT		BIT(0)	/* Cores groups are l2 coherent */

#define GPU_MMU_FEATURES		0x014	/* (RO) MMU features */
#define  GPU_MMU_FEATURES_VA_BITS(x)	((x) & GENMASK(7, 0))
#define  GPU_MMU_FEATURES_PA_BITS(x)	(((x) >> 8) & GENMASK(7, 0))
#define GPU_AS_PRESENT			0x018	/* (RO) Address space slots present */
#define GPU_JS_PRESENT			0x01C	/* (RO) Job slots present */