drm/i915/skl: Added new macros
For SKL, register definition for RPNSWREQ (A008), RPSTAT1(A01C) have changed slightly. Also on SKL, frequency is specified in units of 16.66 MHZ, compared to 50 MHZ for most of the earlier platforms and the time values are expressed in units of 1.33 us, compared to 1.28 us for earlier platforms. Added new macros for the aforementioned changes. v2: Renamed the GT_FREQ_FROM_PERIOD macro to GT_INTERVAL_FROM_US (Damien) v3: Removed the implicit use of dev_priv in GT_INTERVAL_FROM_US macro (Chris) Signed-off-by: Akash Goel <akash.goel@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
44e5e28bf6
commit
de43ae9dd2
|
@ -2425,6 +2425,7 @@ struct drm_i915_cmd_table {
|
||||||
#define NUM_L3_SLICES(dev) (IS_HSW_GT3(dev) ? 2 : HAS_L3_DPF(dev))
|
#define NUM_L3_SLICES(dev) (IS_HSW_GT3(dev) ? 2 : HAS_L3_DPF(dev))
|
||||||
|
|
||||||
#define GT_FREQUENCY_MULTIPLIER 50
|
#define GT_FREQUENCY_MULTIPLIER 50
|
||||||
|
#define GEN9_FREQ_SCALER 3
|
||||||
|
|
||||||
#include "i915_trace.h"
|
#include "i915_trace.h"
|
||||||
|
|
||||||
|
|
|
@ -2449,6 +2449,12 @@ enum skl_disp_power_wells {
|
||||||
#define GEN6_RP_STATE_LIMITS (MCHBAR_MIRROR_BASE_SNB + 0x5994)
|
#define GEN6_RP_STATE_LIMITS (MCHBAR_MIRROR_BASE_SNB + 0x5994)
|
||||||
#define GEN6_RP_STATE_CAP (MCHBAR_MIRROR_BASE_SNB + 0x5998)
|
#define GEN6_RP_STATE_CAP (MCHBAR_MIRROR_BASE_SNB + 0x5998)
|
||||||
|
|
||||||
|
#define INTERVAL_1_28_US(us) (((us) * 100) >> 7)
|
||||||
|
#define INTERVAL_1_33_US(us) (((us) * 3) >> 2)
|
||||||
|
#define GT_INTERVAL_FROM_US(dev_priv, us) (IS_GEN9(dev_priv) ? \
|
||||||
|
INTERVAL_1_33_US(us) : \
|
||||||
|
INTERVAL_1_28_US(us))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Logical Context regs
|
* Logical Context regs
|
||||||
*/
|
*/
|
||||||
|
@ -6101,6 +6107,7 @@ enum skl_disp_power_wells {
|
||||||
#define GEN6_TURBO_DISABLE (1<<31)
|
#define GEN6_TURBO_DISABLE (1<<31)
|
||||||
#define GEN6_FREQUENCY(x) ((x)<<25)
|
#define GEN6_FREQUENCY(x) ((x)<<25)
|
||||||
#define HSW_FREQUENCY(x) ((x)<<24)
|
#define HSW_FREQUENCY(x) ((x)<<24)
|
||||||
|
#define GEN9_FREQUENCY(x) ((x)<<23)
|
||||||
#define GEN6_OFFSET(x) ((x)<<19)
|
#define GEN6_OFFSET(x) ((x)<<19)
|
||||||
#define GEN6_AGGRESSIVE_TURBO (0<<15)
|
#define GEN6_AGGRESSIVE_TURBO (0<<15)
|
||||||
#define GEN6_RC_VIDEO_FREQ 0xA00C
|
#define GEN6_RC_VIDEO_FREQ 0xA00C
|
||||||
|
@ -6119,8 +6126,10 @@ enum skl_disp_power_wells {
|
||||||
#define GEN6_RPSTAT1 0xA01C
|
#define GEN6_RPSTAT1 0xA01C
|
||||||
#define GEN6_CAGF_SHIFT 8
|
#define GEN6_CAGF_SHIFT 8
|
||||||
#define HSW_CAGF_SHIFT 7
|
#define HSW_CAGF_SHIFT 7
|
||||||
|
#define GEN9_CAGF_SHIFT 23
|
||||||
#define GEN6_CAGF_MASK (0x7f << GEN6_CAGF_SHIFT)
|
#define GEN6_CAGF_MASK (0x7f << GEN6_CAGF_SHIFT)
|
||||||
#define HSW_CAGF_MASK (0x7f << HSW_CAGF_SHIFT)
|
#define HSW_CAGF_MASK (0x7f << HSW_CAGF_SHIFT)
|
||||||
|
#define GEN9_CAGF_MASK (0x1ff << GEN9_CAGF_SHIFT)
|
||||||
#define GEN6_RP_CONTROL 0xA024
|
#define GEN6_RP_CONTROL 0xA024
|
||||||
#define GEN6_RP_MEDIA_TURBO (1<<11)
|
#define GEN6_RP_MEDIA_TURBO (1<<11)
|
||||||
#define GEN6_RP_MEDIA_MODE_MASK (3<<9)
|
#define GEN6_RP_MEDIA_MODE_MASK (3<<9)
|
||||||
|
|
Loading…
Reference in New Issue