Lines Matching refs:dvo

185 static void ivch_dump_regs(struct intel_dvo_device *dvo);
191 static bool ivch_read(struct intel_dvo_device *dvo, int addr, uint16_t *data) in ivch_read() argument
193 struct ivch_priv *priv = dvo->dev_priv; in ivch_read()
194 struct i2c_adapter *adapter = dvo->i2c_bus; in ivch_read()
200 .addr = dvo->slave_addr, in ivch_read()
211 .addr = dvo->slave_addr, in ivch_read()
228 addr, adapter->name, dvo->slave_addr); in ivch_read()
234 static bool ivch_write(struct intel_dvo_device *dvo, int addr, uint16_t data) in ivch_write() argument
236 struct ivch_priv *priv = dvo->dev_priv; in ivch_write()
237 struct i2c_adapter *adapter = dvo->i2c_bus; in ivch_write()
240 .addr = dvo->slave_addr, in ivch_write()
255 addr, adapter->name, dvo->slave_addr); in ivch_write()
262 static bool ivch_init(struct intel_dvo_device *dvo, in ivch_init() argument
273 dvo->i2c_bus = adapter; in ivch_init()
274 dvo->dev_priv = priv; in ivch_init()
277 if (!ivch_read(dvo, VR00, &temp)) in ivch_init()
285 if ((temp & VR00_BASE_ADDRESS_MASK) != dvo->slave_addr) { in ivch_init()
288 (temp & VR00_BASE_ADDRESS_MASK), dvo->slave_addr); in ivch_init()
292 ivch_read(dvo, VR20, &priv->width); in ivch_init()
293 ivch_read(dvo, VR21, &priv->height); in ivch_init()
299 ivch_read(dvo, backup_addresses[i], priv->reg_backup + i); in ivch_init()
301 ivch_dump_regs(dvo); in ivch_init()
310 static enum drm_connector_status ivch_detect(struct intel_dvo_device *dvo) in ivch_detect() argument
315 static enum drm_mode_status ivch_mode_valid(struct intel_dvo_device *dvo, in ivch_mode_valid() argument
328 static void ivch_reset(struct intel_dvo_device *dvo) in ivch_reset() argument
330 struct ivch_priv *priv = dvo->dev_priv; in ivch_reset()
335 ivch_write(dvo, VR10, 0x0000); in ivch_reset()
338 ivch_write(dvo, backup_addresses[i], priv->reg_backup[i]); in ivch_reset()
342 static void ivch_dpms(struct intel_dvo_device *dvo, bool enable) in ivch_dpms() argument
347 ivch_reset(dvo); in ivch_dpms()
350 if (!ivch_read(dvo, VR01, &vr01)) in ivch_dpms()
358 ivch_write(dvo, VR80, backlight); in ivch_dpms()
365 ivch_write(dvo, VR01, vr01); in ivch_dpms()
369 if (!ivch_read(dvo, VR30, &vr30)) in ivch_dpms()
380 static bool ivch_get_hw_state(struct intel_dvo_device *dvo) in ivch_get_hw_state() argument
384 ivch_reset(dvo); in ivch_get_hw_state()
387 if (!ivch_read(dvo, VR01, &vr01)) in ivch_get_hw_state()
396 static void ivch_mode_set(struct intel_dvo_device *dvo, in ivch_mode_set() argument
400 struct ivch_priv *priv = dvo->dev_priv; in ivch_mode_set()
405 ivch_reset(dvo); in ivch_mode_set()
427 ivch_write(dvo, VR42, x_ratio); in ivch_mode_set()
428 ivch_write(dvo, VR41, y_ratio); in ivch_mode_set()
435 ivch_write(dvo, VR01, vr01); in ivch_mode_set()
436 ivch_write(dvo, VR40, vr40); in ivch_mode_set()
439 static void ivch_dump_regs(struct intel_dvo_device *dvo) in ivch_dump_regs() argument
443 ivch_read(dvo, VR00, &val); in ivch_dump_regs()
445 ivch_read(dvo, VR01, &val); in ivch_dump_regs()
447 ivch_read(dvo, VR10, &val); in ivch_dump_regs()
449 ivch_read(dvo, VR30, &val); in ivch_dump_regs()
451 ivch_read(dvo, VR40, &val); in ivch_dump_regs()
455 ivch_read(dvo, VR80, &val); in ivch_dump_regs()
457 ivch_read(dvo, VR81, &val); in ivch_dump_regs()
459 ivch_read(dvo, VR82, &val); in ivch_dump_regs()
461 ivch_read(dvo, VR83, &val); in ivch_dump_regs()
463 ivch_read(dvo, VR84, &val); in ivch_dump_regs()
465 ivch_read(dvo, VR85, &val); in ivch_dump_regs()
467 ivch_read(dvo, VR86, &val); in ivch_dump_regs()
469 ivch_read(dvo, VR87, &val); in ivch_dump_regs()
471 ivch_read(dvo, VR88, &val); in ivch_dump_regs()
475 ivch_read(dvo, VR8E, &val); in ivch_dump_regs()
479 ivch_read(dvo, VR8F, &val); in ivch_dump_regs()
483 static void ivch_destroy(struct intel_dvo_device *dvo) in ivch_destroy() argument
485 struct ivch_priv *priv = dvo->dev_priv; in ivch_destroy()
489 dvo->dev_priv = NULL; in ivch_destroy()