xref: /linux/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios.h (revision e0bf6c5ca2d3281f231c5f0c9bf145e9513644de)
1 #ifndef __NVKM_BIOS_H__
2 #define __NVKM_BIOS_H__
3 #include <core/subdev.h>
4 
5 struct nvkm_bios {
6 	struct nvkm_subdev base;
7 	u32 size;
8 	u8 *data;
9 
10 	u32 bmp_offset;
11 	u32 bit_offset;
12 
13 	struct {
14 		u8 major;
15 		u8 chip;
16 		u8 minor;
17 		u8 micro;
18 		u8 patch;
19 	} version;
20 };
21 
22 static inline struct nvkm_bios *
23 nvkm_bios(void *obj)
24 {
25 	return (void *)nvkm_subdev(obj, NVDEV_SUBDEV_VBIOS);
26 }
27 
28 u8  nvbios_checksum(const u8 *data, int size);
29 u16 nvbios_findstr(const u8 *data, int size, const char *str, int len);
30 
31 extern struct nvkm_oclass nvkm_bios_oclass;
32 #endif
33