summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/udl
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2012-06-25 07:32:14 +0100
committerDave Airlie <airlied@redhat.com>2012-06-25 07:43:12 +0100
commitd42f0349f3fed647c61c2d432e974bbdafcfb3fb (patch)
tree239371bc88344798f75287da51ba93024bb2df64 /drivers/gpu/drm/udl
parent6b16351acbd415e66ba16bf7d473ece1574cf0bc (diff)
downloadlinux-d42f0349f3fed647c61c2d432e974bbdafcfb3fb.tar.bz2
drm/udl: Make sure to get correct endian keys from vendor descriptor
This is a port of commit b49f184b640dcfab7ede394cf2a1ff4fe3d154f5 Author: Ben Collins <bcollins@ubuntu.com> from udlfb to udl kms driver. The driver was not using le16_to_cpu when reading keys from the vendor descriptor, causing incorrect parsing. Mainly, sku_pixel_limit was not being parsed on big-endian systems. This would result in a blank screen on big-endian CPUs where the DL chips's max mode was smaller than the monitor's native mode. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/udl')
-rw-r--r--drivers/gpu/drm/udl/udl_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c
index a8d5f09428c7..4c2d836a0893 100644
--- a/drivers/gpu/drm/udl/udl_main.c
+++ b/drivers/gpu/drm/udl/udl_main.c
@@ -61,7 +61,7 @@ static int udl_parse_vendor_descriptor(struct drm_device *dev,
u8 length;
u16 key;
- key = *((u16 *) desc);
+ key = le16_to_cpu(*((u16 *) desc));
desc += sizeof(u16);
length = *desc;
desc++;