drm/i915/backlight: split out backlight registers to a separate file
authorJani Nikula <jani.nikula@intel.com>
Mon, 15 Aug 2022 09:48:38 +0000 (12:48 +0300)
committerJani Nikula <jani.nikula@intel.com>
Tue, 16 Aug 2022 07:42:33 +0000 (10:42 +0300)
Declutter i915_reg.h by splitting backlight registers to a separate
file. Also include the utility pin definitions, even though they are
used for non-backlight things too.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220815094838.3511723-1-jani.nikula@intel.com
drivers/gpu/drm/i915/display/icl_dsi.c
drivers/gpu/drm/i915/display/intel_backlight.c
drivers/gpu/drm/i915/display/intel_backlight_regs.h [new file with mode: 0644]
drivers/gpu/drm/i915/display/intel_display_power.c
drivers/gpu/drm/i915/display/intel_display_power_well.c
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_gvt_mmio_table.c

index 5dcfa7feffa9ff924cd48cc36198c51610ef3a28..c182253196f3141668a696133fa37146338bcbbd 100644 (file)
@@ -33,6 +33,7 @@
 #include "icl_dsi_regs.h"
 #include "intel_atomic.h"
 #include "intel_backlight.h"
+#include "intel_backlight_regs.h"
 #include "intel_combo_phy.h"
 #include "intel_combo_phy_regs.h"
 #include "intel_connector.h"
index 110fc98ec280de6ca65b2acdc3bfb9a22e77ffdf..262b2fda37e546a420e932aed9482800238b1df4 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/string_helpers.h>
 
 #include "intel_backlight.h"
+#include "intel_backlight_regs.h"
 #include "intel_connector.h"
 #include "intel_de.h"
 #include "intel_display_types.h"
