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. >
