On 9/11/25 1:04 PM, Alexandre Courbot wrote:
> diff --git a/drivers/gpu/nova-core/gpu.rs b/drivers/gpu/nova-core/gpu.rs
> index 
> 06a7ee8f4195759fb55ad483852724bb1ab46793..8505ee81c43e7628d1f099aff285244f8908c633
>  100644
> --- a/drivers/gpu/nova-core/gpu.rs
> +++ b/drivers/gpu/nova-core/gpu.rs
> @@ -8,6 +8,7 @@
>  use crate::fb::SysmemFlush;
>  use crate::firmware::booter::{BooterFirmware, BooterKind};
>  use crate::firmware::fwsec::{FwsecCommand, FwsecFirmware};
> +use crate::firmware::gsp::GspFirmware;
>  use crate::firmware::{Firmware, FIRMWARE_VERSION};
>  use crate::gfw;
>  use crate::regs;
> @@ -285,6 +286,11 @@ pub(crate) fn start_gsp(
>  
>          let bios = Vbios::new(dev, bar)?;
>  
> +        let _gsp_fw = KBox::pin_init(
> +            GspFirmware::new(dev, chipset, FIRMWARE_VERSION)?,
> +            GFP_KERNEL,
> +        )?;

Since we now have the infrastructure in place and the change is trival, I'd
prefer to make this a member of struct Gsp and make it part of the Gpu structure
directly (without separate allocation).

Should we need dynamic dispatch in the future, it's also trivial to make it its
own allocation again, but maybe we also get around the dyn dispatch. :)

Reply via email to