diff --git a/drivers/gpu/drm/i915/display/intel_backlight_regs.h b/drivers/gpu/drm/i915/display/intel_backlight_regs.h
new file mode 100644 (file)
index 0000000..50c1210
--- /dev/null
@@ -0,0 +1,124 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+#ifndef __INTEL_BACKLIGHT_REGS_H__
+#define __INTEL_BACKLIGHT_REGS_H__
+
+#include "i915_reg_defs.h"
+
+#define _VLV_BLC_PWM_CTL2_A (DISPLAY_MMIO_BASE(dev_priv) + 0x61250)
+#define _VLV_BLC_PWM_CTL2_B (DISPLAY_MMIO_BASE(dev_priv) + 0x61350)
+#define VLV_BLC_PWM_CTL2(pipe) _MMIO_PIPE(pipe, _VLV_BLC_PWM_CTL2_A, \
+                                        _VLV_BLC_PWM_CTL2_B)
+
+#define _VLV_BLC_PWM_CTL_A (DISPLAY_MMIO_BASE(dev_priv) + 0x61254)
+#define _VLV_BLC_PWM_CTL_B (DISPLAY_MMIO_BASE(dev_priv) + 0x61354)
+#define VLV_BLC_PWM_CTL(pipe) _MMIO_PIPE(pipe, _VLV_BLC_PWM_CTL_A, \
+                                       _VLV_BLC_PWM_CTL_B)
+
+#define _VLV_BLC_HIST_CTL_A (DISPLAY_MMIO_BASE(dev_priv) + 0x61260)
+#define _VLV_BLC_HIST_CTL_B (DISPLAY_MMIO_BASE(dev_priv) + 0x61360)
+#define VLV_BLC_HIST_CTL(pipe) _MMIO_PIPE(pipe, _VLV_BLC_HIST_CTL_A, \
+                                        _VLV_BLC_HIST_CTL_B)
+
+/* Backlight control */
+#define BLC_PWM_CTL2   _MMIO(DISPLAY_MMIO_BASE(dev_priv) + 0x61250) /* 965+ only */
+#define   BLM_PWM_ENABLE               (1 << 31)
+#define   BLM_COMBINATION_MODE         (1 << 30) /* gen4 only */
+#define   BLM_PIPE_SELECT              (1 << 29)
+#define   BLM_PIPE_SELECT_IVB          (3 << 29)
+#define   BLM_PIPE_A                   (0 << 29)
+#define   BLM_PIPE_B                   (1 << 29)
+#define   BLM_PIPE_C                   (2 << 29) /* ivb + */
+#define   BLM_TRANSCODER_A             BLM_PIPE_A /* hsw */
+#define   BLM_TRANSCODER_B             BLM_PIPE_B
+#define   BLM_TRANSCODER_C             BLM_PIPE_C
+#define   BLM_TRANSCODER_EDP           (3 << 29)
+#define   BLM_PIPE(pipe)               ((pipe) << 29)
+#define   BLM_POLARITY_I965            (1 << 28) /* gen4 only */
+#define   BLM_PHASE_IN_INTERUPT_STATUS (1 << 26)
+#define   BLM_PHASE_IN_ENABLE          (1 << 25)
+#define   BLM_PHASE_IN_INTERUPT_ENABL  (1 << 24)
+#define   BLM_PHASE_IN_TIME_BASE_SHIFT (16)
+#define   BLM_PHASE_IN_TIME_BASE_MASK  (0xff << 16)
+#define   BLM_PHASE_IN_COUNT_SHIFT     (8)
+#define   BLM_PHASE_IN_COUNT_MASK      (0xff << 8)
+#define   BLM_PHASE_IN_INCR_SHIFT      (0)
+#define   BLM_PHASE_IN_INCR_MASK       (0xff << 0)
+#define BLC_PWM_CTL    _MMIO(DISPLAY_MMIO_BASE(dev_priv) + 0x61254)
+/*
+ * This is the most significant 15 bits of the number of backlight cycles in a
+ * complete cycle of the modulated backlight control.
+ *
+ * The actual value is this field multiplied by two.
+ */
+#define   BACKLIGHT_MODULATION_FREQ_SHIFT      (17)
+#define   BACKLIGHT_MODULATION_FREQ_MASK       (0x7fff << 17)
+#define   BLM_LEGACY_MODE                      (1 << 16) /* gen2 only */
+/*
+ * This is the number of cycles out of the backlight modulation cycle for which
+ * the backlight is on.
+ *
+ * This field must be no greater than the number of cycles in the complete
+ * backlight modulation cycle.
+ */
+#define   BACKLIGHT_DUTY_CYCLE_SHIFT           (0)
+#define   BACKLIGHT_DUTY_CYCLE_MASK            (0xffff)
+#define   BACKLIGHT_DUTY_CYCLE_MASK_PNV                (0xfffe)
+#define   BLM_POLARITY_PNV                     (1 << 0) /* pnv only */
+
+#define BLC_HIST_CTL   _MMIO(DISPLAY_MMIO_BASE(dev_priv) + 0x61260)
+#define  BLM_HISTOGRAM_ENABLE                  (1 << 31)
+
+/* New registers for PCH-split platforms. Safe where new bits show up, the
+ * register layout machtes with gen4 BLC_PWM_CTL[12]. */
+#define BLC_PWM_CPU_CTL2       _MMIO(0x48250)
+#define BLC_PWM_CPU_CTL                _MMIO(0x48254)
+
+#define HSW_BLC_PWM2_CTL       _MMIO(0x48350)
+
+/* PCH CTL1 is totally different, all but the below bits are reserved. CTL2 is
+ * like the normal CTL from gen4 and earlier. Hooray for confusing naming. */
+#define BLC_PWM_PCH_CTL1       _MMIO(0xc8250)
+#define   BLM_PCH_PWM_ENABLE                   (1 << 31)
+#define   BLM_PCH_OVERRIDE_ENABLE              (1 << 30)
+#define   BLM_PCH_POLARITY                     (1 << 29)
+#define BLC_PWM_PCH_CTL2       _MMIO(0xc8254)
+
+/* BXT backlight register definition. */
+#define _BXT_BLC_PWM_CTL1                      0xC8250
+#define   BXT_BLC_PWM_ENABLE                   (1 << 31)
+#define   BXT_BLC_PWM_POLARITY                 (1 << 29)
+#define _BXT_BLC_PWM_FREQ1                     0xC8254
+#define _BXT_BLC_PWM_DUTY1                     0xC8258
+
+#define _BXT_BLC_PWM_CTL2                      0xC8350
+#define _BXT_BLC_PWM_FREQ2                     0xC8354
+#define _BXT_BLC_PWM_DUTY2                     0xC8358
+
+#define BXT_BLC_PWM_CTL(controller)    _MMIO_PIPE(controller,          \
+                                       _BXT_BLC_PWM_CTL1, _BXT_BLC_PWM_CTL2)
+#define BXT_BLC_PWM_FREQ(controller)   _MMIO_PIPE(controller, \
+                                       _BXT_BLC_PWM_FREQ1, _BXT_BLC_PWM_FREQ2)
+#define BXT_BLC_PWM_DUTY(controller)   _MMIO_PIPE(controller, \
+                                       _BXT_BLC_PWM_DUTY1, _BXT_BLC_PWM_DUTY2)
+
+/* Utility pin */
+#define UTIL_PIN_CTL                   _MMIO(0x48400)
+#define   UTIL_PIN_ENABLE              (1 << 31)
+#define   UTIL_PIN_PIPE_MASK           (3 << 29)
+#define   UTIL_PIN_PIPE(x)             ((x) << 29)
+#define   UTIL_PIN_MODE_MASK           (0xf << 24)
+#define   UTIL_PIN_MODE_DATA           (0 << 24)
+#define   UTIL_PIN_MODE_PWM            (1 << 24)
+#define   UTIL_PIN_MODE_VBLANK         (4 << 24)
+#define   UTIL_PIN_MODE_VSYNC          (5 << 24)
+#define   UTIL_PIN_MODE_EYE_LEVEL      (8 << 24)
+#define   UTIL_PIN_OUTPUT_DATA         (1 << 23)
+#define   UTIL_PIN_POLARITY            (1 << 22)
+#define   UTIL_PIN_DIRECTION_INPUT     (1 << 19)
+#define   UTIL_PIN_INPUT_DATA          (1 << 16)
+
+#endif /* __INTEL_BACKLIGHT_REGS_H__ */
index e42797e1655daa8a5e4262a5f60aee538a6c04c4..f7e8d1ff62cf686874d04875129fb17257d5f962 100644 (file)
@@ -7,6 +7,7 @@
 
 #include "i915_drv.h"
 #include "i915_irq.h"
