View | Details | Raw Unified
Collapse All | Expand All

(-) radeon_monitor.c (-14 / +8 lines)
 Lines 480-496    Link Here 
		
		
		RTRACE("Starting monitor auto detection...\n");
		RTRACE("Starting monitor auto detection...\n");
#if DEBUG && defined(CONFIG_FB_RADEON_I2C)
		{
			u8 *EDIDs[4] = { NULL, NULL, NULL, NULL };
			int mon_types[4] = {MT_NONE, MT_NONE, MT_NONE, MT_NONE};
			int i;
			for (i = 0; i < 4; i++)
				mon_types[i] = radeon_probe_i2c_connector(rinfo,
									  i+1, &EDIDs[i]);
		}
#endif /* DEBUG */
		/*
		/*
		 * Old single head cards
		 * Old single head cards
		 */
		 */
 Lines 530-540    Link Here 
				if (!BIOS_IN8(tmp + i*2) && i > 1)
				if (!BIOS_IN8(tmp + i*2) && i > 1)
					break;
					break;
				tmp0 = BIOS_IN16(tmp + i*2);
				tmp0 = BIOS_IN16(tmp + i*2);
				if ((!(tmp0 & 0x01)) && (((tmp0 >> 8) & 0x0f) == ddc_dvi)) {
				if ((!(tmp0 & 0x01)) && ((((tmp0 >> 8) & 0x0f) == ddc_dvi) || (((tmp0 >> 8) & 0x0f) == ddc_monid))) {
					rinfo->reversed_DAC = 1;
					rinfo->reversed_DAC = 1;
					printk(KERN_INFO "radeonfb: Reversed DACs detected\n");
					printk(KERN_INFO "radeonfb: Reversed DACs detected\n");
				}
				}
				if ((((tmp0 >> 8) & 0x0f) == ddc_dvi) && ((tmp0 >> 4) & 0x01)) {
				if ((((tmp0 >> 8) & 0x0f) == ddc_dvi || (((tmp0 >> 8) & 0x0f) == ddc_monid)) && ((tmp0 >> 4) & 0x01)) {
					rinfo->reversed_TMDS = 1;
					rinfo->reversed_TMDS = 1;
					printk(KERN_INFO "radeonfb: Reversed TMDS detected\n");
					printk(KERN_INFO "radeonfb: Reversed TMDS detected\n");
				}
				}
 Lines 544-549    Link Here 
		/*
		/*
		 * Probe primary head (DVI or laptop internal panel)
		 * Probe primary head (DVI or laptop internal panel)
		 */
		 */
		printk(KERN_INFO "radeonfb: Probe primary head\n");
#ifdef CONFIG_PPC_OF
#ifdef CONFIG_PPC_OF
		if (rinfo->mon1_type == MT_NONE)
		if (rinfo->mon1_type == MT_NONE)
			rinfo->mon1_type = radeon_probe_OF_head(rinfo, 0,
			rinfo->mon1_type = radeon_probe_OF_head(rinfo, 0,
 Lines 551-556    Link Here 
#endif /* CONFIG_PPC_OF */
#endif /* CONFIG_PPC_OF */
#ifdef CONFIG_FB_RADEON_I2C
#ifdef CONFIG_FB_RADEON_I2C
		if (rinfo->mon1_type == MT_NONE)
		if (rinfo->mon1_type == MT_NONE)
			rinfo->mon1_type = radeon_probe_i2c_connector(rinfo, ddc_monid,
								      &rinfo->mon1_EDID);
		if (rinfo->mon1_type == MT_NONE)
			rinfo->mon1_type = radeon_probe_i2c_connector(rinfo, ddc_dvi,
			rinfo->mon1_type = radeon_probe_i2c_connector(rinfo, ddc_dvi,
								      &rinfo->mon1_EDID);
								      &rinfo->mon1_EDID);
		if (rinfo->mon1_type == MT_NONE) {
		if (rinfo->mon1_type == MT_NONE) {
 Lines 572-577    Link Here 
		/*
		/*
		 * Probe secondary head (mostly VGA, can be DVI)
		 * Probe secondary head (mostly VGA, can be DVI)
		 */
		 */
		printk(KERN_INFO "radeonfb: Probe secondary head\n");
#ifdef CONFIG_PPC_OF
#ifdef CONFIG_PPC_OF
		if (rinfo->mon2_type == MT_NONE)
		if (rinfo->mon2_type == MT_NONE)
			rinfo->mon2_type = radeon_probe_OF_head(rinfo, 1,
			rinfo->mon2_type = radeon_probe_OF_head(rinfo, 1,
 Lines 642-648    Link Here 
/*
/*
 * This functions applyes any arch/model/machine specific fixups
 * This functions applies any arch/model/machine specific fixups
 * to the panel info. It may eventually alter EDID block as
 * to the panel info. It may eventually alter EDID block as
 * well or whatever is specific to a given model and not probed
 * well or whatever is specific to a given model and not probed
 * properly by the default code
 * properly by the default code