Commit efa6fbd5 authored by Markus Theil's avatar Markus Theil Committed by Andi Shyti
Browse files

drm/i915/selftests: use prandom in selftest



This is part of a prandom cleanup, which removes
next_pseudo_random32 and replaces it with the standard PRNG.

Signed-off-by: default avatarMarkus Theil <theil.markus@gmail.com>
Reviewed-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
Signed-off-by: default avatarAndi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250211063332.16542-2-theil.markus@gmail.com
parent fc2ef5b6
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -45,13 +45,15 @@ static void trash_stolen(struct drm_i915_private *i915)
	struct i915_ggtt *ggtt = to_gt(i915)->ggtt;
	const u64 slot = ggtt->error_capture.start;
	const resource_size_t size = resource_size(&i915->dsm.stolen);
	struct rnd_state prng;
	unsigned long page;
	u32 prng = 0x12345678;

	/* XXX: fsck. needs some more thought... */
	if (!i915_ggtt_has_aperture(ggtt))
		return;

	prandom_seed_state(&prng, 0x12345678);

	for (page = 0; page < size; page += PAGE_SIZE) {
		const dma_addr_t dma = i915->dsm.stolen.start + page;
		u32 __iomem *s;
@@ -64,8 +66,7 @@ static void trash_stolen(struct drm_i915_private *i915)

		s = io_mapping_map_atomic_wc(&ggtt->iomap, slot);
		for (x = 0; x < PAGE_SIZE / sizeof(u32); x++) {
			prng = next_pseudo_random32(prng);
			iowrite32(prng, &s[x]);
			iowrite32(prandom_u32_state(&prng), &s[x]);
		}
		io_mapping_unmap_atomic(s);
	}