Messages in this thread Patch in this message | | | Date | Mon, 14 Jan 2013 19:48:15 +0100 | From | Albrecht Dreß <> | 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@arcor.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@amd.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@arcor.de> > Signed-off-by: Alex Deucher <alexander.deucher@amd.com> > Signed-off-by: Ben Hutchings <ben@decadent.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 { > > > [unhandled content-type:application/pgp-signature] | |