Lines Matching refs:dvo
149 static bool ch7xxx_readb(struct intel_dvo_device *dvo, int addr, u8 *ch)
151 struct ch7xxx_priv *ch7xxx = dvo->dev_priv;
152 struct i2c_adapter *adapter = dvo->i2c_bus;
158 .addr = dvo->target_addr,
164 .addr = dvo->target_addr,
181 addr, adapter->name, dvo->target_addr);
187 static bool ch7xxx_writeb(struct intel_dvo_device *dvo, int addr, u8 ch)
189 struct ch7xxx_priv *ch7xxx = dvo->dev_priv;
190 struct i2c_adapter *adapter = dvo->i2c_bus;
193 .addr = dvo->target_addr,
207 addr, adapter->name, dvo->target_addr);
213 static bool ch7xxx_init(struct intel_dvo_device *dvo,
225 dvo->i2c_bus = adapter;
226 dvo->dev_priv = ch7xxx;
229 if (!ch7xxx_readb(dvo, CH7xxx_REG_VID, &vendor))
235 vendor, adapter->name, dvo->target_addr);
240 if (!ch7xxx_readb(dvo, CH7xxx_REG_DID, &device))
246 device, adapter->name, dvo->target_addr);
259 static enum drm_connector_status ch7xxx_detect(struct intel_dvo_device *dvo)
263 ch7xxx_readb(dvo, CH7xxx_PM, &orig_pm);
269 ch7xxx_writeb(dvo, CH7xxx_PM, pm);
271 ch7xxx_readb(dvo, CH7xxx_CONNECTION_DETECT, &cdet);
273 ch7xxx_writeb(dvo, CH7xxx_PM, orig_pm);
280 static enum drm_mode_status ch7xxx_mode_valid(struct intel_dvo_device *dvo,
289 static void ch7xxx_mode_set(struct intel_dvo_device *dvo,
307 ch7xxx_writeb(dvo, CH7xxx_TCTL, 0x00);
308 ch7xxx_writeb(dvo, CH7xxx_TVCO, tvco);
309 ch7xxx_writeb(dvo, CH7xxx_TPCP, tpcp);
310 ch7xxx_writeb(dvo, CH7xxx_TPD, tpd);
311 ch7xxx_writeb(dvo, CH7xxx_TPVT, 0x30);
312 ch7xxx_writeb(dvo, CH7xxx_TLPF, tlpf);
313 ch7xxx_writeb(dvo, CH7xxx_TCT, 0x00);
315 ch7xxx_readb(dvo, CH7xxx_IDF, &idf);
326 ch7xxx_writeb(dvo, CH7xxx_IDF, idf);
328 ch7xxx_writeb(dvo, CH7xxx_DAC_CNTL,
330 ch7xxx_writeb(dvo, CH7xxx_CLOCK_OUTPUT,
335 static void ch7xxx_dpms(struct intel_dvo_device *dvo, bool enable)
338 ch7xxx_writeb(dvo, CH7xxx_PM, CH7xxx_PM_DVIL | CH7xxx_PM_DVIP);
340 ch7xxx_writeb(dvo, CH7xxx_PM, CH7xxx_PM_FPD);
343 static bool ch7xxx_get_hw_state(struct intel_dvo_device *dvo)
347 ch7xxx_readb(dvo, CH7xxx_PM, &val);
355 static void ch7xxx_dump_regs(struct intel_dvo_device *dvo)
363 ch7xxx_readb(dvo, i, &val);
368 static void ch7xxx_destroy(struct intel_dvo_device *dvo)
370 struct ch7xxx_priv *ch7xxx = dvo->dev_priv;
374 dvo->dev_priv = NULL;