summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gray <jsg@jsg.id.au>2013-08-06 19:49:07 +1000
committerJonathan Gray <jsg@jsg.id.au>2013-08-12 10:47:26 +1000
commit66dbd7e03740c46e4d192f6ec69ad08e63ddc481 (patch)
tree18a3aa835a2c34097ea0dd84f0e2443aae909dcb
parent1cc7b2054ecc12e41f75d4d30414363fd536140b (diff)
add back the code for loading the rasops lut on vt switch
-rw-r--r--sys/dev/pci/drm/radeon/radeon_kms.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/pci/drm/radeon/radeon_kms.c b/sys/dev/pci/drm/radeon/radeon_kms.c
index aea055fb1a2..83a0c9fc3c0 100644
--- a/sys/dev/pci/drm/radeon/radeon_kms.c
+++ b/sys/dev/pci/drm/radeon/radeon_kms.c
@@ -1506,8 +1506,18 @@ radeondrm_doswitch(void *v, void *cookie)
{
struct radeon_device *rdev = v;
struct rasops_info *ri = &rdev->ro;
+ struct radeon_crtc *radeon_crtc;
+ int i, crtc;
rasops_show_screen(ri, cookie, 0, NULL, NULL);
+ for (crtc = 0; crtc < rdev->num_crtc; crtc++) {
+ for (i = 0; i < 256; i++) {
+ radeon_crtc = rdev->mode_info.crtcs[crtc];
+ radeon_crtc->lut_r[i] = rasops_cmap[3 * i] << 2;
+ radeon_crtc->lut_g[i] = rasops_cmap[(3 * i) + 1] << 2;
+ radeon_crtc->lut_b[i] = rasops_cmap[(3 * i) + 2] << 2;
+ }
+ }
drm_fb_helper_restore();
if (rdev->switchcb)