Lines Matching full:dvo
96 * driver for the Chrontel 7xxx DVI chip over DVO.
147 static bool ch7xxx_readb(struct intel_dvo_device *dvo, int addr, u8 *ch) in ch7xxx_readb() argument
149 struct ch7xxx_priv *ch7xxx = dvo->dev_priv; in ch7xxx_readb()
150 struct i2c_adapter *adapter = dvo->i2c_bus; in ch7xxx_readb()
156 .addr = dvo->target_addr, in ch7xxx_readb()
162 .addr = dvo->target_addr, in ch7xxx_readb()
179 addr, adapter->name, dvo->target_addr); in ch7xxx_readb()
185 static bool ch7xxx_writeb(struct intel_dvo_device *dvo, int addr, u8 ch) in ch7xxx_writeb() argument
187 struct ch7xxx_priv *ch7xxx = dvo->dev_priv; in ch7xxx_writeb()
188 struct i2c_adapter *adapter = dvo->i2c_bus; in ch7xxx_writeb()
191 .addr = dvo->target_addr, in ch7xxx_writeb()
205 addr, adapter->name, dvo->target_addr); in ch7xxx_writeb()
211 static bool ch7xxx_init(struct intel_dvo_device *dvo, in ch7xxx_init() argument
223 dvo->i2c_bus = adapter; in ch7xxx_init()
224 dvo->dev_priv = ch7xxx; in ch7xxx_init()
227 if (!ch7xxx_readb(dvo, CH7xxx_REG_VID, &vendor)) in ch7xxx_init()
233 vendor, adapter->name, dvo->target_addr); in ch7xxx_init()
238 if (!ch7xxx_readb(dvo, CH7xxx_REG_DID, &device)) in ch7xxx_init()
244 device, adapter->name, dvo->target_addr); in ch7xxx_init()
257 static enum drm_connector_status ch7xxx_detect(struct intel_dvo_device *dvo) in ch7xxx_detect() argument
261 ch7xxx_readb(dvo, CH7xxx_PM, &orig_pm); in ch7xxx_detect()
267 ch7xxx_writeb(dvo, CH7xxx_PM, pm); in ch7xxx_detect()
269 ch7xxx_readb(dvo, CH7xxx_CONNECTION_DETECT, &cdet); in ch7xxx_detect()
271 ch7xxx_writeb(dvo, CH7xxx_PM, orig_pm); in ch7xxx_detect()
278 static enum drm_mode_status ch7xxx_mode_valid(struct intel_dvo_device *dvo, in ch7xxx_mode_valid() argument
287 static void ch7xxx_mode_set(struct intel_dvo_device *dvo, in ch7xxx_mode_set() argument
305 ch7xxx_writeb(dvo, CH7xxx_TCTL, 0x00); in ch7xxx_mode_set()
306 ch7xxx_writeb(dvo, CH7xxx_TVCO, tvco); in ch7xxx_mode_set()
307 ch7xxx_writeb(dvo, CH7xxx_TPCP, tpcp); in ch7xxx_mode_set()
308 ch7xxx_writeb(dvo, CH7xxx_TPD, tpd); in ch7xxx_mode_set()
309 ch7xxx_writeb(dvo, CH7xxx_TPVT, 0x30); in ch7xxx_mode_set()
310 ch7xxx_writeb(dvo, CH7xxx_TLPF, tlpf); in ch7xxx_mode_set()
311 ch7xxx_writeb(dvo, CH7xxx_TCT, 0x00); in ch7xxx_mode_set()
313 ch7xxx_readb(dvo, CH7xxx_IDF, &idf); in ch7xxx_mode_set()
324 ch7xxx_writeb(dvo, CH7xxx_IDF, idf); in ch7xxx_mode_set()
326 ch7xxx_writeb(dvo, CH7xxx_DAC_CNTL, in ch7xxx_mode_set()
328 ch7xxx_writeb(dvo, CH7xxx_CLOCK_OUTPUT, in ch7xxx_mode_set()
333 static void ch7xxx_dpms(struct intel_dvo_device *dvo, bool enable) in ch7xxx_dpms() argument
336 ch7xxx_writeb(dvo, CH7xxx_PM, CH7xxx_PM_DVIL | CH7xxx_PM_DVIP); in ch7xxx_dpms()
338 ch7xxx_writeb(dvo, CH7xxx_PM, CH7xxx_PM_FPD); in ch7xxx_dpms()
341 static bool ch7xxx_get_hw_state(struct intel_dvo_device *dvo) in ch7xxx_get_hw_state() argument
345 ch7xxx_readb(dvo, CH7xxx_PM, &val); in ch7xxx_get_hw_state()
353 static void ch7xxx_dump_regs(struct intel_dvo_device *dvo) in ch7xxx_dump_regs() argument
361 ch7xxx_readb(dvo, i, &val); in ch7xxx_dump_regs()
366 static void ch7xxx_destroy(struct intel_dvo_device *dvo) in ch7xxx_destroy() argument
368 struct ch7xxx_priv *ch7xxx = dvo->dev_priv; in ch7xxx_destroy()
372 dvo->dev_priv = NULL; in ch7xxx_destroy()