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

Reply via email to