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