| 58d26d42 | 22-Jan-2026 |
Alexandre Courbot <acourbot@nvidia.com> |
gpu: nova-core: align LibosMemoryRegionInitArgument size to page size
On Turing and GA100 (i.e. the versions that use Libos v2), GSP-RM insists that the 'size' parameter of the LibosMemoryRegionInit
gpu: nova-core: align LibosMemoryRegionInitArgument size to page size
On Turing and GA100 (i.e. the versions that use Libos v2), GSP-RM insists that the 'size' parameter of the LibosMemoryRegionInitArgument struct be aligned to 4KB. The logging buffers are already aligned to that size, so only the GSP_ARGUMENTS_CACHED struct needs to be adjusted. Make that adjustment by adding padding to the end of the struct.
Signed-off-by: Timur Tabi <ttabi@nvidia.com> Reviewed-by: Gary Guo <gary@garyguo.net> Acked-by: Danilo Krummrich <dakr@kernel.org> Link: https://patch.msgid.link/20260122222848.2555890-12-ttabi@nvidia.com [acourbot@nvidia.com: GspArgumentsAligned -> GspArgumentsPadded] Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
show more ...
|
| 654826aa | 07-Jan-2026 |
Timur Tabi <ttabi@nvidia.com> |
gpu: nova-core: add missing newlines to several print strings
Although the dev_xx!() macro calls do not technically require terminating newlines for the format strings, they should be added anyway t
gpu: nova-core: add missing newlines to several print strings
Although the dev_xx!() macro calls do not technically require terminating newlines for the format strings, they should be added anyway to maintain consistency, both within Rust code and with the C versions.
Signed-off-by: Timur Tabi <ttabi@nvidia.com> Reviewed-by: John Hubbard <jhubbard@nvidia.com> Link: https://patch.msgid.link/20260107201647.2490140-2-ttabi@nvidia.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
show more ...
|
| 8d6a8e79 | 08-Jan-2026 |
John Hubbard <jhubbard@nvidia.com> |
gpu: nova-core: preserve error information in gpu_name()
Change gpu_name() to return a Result instead of an Option. This avoids silently discarding error information when parsing the GPU name string
gpu: nova-core: preserve error information in gpu_name()
Change gpu_name() to return a Result instead of an Option. This avoids silently discarding error information when parsing the GPU name string from the GSP.
Update the callsite to log a warning with the error details on failure, rather than just displaying "invalid GPU name".
Suggested-by: Danilo Krummrich <dakr@kernel.org> Signed-off-by: John Hubbard <jhubbard@nvidia.com> Link: https://patch.msgid.link/20260108005811.86014-2-jhubbard@nvidia.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
show more ...
|
| da8264ce | 06-Jan-2026 |
John Hubbard <jhubbard@nvidia.com> |
gpu: nova-core: use CStr::from_bytes_until_nul() and remove util.rs
The util.rs module contained a single helper function, str_from_null_terminated(), which duplicated functionality that is now avai
gpu: nova-core: use CStr::from_bytes_until_nul() and remove util.rs
The util.rs module contained a single helper function, str_from_null_terminated(), which duplicated functionality that is now available in core::ffi::CStr.
Specifically, CStr::from_bytes_until_nul() is available in the kernel's minimum supported Rust version (1.78.0), so it time to stop using this custom workaround.
Reviewed-by: Joel Fernandes <joelagnelf@nvidia.com> Signed-off-by: John Hubbard <jhubbard@nvidia.com> Link: https://patch.msgid.link/20260106035226.48853-2-jhubbard@nvidia.com Signed-off-by: Danilo Krummrich <dakr@kernel.org>
show more ...
|
| db22fbc1 | 18-Dec-2025 |
Danilo Krummrich <dakr@kernel.org> |
gpu: nova-core: fw: get rid of redundant Result in GspFirmware::new()
In GspFirmware::new(), utilize pin_init_scope() to get rid of the Result in the returned
Result<impl PinInit<T, Error>>
which
gpu: nova-core: fw: get rid of redundant Result in GspFirmware::new()
In GspFirmware::new(), utilize pin_init_scope() to get rid of the Result in the returned
Result<impl PinInit<T, Error>>
which is unnecessarily redundant.
Reviewed-by: Joel Fernandes <joelagnelf@nvidia.com> Link: https://patch.msgid.link/20251218155239.25243-2-dakr@kernel.org Signed-off-by: Danilo Krummrich <dakr@kernel.org>
show more ...
|
| b58c87b0 | 16-Dec-2025 |
Alexandre Courbot <acourbot@nvidia.com> |
gpu: nova-core: gsp: replace firmware version with "bindings" alias
We have an "bindings" alias to avoid having to mention the firmware version again and again, and limit the diff when upgrading the
gpu: nova-core: gsp: replace firmware version with "bindings" alias
We have an "bindings" alias to avoid having to mention the firmware version again and again, and limit the diff when upgrading the firmware. Use it where we neglected to.
Fixes: eaf0989c77e4 ("gpu: nova-core: Add bindings required by GSP sequencer") Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Joel Fernandes <joelagnelf@nvidia.com> Acked-by: Danilo Krummrich <dakr@kernel.org> Link: https://patch.msgid.link/20251216-nova-fixes-v3-4-c7469a71f7c4@nvidia.com Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
show more ...
|
| 52331715 | 16-Dec-2025 |
Alexandre Courbot <acourbot@nvidia.com> |
gpu: nova-core: bindings: derive `MaybeZeroable`
Commit 4846300ba8f9 ("rust: derive `Zeroable` for all structs & unions generated by bindgen where possible") automatically derives `MaybeZeroable` fo
gpu: nova-core: bindings: derive `MaybeZeroable`
Commit 4846300ba8f9 ("rust: derive `Zeroable` for all structs & unions generated by bindgen where possible") automatically derives `MaybeZeroable` for all bindings. This is better than selectively deriving `Zeroable` as it ensures all types that can implement `Zeroable` do.
Regenerate the nova-core bindings so they benefit from this, and remove a now unneeded implementation of `Zeroable`.
Fixes: 75f6b1de8133 ("gpu: nova-core: gsp: Add GSP command queue bindings and handling") Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Joel Fernandes <joelagnelf@nvidia.com> Acked-by: Danilo Krummrich <dakr@kernel.org> Link: https://patch.msgid.link/20251216-nova-fixes-v3-3-c7469a71f7c4@nvidia.com Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
show more ...
|
| 9d250ab0 | 16-Dec-2025 |
Alexandre Courbot <acourbot@nvidia.com> |
gpu: nova-core: gsp: fix length of received messages
The size of messages' payload is miscalculated, leading to extra data passed to the message handler. While this is not a problem with our current
gpu: nova-core: gsp: fix length of received messages
The size of messages' payload is miscalculated, leading to extra data passed to the message handler. While this is not a problem with our current set of commands, others with a variable-length payload may misbehave. Fix this by introducing a method returning the payload size and using it.
Fixes: 75f6b1de8133 ("gpu: nova-core: gsp: Add GSP command queue bindings and handling") Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Joel Fernandes <joelagnelf@nvidia.com> Reviewed-by: Alistair Popple <apopple@nvidia.com> Acked-by: Danilo Krummrich <dakr@kernel.org> Link: https://patch.msgid.link/20251216-nova-fixes-v3-2-c7469a71f7c4@nvidia.com [acourbot@nvidia.com: update `PANIC:` comments as pointed out by Joel.] Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
show more ...
|
| 77b686f6 | 17-Nov-2025 |
Alice Ryhl <aliceryhl@google.com> |
gpu: nova-core: make formatting compatible with rust tree
Commit 38b7cc448a5b ("gpu: nova-core: implement Display for Spec") in drm-rust-next introduced some usage of the Display trait, but the Disp
gpu: nova-core: make formatting compatible with rust tree
Commit 38b7cc448a5b ("gpu: nova-core: implement Display for Spec") in drm-rust-next introduced some usage of the Display trait, but the Display trait is being modified in the rust tree this cycle. Thus, to avoid conflicts with the Rust tree, tweak how the formatting machinery is used in a way where it works both with and without the changes in the Rust tree.
Reviewed-by: Alexandre Courbot <acourbot@nvidia.com> Tested-by: Alexandre Courbot <acourbot@nvidia.com> Link: https://patch.msgid.link/20251117-nova-fmt-rust-v1-1-651ca28cd98f@google.com Signed-off-by: Alice Ryhl <aliceryhl@google.com>
show more ...
|
| 13f85988 | 14-Nov-2025 |
Alistair Popple <apopple@nvidia.com> |
gpu: nova-core: gsp: Retrieve GSP static info to gather GPU information
After GSP initialization is complete, retrieve the static configuration information from GSP-RM. This information includes GPU
gpu: nova-core: gsp: Retrieve GSP static info to gather GPU information
After GSP initialization is complete, retrieve the static configuration information from GSP-RM. This information includes GPU name, capabilities, memory configuration, and other properties. On some GPU variants, it is also required to do this for initialization to complete.
Signed-off-by: Alistair Popple <apopple@nvidia.com> Co-developed-by: Joel Fernandes <joelagnelf@nvidia.com> Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com> Reviewed-by: Lyude Paul <lyude@redhat.com> [acourbot@nvidia.com: properly abstract the command's bindings, add relevant methods, make str_from_null_terminated return an Option, fix size of GPU name array.] Co-developed-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Message-ID: <20251114195552.739371-14-joelagnelf@nvidia.com>
show more ...
|
| 0e7d572b | 14-Nov-2025 |
Alistair Popple <apopple@nvidia.com> |
gpu: nova-core: gsp: Wait for gsp initialization to complete
This adds the GSP init done command to wait for GSP initialization to complete. Once this command has been received the GSP is fully oper
gpu: nova-core: gsp: Wait for gsp initialization to complete
This adds the GSP init done command to wait for GSP initialization to complete. Once this command has been received the GSP is fully operational and will respond properly to normal RPC commands.
Signed-off-by: Alistair Popple <apopple@nvidia.com> Co-developed-by: Joel Fernandes <joelagnelf@nvidia.com> Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com> Reviewed-by: Lyude Paul <lyude@redhat.com> [acourbot@nvidia.com: move new definitions to end of commands.rs, rename to `wait_gsp_init_done` and remove timeout argument.] Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Message-ID: <20251114195552.739371-13-joelagnelf@nvidia.com>
show more ...
|
| 77410985 | 14-Nov-2025 |
Joel Fernandes <joelagnelf@nvidia.com> |
gpu: nova-core: sequencer: Implement core resume operation
Implement core resume operation. This is the last step of the sequencer resulting in resume of the GSP and proceeding to INIT_DONE stage of
gpu: nova-core: sequencer: Implement core resume operation
Implement core resume operation. This is the last step of the sequencer resulting in resume of the GSP and proceeding to INIT_DONE stage of GSP boot.
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Message-ID: <20251114195552.739371-12-joelagnelf@nvidia.com>
show more ...
|
| 9641f052 | 14-Nov-2025 |
Joel Fernandes <joelagnelf@nvidia.com> |
gpu: nova-core: sequencer: Implement basic core operations
These opcodes implement various falcon-related boot operations: reset, start, wait-for-halt.
Signed-off-by: Joel Fernandes <joelagnelf@nvi
gpu: nova-core: sequencer: Implement basic core operations
These opcodes implement various falcon-related boot operations: reset, start, wait-for-halt.
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Message-ID: <20251114195552.739371-11-joelagnelf@nvidia.com>
show more ...
|
| e386680e | 14-Nov-2025 |
Joel Fernandes <joelagnelf@nvidia.com> |
gpu: nova-core: sequencer: Add delay opcode support
Implement a sequencer opcode for delay operations.
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com> Reviewed-by: Lyude Paul <lyude@redhat.co
gpu: nova-core: sequencer: Add delay opcode support
Implement a sequencer opcode for delay operations.
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Message-ID: <20251114195552.739371-10-joelagnelf@nvidia.com>
show more ...
|
| 2367ce2e | 14-Nov-2025 |
Joel Fernandes <joelagnelf@nvidia.com> |
gpu: nova-core: sequencer: Add register opcodes
These opcodes are used for register write, modify, poll and store (save) sequencer operations.
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com>
gpu: nova-core: sequencer: Add register opcodes
These opcodes are used for register write, modify, poll and store (save) sequencer operations.
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> [acourbot@nvidia.com: apply Lyude's suggested fixes.] Message-ID: <20251114195552.739371-9-joelagnelf@nvidia.com>
show more ...
|
| 6ddfc892 | 14-Nov-2025 |
Joel Fernandes <joelagnelf@nvidia.com> |
gpu: nova-core: Implement the GSP sequencer
Implement the GSP sequencer which culminates in INIT_DONE message being received from the GSP indicating that the GSP has successfully booted.
This is ju
gpu: nova-core: Implement the GSP sequencer
Implement the GSP sequencer which culminates in INIT_DONE message being received from the GSP indicating that the GSP has successfully booted.
This is just initial sequencer support, the actual commands will be added in the next patches.
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com> [acourbot@nvidia.com: move GspSequencerInfo definition before its impl blocks and rename it to GspSequence, adapt imports in sequencer.rs to new formatting rules, remove `timeout` argument to harmonize with other commands.] Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Message-ID: <20251114195552.739371-8-joelagnelf@nvidia.com>
show more ...
|