On Tue, 15 Sep 2026, "Teres Alexis, Alan Previn" <[email protected]> wrote: > On Tue, 2026-09-15 at 10:34 +0300, Nikula, Jani wrote: >> On Mon, 14 Sep 2026, Alan Previn <[email protected]> wrote: > alan:snip >> > int xe_mmio_wait32(struct xe_mmio *mmio, struct xe_reg reg, u32 mask, u32 >> > val, u32 timeout_us, >> > - u32 *out_val, bool atomic) >> > + u32 *out_val) >> > { >> > - return __xe_mmio_wait32(mmio, reg, mask, val, timeout_us, out_val, >> > atomic, true); >> > + u32 read; >> > + int ret; >> > + >> > + ret = poll_timeout_us(read = xe_mmio_read32(mmio, reg), (read & mask) >> > == val, >> > + 10, timeout_us, false); >> >> You probably do need to let the callers pass in the wait too. 10 us wait >> with a long timeout is going to be pretty bad. >> >> > alan: okay - perhaps i can make every caller pass in a polling-wait thats a > fraction of their wait time. > (as a starting point since i dont know what's the expected behavior of every > caller). > so perhaps something like "timeout_us << 4" (i.e. 1/16th) but pass in 10 us > if its anything smaller than that > (i.e. smaller than 16 usec).
I think you need to talk to the xe maintainers, really. BR, Jani. -- Jani Nikula, Intel
