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).

...alan

Reply via email to