Re: [PATCH v2] gpu: nova-core: fix aux device registration for multi-GPU systems
From: Gary Guo
Date: Thu Feb 05 2026 - 20:16:54 EST
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/20260203224757.871729-1-ttabi@xxxxxxxxxx
>
> Cc: Danilo Krummrich <dakr@xxxxxxxxxx>
> Cc: Gary Guo <gary@xxxxxxxxxxx>
> Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx>
Reviewed-by: Gary Guo <gary@xxxxxxxxxxx>
> ---
> 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.
>