[PATCH 01/10] dma-buf: make fence sequence numbers 64 bit v2
Chris Wilson
chris at chris-wilson.co.uk
Tue Dec 4 12:57:02 UTC 2018
Quoting Chris Wilson (2018-12-04 12:52:15)
> Quoting Christian König (2018-12-04 11:59:39)
> > -static inline bool __dma_fence_is_later(u32 f1, u32 f2)
> > +static inline bool __dma_fence_is_later(u64 f1, u64 f2)
> > {
> > - return (int)(f1 - f2) > 0;
> > + /* This is for backward compatibility with drivers which can only handle
> > + * 32bit sequence numbers. Use a 64bit compare when any of the higher
> > + * bits are none zero, otherwise use a 32bit compare with wrap around
> > + * handling.
> > + */
> > + if (upper_32_bits(f1) || upper_32_bits(f2))
> > + return f1 > f2;
> > +
> > + return (int)(lower_32_bits(f1) - lower_32_bits(f2)) > 0;
>
> Or just "(int64_t)(f1 - f2) > 0", works if drivers are only using the low
> 32b and if they use the full 64b.
No, it doesn't.
-Chris
More information about the amd-gfx
mailing list