drm/nouveau: fully define nvfw_hs_load_header_v2
authorTimur Tabi <ttabi@nvidia.com>
Fri, 10 Oct 2025 22:39:57 +0000 (17:39 -0500)
committerLyude Paul <lyude@redhat.com>
Wed, 12 Nov 2025 17:53:11 +0000 (12:53 -0500)
Add the missing fields of the nvfw_hs_load_header_v2 struct, so that the
struct matches the actual contents of the firmware images.

nvfw_hs_load_header_v2 is a struct that defines a header for some firmware
images used by Nouveau.  The current structure definition is incomplete;
it omits the last two fields because they are unused.

To maintain consistency between Nouveau, OpenRM, and Nova, and to
make it easier to support possible future images, we should fully define
the struct.  Also add a __counted_by tag for the flex array.

Signed-off-by: Timur Tabi <ttabi@nvidia.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patch.msgid.link/20251010223957.1078525-1-ttabi@nvidia.com
drivers/gpu/drm/nouveau/include/nvfw/hs.h

index 8b58b66..c78ab11 100644 (file)
@@ -52,7 +52,9 @@ struct nvfw_hs_load_header_v2 {
        struct {
                u32 offset;
                u32 size;
-       } app[];
+               u32 data_offset;
+               u32 data_size;
+       } app[] __counted_by(num_apps);
 };
 
 const struct nvfw_hs_load_header_v2 *nvfw_hs_load_header_v2(struct nvkm_subdev *, const void *);