On Sun, Jun 10, 2012 at 11:59 AM, Rafał Miłecki <zajec5@xxxxxxxxx> wrote: > After recent changes HDMI code is ready to be enabled on DCE5. This > patch just changes conditions to execute already present code on DCE5. > > Signed-off-by: Rafał Miłecki <zajec5@xxxxxxxxx> > --- > Dave: I know it's common to accept patches adding IDs even while merge > window's closed. Is this OK for you to take this patch as it only > enables existing code for more hardware? > DCE5 has same HDMI engine/code as DCE4. > > This was tested for regressions on R6xx and Evergreen. It makes audio > work on my NI Caicos card. Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Thanks for all of your hard work on this Rafał! Alex > --- > drivers/gpu/drm/radeon/atombios_encoders.c | 4 +++- > drivers/gpu/drm/radeon/evergreen_hdmi.c | 3 --- > drivers/gpu/drm/radeon/r600_audio.c | 2 +- > drivers/gpu/drm/radeon/r600_hdmi.c | 7 ++----- > 4 files changed, 6 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/atombios_encoders.c b/drivers/gpu/drm/radeon/atombios_encoders.c > index e7b1ec5..486ccdf 100644 > --- a/drivers/gpu/drm/radeon/atombios_encoders.c > +++ b/drivers/gpu/drm/radeon/atombios_encoders.c > @@ -1926,7 +1926,9 @@ radeon_atom_encoder_mode_set(struct drm_encoder *encoder, > > if (atombios_get_encoder_mode(encoder) == ATOM_ENCODER_MODE_HDMI) { > r600_hdmi_enable(encoder); > - if (ASIC_IS_DCE4(rdev)) > + if (ASIC_IS_DCE6(rdev)) > + ; /* TODO (use pointers instead of if-s?) */ > + else if (ASIC_IS_DCE4(rdev)) > evergreen_hdmi_setmode(encoder, adjusted_mode); > else > r600_hdmi_setmode(encoder, adjusted_mode); > diff --git a/drivers/gpu/drm/radeon/evergreen_hdmi.c b/drivers/gpu/drm/radeon/evergreen_hdmi.c > index a51f880..65c5416 100644 > --- a/drivers/gpu/drm/radeon/evergreen_hdmi.c > +++ b/drivers/gpu/drm/radeon/evergreen_hdmi.c > @@ -156,9 +156,6 @@ void evergreen_hdmi_setmode(struct drm_encoder *encoder, struct drm_display_mode > struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; > uint32_t offset; > > - if (ASIC_IS_DCE5(rdev)) > - return; > - > /* Silent, r600_hdmi_enable will raise WARN for us */ > if (!dig->afmt->enabled) > return; > diff --git a/drivers/gpu/drm/radeon/r600_audio.c b/drivers/gpu/drm/radeon/r600_audio.c > index 7479a5c..79b5591 100644 > --- a/drivers/gpu/drm/radeon/r600_audio.c > +++ b/drivers/gpu/drm/radeon/r600_audio.c > @@ -57,7 +57,7 @@ static bool radeon_dig_encoder(struct drm_encoder *encoder) > */ > static int r600_audio_chipset_supported(struct radeon_device *rdev) > { > - return (rdev->family >= CHIP_R600 && !ASIC_IS_DCE5(rdev)) > + return (rdev->family >= CHIP_R600 && !ASIC_IS_DCE6(rdev)) > || rdev->family == CHIP_RS600 > || rdev->family == CHIP_RS690 > || rdev->family == CHIP_RS740; > diff --git a/drivers/gpu/drm/radeon/r600_hdmi.c b/drivers/gpu/drm/radeon/r600_hdmi.c > index 969c275..82a0a4c 100644 > --- a/drivers/gpu/drm/radeon/r600_hdmi.c > +++ b/drivers/gpu/drm/radeon/r600_hdmi.c > @@ -322,9 +322,6 @@ void r600_hdmi_setmode(struct drm_encoder *encoder, struct drm_display_mode *mod > struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; > uint32_t offset; > > - if (ASIC_IS_DCE5(rdev)) > - return; > - > /* Silent, r600_hdmi_enable will raise WARN for us */ > if (!dig->afmt->enabled) > return; > @@ -483,7 +480,7 @@ void r600_hdmi_enable(struct drm_encoder *encoder) > uint32_t offset; > u32 hdmi; > > - if (ASIC_IS_DCE5(rdev)) > + if (ASIC_IS_DCE6(rdev)) > return; > > /* Silent, r600_hdmi_enable will raise WARN for us */ > @@ -543,7 +540,7 @@ void r600_hdmi_disable(struct drm_encoder *encoder) > struct radeon_encoder_atom_dig *dig = radeon_encoder->enc_priv; > uint32_t offset; > > - if (ASIC_IS_DCE5(rdev)) > + if (ASIC_IS_DCE6(rdev)) > return; > > /* Called for ATOM_ENCODER_MODE_HDMI only */ > -- > 1.7.7 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel