diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_atombios.c')
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_atombios.c | 20 | 
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c index 99bd8a9c56b..10673ae59cf 100644 --- a/drivers/gpu/drm/radeon/radeon_atombios.c +++ b/drivers/gpu/drm/radeon/radeon_atombios.c @@ -280,6 +280,15 @@ static bool radeon_atom_apply_quirks(struct drm_device *dev,  		}  	} +	/* ASUS HD 3600 board lists the DVI port as HDMI */ +	if ((dev->pdev->device == 0x9598) && +	    (dev->pdev->subsystem_vendor == 0x1043) && +	    (dev->pdev->subsystem_device == 0x01e4)) { +		if (*connector_type == DRM_MODE_CONNECTOR_HDMIA) { +			*connector_type = DRM_MODE_CONNECTOR_DVII; +		} +	} +  	/* ASUS HD 3450 board lists the DVI port as HDMI */  	if ((dev->pdev->device == 0x95C5) &&  	    (dev->pdev->subsystem_vendor == 0x1043) && @@ -1029,8 +1038,15 @@ bool radeon_atombios_sideport_present(struct radeon_device *rdev)  				      data_offset);  		switch (crev) {  		case 1: -			if (igp_info->info.ucMemoryType & 0xf0) -				return true; +			/* AMD IGPS */ +			if ((rdev->family == CHIP_RS690) || +			    (rdev->family == CHIP_RS740)) { +				if (igp_info->info.ulBootUpMemoryClock) +					return true; +			} else { +				if (igp_info->info.ucMemoryType & 0xf0) +					return true; +			}  			break;  		case 2:  			if (igp_info->info_2.ucMemoryType & 0x0f)  |