From: Chandra Konduru <chandra.konduru@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: ander.conselvan.de.oliveira@intel.com, daniel.vetter@intel.com
Subject: [PATCH 02/21 v2] drm/i915: Register definitions for skylake scalers
Date: Fri, 20 Mar 2015 17:04:23 -0700 [thread overview]
Message-ID: <1426896282-23215-3-git-send-email-chandra.konduru@intel.com> (raw)
In-Reply-To: <1426896282-23215-1-git-send-email-chandra.konduru@intel.com>
Adding register definitions for skylake scalers.
v2:
-add #define for plane selection mask (me)
Signed-off-by: Chandra Konduru <chandra.konduru@intel.com>
---
drivers/gpu/drm/i915/i915_reg.h | 115 +++++++++++++++++++++++++++++++++++++++
1 file changed, 115 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index cc8ebab..6e9e58a 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -5094,6 +5094,121 @@ enum skl_disp_power_wells {
#define PS_WIN_SZ(pipe) _PIPE(pipe, _PSA_WIN_SZ, _PSB_WIN_SZ)
#define PS_WIN_POS(pipe) _PIPE(pipe, _PSA_WIN_POS, _PSB_WIN_POS)
+/*
+ * Skylake scalers
+ */
+#define _PS_1A_CTRL 0x68180
+#define _PS_2A_CTRL 0x68280
+#define _PS_1B_CTRL 0x68980
+#define _PS_2B_CTRL 0x68A80
+#define _PS_1C_CTRL 0x69180
+#define PS_SCALER_EN (1 << 31)
+#define PS_SCALER_MODE_MASK (3 << 28)
+#define PS_SCALER_MODE_DYN (0 << 28)
+#define PS_SCALER_MODE_HQ (1 << 28)
+#define PS_PLANE_SEL_MASK (7 << 25)
+#define PS_PLANE_SEL(plane) ((plane + 1) << 25)
+#define PS_FILTER_MASK (3 << 23)
+#define PS_FILTER_MEDIUM (0 << 23)
+#define PS_FILTER_EDGE_ENHANCE (2 << 23)
+#define PS_FILTER_BILINEAR (3 << 23)
+#define PS_VERT3TAP (1 << 21)
+#define PS_VERT_INT_INVERT_FIELD1 (0 << 20)
+#define PS_VERT_INT_INVERT_FIELD0 (1 << 20)
+#define PS_PWRUP_PROGRESS (1 << 17)
+#define PS_V_FILTER_BYPASS (1 << 8)
+#define PS_VADAPT_EN (1 << 7)
+#define PS_VADAPT_MODE_MASK (3 << 5)
+#define PS_VADAPT_MODE_LEAST_ADAPT (0 << 5)
+#define PS_VADAPT_MODE_MOD_ADAPT (1 << 5)
+#define PS_VADAPT_MODE_MOST_ADAPT (3 << 5)
+
+#define _PS_PWR_GATE_1A 0x68160
+#define _PS_PWR_GATE_2A 0x68260
+#define _PS_PWR_GATE_1B 0x68960
+#define _PS_PWR_GATE_2B 0x68A60
+#define _PS_PWR_GATE_1C 0x69160
+#define PS_PWR_GATE_DIS_OVERRIDE (1 << 31)
+#define PS_PWR_GATE_SETTLING_TIME_32 (0 << 3)
+#define PS_PWR_GATE_SETTLING_TIME_64 (1 << 3)
+#define PS_PWR_GATE_SETTLING_TIME_96 (2 << 3)
+#define PS_PWR_GATE_SETTLING_TIME_128 (3 << 3)
+#define PS_PWR_GATE_SLPEN_8 0
+#define PS_PWR_GATE_SLPEN_16 1
+#define PS_PWR_GATE_SLPEN_24 2
+#define PS_PWR_GATE_SLPEN_32 3
+
+#define _PS_WIN_POS_1A 0x68170
+#define _PS_WIN_POS_2A 0x68270
+#define _PS_WIN_POS_1B 0x68970
+#define _PS_WIN_POS_2B 0x68A70
+#define _PS_WIN_POS_1C 0x69170
+
+#define _PS_WIN_SZ_1A 0x68174
+#define _PS_WIN_SZ_2A 0x68274
+#define _PS_WIN_SZ_1B 0x68974
+#define _PS_WIN_SZ_2B 0x68A74
+#define _PS_WIN_SZ_1C 0x69174
+
+#define _PS_VSCALE_1A 0x68184
+#define _PS_VSCALE_2A 0x68284
+#define _PS_VSCALE_1B 0x68984
+#define _PS_VSCALE_2B 0x68A84
+#define _PS_VSCALE_1C 0x69184
+
+#define _PS_HSCALE_1A 0x68190
+#define _PS_HSCALE_2A 0x68290
+#define _PS_HSCALE_1B 0x68990
+#define _PS_HSCALE_2B 0x68A90
+#define _PS_HSCALE_1C 0x69190
+
+#define _PS_VPHASE_1A 0x68188
+#define _PS_VPHASE_2A 0x68288
+#define _PS_VPHASE_1B 0x68988
+#define _PS_VPHASE_2B 0x68A88
+#define _PS_VPHASE_1C 0x69188
+
+#define _PS_HPHASE_1A 0x68194
+#define _PS_HPHASE_2A 0x68294
+#define _PS_HPHASE_1B 0x68994
+#define _PS_HPHASE_2B 0x68A94
+#define _PS_HPHASE_1C 0x69194
+
+#define _PS_ECC_STAT_1A 0x681D0
+#define _PS_ECC_STAT_2A 0x682D0
+#define _PS_ECC_STAT_1B 0x689D0
+#define _PS_ECC_STAT_2B 0x68AD0
+#define _PS_ECC_STAT_1C 0x691D0
+
+#define _ID(id, a, b) ((a) + (id)*((b)-(a)))
+#define SKL_PS_CTRL(pipe, id) _PIPE(pipe, \
+ _ID(id, _PS_1A_CTRL, _PS_2A_CTRL), \
+ _ID(id, _PS_1B_CTRL, _PS_2B_CTRL))
+#define SKL_PS_PWR_GATE(pipe, id) _PIPE(pipe, \
+ _ID(id, _PS_PWR_GATE_1A, _PS_PWR_GATE_2A), \
+ _ID(id, _PS_PWR_GATE_1B, _PS_PWR_GATE_2B))
+#define SKL_PS_WIN_POS(pipe, id) _PIPE(pipe, \
+ _ID(id, _PS_WIN_POS_1A, _PS_WIN_POS_2A), \
+ _ID(id, _PS_WIN_POS_1B, _PS_WIN_POS_2B))
+#define SKL_PS_WIN_SZ(pipe, id) _PIPE(pipe, \
+ _ID(id, _PS_WIN_SZ_1A, _PS_WIN_SZ_2A), \
+ _ID(id, _PS_WIN_SZ_1B, _PS_WIN_SZ_2B))
+#define SKL_PS_VSCALE(pipe, id) _PIPE(pipe, \
+ _ID(id, _PS_VSCALE_1A, _PS_VSCALE_2A), \
+ _ID(id, _PS_VSCALE_1B, _PS_VSCALE_2B))
+#define SKL_PS_HSCALE(pipe, id) _PIPE(pipe, \
+ _ID(id, _PS_HSCALE_1A, _PS_HSCALE_2A), \
+ _ID(id, _PS_HSCALE_1B, _PS_HSCALE_2B))
+#define SKL_PS_VPHASE(pipe, id) _PIPE(pipe, \
+ _ID(id, _PS_VPHASE_1A, _PS_VPHASE_2A), \
+ _ID(id, _PS_VPHASE_1B, _PS_VPHASE_2B))
+#define SKL_PS_HPHASE(pipe, id) _PIPE(pipe, \
+ _ID(id, _PS_HPHASE_1A, _PS_HPHASE_2A), \
+ _ID(id, _PS_HPHASE_1B, _PS_HPHASE_2B))
+#define SKL_PS_ECC_STAT(pipe, id) _PIPE(pipe, \
+ _ID(id, _PS_ECC_STAT_1A, _PS_ECC_STAT_2A), \
+ _ID(id, _PS_ECC_STAT_1B, _PS_ECC_STAT_2B)
+
/* legacy palette */
#define _LGC_PALETTE_A 0x4a000
#define _LGC_PALETTE_B 0x4a800
--
1.7.9.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-03-21 0:05 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-21 0:04 [PATCH 00/21 v2] Adding support for skylake shared scalers Chandra Konduru
2015-03-21 0:04 ` [PATCH 01/21 v2] drm/i915: Adding drm helper function drm_plane_from_index() Chandra Konduru
2015-03-23 9:32 ` Daniel Vetter
2015-03-23 16:32 ` Konduru, Chandra
2015-03-21 0:04 ` Chandra Konduru [this message]
2015-03-21 0:04 ` [PATCH 03/21 v2] drm/i915: Enable get_colorkey functions for primary plane Chandra Konduru
2015-03-21 0:04 ` [PATCH 04/21 v2] drm/i915: skylake scaler structure definitions Chandra Konduru
2015-03-25 5:13 ` Matt Roper
2015-03-25 13:22 ` Daniel Vetter
2015-03-25 16:54 ` Konduru, Chandra
2015-03-21 0:04 ` [PATCH 05/21 v2] drm/i915: Initialize skylake scalers Chandra Konduru
2015-03-25 5:14 ` Matt Roper
2015-03-25 13:24 ` Daniel Vetter
2015-03-25 16:56 ` Konduru, Chandra
2015-03-25 23:21 ` [PATCH 05/21 v3] " Chandra Konduru
2015-03-21 0:04 ` [PATCH 06/21 v2] drm/i915: Dump scaler_state too as part of dumping crtc_state Chandra Konduru
2015-03-21 0:04 ` [PATCH 07/21 v2] drm/i915: Helper function to update skylake scaling ratio Chandra Konduru
2015-03-25 5:14 ` Matt Roper
2015-03-25 17:37 ` Konduru, Chandra
2015-03-25 23:21 ` [PATCH 07/21 v3] " Chandra Konduru
2015-03-21 0:04 ` [PATCH 08/21 v2] drm/i915: Add helper function to update scaler_users in crtc_state Chandra Konduru
2015-03-25 5:15 ` Matt Roper
2015-03-25 19:20 ` Konduru, Chandra
2015-03-25 20:58 ` Matt Roper
2015-03-25 22:02 ` Konduru, Chandra
2015-03-25 23:21 ` [PATCH 08/21 v3] " Chandra Konduru
2015-03-21 0:04 ` [PATCH 09/21 v2] drm/i915: Add atomic function to setup scalers scalers for a crtc Chandra Konduru
2015-03-25 5:15 ` Matt Roper
2015-03-25 19:46 ` Konduru, Chandra
2015-03-25 23:21 ` [PATCH 09/21 v3] " Chandra Konduru
2015-03-21 0:04 ` [PATCH 10/21 v2] drm/i915: Helper function to detach a scaler from a plane or crtc Chandra Konduru
2015-03-25 5:15 ` Matt Roper
2015-03-25 20:14 ` Konduru, Chandra
2015-03-25 21:13 ` Matt Roper
2015-03-25 21:28 ` Konduru, Chandra
2015-03-28 0:21 ` Matt Roper
2015-03-30 19:06 ` Konduru, Chandra
2015-03-25 23:21 ` [PATCH 10/21 v3] " Chandra Konduru
2015-03-21 0:04 ` [PATCH 11/21 v2] drm/i915: Ensure planes begin with no scaler Chandra Konduru
2015-03-25 5:17 ` Matt Roper
2015-03-21 0:04 ` [PATCH 12/21 v2] drm/i915: Ensure colorkey and scaling aren't enabled at same time Chandra Konduru
2015-03-25 17:21 ` Matt Roper
2015-03-25 17:29 ` Konduru, Chandra
2015-03-21 0:04 ` [PATCH 13/21 v2] drm/i915: Preserve scaler state when clearing crtc_state Chandra Konduru
2015-03-21 0:04 ` [PATCH 14/21 v2] drm/i915: use current scaler state during readout_hw_state Chandra Konduru
2015-03-21 0:04 ` [PATCH 15/21 v2] drm/i915: Update scaling ratio as part of crtc_compute_config Chandra Konduru
2015-03-21 0:04 ` [PATCH 16/21 v2] drm/i915: Ensure setting up scalers into staged crtc_state Chandra Konduru
2015-03-25 17:21 ` Matt Roper
2015-03-25 17:26 ` Konduru, Chandra
2015-03-21 0:04 ` [PATCH 17/21 v2] drm/i915: copy staged scaler state from drm state to crtc->config Chandra Konduru
2015-03-21 0:04 ` [PATCH 18/21 v2] drm/i915: stage panel fitting scaler request for fixed mode panel Chandra Konduru
2015-03-21 0:04 ` [PATCH 19/21 v2] drm/i915: Enable skylake panel fitting using skylake shared scalers Chandra Konduru
2015-03-21 0:04 ` [PATCH 20/21 v2] drm/i915: Enable skylake primary plane scaling using " Chandra Konduru
2015-03-21 0:04 ` [PATCH 21/21 v2] drm/i915: Enable skylake sprite " Chandra Konduru
2015-03-25 21:29 ` Matt Roper
2015-03-25 21:55 ` Konduru, Chandra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1426896282-23215-3-git-send-email-chandra.konduru@intel.com \
--to=chandra.konduru@intel.com \
--cc=ander.conselvan.de.oliveira@intel.com \
--cc=daniel.vetter@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.