bios.h 747 B

12345678910111213141516171819202122232425262728293031323334
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __NVKM_BIOS_H__
  3. #define __NVKM_BIOS_H__
  4. #include <core/subdev.h>
  5. struct nvkm_bios {
  6. struct nvkm_subdev subdev;
  7. u32 size;
  8. u8 *data;
  9. u32 image0_size;
  10. u32 imaged_addr;
  11. u32 bmp_offset;
  12. u32 bit_offset;
  13. struct {
  14. u8 major;
  15. u8 chip;
  16. u8 minor;
  17. u8 micro;
  18. u8 patch;
  19. } version;
  20. };
  21. u8 nvbios_checksum(const u8 *data, int size);
  22. u16 nvbios_findstr(const u8 *data, int size, const char *str, int len);
  23. int nvbios_memcmp(struct nvkm_bios *, u32 addr, const char *, u32 len);
  24. u8 nvbios_rd08(struct nvkm_bios *, u32 addr);
  25. u16 nvbios_rd16(struct nvkm_bios *, u32 addr);
  26. u32 nvbios_rd32(struct nvkm_bios *, u32 addr);
  27. int nvkm_bios_new(struct nvkm_device *, int, struct nvkm_bios **);
  28. #endif