Home | History | Annotate | Line # | Download | only in bios
      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__
      6 static inline u16
      7 bmp_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 
     17 static inline u16
     18 bmp_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 
     25 static inline u16
     26 bmp_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 
     33 static inline u16
     34 bmp_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