+#include "intel_backlight_regs.h"
 #include "intel_cdclk.h"
 #include "intel_combo_phy.h"
 #include "intel_de.h"
index 91cfd5890f468f450f44fb922565822c400d4457..7044016d4d981d9d44ddaf2eddf47e669d97eea6 100644 (file)
@@ -5,6 +5,7 @@
 
 #include "i915_drv.h"
 #include "i915_irq.h"
+#include "intel_backlight_regs.h"
 #include "intel_combo_phy.h"
 #include "intel_combo_phy_regs.h"
 #include "intel_crt.h"
index ad2c441acecaaa7e7183fafcc4001ab658809996..50d7bfd541ad5e4c3e51465af85236ec8ba68abb 100644 (file)
 
 #define PFIT_AUTO_RATIOS _MMIO(DISPLAY_MMIO_BASE(dev_priv) + 0x61238)
 
-#define _VLV_BLC_PWM_CTL2_A (DISPLAY_MMIO_BASE(dev_priv) + 0x61250)
-#define _VLV_BLC_PWM_CTL2_B (DISPLAY_MMIO_BASE(dev_priv) + 0x61350)
-#define VLV_BLC_PWM_CTL2(pipe) _MMIO_PIPE(pipe, _VLV_BLC_PWM_CTL2_A, \
-                                        _VLV_BLC_PWM_CTL2_B)
-
-#define _VLV_BLC_PWM_CTL_A (DISPLAY_MMIO_BASE(dev_priv) + 0x61254)
-#define _VLV_BLC_PWM_CTL_B (DISPLAY_MMIO_BASE(dev_priv) + 0x61354)
-#define VLV_BLC_PWM_CTL(pipe) _MMIO_PIPE(pipe, _VLV_BLC_PWM_CTL_A, \
-                                       _VLV_BLC_PWM_CTL_B)
-
-#define _VLV_BLC_HIST_CTL_A (DISPLAY_MMIO_BASE(dev_priv) + 0x61260)
-#define _VLV_BLC_HIST_CTL_B (DISPLAY_MMIO_BASE(dev_priv) + 0x61360)
-#define VLV_BLC_HIST_CTL(pipe) _MMIO_PIPE(pipe, _VLV_BLC_HIST_CTL_A, \
-                                        _VLV_BLC_HIST_CTL_B)
-
-/* Backlight control */
-#define BLC_PWM_CTL2   _MMIO(DISPLAY_MMIO_BASE(dev_priv) + 0x61250) /* 965+ only */
-#define   BLM_PWM_ENABLE               (1 << 31)
-#define   BLM_COMBINATION_MODE         (1 << 30) /* gen4 only */
-#define   BLM_PIPE_SELECT              (1 << 29)
-#define   BLM_PIPE_SELECT_IVB          (3 << 29)
-#define   BLM_PIPE_A                   (0 << 29)
-#define   BLM_PIPE_B                   (1 << 29)
-#define   BLM_PIPE_C                   (2 << 29) /* ivb + */
-#define   BLM_TRANSCODER_A             BLM_PIPE_A /* hsw */
-#define   BLM_TRANSCODER_B             BLM_PIPE_B
-#define   BLM_TRANSCODER_C             BLM_PIPE_C
-#define   BLM_TRANSCODER_EDP           (3 << 29)
-#define   BLM_PIPE(pipe)               ((pipe) << 29)
-#define   BLM_POLARITY_I965            (1 << 28) /* gen4 only */
-#define   BLM_PHASE_IN_INTERUPT_STATUS (1 << 26)
-#define   BLM_PHASE_IN_ENABLE          (1 << 25)
-#define   BLM_PHASE_IN_INTERUPT_ENABL  (1 << 24)
-#define   BLM_PHASE_IN_TIME_BASE_SHIFT (16)
-#define   BLM_PHASE_IN_TIME_BASE_MASK  (0xff << 16)
-#define   BLM_PHASE_IN_COUNT_SHIFT     (8)
-#define   BLM_PHASE_IN_COUNT_MASK      (0xff << 8)
-#define   BLM_PHASE_IN_INCR_SHIFT      (0)
-#define   BLM_PHASE_IN_INCR_MASK       (0xff << 0)
-#define BLC_PWM_CTL    _MMIO(DISPLAY_MMIO_BASE(dev_priv) + 0x61254)
-/*
- * This is the most significant 15 bits of the number of backlight cycles in a
- * complete cycle of the modulated backlight control.
- *
- * The actual value is this field multiplied by two.
- */
-#define   BACKLIGHT_MODULATION_FREQ_SHIFT      (17)
-#define   BACKLIGHT_MODULATION_FREQ_MASK       (0x7fff << 17)
-#define   BLM_LEGACY_MODE                      (1 << 16) /* gen2 only */
-/*
- * This is the number of cycles out of the backlight modulation cycle for which
- * the backlight is on.
- *
- * This field must be no greater than the number of cycles in the complete
- * backlight modulation cycle.
- */
-#define   BACKLIGHT_DUTY_CYCLE_SHIFT           (0)
-#define   BACKLIGHT_DUTY_CYCLE_MASK            (0xffff)
-#define   BACKLIGHT_DUTY_CYCLE_MASK_PNV                (0xfffe)
-#define   BLM_POLARITY_PNV                     (1 << 0) /* pnv only */
-
-#define BLC_HIST_CTL   _MMIO(DISPLAY_MMIO_BASE(dev_priv) + 0x61260)
-#define  BLM_HISTOGRAM_ENABLE                  (1 << 31)
-
-/* New registers for PCH-split platforms. Safe where new bits show up, the
- * register layout machtes with gen4 BLC_PWM_CTL[12]. */
-#define BLC_PWM_CPU_CTL2       _MMIO(0x48250)
-#define BLC_PWM_CPU_CTL                _MMIO(0x48254)
-
-#define HSW_BLC_PWM2_CTL       _MMIO(0x48350)
-
-/* PCH CTL1 is totally different, all but the below bits are reserved. CTL2 is
- * like the normal CTL from gen4 and earlier. Hooray for confusing naming. */
-#define BLC_PWM_PCH_CTL1       _MMIO(0xc8250)
-#define   BLM_PCH_PWM_ENABLE                   (1 << 31)
-#define   BLM_PCH_OVERRIDE_ENABLE              (1 << 30)
-#define   BLM_PCH_POLARITY                     (1 << 29)
-#define BLC_PWM_PCH_CTL2       _MMIO(0xc8254)
-
-#define UTIL_PIN_CTL                   _MMIO(0x48400)
-#define   UTIL_PIN_ENABLE              (1 << 31)
-#define   UTIL_PIN_PIPE_MASK           (3 << 29)
-#define   UTIL_PIN_PIPE(x)             ((x) << 29)
-#define   UTIL_PIN_MODE_MASK           (0xf << 24)
-#define   UTIL_PIN_MODE_DATA           (0 << 24)
-#define   UTIL_PIN_MODE_PWM            (1 << 24)
-#define   UTIL_PIN_MODE_VBLANK         (4 << 24)
-#define   UTIL_PIN_MODE_VSYNC          (5 << 24)
-#define   UTIL_PIN_MODE_EYE_LEVEL      (8 << 24)
-#define   UTIL_PIN_OUTPUT_DATA         (1 << 23)
-#define   UTIL_PIN_POLARITY            (1 << 22)
-#define   UTIL_PIN_DIRECTION_INPUT     (1 << 19)
-#define   UTIL_PIN_INPUT_DATA          (1 << 16)
-
-/* BXT backlight register definition. */
-#define _BXT_BLC_PWM_CTL1                      0xC8250
-#define   BXT_BLC_PWM_ENABLE                   (1 << 31)
-#define   BXT_BLC_PWM_POLARITY                 (1 << 29)
-#define _BXT_BLC_PWM_FREQ1                     0xC8254
-#define _BXT_BLC_PWM_DUTY1                     0xC8258
-
-#define _BXT_BLC_PWM_CTL2                      0xC8350
-#define _BXT_BLC_PWM_FREQ2                     0xC8354
-#define _BXT_BLC_PWM_DUTY2                     0xC8358
-
-#define BXT_BLC_PWM_CTL(controller)    _MMIO_PIPE(controller,          \
-                                       _BXT_BLC_PWM_CTL1, _BXT_BLC_PWM_CTL2)
-#define BXT_BLC_PWM_FREQ(controller)   _MMIO_PIPE(controller, \
-                                       _BXT_BLC_PWM_FREQ1, _BXT_BLC_PWM_FREQ2)
-#define BXT_BLC_PWM_DUTY(controller)   _MMIO_PIPE(controller, \
-                                       _BXT_BLC_PWM_DUTY1, _BXT_BLC_PWM_DUTY2)
-
 #define PCH_GTC_CTL            _MMIO(0xe7000)
 #define   PCH_GTC_ENABLE       (1 << 31)
 
index 157e166672d7bf36b15c6784b6858ae056d632e7..e015bc91a26f6da28a135e64352466b7836af444 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include "display/intel_audio_regs.h"
+#include "display/intel_backlight_regs.h"
 #include "display/intel_dmc_regs.h"
 #include "display/vlv_dsi_pll_regs.h"
 #include "gt/intel_gt_regs.h"