Re: [PATCH 4/4] drm/i915: Enable querying offset of UV plane with intel_plane_obj_offset

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

 




On 08/03/2015 12:56 PM, Chris Wilson wrote:
On Mon, Aug 03, 2015 at 11:54:08AM +0100, Tvrtko Ursulin wrote:
From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>

v2: Rebase.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
---
  drivers/gpu/drm/i915/i915_gem_gtt.c  |  2 ++
  drivers/gpu/drm/i915/i915_gem_gtt.h  |  1 +
  drivers/gpu/drm/i915/intel_display.c | 26 +++++++++++++++++++++-----
  drivers/gpu/drm/i915/intel_drv.h     |  4 +++-
  drivers/gpu/drm/i915/intel_sprite.c  |  2 +-
  5 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 6495996c285e..0bae7128845a 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -2810,6 +2810,8 @@ intel_rotate_fb_obj_pages(struct i915_ggtt_view *ggtt_view,
  		if (offset_in_page(rot_info->uv_offset))
  			uv_start_page--;

+		rot_info->uv_start_page = uv_start_page;
+
  		rotate_pages(page_addr_list, uv_start_page,
  			     rot_info->width_pages_uv,
  			     rot_info->height_pages_uv,
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h
index 3daa60332e28..516a72b9b1fd 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.h
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.h
@@ -131,6 +131,7 @@ struct intel_rotation_info {
  	uint64_t size;
  	unsigned int width_pages_uv, height_pages_uv;
  	uint64_t size_uv;
+	unsigned int uv_start_page;
  };

  struct i915_ggtt_view {
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 342d96553a7b..83dadb4796a4 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2914,14 +2914,29 @@ u32 intel_fb_stride_alignment(struct drm_device *dev, uint64_t fb_modifier,
  }

  unsigned long intel_plane_obj_offset(struct intel_plane *intel_plane,
-				     struct drm_i915_gem_object *obj)
+				     struct drm_i915_gem_object *obj,
+				     unsigned int plane)

All callers pass in .plane=0; how is this supposed to work?

I forgot to include a critical piece of information in the cover letter this time - this series only deals with GGTT mapping part of the story, while Chandra has many more patches on top which implement the actual rotated NV12 scanout.

Tvrtko
_______________________________________________
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