• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef __NVBIOS_BMP_H__
2 #define __NVBIOS_BMP_H__
3 static inline u16
bmp_version(struct nvkm_bios * bios)4 bmp_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)15 bmp_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)23 bmp_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)31 bmp_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