[PATCH 13/25] drm/i915/slpc: Add Display mode event related data structures

tom.orourke
2016-04-06T19:24:57Z

From: Sagar Arun Kamble <sagar.a.kamble@intel.com>

v2: Cleaning up defines for number of pipes and other cosmetic changes.

Signed-off-by: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Acked-by: Tom O'Rourke <Tom.O'Rourke@intel.com>
---
drivers/gpu/drm/i915/intel_slpc.h | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_slpc.h b/drivers/gpu/drm/i915/intel_slpc.h
index 7f33a04..b963fe7 100644
--- a/drivers/gpu/drm/i915/intel_slpc.h
+++ b/drivers/gpu/drm/i915/intel_slpc.h
@@ -109,8 +109,37 @@ struct slpc_shared_data {
u32 override_parameters_values[SLPC_MAX_OVERRIDE_PARAMETERS];
} __packed;

+#define SLPC_MAX_NUM_OF_PIPES 4
+
+struct intel_display_pipe_info {
+ union {
+ u32 data;
+ struct {
+ u32 is_widi:1;
+ u32 refresh_rate:7;
+ u32 vsync_ft_usec:24;
+ };
+ };
+} __packed;
+
+struct intel_slpc_display_mode_event_params {
+ struct {
+ struct intel_display_pipe_info per_pipe_info[SLPC_MAX_NUM_OF_PIPES];
+ union {
+ u32 global_data;
+ struct {
+ u32 active_pipes_bitmask:SLPC_MAX_NUM_OF_PIPES;
+ u32 fullscreen_pipes:SLPC_MAX_NUM_OF_PIPES;
+ u32 vbi_sync_on_pipes:SLPC_MAX_NUM_OF_PIPES;
+ u32 num_active_pipes:2;
+ };
+ };
+ };
+} __packed;
+
struct intel_slpc {
struct drm_i915_gem_object *shared_data_obj;
+ struct intel_slpc_display_mode_event_params display_mode_params;
};

/* intel_slpc.c */