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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
---
 drivers/gpu/drm/i915/i915_drv.h  | 15 +++++++++++++++
 drivers/gpu/drm/i915/intel_drv.h |  9 +++++++++
 2 files changed, 24 insertions(+)

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 {
-- 
2.0.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux