[Intel-gfx] [RFC 1/6] drm/i915: Create PPS related struct and func pointers
Vandana Kannan
vandana.kannan at intel.com
Tue Oct 7 17:09:39 CEST 2014
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 at intel.com>
---
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
More information about the Intel-gfx
mailing list