On Thu Feb 5, 2026 at 10:17 PM GMT, John Hubbard wrote:
> The auxiliary device registration was using a hardcoded ID of 0, which
> caused probe() to fail on multi-GPU systems with:
> 
>    sysfs: cannot create duplicate filename 
> '/bus/auxiliary/devices/NovaCore.nova-drm.0'
> 
> Fix this by using an LKMM atomic counter to generate unique IDs for each
> GPU's aux device registration. The TODO item to eventually use XArray
> for recycling aux device IDs is retained (and modified slightly: IDA
> might be better) but for now, this works very nicely.
> 
> This has the side effect of making debugfs[1] work on multi-GPU systems.
> 
> [1] https://lore.kernel.org/[email protected]
> 
> Cc: Danilo Krummrich <[email protected]>
> Cc: Gary Guo <[email protected]>
> Signed-off-by: John Hubbard <[email protected]>

Reviewed-by: Gary Guo <[email protected]>

> ---
>  drivers/gpu/nova-core/driver.rs | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> Changes in v2:
> 
> * Use LKMM atomics (kernel::sync::atomic::Atomic<u32>) instead of Rust
>   standard library atomics (core::sync::atomic::AtomicU32).
> 
> * Fix vertical import formatting (add rustfmt guard comment).
> 
> * Remove stray "we" from TODO comment.
> 

Reply via email to