int viafb_ioctl_hotplug(int hres, int vres, int bpp) { int DVIsense, status = 0; DEBUG_MSG(KERN_INFO "viafb_ioctl_hotplug!!\n"); if (viaparinfo->chip_info->tmds_chip_info.tmds_chip_name != NON_TMDS_TRANSMITTER) { DVIsense = viafb_dvi_sense(); if (DVIsense) { DEBUG_MSG(KERN_INFO "DVI Attached...\n"); if (viafb_DeviceStatus != DVI_Device) { viafb_DVI_ON = 1; viafb_CRT_ON = 0; viafb_LCD_ON = 0; viafb_DeviceStatus = DVI_Device; return viafb_DeviceStatus; } status = 1; } else DEBUG_MSG(KERN_INFO "DVI De-attached...\n"); } if ((viafb_DeviceStatus != CRT_Device) && (status == 0)) { viafb_CRT_ON = 1; viafb_DVI_ON = 0; viafb_LCD_ON = 0; viafb_DeviceStatus = CRT_Device; return viafb_DeviceStatus; } return 0; }
void __devinit viafb_init_dvi_size(struct tmds_chip_information *tmds_chip, struct tmds_setting_information *tmds_setting) { DEBUG_MSG(KERN_INFO "viafb_init_dvi_size()\n"); viafb_dvi_sense(); if (viafb_dvi_query_EDID() == 1) dvi_get_panel_size_from_DDCv1(tmds_chip, tmds_setting); return; }
void viafb_get_device_connect_state(u32 *connect_state) { bool mobile = false; *connect_state = CRT_Device; if (viafb_dvi_sense()) *connect_state |= DVI_Device; viafb_lcd_get_mobile_state(&mobile); if (mobile) *connect_state |= LCD_Device; }
/* Hot-Plug Priority: DVI > CRT*/ int viafb_ioctl_hotplug(int hres, int vres, int bpp) { int DVIsense, status = 0; DEBUG_MSG(KERN_INFO "viafb_ioctl_hotplug!!\n"); if (viaparinfo->chip_info->tmds_chip_info.tmds_chip_name != NON_TMDS_TRANSMITTER) { DVIsense = viafb_dvi_sense(); if (DVIsense) { DEBUG_MSG(KERN_INFO "DVI Attached...\n"); if (viafb_DeviceStatus != DVI_Device) { viafb_DVI_ON = 1; viafb_CRT_ON = 0; viafb_LCD_ON = 0; viafb_DeviceStatus = DVI_Device; <<<<<<< HEAD viafb_set_iga_path(); ======= >>>>>>> 296c66da8a02d52243f45b80521febece5ed498a return viafb_DeviceStatus;