drm/i915/icp: Add backlight Support for ICP
authorAnusha Srivatsa <anusha.srivatsa@intel.com>
Fri, 19 Jan 2018 18:48:12 +0000 (16:48 -0200)
committerPaulo Zanoni <paulo.r.zanoni@intel.com>
Fri, 19 Jan 2018 19:58:28 +0000 (17:58 -0200)
ICP has two backlight controllers - similar to previous platforms like
BXT -, but we only use one controller for now, so we can just reuse
the CNP code.

v2: Remove the usage of ICP_SECOND_PPS_BACKLIGHT register.(Jani)
Reuse CNP code since it is very similar.(Ville)
v3 (from Paulo): Rebase.
v4 (from Paulo): adjust commit message (James) and comment (Rodrigo).

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: James Ausmus <james.ausmus@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180119184812.2888-1-paulo.r.zanoni@intel.com
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
drivers/gpu/drm/i915/intel_panel.c

index fa6831f..e702a64 100644 (file)
@@ -1719,9 +1719,9 @@ cnp_setup_backlight(struct intel_connector *connector, enum pipe unused)
        u32 pwm_ctl, val;
 
        /*
-        * CNP has the BXT implementation of backlight, but with only
-        * one controller. Future platforms could have multiple controllers
-        * so let's make this extensible and prepared for the future.
+        * CNP has the BXT implementation of backlight, but with only one
+        * controller. TODO: ICP has multiple controllers but we only use
+        * controller 0 for now.
         */
        panel->backlight.controller = 0;
 
@@ -1865,7 +1865,7 @@ intel_panel_init_backlight_funcs(struct intel_panel *panel)
                panel->backlight.set = bxt_set_backlight;
                panel->backlight.get = bxt_get_backlight;
                panel->backlight.hz_to_pwm = bxt_hz_to_pwm;
-       } else if (HAS_PCH_CNP(dev_priv)) {
+       } else if (HAS_PCH_CNP(dev_priv) || HAS_PCH_ICP(dev_priv)) {
                panel->backlight.setup = cnp_setup_backlight;
                panel->backlight.enable = cnp_enable_backlight;
                panel->backlight.disable = cnp_disable_backlight;