Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: MIT */
0002 #ifndef __NVKM_BIOS_H__
0003 #define __NVKM_BIOS_H__
0004 #include <core/subdev.h>
0005 
0006 struct nvkm_bios {
0007     struct nvkm_subdev subdev;
0008     u32 size;
0009     u8 *data;
0010 
0011     u32 image0_size;
0012     u32 imaged_addr;
0013 
0014     u32 bmp_offset;
0015     u32 bit_offset;
0016 
0017     struct {
0018         u8 major;
0019         u8 chip;
0020         u8 minor;
0021         u8 micro;
0022         u8 patch;
0023     } version;
0024 };
0025 
0026 u8  nvbios_checksum(const u8 *data, int size);
0027 u16 nvbios_findstr(const u8 *data, int size, const char *str, int len);
0028 int nvbios_memcmp(struct nvkm_bios *, u32 addr, const char *, u32 len);
0029 u8  nvbios_rd08(struct nvkm_bios *, u32 addr);
0030 u16 nvbios_rd16(struct nvkm_bios *, u32 addr);
0031 u32 nvbios_rd32(struct nvkm_bios *, u32 addr);
0032 
0033 int nvkm_bios_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_bios **);
0034 #endif