xref: /linux/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/bmp.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1 #ifndef __NVBIOS_BMP_H__
2 #define __NVBIOS_BMP_H__
3 static inline u16
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
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
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
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