Lines Matching refs:dvo

186 static void ivch_dump_regs(struct intel_dvo_device *dvo);
192 static bool ivch_read(struct intel_dvo_device *dvo, int addr, u16 *data) in ivch_read() argument
194 struct ivch_priv *priv = dvo->dev_priv; in ivch_read()
195 struct i2c_adapter *adapter = dvo->i2c_bus; in ivch_read()
201 .addr = dvo->slave_addr, in ivch_read()
212 .addr = dvo->slave_addr, in ivch_read()
229 addr, adapter->name, dvo->slave_addr); in ivch_read()
235 static bool ivch_write(struct intel_dvo_device *dvo, int addr, u16 data) in ivch_write() argument
237 struct ivch_priv *priv = dvo->dev_priv; in ivch_write()
238 struct i2c_adapter *adapter = dvo->i2c_bus; in ivch_write()
241 .addr = dvo->slave_addr, in ivch_write()
256 addr, adapter->name, dvo->slave_addr); in ivch_write()
263 static bool ivch_init(struct intel_dvo_device *dvo, in ivch_init() argument
274 dvo->i2c_bus = adapter; in ivch_init()
275 dvo->dev_priv = priv; in ivch_init()
278 if (!ivch_read(dvo, VR00, &temp)) in ivch_init()
286 if ((temp & VR00_BASE_ADDRESS_MASK) != dvo->slave_addr) { in ivch_init()
289 (temp & VR00_BASE_ADDRESS_MASK), dvo->slave_addr); in ivch_init()
293 ivch_read(dvo, VR20, &priv->width); in ivch_init()
294 ivch_read(dvo, VR21, &priv->height); in ivch_init()
300 ivch_read(dvo, backup_addresses[i], priv->reg_backup + i); in ivch_init()
302 ivch_dump_regs(dvo); in ivch_init()
311 static enum drm_connector_status ivch_detect(struct intel_dvo_device *dvo) in ivch_detect() argument
316 static enum drm_mode_status ivch_mode_valid(struct intel_dvo_device *dvo, in ivch_mode_valid() argument
329 static void ivch_reset(struct intel_dvo_device *dvo) in ivch_reset() argument
331 struct ivch_priv *priv = dvo->dev_priv; in ivch_reset()
336 ivch_write(dvo, VR10, 0x0000); in ivch_reset()
339 ivch_write(dvo, backup_addresses[i], priv->reg_backup[i]); in ivch_reset()
343 static void ivch_dpms(struct intel_dvo_device *dvo, bool enable) in ivch_dpms() argument
348 ivch_reset(dvo); in ivch_dpms()
351 if (!ivch_read(dvo, VR01, &vr01)) in ivch_dpms()
359 ivch_write(dvo, VR80, backlight); in ivch_dpms()
366 ivch_write(dvo, VR01, vr01); in ivch_dpms()
370 if (!ivch_read(dvo, VR30, &vr30)) in ivch_dpms()
381 static bool ivch_get_hw_state(struct intel_dvo_device *dvo) in ivch_get_hw_state() argument
385 ivch_reset(dvo); in ivch_get_hw_state()
388 if (!ivch_read(dvo, VR01, &vr01)) in ivch_get_hw_state()
397 static void ivch_mode_set(struct intel_dvo_device *dvo, in ivch_mode_set() argument
401 struct ivch_priv *priv = dvo->dev_priv; in ivch_mode_set()
406 ivch_reset(dvo); in ivch_mode_set()
428 ivch_write(dvo, VR42, x_ratio); in ivch_mode_set()
429 ivch_write(dvo, VR41, y_ratio); in ivch_mode_set()
436 ivch_write(dvo, VR01, vr01); in ivch_mode_set()
437 ivch_write(dvo, VR40, vr40); in ivch_mode_set()
440 static void ivch_dump_regs(struct intel_dvo_device *dvo) in ivch_dump_regs() argument
444 ivch_read(dvo, VR00, &val); in ivch_dump_regs()
446 ivch_read(dvo, VR01, &val); in ivch_dump_regs()
448 ivch_read(dvo, VR10, &val); in ivch_dump_regs()
450 ivch_read(dvo, VR30, &val); in ivch_dump_regs()
452 ivch_read(dvo, VR40, &val); in ivch_dump_regs()
456 ivch_read(dvo, VR80, &val); in ivch_dump_regs()
458 ivch_read(dvo, VR81, &val); in ivch_dump_regs()
460 ivch_read(dvo, VR82, &val); in ivch_dump_regs()
462 ivch_read(dvo, VR83, &val); in ivch_dump_regs()
464 ivch_read(dvo, VR84, &val); in ivch_dump_regs()
466 ivch_read(dvo, VR85, &val); in ivch_dump_regs()
468 ivch_read(dvo, VR86, &val); in ivch_dump_regs()
470 ivch_read(dvo, VR87, &val); in ivch_dump_regs()
472 ivch_read(dvo, VR88, &val); in ivch_dump_regs()
476 ivch_read(dvo, VR8E, &val); in ivch_dump_regs()
480 ivch_read(dvo, VR8F, &val); in ivch_dump_regs()
484 static void ivch_destroy(struct intel_dvo_device *dvo) in ivch_destroy() argument
486 struct ivch_priv *priv = dvo->dev_priv; in ivch_destroy()
490 dvo->dev_priv = NULL; in ivch_destroy()