lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1358189306.2543.0@antares>
Date:	Mon, 14 Jan 2013 19:48:15 +0100
From:	Albrecht Dreß <albrecht.dress@...or.de>
To:	Ben Hutchings <ben@...adent.org.uk>
Cc:	linux-kernel@...r.kernel.org, stable@...r.kernel.org,
	akpm@...ux-foundation.org, alan@...rguk.ukuu.org.uk,
	Alex Deucher <alexander.deucher@....com>
Subject: Re: [ 17/49] drm/radeon: add connector table for Mac G4 Silver

This patch properly sets the connector table on my Powermac G4 "Silver".  However, I cannot get any usable video output as still something seems to be wrong with the register settings.  Thus, it's not the *full* solution yet...

---
Tested-by: Albrecht Dreß <albrecht.dress@...or.de>

Am 13.01.13 18:43 schrieb(en) Ben Hutchings:
> 3.2-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: Alex Deucher <alexander.deucher@....com>
> 
> commit cafa59b9011a7790be4ddd5979419259844a165d upstream.
> 
> Apple cards do not provide data tables in the vbios
> so we have to hard code the connector parameters
> in the driver.
> 
> Reported-by: Albrecht Dreß <albrecht.dress@...or.de>
> Signed-off-by: Alex Deucher <alexander.deucher@....com>
> Signed-off-by: Ben Hutchings <ben@...adent.org.uk>
> ---
>  drivers/gpu/drm/radeon/radeon_combios.c |   51 +++++++++++++++++++++++++++++++
>  drivers/gpu/drm/radeon/radeon_mode.h    |    3 +-
>  2 files changed, 53 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
> index 4af8912..33a56a0 100644
> --- a/drivers/gpu/drm/radeon/radeon_combios.c
> +++ b/drivers/gpu/drm/radeon/radeon_combios.c
> @@ -1548,6 +1548,9 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
>  			   of_machine_is_compatible("PowerBook6,7")) {
>  			/* ibook */
>  			rdev->mode_info.connector_table = CT_IBOOK;
> +		} else if (of_machine_is_compatible("PowerMac3,5")) {
> +			/* PowerMac G4 Silver radeon 7500 */
> +			rdev->mode_info.connector_table = CT_MAC_G4_SILVER;
>  		} else if (of_machine_is_compatible("PowerMac4,4")) {
>  			/* emac */
>  			rdev->mode_info.connector_table = CT_EMAC;
> @@ -2212,6 +2215,54 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
>  					    CONNECTOR_OBJECT_ID_SVIDEO,
>  					    &hpd);
>  		break;
> +	case CT_MAC_G4_SILVER:
> +		DRM_INFO("Connector Table: %d (mac g4 silver)\n",
> +			 rdev->mode_info.connector_table);
> +		/* DVI-I - tv dac, int tmds */
> +		ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
> +		hpd.hpd = RADEON_HPD_1; /* ??? */
> +		radeon_add_legacy_encoder(dev,
> +					  radeon_get_encoder_enum(dev,
> +								ATOM_DEVICE_DFP1_SUPPORT,
> +								0),
> +					  ATOM_DEVICE_DFP1_SUPPORT);
> +		radeon_add_legacy_encoder(dev,
> +					  radeon_get_encoder_enum(dev,
> +								ATOM_DEVICE_CRT2_SUPPORT,
> +								2),
> +					  ATOM_DEVICE_CRT2_SUPPORT);
> +		radeon_add_legacy_connector(dev, 0,
> +					    ATOM_DEVICE_DFP1_SUPPORT |
> +					    ATOM_DEVICE_CRT2_SUPPORT,
> +					    DRM_MODE_CONNECTOR_DVII, &ddc_i2c,
> +					    CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I,
> +					    &hpd);
> +		/* VGA - primary dac */
> +		ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
> +		hpd.hpd = RADEON_HPD_NONE;
> +		radeon_add_legacy_encoder(dev,
> +					  radeon_get_encoder_enum(dev,
> +								ATOM_DEVICE_CRT1_SUPPORT,
> +								1),
> +					  ATOM_DEVICE_CRT1_SUPPORT);
> +		radeon_add_legacy_connector(dev, 1, ATOM_DEVICE_CRT1_SUPPORT,
> +					    DRM_MODE_CONNECTOR_VGA, &ddc_i2c,
> +					    CONNECTOR_OBJECT_ID_VGA,
> +					    &hpd);
> +		/* TV - TV DAC */
> +		ddc_i2c.valid = false;
> +		hpd.hpd = RADEON_HPD_NONE;
> +		radeon_add_legacy_encoder(dev,
> +					  radeon_get_encoder_enum(dev,
> +								ATOM_DEVICE_TV1_SUPPORT,
> +								2),
> +					  ATOM_DEVICE_TV1_SUPPORT);
> +		radeon_add_legacy_connector(dev, 2, ATOM_DEVICE_TV1_SUPPORT,
> +					    DRM_MODE_CONNECTOR_SVIDEO,
> +					    &ddc_i2c,
> +					    CONNECTOR_OBJECT_ID_SVIDEO,
> +					    &hpd);
> +		break;
>  	default:
>  		DRM_INFO("Connector table: %d (invalid)\n",
>  			 rdev->mode_info.connector_table);
> diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h
> index d818b50..ed8a0fa 100644
> --- a/drivers/gpu/drm/radeon/radeon_mode.h
> +++ b/drivers/gpu/drm/radeon/radeon_mode.h
> @@ -209,7 +209,8 @@ enum radeon_connector_table {
>  	CT_RN50_POWER,
>  	CT_MAC_X800,
>  	CT_MAC_G5_9600,
> -	CT_SAM440EP
> +	CT_SAM440EP,
> +	CT_MAC_G4_SILVER
>  };
> 
>  enum radeon_dvo_chip {
> 
> 
> 

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