1 #ifndef __NVBIOS_BMP_H__ 2 #define __NVBIOS_BMP_H__ 3 static inline u16 bmp_version(struct nvkm_bios * bios)4bmp_version(struct nvkm_bios *bios) 5 { 6 if (bios->bmp_offset) { 7 return nvbios_rd08(bios, bios->bmp_offset + 5) << 8 | 8 nvbios_rd08(bios, bios->bmp_offset + 6); 9 } 10 11 return 0x0000; 12 } 13 14 static inline u16 bmp_mem_init_table(struct nvkm_bios * bios)15bmp_mem_init_table(struct nvkm_bios *bios) 16 { 17 if (bmp_version(bios) >= 0x0300) 18 return nvbios_rd16(bios, bios->bmp_offset + 24); 19 return 0x0000; 20 } 21 22 static inline u16 bmp_sdr_seq_table(struct nvkm_bios * bios)23bmp_sdr_seq_table(struct nvkm_bios *bios) 24 { 25 if (bmp_version(bios) >= 0x0300) 26 return nvbios_rd16(bios, bios->bmp_offset + 26); 27 return 0x0000; 28 } 29 30 static inline u16 bmp_ddr_seq_table(struct nvkm_bios * bios)31bmp_ddr_seq_table(struct nvkm_bios *bios) 32 { 33 if (bmp_version(bios) >= 0x0300) 34 return nvbios_rd16(bios, bios->bmp_offset + 28); 35 return 0x0000; 36 } 37 #endif 38