summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/nova/gpu.rs15
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/gpu/drm/nova/gpu.rs b/drivers/gpu/drm/nova/gpu.rs
index d2cc45b6b636..f3dc126b0b12 100644
--- a/drivers/gpu/drm/nova/gpu.rs
+++ b/drivers/gpu/drm/nova/gpu.rs
@@ -1,7 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
use kernel::{
- device, devres::Devres, error::code::*, firmware, fmt, pci, prelude::*, str::CString, sync::Arc,
+ alloc::flags::*, device, devres::Devres, error::code::*, firmware, fmt, pci, prelude::*,
+ str::CString, sync::Arc,
};
use crate::driver::Bar0;
@@ -52,9 +53,9 @@ pub(crate) struct GpuSpec {
/// Structure encapsulating the firmware blobs required for the GPU to operate.
#[allow(dead_code)]
pub(crate) struct Firmware {
- booter_load: firmware::Firmware,
- booter_unload: firmware::Firmware,
- gsp: firmware::Firmware,
+ booter_load: VVec<u8>,
+ booter_unload: VVec<u8>,
+ gsp: VVec<u8>,
}
/// Structure holding the resources required to operate the GPU.
@@ -149,9 +150,9 @@ impl Firmware {
let gsp = firmware::Firmware::request(&fw_gsp_path, dev)?;
Ok(Firmware {
- booter_load,
- booter_unload,
- gsp,
+ booter_load: booter_load.copy(GFP_KERNEL)?,
+ booter_unload: booter_unload.copy(GFP_KERNEL)?,
+ gsp: gsp.copy(GFP_KERNEL)?,
})
}
}