Lines Matching refs:bios

29 dcb_i2c_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len)  in dcb_i2c_table()  argument
32 u16 dcb = dcb_table(bios, ver, hdr, cnt, len); in dcb_i2c_table()
35 i2c = nvbios_rd16(bios, dcb + 2); in dcb_i2c_table()
37 i2c = nvbios_rd16(bios, dcb + 4); in dcb_i2c_table()
41 nvkm_warn(&bios->subdev, "ccb %02x not supported\n", *ver); in dcb_i2c_table()
46 *ver = nvbios_rd08(bios, i2c + 0); in dcb_i2c_table()
47 *hdr = nvbios_rd08(bios, i2c + 1); in dcb_i2c_table()
48 *cnt = nvbios_rd08(bios, i2c + 2); in dcb_i2c_table()
49 *len = nvbios_rd08(bios, i2c + 3); in dcb_i2c_table()
61 dcb_i2c_entry(struct nvkm_bios *bios, u8 idx, u8 *ver, u8 *len) in dcb_i2c_entry() argument
64 u16 i2c = dcb_i2c_table(bios, ver, &hdr, &cnt, len); in dcb_i2c_entry()
71 dcb_i2c_parse(struct nvkm_bios *bios, u8 idx, struct dcb_i2c_entry *info) in dcb_i2c_parse() argument
73 struct nvkm_subdev *subdev = &bios->subdev; in dcb_i2c_parse()
75 u16 ent = dcb_i2c_entry(bios, idx, &ver, &len); in dcb_i2c_parse()
78 u32 ent_value = nvbios_rd32(bios, ent); in dcb_i2c_parse()
88 info->type = nvbios_rd08(bios, ent + 0x03); in dcb_i2c_parse()
90 info->type = nvbios_rd08(bios, ent + 0x03) & 0x07; in dcb_i2c_parse()
102 info->drive = nvbios_rd08(bios, ent + 0); in dcb_i2c_parse()
103 info->sense = nvbios_rd08(bios, ent + 1); in dcb_i2c_parse()
106 info->drive = nvbios_rd08(bios, ent + 1); in dcb_i2c_parse()
109 info->drive = nvbios_rd08(bios, ent + 0) & 0x0f; in dcb_i2c_parse()
110 if (nvbios_rd08(bios, ent + 1) & 0x01) in dcb_i2c_parse()
111 info->share = nvbios_rd08(bios, ent + 1) >> 1; in dcb_i2c_parse()
114 info->auxch = nvbios_rd08(bios, ent + 0) & 0x0f; in dcb_i2c_parse()
115 if (nvbios_rd08(bios, ent + 1) & 0x01) in dcb_i2c_parse()
119 info->drive = (nvbios_rd16(bios, ent + 0) & 0x01f) >> 0; in dcb_i2c_parse()
122 info->auxch = (nvbios_rd16(bios, ent + 0) & 0x3e0) >> 5; in dcb_i2c_parse()
136 if (bios->bmp_offset && idx < 2) { in dcb_i2c_parse()
140 if (nvbios_rd08(bios, bios->bmp_offset + 5) < 4) in dcb_i2c_parse()
143 ent = 0x0036 + bios->bmp_offset; in dcb_i2c_parse()
146 info->drive = nvbios_rd08(bios, ent + 4); in dcb_i2c_parse()
148 info->sense = nvbios_rd08(bios, ent + 5); in dcb_i2c_parse()
152 info->drive = nvbios_rd08(bios, ent + 6); in dcb_i2c_parse()
154 info->sense = nvbios_rd08(bios, ent + 7); in dcb_i2c_parse()