bios.h 693 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef __NVKM_BIOS_H__
  2. #define __NVKM_BIOS_H__
  3. #include <core/subdev.h>
  4. struct nvkm_bios {
  5. struct nvkm_subdev subdev;
  6. u32 size;
  7. u8 *data;
  8. u32 bmp_offset;
  9. u32 bit_offset;
  10. struct {
  11. u8 major;
  12. u8 chip;
  13. u8 minor;
  14. u8 micro;
  15. u8 patch;
  16. } version;
  17. };
  18. u8 nvbios_checksum(const u8 *data, int size);
  19. u16 nvbios_findstr(const u8 *data, int size, const char *str, int len);
  20. int nvbios_memcmp(struct nvkm_bios *, u32 addr, const char *, u32 len);
  21. #define nvbios_rd08(b,o) (b)->data[(o)]
  22. #define nvbios_rd16(b,o) get_unaligned_le16(&(b)->data[(o)])
  23. #define nvbios_rd32(b,o) get_unaligned_le32(&(b)->data[(o)])
  24. int nvkm_bios_new(struct nvkm_device *, int, struct nvkm_bios **);
  25. #endif