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

Commit 0e97703c authored by Christian König's avatar Christian König Committed by Alex Deucher
Browse files

drm/radeon: add define for flags used in R600+ GTT

parent 1aab5514
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -855,6 +855,10 @@ struct radeon_mec {
#define R600_PTE_FRAG_64KB	(4 << 7)
#define R600_PTE_FRAG_256KB	(6 << 7)

/* flags used for GART page table entries on R600+ */
#define R600_PTE_GART	( R600_PTE_VALID | R600_PTE_SYSTEM | R600_PTE_SNOOPED \
			| R600_PTE_READABLE | R600_PTE_WRITEABLE)

struct radeon_vm_pt {
	struct radeon_bo		*bo;
	uint64_t			addr;
+1 −8
Original line number Diff line number Diff line
@@ -626,12 +626,6 @@ static void rs600_gart_fini(struct radeon_device *rdev)
	radeon_gart_table_vram_free(rdev);
}

#define R600_PTE_VALID     (1 << 0)
#define R600_PTE_SYSTEM    (1 << 1)
#define R600_PTE_SNOOPED   (1 << 2)
#define R600_PTE_READABLE  (1 << 5)
#define R600_PTE_WRITEABLE (1 << 6)

int rs600_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr)
{
	void __iomem *ptr = (void *)rdev->gart.ptr;
@@ -640,8 +634,7 @@ int rs600_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr)
		return -EINVAL;
	}
	addr = addr & 0xFFFFFFFFFFFFF000ULL;
	addr |= R600_PTE_VALID | R600_PTE_SYSTEM | R600_PTE_SNOOPED;
	addr |= R600_PTE_READABLE | R600_PTE_WRITEABLE;
	addr |= R600_PTE_GART;
	writeq(addr, ptr + (i * 8));
	return 0;
}