From: Alan Cox <a...@linux.intel.com>

Signed-off-by: Alan Cox <alan at linux.intel.com>
---

 drivers/gpu/drm/gma500/framebuffer.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)


diff --git a/drivers/gpu/drm/gma500/framebuffer.c 
b/drivers/gpu/drm/gma500/framebuffer.c
index 791c0ef..97d5b80 100644
--- a/drivers/gpu/drm/gma500/framebuffer.c
+++ b/drivers/gpu/drm/gma500/framebuffer.c
@@ -560,11 +560,21 @@ static struct drm_framebuffer *psb_user_framebuffer_create
 static void psbfb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
                                                        u16 blue, int regno)
 {
+       struct psb_intel_crtc *intel_crtc = to_psb_intel_crtc(crtc);
+
+       intel_crtc->lut_r[regno] = red >> 8;
+       intel_crtc->lut_g[regno] = green >> 8;
+       intel_crtc->lut_b[regno] = blue >> 8;
 }

 static void psbfb_gamma_get(struct drm_crtc *crtc, u16 *red,
                                        u16 *green, u16 *blue, int regno)
 {
+       struct psb_intel_crtc *intel_crtc = to_psb_intel_crtc(crtc);
+
+       *red = intel_crtc->lut_r[regno] << 8;
+       *green = intel_crtc->lut_g[regno] << 8;
+       *blue = intel_crtc->lut_b[regno] << 8;
 }

 static int psbfb_probe(struct drm_fb_helper *helper,

Reply via email to