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 = nv_ro16(bios, dcb + 2); in dcb_i2c_table()
37 i2c = nv_ro16(bios, dcb + 4); in dcb_i2c_table()
41 nv_warn(bios, "ccb %02x not supported\n", *ver); in dcb_i2c_table()
46 *ver = nv_ro08(bios, i2c + 0); in dcb_i2c_table()
47 *hdr = nv_ro08(bios, i2c + 1); in dcb_i2c_table()
48 *cnt = nv_ro08(bios, i2c + 2); in dcb_i2c_table()
49 *len = nv_ro08(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
74 u16 ent = dcb_i2c_entry(bios, idx, &ver, &len); in dcb_i2c_parse()
77 u32 ent_value = nv_ro32(bios, ent); in dcb_i2c_parse()
87 info->type = nv_ro08(bios, ent + 0x03); in dcb_i2c_parse()
89 info->type = nv_ro08(bios, ent + 0x03) & 0x07; in dcb_i2c_parse()
101 info->drive = nv_ro08(bios, ent + 0); in dcb_i2c_parse()
102 info->sense = nv_ro08(bios, ent + 1); in dcb_i2c_parse()
105 info->drive = nv_ro08(bios, ent + 1); in dcb_i2c_parse()
108 info->drive = nv_ro08(bios, ent + 0) & 0x0f; in dcb_i2c_parse()
109 if (nv_ro08(bios, ent + 1) & 0x01) in dcb_i2c_parse()
110 info->share = nv_ro08(bios, ent + 1) >> 1; in dcb_i2c_parse()
113 info->auxch = nv_ro08(bios, ent + 0) & 0x0f; in dcb_i2c_parse()
114 if (nv_ro08(bios, ent + 1) & 0x01) in dcb_i2c_parse()
118 info->drive = (nv_ro16(bios, ent + 0) & 0x01f) >> 0; in dcb_i2c_parse()
121 info->auxch = (nv_ro16(bios, ent + 0) & 0x3e0) >> 5; in dcb_i2c_parse()
129 nv_warn(bios, "unknown i2c type %d\n", info->type); in dcb_i2c_parse()
135 if (bios->bmp_offset && idx < 2) { in dcb_i2c_parse()
139 if (nv_ro08(bios, bios->bmp_offset + 5) < 4) in dcb_i2c_parse()
142 ent = 0x0036 + bios->bmp_offset; in dcb_i2c_parse()
145 info->drive = nv_ro08(bios, ent + 4); in dcb_i2c_parse()
147 info->sense = nv_ro08(bios, ent + 5); in dcb_i2c_parse()
151 info->drive = nv_ro08(bios, ent + 6); in dcb_i2c_parse()
153 info->sense = nv_ro08(bios, ent + 7); in dcb_i2c_parse()