mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-12 05:24:12 +08:00
drm/i915: Use _PICK() for CHICKEN_TRANS()
Make CHICKEN_TRANS() a bit less special looking by using _PICK(). Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191024122138.25065-1-ville.syrjala@linux.intel.com Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
This commit is contained in:
parent
dd095afc88
commit
12c4d4c18c
@ -3872,12 +3872,12 @@ static i915_reg_t
|
||||
gen9_chicken_trans_reg_by_port(struct drm_i915_private *dev_priv,
|
||||
enum port port)
|
||||
{
|
||||
static const i915_reg_t regs[] = {
|
||||
[PORT_A] = CHICKEN_TRANS_EDP,
|
||||
[PORT_B] = CHICKEN_TRANS_A,
|
||||
[PORT_C] = CHICKEN_TRANS_B,
|
||||
[PORT_D] = CHICKEN_TRANS_C,
|
||||
[PORT_E] = CHICKEN_TRANS_A,
|
||||
static const enum transcoder trans[] = {
|
||||
[PORT_A] = TRANSCODER_EDP,
|
||||
[PORT_B] = TRANSCODER_A,
|
||||
[PORT_C] = TRANSCODER_B,
|
||||
[PORT_D] = TRANSCODER_C,
|
||||
[PORT_E] = TRANSCODER_A,
|
||||
};
|
||||
|
||||
WARN_ON(INTEL_GEN(dev_priv) < 9);
|
||||
@ -3885,7 +3885,7 @@ gen9_chicken_trans_reg_by_port(struct drm_i915_private *dev_priv,
|
||||
if (WARN_ON(port < PORT_A || port > PORT_E))
|
||||
port = PORT_A;
|
||||
|
||||
return regs[port];
|
||||
return CHICKEN_TRANS(trans[port]);
|
||||
}
|
||||
|
||||
static void intel_enable_ddi_hdmi(struct intel_encoder *encoder,
|
||||
|
@ -740,25 +740,6 @@ static void intel_psr_activate(struct intel_dp *intel_dp)
|
||||
dev_priv->psr.active = true;
|
||||
}
|
||||
|
||||
static i915_reg_t gen9_chicken_trans_reg(struct drm_i915_private *dev_priv,
|
||||
enum transcoder cpu_transcoder)
|
||||
{
|
||||
static const i915_reg_t regs[] = {
|
||||
[TRANSCODER_A] = CHICKEN_TRANS_A,
|
||||
[TRANSCODER_B] = CHICKEN_TRANS_B,
|
||||
[TRANSCODER_C] = CHICKEN_TRANS_C,
|
||||
[TRANSCODER_EDP] = CHICKEN_TRANS_EDP,
|
||||
};
|
||||
|
||||
WARN_ON(INTEL_GEN(dev_priv) < 9);
|
||||
|
||||
if (WARN_ON(cpu_transcoder >= ARRAY_SIZE(regs) ||
|
||||
!regs[cpu_transcoder].reg))
|
||||
cpu_transcoder = TRANSCODER_A;
|
||||
|
||||
return regs[cpu_transcoder];
|
||||
}
|
||||
|
||||
static void intel_psr_enable_source(struct intel_dp *intel_dp,
|
||||
const struct intel_crtc_state *crtc_state)
|
||||
{
|
||||
@ -774,8 +755,7 @@ static void intel_psr_enable_source(struct intel_dp *intel_dp,
|
||||
|
||||
if (dev_priv->psr.psr2_enabled && (IS_GEN(dev_priv, 9) &&
|
||||
!IS_GEMINILAKE(dev_priv))) {
|
||||
i915_reg_t reg = gen9_chicken_trans_reg(dev_priv,
|
||||
cpu_transcoder);
|
||||
i915_reg_t reg = CHICKEN_TRANS(cpu_transcoder);
|
||||
u32 chicken = I915_READ(reg);
|
||||
|
||||
chicken |= PSR2_VSC_ENABLE_PROG_HEADER |
|
||||
|
@ -7627,10 +7627,15 @@ enum {
|
||||
#define BDW_DPRS_MASK_VBLANK_SRD (1 << 0)
|
||||
#define CHICKEN_PIPESL_1(pipe) _MMIO_PIPE(pipe, _CHICKEN_PIPESL_1_A, _CHICKEN_PIPESL_1_B)
|
||||
|
||||
#define CHICKEN_TRANS_A _MMIO(0x420c0)
|
||||
#define CHICKEN_TRANS_B _MMIO(0x420c4)
|
||||
#define CHICKEN_TRANS_C _MMIO(0x420c8)
|
||||
#define CHICKEN_TRANS_EDP _MMIO(0x420cc)
|
||||
#define _CHICKEN_TRANS_A 0x420c0
|
||||
#define _CHICKEN_TRANS_B 0x420c4
|
||||
#define _CHICKEN_TRANS_C 0x420c8
|
||||
#define _CHICKEN_TRANS_EDP 0x420cc
|
||||
#define CHICKEN_TRANS(trans) _MMIO(_PICK((trans), \
|
||||
[TRANSCODER_EDP] = _CHICKEN_TRANS_EDP, \
|
||||
[TRANSCODER_A] = _CHICKEN_TRANS_A, \
|
||||
[TRANSCODER_B] = _CHICKEN_TRANS_B, \
|
||||
[TRANSCODER_C] = _CHICKEN_TRANS_C))
|
||||
#define VSC_DATA_SEL_SOFTWARE_CONTROL (1 << 25) /* GLK and CNL+ */
|
||||
#define DDI_TRAINING_OVERRIDE_ENABLE (1 << 19)
|
||||
#define DDI_TRAINING_OVERRIDE_VALUE (1 << 18)
|
||||
|
Loading…
Reference in New Issue
Block a user