xref: /linux/drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/bmp.h (revision 93df8a1ed6231727c5db94a80b1a6bd5ee67cec3)
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 nv_ro08(bios, bios->bmp_offset + 5) << 8 |
8 		       nv_ro08(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 nv_ro16(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 nv_ro16(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 nv_ro16(bios, bios->bmp_offset + 28);
35 	return 0x0000;
36 }
37 #endif
38