drm/radeon: ATOM Endian fix for atombios_crtc_program_pll()
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 13 Jul 2011 06:28:15 +0000 (16:28 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 25 Jul 2011 11:27:05 +0000 (12:27 +0100)
commitf1bece7fde9820a99c14d4db46ef071000e4ba47
tree31a7e243cd9bf1f3c4a81e49b40682e5bef2151c
parentedc02bffbdcd92086f5cc9d715143e51acfa90ee
drm/radeon: ATOM Endian fix for atombios_crtc_program_pll()

v6 of the structure was programmed incorrectly:

  args.v6.ulCrtcPclkFreq.ulPixelClock = cpu_to_le32(clock / 10);

ulPixelClock is a 24-bit bitfield. This statement would thus
do a 32-bit swap of (clock / 10) and drop the top 8 bits which
are ... the LSB. Not what we want. Instead use masks & shifts.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/radeon/atombios_crtc.c