All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] drm/i915: add sprite restore function v3
@ 2013-03-26 16:25 Jesse Barnes
  2013-03-26 16:25 ` [PATCH 2/4] drm/i915: restore cursor and sprite state when forcing a config restore Jesse Barnes
                   ` (3 more replies)
  0 siblings, 4 replies; 28+ messages in thread
From: Jesse Barnes @ 2013-03-26 16:25 UTC (permalink / raw)
  To: intel-gfx

To be used to restore sprite state on resume.

v2: move sprite tracking bits up so we don't track modified sprite state
v3: use src_x/y in sprite suspend/resume code (Ville)

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
---
 drivers/gpu/drm/i915/intel_drv.h    |    5 +++++
 drivers/gpu/drm/i915/intel_sprite.c |   23 +++++++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 599e978..276f665 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -247,6 +247,10 @@ struct intel_plane {
 	bool can_scale;
 	int max_downscale;
 	u32 lut_r[1024], lut_g[1024], lut_b[1024];
+	int crtc_x, crtc_y;
+	unsigned int crtc_w, crtc_h;
+	uint32_t src_x, src_y;
+	uint32_t src_w, src_h;
 	void (*update_plane)(struct drm_plane *plane,
 			     struct drm_framebuffer *fb,
 			     struct drm_i915_gem_object *obj,
@@ -532,6 +536,7 @@ extern bool intel_encoder_check_is_cloned(struct intel_encoder *encoder);
 extern void intel_connector_dpms(struct drm_connector *, int mode);
 extern bool intel_connector_get_hw_state(struct intel_connector *connector);
 extern void intel_modeset_check_state(struct drm_device *dev);
+extern void intel_plane_restore(struct drm_plane *plane);
 
 
 static inline struct intel_encoder *intel_attached_encoder(struct drm_connector *connector)
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index 1b6eb76..6fdd427 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -441,6 +441,15 @@ intel_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
 
 	old_obj = intel_plane->obj;
 
+	intel_plane->crtc_x = crtc_x;
+	intel_plane->crtc_y = crtc_y;
+	intel_plane->crtc_w = crtc_w;
+	intel_plane->crtc_h = crtc_h;
+	intel_plane->src_x = src_x;
+	intel_plane->src_y = src_y;
+	intel_plane->src_w = src_w;
+	intel_plane->src_h = src_h;
+
 	src_w = src_w >> 16;
 	src_h = src_h >> 16;
 
@@ -647,6 +656,20 @@ out_unlock:
 	return ret;
 }
 
+void intel_plane_restore(struct drm_plane *plane)
+{
+	struct intel_plane *intel_plane = to_intel_plane(plane);
+
+	if (!plane->crtc || !plane->fb)
+		return;
+
+	intel_update_plane(plane, plane->crtc, plane->fb,
+			   intel_plane->crtc_x, intel_plane->crtc_y,
+			   intel_plane->crtc_w, intel_plane->crtc_h,
+			   intel_plane->src_x, intel_plane->src_y,
+			   intel_plane->src_w, intel_plane->src_h);
+}
+
 static const struct drm_plane_funcs intel_plane_funcs = {
 	.update_plane = intel_update_plane,
 	.disable_plane = intel_disable_plane,
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2014-05-20 21:27 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-26 16:25 [PATCH 1/4] drm/i915: add sprite restore function v3 Jesse Barnes
2013-03-26 16:25 ` [PATCH 2/4] drm/i915: restore cursor and sprite state when forcing a config restore Jesse Barnes
2013-03-26 16:40   ` Rodrigo Vivi
2013-03-26 16:52   ` Daniel Vetter
2013-03-26 17:07   ` [PATCH 1/2] drm/i915: enable VT switchless resume v3 Jesse Barnes
2013-03-26 17:07     ` [PATCH 2/2] drm/i915: emit a hotplug event on resume Jesse Barnes
2013-03-26 20:25   ` drm/i915: restore cursor and sprite state when forcing a config restore v2 Jesse Barnes
2013-03-26 20:46     ` Daniel Vetter
2013-03-26 20:57       ` Jesse Barnes
2013-03-26 16:25 ` [PATCH 3/4] drm/i915: enable VT switchless resume v3 Jesse Barnes
2013-03-26 16:42   ` Rodrigo Vivi
2013-04-03  9:15   ` Daniel Vetter
2013-04-03 10:54     ` Chris Wilson
2013-04-03 15:13       ` Jesse Barnes
2014-04-21 16:37   ` Knut Petersen
2014-05-16 22:20     ` Jesse Barnes
2014-05-16 22:28       ` Daniel Vetter
2014-05-16 22:38       ` Chris Wilson
2014-05-16 22:42         ` Chris Wilson
2014-05-20 19:53           ` Jesse Barnes
2014-05-20 19:58             ` Jesse Barnes
2014-05-20 20:15               ` Daniel Vetter
2014-05-20 21:10                 ` Jesse Barnes
2014-05-20 21:18                   ` Jesse Barnes
2014-05-20 21:27                     ` Jesse Barnes
2013-03-26 16:25 ` [PATCH 4/4] drm/i915: emit a hotplug event on resume Jesse Barnes
2013-03-26 16:43   ` Rodrigo Vivi
2013-03-26 16:38 ` [PATCH 1/4] drm/i915: add sprite restore function v3 Rodrigo Vivi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.