[PATCH v4 15/20] gpu: nova-core: vbios: use the first PCI-AT and FWSEC images

From: Eliot Courtney

Date: Mon May 18 2026 - 22:58:18 EST


Currently, PCI-AT takes the final image if multiple exist. For FWSEC, it
takes the first one and the last one. Align both of these to nouveau
behavior by taking the first ones.

Signed-off-by: Eliot Courtney <ecourtney@xxxxxxxxxx>
---
drivers/gpu/nova-core/vbios.rs | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/nova-core/vbios.rs b/drivers/gpu/nova-core/vbios.rs
index c5dad9e065da..ff21f85fdfb6 100644
--- a/drivers/gpu/nova-core/vbios.rs
+++ b/drivers/gpu/nova-core/vbios.rs
@@ -333,12 +333,16 @@ pub(crate) fn new(dev: &device::Device, bar0: &Bar0) -> Result<Vbios> {
// Convert to a specific image type
match BiosImageType::try_from(image.pcir.code_type) {
Ok(BiosImageType::PciAt) => {
- pci_at_image = Some(PciAtBiosImage::try_from(image)?);
+ // Silently ignore any extra PCI-AT images.
+ if pci_at_image.is_none() {
+ pci_at_image = Some(PciAtBiosImage::try_from(image)?);
+ }
}
Ok(BiosImageType::FwSec) => {
+ // Silently ignore any extra FwSec images beyond the first two.
if first_fwsec_image.is_none() {
first_fwsec_image = Some(image);
- } else {
+ } else if second_fwsec_image.is_none() {
second_fwsec_image = Some(image);
}
}

--
2.54.0