On Fri, May 7, 2010 at 11:15 PM, Alex Deucher <alexdeucher at gmail.com> wrote:
> Whoops, sent out an old version of this patch. ?newer version
> attached, I can also send out a change against drm-next if you'd
> prefer.

And the incremental patch if you'd prefer.

Alex

>
> Alex
>
> On Fri, May 7, 2010 at 5:05 PM, Alex Deucher <alexdeucher at gmail.com> wrote:
>> Previously we just set them to dpms off. ?This should save
>> additional power.
>>
>> Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
>> ---
>> ?drivers/gpu/drm/radeon/radeon_encoders.c | ? 39 
>> ++++++++++++++++++++++++++++++
>> ?1 files changed, 39 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c 
>> b/drivers/gpu/drm/radeon/radeon_encoders.c
>> index 559c9ce..607d00b 100644
>> --- a/drivers/gpu/drm/radeon/radeon_encoders.c
>> +++ b/drivers/gpu/drm/radeon/radeon_encoders.c
>> @@ -1504,10 +1504,49 @@ static void radeon_atom_encoder_commit(struct 
>> drm_encoder *encoder)
>>
>> ?static void radeon_atom_encoder_disable(struct drm_encoder *encoder)
>> ?{
>> + ? ? ? struct drm_device *dev = encoder->dev;
>> + ? ? ? struct radeon_device *rdev = dev->dev_private;
>> ? ? ? ?struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder);
>> ? ? ? ?struct radeon_encoder_atom_dig *dig;
>> ? ? ? ?radeon_atom_encoder_dpms(encoder, DRM_MODE_DPMS_OFF);
>>
>> + ? ? ? switch (radeon_encoder->encoder_id) {
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_TMDS1:
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_LVDS:
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_LVTM1:
>> + ? ? ? ? ? ? ? atombios_digital_setup(encoder, 
>> PANEL_ENCODER_ACTION_DISABLE);
>> + ? ? ? ? ? ? ? break;
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_UNIPHY:
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_UNIPHY1:
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_UNIPHY2:
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA:
>> + ? ? ? ? ? ? ? if (ASIC_IS_DCE4(rdev))
>> + ? ? ? ? ? ? ? ? ? ? ? /* disable the transmitter */
>> + ? ? ? ? ? ? ? ? ? ? ? atombios_dig_transmitter_setup(encoder, 
>> ATOM_TRANSMITTER_ACTION_DISABLE, 0, 0);
>> + ? ? ? ? ? ? ? else {
>> + ? ? ? ? ? ? ? ? ? ? ? /* disable the encoder and transmitter */
>> + ? ? ? ? ? ? ? ? ? ? ? atombios_dig_transmitter_setup(encoder, 
>> ATOM_TRANSMITTER_ACTION_DISABLE, 0, 0);
>> + ? ? ? ? ? ? ? ? ? ? ? atombios_dig_encoder_setup(encoder, ATOM_DISABLE);
>> + ? ? ? ? ? ? ? }
>> + ? ? ? ? ? ? ? break;
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_DDI:
>> + ? ? ? ? ? ? ? atombios_ddia_setup(encoder, ATOM_DISABLE);
>> + ? ? ? ? ? ? ? break;
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_DVO1:
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1:
>> + ? ? ? ? ? ? ? atombios_external_tmds_setup(encoder, ATOM_DISABLE);
>> + ? ? ? ? ? ? ? break;
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_DAC1:
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1:
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_DAC2:
>> + ? ? ? case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2:
>> + ? ? ? ? ? ? ? atombios_dac_setup(encoder, ATOM_DISABLE);
>> + ? ? ? ? ? ? ? if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT 
>> | ATOM_DEVICE_CV_SUPPORT))
>> + ? ? ? ? ? ? ? ? ? ? ? atombios_tv_setup(encoder, ATOM_DISABLE);
>> + ? ? ? ? ? ? ? break;
>> + ? ? ? }
>> +
>> ? ? ? ?if (radeon_encoder_is_digital(encoder)) {
>> ? ? ? ? ? ? ? ?if (atombios_get_encoder_mode(encoder) == 
>> ATOM_ENCODER_MODE_HDMI)
>> ? ? ? ? ? ? ? ? ? ? ? ?r600_hdmi_disable(encoder);
>> --
>> 1.5.6.3
>>
>>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-drm-radeon-kms-fix-copy-pasto-in-disable-encoders-p.patch
Type: application/mbox
Size: 1076 bytes
Desc: not available
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20100507/9667a847/attachment-0001.bin>

Reply via email to