The source code is if ((rdev->family != CHIP_RV710) || (rdev->family != CHIP_RV730)) atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT, 0, 0); Maybe the programmer intended if ((rdev->family != CHIP_RV710) && (rdev->family != CHIP_RV730)) atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_ENABLE_OUTPUT, 0, 0); Here is compiler flag -Wlogical-op finding the problem drivers/gpu/drm/radeon/atombios_encoders.c:1628:4: warning: logical ‘or’ of coll ectively exhaustive tests is always true [-Wlogical-op]
Good catch. Thanks! Patch queued.
A patch referencing this bug report has been merged in Linux v3.7-rc6: commit b9196395c905edec512dfd6690428084228c16ec Author: Alex Deucher <alexander.deucher@amd.com> Date: Wed Nov 14 09:10:39 2012 -0500 drm/radeon: fix logic error in atombios_encoders.c