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