On Thu, May 22, 2025 at 03:05:02PM +0200, Christian König wrote: > E.g. when you don't know the implementation side use the defined API and > don't mess with the internals. If you do know the implementation side then > it's valid that you check the internals.
I assume you meant this as "bothering with the internals of you *own* fence is fine, but not with foreign ones". And if the driver messes with the internals of its own fence code that's fine, but in this case we talk about the generic dma_fence implementation, i.e. an internal flag of the dma_fence implementation. In general, a driver should *never* bother with implementation details of a generic component, regardless whether the author knows the internal details. Things are *always* prone to change and then this may result into subtle bugs.