diff mbox

[RFC,1/6] drm/i915: Create PPS related struct and func pointers

Message ID 1412694584-743-2-git-send-email-vandana.kannan@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

vandana.kannan@intel.com Oct. 7, 2014, 3:09 p.m. UTC
Creating generic functions and data related to panel power sequencing in
intel_panel. The functions have been added equivalent to
intel_dp_panel_power_sequencer() and intel_dp_panel_power_sequencer_registers()

These changes have been made to move PPS related data from intel_dp or
other panel types to generic intel_panel.

Note:- Although edp_power_seq is used as a return type in the functions,
the structure can be made generic for all panels.

Signed-off-by: Vandana Kannan <vandana.kannan@intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h  | 15 +++++++++++++++
 drivers/gpu/drm/i915/intel_drv.h |  9 +++++++++
 2 files changed, 24 insertions(+)
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index ed6cf10..295c724 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -508,6 +508,21 @@  struct drm_i915_display_funcs {
 			      uint32_t level);
 	void (*disable_backlight)(struct intel_connector *connector);
 	void (*enable_backlight)(struct intel_connector *connector);
+
+	struct edp_power_seq (*setup_panel_power_seq)
+				(struct intel_connector *connector);
+	void (*set_pps_panel_on)(struct intel_connector *connector);
+	void (*set_pps_panel_off)(struct intel_connector *connector);
+	void (*set_pps_backlight_on)(struct intel_connector *connector);
+	void (*set_pps_backlight_off)(struct intel_connector *connector);
+	struct edp_power_seq (*get_pps_registers)(
+				struct intel_connector *connector,
+				u32 pp_ctrl_reg, u32 pp_on_reg,
+				u32 pp_off_reg, u32 pp_div_reg);
+	void (*set_pps_registers)(struct intel_connector *connector,
+			enum port port, int *pp_ctrl_reg,
+			int *pp_on_reg, int *pp_off_reg,
+			int *pp_div_reg, int *port_sel, int *div);
 };
 
 struct intel_uncore_funcs {
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 072e69f..ddf839d 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -183,6 +183,15 @@  struct intel_panel {
 	} backlight;
 
 	void (*backlight_power)(struct intel_connector *, bool enable);
+
+	/* PPS */
+	struct {
+		int panel_power_up_delay;
+		int panel_power_down_delay;
+		int panel_power_cycle_delay;
+		int backlight_on_delay;
+		int backlight_off_delay;
+	} pps;
 };
 
 struct intel_connector {