aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 93ff6c03733e..3c14240cc002 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3095,7 +3095,6 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
3095 struct drm_gem_object *bo; 3095 struct drm_gem_object *bo;
3096 struct drm_i915_gem_object *obj_priv; 3096 struct drm_i915_gem_object *obj_priv;
3097 int pipe = intel_crtc->pipe; 3097 int pipe = intel_crtc->pipe;
3098 int plane = intel_crtc->plane;
3099 uint32_t control = (pipe == 0) ? CURACNTR : CURBCNTR; 3098 uint32_t control = (pipe == 0) ? CURACNTR : CURBCNTR;
3100 uint32_t base = (pipe == 0) ? CURABASE : CURBBASE; 3099 uint32_t base = (pipe == 0) ? CURABASE : CURBBASE;
3101 uint32_t temp = I915_READ(control); 3100 uint32_t temp = I915_READ(control);
@@ -3182,9 +3181,6 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
3182 drm_gem_object_unreference(intel_crtc->cursor_bo); 3181 drm_gem_object_unreference(intel_crtc->cursor_bo);
3183 } 3182 }
3184 3183
3185 if ((IS_I965G(dev) || plane == 0))
3186 intel_update_fbc(crtc, &crtc->mode);
3187
3188 mutex_unlock(&dev->struct_mutex); 3184 mutex_unlock(&dev->struct_mutex);
3189 3185
3190 intel_crtc->cursor_addr = addr; 3186 intel_crtc->cursor_addr = addr;
@@ -3244,6 +3240,16 @@ void intel_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
3244 intel_crtc->lut_b[regno] = blue >> 8; 3240 intel_crtc->lut_b[regno] = blue >> 8;
3245} 3241}
3246 3242
3243void intel_crtc_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green,
3244 u16 *blue, int regno)
3245{
3246 struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
3247
3248 *red = intel_crtc->lut_r[regno] << 8;
3249 *green = intel_crtc->lut_g[regno] << 8;
3250 *blue = intel_crtc->lut_b[regno] << 8;
3251}
3252
3247static void intel_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green, 3253static void intel_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
3248 u16 *blue, uint32_t size) 3254 u16 *blue, uint32_t size)
3249{ 3255{
@@ -3835,6 +3841,7 @@ static const struct drm_crtc_helper_funcs intel_helper_funcs = {
3835 .mode_set_base = intel_pipe_set_base, 3841 .mode_set_base = intel_pipe_set_base,
3836 .prepare = intel_crtc_prepare, 3842 .prepare = intel_crtc_prepare,
3837 .commit = intel_crtc_commit, 3843 .commit = intel_crtc_commit,
3844 .load_lut = intel_crtc_load_lut,
3838}; 3845};
3839 3846
3840static const struct drm_crtc_funcs intel_crtc_funcs = { 3847static const struct drm_crtc_funcs intel_crtc_funcs = {