0001
0002 #ifndef __NVBIOS_BMP_H__
0003 #define __NVBIOS_BMP_H__
0004 static inline u16
0005 bmp_version(struct nvkm_bios *bios)
0006 {
0007 if (bios->bmp_offset) {
0008 return nvbios_rd08(bios, bios->bmp_offset + 5) << 8 |
0009 nvbios_rd08(bios, bios->bmp_offset + 6);
0010 }
0011
0012 return 0x0000;
0013 }
0014
0015 static inline u16
0016 bmp_mem_init_table(struct nvkm_bios *bios)
0017 {
0018 if (bmp_version(bios) >= 0x0300)
0019 return nvbios_rd16(bios, bios->bmp_offset + 24);
0020 return 0x0000;
0021 }
0022
0023 static inline u16
0024 bmp_sdr_seq_table(struct nvkm_bios *bios)
0025 {
0026 if (bmp_version(bios) >= 0x0300)
0027 return nvbios_rd16(bios, bios->bmp_offset + 26);
0028 return 0x0000;
0029 }
0030
0031 static inline u16
0032 bmp_ddr_seq_table(struct nvkm_bios *bios)
0033 {
0034 if (bmp_version(bios) >= 0x0300)
0035 return nvbios_rd16(bios, bios->bmp_offset + 28);
0036 return 0x0000;
0037 }
0038 #endif