Lines Matching refs:bios
56 nvbios_extend(struct nvkm_bios *bios, u32 length) in nvbios_extend() argument
58 if (bios->size < length) { in nvbios_extend()
59 u8 *prev = bios->data; in nvbios_extend()
60 if (!(bios->data = kmalloc(length, GFP_KERNEL))) { in nvbios_extend()
61 bios->data = prev; in nvbios_extend()
64 memcpy(bios->data, prev, bios->size); in nvbios_extend()
65 bios->size = length; in nvbios_extend()
75 struct nvkm_bios *bios = (void *)object; in nvkm_bios_rd08() local
76 return bios->data[addr]; in nvkm_bios_rd08()
82 struct nvkm_bios *bios = (void *)object; in nvkm_bios_rd16() local
83 return get_unaligned_le16(&bios->data[addr]); in nvkm_bios_rd16()
89 struct nvkm_bios *bios = (void *)object; in nvkm_bios_rd32() local
90 return get_unaligned_le32(&bios->data[addr]); in nvkm_bios_rd32()
96 struct nvkm_bios *bios = (void *)object; in nvkm_bios_wr08() local
97 bios->data[addr] = data; in nvkm_bios_wr08()
103 struct nvkm_bios *bios = (void *)object; in nvkm_bios_wr16() local
104 put_unaligned_le16(data, &bios->data[addr]); in nvkm_bios_wr16()
110 struct nvkm_bios *bios = (void *)object; in nvkm_bios_wr32() local
111 put_unaligned_le32(data, &bios->data[addr]); in nvkm_bios_wr32()
119 struct nvkm_bios *bios; in nvkm_bios_ctor() local
124 "VBIOS", "bios", &bios); in nvkm_bios_ctor()
125 *pobject = nv_object(bios); in nvkm_bios_ctor()
129 ret = nvbios_shadow(bios); in nvkm_bios_ctor()
134 bios->bmp_offset = nvbios_findstr(bios->data, bios->size, in nvkm_bios_ctor()
136 if (bios->bmp_offset) { in nvkm_bios_ctor()
137 nv_info(bios, "BMP version %x.%x\n", in nvkm_bios_ctor()
138 bmp_version(bios) >> 8, in nvkm_bios_ctor()
139 bmp_version(bios) & 0xff); in nvkm_bios_ctor()
142 bios->bit_offset = nvbios_findstr(bios->data, bios->size, in nvkm_bios_ctor()
144 if (bios->bit_offset) in nvkm_bios_ctor()
145 nv_info(bios, "BIT signature found\n"); in nvkm_bios_ctor()
148 if (!bit_entry(bios, 'i', &bit_i) && bit_i.length >= 4) { in nvkm_bios_ctor()
149 bios->version.major = nv_ro08(bios, bit_i.offset + 3); in nvkm_bios_ctor()
150 bios->version.chip = nv_ro08(bios, bit_i.offset + 2); in nvkm_bios_ctor()
151 bios->version.minor = nv_ro08(bios, bit_i.offset + 1); in nvkm_bios_ctor()
152 bios->version.micro = nv_ro08(bios, bit_i.offset + 0); in nvkm_bios_ctor()
153 bios->version.patch = nv_ro08(bios, bit_i.offset + 4); in nvkm_bios_ctor()
155 if (bmp_version(bios)) { in nvkm_bios_ctor()
156 bios->version.major = nv_ro08(bios, bios->bmp_offset + 13); in nvkm_bios_ctor()
157 bios->version.chip = nv_ro08(bios, bios->bmp_offset + 12); in nvkm_bios_ctor()
158 bios->version.minor = nv_ro08(bios, bios->bmp_offset + 11); in nvkm_bios_ctor()
159 bios->version.micro = nv_ro08(bios, bios->bmp_offset + 10); in nvkm_bios_ctor()
162 nv_info(bios, "version %02x.%02x.%02x.%02x.%02x\n", in nvkm_bios_ctor()
163 bios->version.major, bios->version.chip, in nvkm_bios_ctor()
164 bios->version.minor, bios->version.micro, bios->version.patch); in nvkm_bios_ctor()
172 struct nvkm_bios *bios = (void *)object; in nvkm_bios_dtor() local
173 kfree(bios->data); in nvkm_bios_dtor()
174 nvkm_subdev_destroy(&bios->base); in nvkm_bios_dtor()
180 struct nvkm_bios *bios = (void *)object; in nvkm_bios_init() local
181 return nvkm_subdev_init(&bios->base); in nvkm_bios_init()
187 struct nvkm_bios *bios = (void *)object; in nvkm_bios_fini() local
188 return nvkm_subdev_fini(&bios->base, suspend); in nvkm_bios_fini()