Lines Matching refs:info
71 dcb_i2c_parse(struct nvkm_bios *bios, u8 idx, struct dcb_i2c_entry *info) in dcb_i2c_parse() argument
83 info->type = DCB_I2C_UNUSED; in dcb_i2c_parse()
85 info->type = DCB_I2C_PMGR; 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()
91 if (info->type == 0x07) in dcb_i2c_parse()
92 info->type = DCB_I2C_UNUSED; in dcb_i2c_parse()
95 info->drive = DCB_I2C_UNUSED; in dcb_i2c_parse()
96 info->sense = DCB_I2C_UNUSED; in dcb_i2c_parse()
97 info->share = DCB_I2C_UNUSED; in dcb_i2c_parse()
98 info->auxch = DCB_I2C_UNUSED; in dcb_i2c_parse()
100 switch (info->type) { 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()
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()
116 info->share = info->auxch; in dcb_i2c_parse()
119 info->drive = (nvbios_rd16(bios, ent + 0) & 0x01f) >> 0; in dcb_i2c_parse()
120 if (info->drive == 0x1f) in dcb_i2c_parse()
121 info->drive = DCB_I2C_UNUSED; in dcb_i2c_parse()
122 info->auxch = (nvbios_rd16(bios, ent + 0) & 0x3e0) >> 5; in dcb_i2c_parse()
123 if (info->auxch == 0x1f) in dcb_i2c_parse()
124 info->auxch = DCB_I2C_UNUSED; in dcb_i2c_parse()
125 info->share = info->auxch; in dcb_i2c_parse()
130 nvkm_warn(subdev, "unknown i2c type %d\n", info->type); in dcb_i2c_parse()
131 info->type = DCB_I2C_UNUSED; in dcb_i2c_parse()
146 info->drive = nvbios_rd08(bios, ent + 4); in dcb_i2c_parse()
147 if (!info->drive) info->drive = 0x3f; in dcb_i2c_parse()
148 info->sense = nvbios_rd08(bios, ent + 5); in dcb_i2c_parse()
149 if (!info->sense) info->sense = 0x3e; in dcb_i2c_parse()
152 info->drive = nvbios_rd08(bios, ent + 6); in dcb_i2c_parse()
153 if (!info->drive) info->drive = 0x37; in dcb_i2c_parse()
154 info->sense = nvbios_rd08(bios, ent + 7); in dcb_i2c_parse()
155 if (!info->sense) info->sense = 0x36; in dcb_i2c_parse()
158 info->type = DCB_I2C_NV04_BIT; in dcb_i2c_parse()
159 info->share = DCB_I2C_UNUSED; in dcb_i2c_parse()