intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Enable FBC for non X-tiled FBs
@ 2017-03-15  6:59 Praveen Paneri
  2017-03-15  7:02 ` ✗ Fi.CI.BAT: failure for " Patchwork
                   ` (9 more replies)
  0 siblings, 10 replies; 23+ messages in thread
From: Praveen Paneri @ 2017-03-15  6:59 UTC (permalink / raw)
  To: intel-gfx; +Cc: paulo.r.zanoni, Praveen Paneri

FBC is only enabled for X-tiled framebuffers but there are
quite a few cases where we tend to use Y-tiled framebuffers.
So enabling it for non X-tiled framebuffers.

Signed-off-by: Praveen Paneri <praveen.paneri@intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h  | 2 ++
 drivers/gpu/drm/i915/intel_fbc.c | 8 ++++++++
 2 files changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index cc843f9..9d7a376 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -2506,6 +2506,8 @@ enum skl_disp_power_wells {
 #define  BDW_FBC_COMPRESSION_MASK	0xfff
 
 #define FBC_LL_SIZE		(1536)
+#define FBC_YSTRIDE		_MMIO(0x4208c)
+#define   FBC_STRIDE_OVERRIDE	(1<<13)
 
 #define FBC_LLC_READ_CTRL	_MMIO(0x9044)
 #define   FBC_LLC_FULLY_OPEN	(1<<30)
diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
index 17d418b..0ac9889 100644
--- a/drivers/gpu/drm/i915/intel_fbc.c
+++ b/drivers/gpu/drm/i915/intel_fbc.c
@@ -301,6 +301,14 @@ static void gen7_fbc_activate(struct drm_i915_private *dev_priv)
 	u32 dpfc_ctl;
 	int threshold = dev_priv->fbc.threshold;
 
+	if (INTEL_GEN(dev_priv) >= 9 &&
+	    i915_gem_object_get_tiling(cache->vma->obj) != I915_TILING_X) {
+		struct intel_fbc_state_cache *cache = &dev_priv->fbc.state_cache;
+		int cfb_stride = DIV_ROUND_UP(cache->plane.src_w,
+					      (32 * threshold)) * 8;
+		I915_WRITE(FBC_YSTRIDE, FBC_STRIDE_OVERRIDE | cfb_stride);
+	}
+
 	dpfc_ctl = 0;
 	if (IS_IVYBRIDGE(dev_priv))
 		dpfc_ctl |= IVB_DPFC_CTL_PLANE(params->crtc.plane);
-- 
1.9.1

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

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

end of thread, other threads:[~2017-08-28  6:40 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-15  6:59 [PATCH] drm/i915: Enable FBC for non X-tiled FBs Praveen Paneri
2017-03-15  7:02 ` ✗ Fi.CI.BAT: failure for " Patchwork
2017-03-15  7:43 ` [PATCH v2] " Praveen Paneri
2017-03-15  8:34 ` ✗ Fi.CI.BAT: failure for drm/i915: Enable FBC for non X-tiled FBs (rev2) Patchwork
2017-03-15  8:48 ` ✓ Fi.CI.BAT: success " Patchwork
2017-03-15 10:23 ` [PATCH] drm/i915: Enable FBC for non X-tiled FBs Ville Syrjälä
2017-03-16 11:37   ` Praveen Paneri
2017-03-16 12:08     ` [PATCH v3] drm/i915: Fix FBC cfb stride programming for non X-tiled FB Praveen Paneri
2017-03-16 19:54       ` Paulo Zanoni
2017-03-17 19:12         ` Praveen Paneri
2017-03-24 11:42           ` [PATCH v4] " Praveen Paneri
2017-07-14 19:34             ` Paulo Zanoni
2017-07-18 18:57               ` [PATCH v5] " Praveen Paneri
2017-07-25 18:29                 ` Paulo Zanoni
2017-08-10 18:30                   ` [PATCH v6] " Praveen Paneri
2017-08-26  0:49                     ` Paulo Zanoni
2017-08-28  6:50                       ` Praveen Paneri
2017-03-16 20:13     ` [PATCH] drm/i915: Enable FBC for non X-tiled FBs Ville Syrjälä
2017-03-16 12:28 ` ✓ Fi.CI.BAT: success for drm/i915: Enable FBC for non X-tiled FBs (rev3) Patchwork
2017-03-18  1:35 ` [PATCH] drm/i915: Enable FBC for non X-tiled FBs kbuild test robot
2017-03-24 12:07 ` ✓ Fi.CI.BAT: success for drm/i915: Enable FBC for non X-tiled FBs (rev4) Patchwork
2017-07-18 19:04 ` ✓ Fi.CI.BAT: success for drm/i915: Enable FBC for non X-tiled FBs (rev5) Patchwork
2017-08-11  8:13 ` ✓ Fi.CI.BAT: success for drm/i915: Enable FBC for non X-tiled FBs (rev6) Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).