Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/i915/selftests: Nuke live_forcewake_domains selftest

The live_forcewake_domains selftest doesn't really test anything
particularly sensible. It only runs on platforms that have RMbus
unclaimer error detection, but that only catches display registers
which the test doesn't even access.

I suppose if we really wanted to we might try to make the test
exercise the GT FIFO instead by writing GT registers as fast
as possible, and then checking GTFIFODBG to see if the FIFO has
overflowed. But dunno if there's much point in that. I think a
GT FIFO overflow might even be fatal to the machine.

So in its current for the test doesn't really make sense,
and it's in the way of moving all the RMbus noclaim stuff
to the display driver side. So let's just get rid of it.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20260323101609.8391-2-ville.syrjala@linux.intel.com
Acked-by: Jani Nikula <jani.nikula@intel.com>

-62
-62
drivers/gpu/drm/i915/selftests/intel_uncore.c
··· 272 272 return err; 273 273 } 274 274 275 - static int live_forcewake_domains(void *arg) 276 - { 277 - #define FW_RANGE 0x40000 278 - struct intel_gt *gt = arg; 279 - struct intel_uncore *uncore = gt->uncore; 280 - struct drm_i915_private *i915 = gt->i915; 281 - struct intel_display *display = i915->display; 282 - unsigned long *valid; 283 - u32 offset; 284 - int err; 285 - 286 - if (!HAS_FPGA_DBG_UNCLAIMED(display) && 287 - !IS_VALLEYVIEW(i915) && 288 - !IS_CHERRYVIEW(i915)) 289 - return 0; 290 - 291 - /* 292 - * This test may lockup the machine or cause GPU hangs afterwards. 293 - */ 294 - if (!IS_ENABLED(CONFIG_DRM_I915_SELFTEST_BROKEN)) 295 - return 0; 296 - 297 - valid = bitmap_zalloc(FW_RANGE, GFP_KERNEL); 298 - if (!valid) 299 - return -ENOMEM; 300 - 301 - intel_uncore_forcewake_get(uncore, FORCEWAKE_ALL); 302 - 303 - check_for_unclaimed_mmio(uncore); 304 - for (offset = 0; offset < FW_RANGE; offset += 4) { 305 - i915_reg_t reg = { offset }; 306 - 307 - intel_uncore_posting_read_fw(uncore, reg); 308 - if (!check_for_unclaimed_mmio(uncore)) 309 - set_bit(offset, valid); 310 - } 311 - 312 - intel_uncore_forcewake_put(uncore, FORCEWAKE_ALL); 313 - 314 - err = 0; 315 - for_each_set_bit(offset, valid, FW_RANGE) { 316 - i915_reg_t reg = { offset }; 317 - 318 - iosf_mbi_punit_acquire(); 319 - intel_uncore_forcewake_reset(uncore); 320 - iosf_mbi_punit_release(); 321 - 322 - check_for_unclaimed_mmio(uncore); 323 - 324 - intel_uncore_posting_read_fw(uncore, reg); 325 - if (check_for_unclaimed_mmio(uncore)) { 326 - pr_err("Unclaimed mmio read to register 0x%04x\n", 327 - offset); 328 - err = -EINVAL; 329 - } 330 - } 331 - 332 - bitmap_free(valid); 333 - return err; 334 - } 335 - 336 275 static int live_fw_table(void *arg) 337 276 { 338 277 struct intel_gt *gt = arg; ··· 287 348 static const struct i915_subtest tests[] = { 288 349 SUBTEST(live_fw_table), 289 350 SUBTEST(live_forcewake_ops), 290 - SUBTEST(live_forcewake_domains), 291 351 }; 292 352 293 353 return intel_gt_live_subtests(tests, to_gt(i915));