drm/i915: Add HAS_PCH_LPT_LP() macro
Make LPT:LP checks look neater by wrapping the details in a new HAS_PCH_LPT_LP() macro. Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
d9dc34f1a1
commit
c2699524d6
|
@ -2599,6 +2599,7 @@ struct drm_i915_cmd_table {
|
||||||
#define INTEL_PCH_TYPE(dev) (__I915__(dev)->pch_type)
|
#define INTEL_PCH_TYPE(dev) (__I915__(dev)->pch_type)
|
||||||
#define HAS_PCH_SPT(dev) (INTEL_PCH_TYPE(dev) == PCH_SPT)
|
#define HAS_PCH_SPT(dev) (INTEL_PCH_TYPE(dev) == PCH_SPT)
|
||||||
#define HAS_PCH_LPT(dev) (INTEL_PCH_TYPE(dev) == PCH_LPT)
|
#define HAS_PCH_LPT(dev) (INTEL_PCH_TYPE(dev) == PCH_LPT)
|
||||||
|
#define HAS_PCH_LPT_LP(dev) (__I915__(dev)->pch_id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE)
|
||||||
#define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT)
|
#define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT)
|
||||||
#define HAS_PCH_IBX(dev) (INTEL_PCH_TYPE(dev) == PCH_IBX)
|
#define HAS_PCH_IBX(dev) (INTEL_PCH_TYPE(dev) == PCH_IBX)
|
||||||
#define HAS_PCH_NOP(dev) (INTEL_PCH_TYPE(dev) == PCH_NOP)
|
#define HAS_PCH_NOP(dev) (INTEL_PCH_TYPE(dev) == PCH_NOP)
|
||||||
|
|
|
@ -8359,8 +8359,7 @@ static void lpt_enable_clkout_dp(struct drm_device *dev, bool with_spread,
|
||||||
|
|
||||||
if (WARN(with_fdi && !with_spread, "FDI requires downspread\n"))
|
if (WARN(with_fdi && !with_spread, "FDI requires downspread\n"))
|
||||||
with_spread = true;
|
with_spread = true;
|
||||||
if (WARN(dev_priv->pch_id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE &&
|
if (WARN(HAS_PCH_LPT_LP(dev) && with_fdi, "LP PCH doesn't have FDI\n"))
|
||||||
with_fdi, "LP PCH doesn't have FDI\n"))
|
|
||||||
with_fdi = false;
|
with_fdi = false;
|
||||||
|
|
||||||
mutex_lock(&dev_priv->sb_lock);
|
mutex_lock(&dev_priv->sb_lock);
|
||||||
|
@ -8383,8 +8382,7 @@ static void lpt_enable_clkout_dp(struct drm_device *dev, bool with_spread,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
reg = (dev_priv->pch_id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE) ?
|
reg = HAS_PCH_LPT_LP(dev) ? SBI_GEN0 : SBI_DBUFF0;
|
||||||
SBI_GEN0 : SBI_DBUFF0;
|
|
||||||
tmp = intel_sbi_read(dev_priv, reg, SBI_ICLK);
|
tmp = intel_sbi_read(dev_priv, reg, SBI_ICLK);
|
||||||
tmp |= SBI_GEN0_CFG_BUFFENABLE_DISABLE;
|
tmp |= SBI_GEN0_CFG_BUFFENABLE_DISABLE;
|
||||||
intel_sbi_write(dev_priv, reg, tmp, SBI_ICLK);
|
intel_sbi_write(dev_priv, reg, tmp, SBI_ICLK);
|
||||||
|
@ -8400,8 +8398,7 @@ static void lpt_disable_clkout_dp(struct drm_device *dev)
|
||||||
|
|
||||||
mutex_lock(&dev_priv->sb_lock);
|
mutex_lock(&dev_priv->sb_lock);
|
||||||
|
|
||||||
reg = (dev_priv->pch_id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE) ?
|
reg = HAS_PCH_LPT_LP(dev) ? SBI_GEN0 : SBI_DBUFF0;
|
||||||
SBI_GEN0 : SBI_DBUFF0;
|
|
||||||
tmp = intel_sbi_read(dev_priv, reg, SBI_ICLK);
|
tmp = intel_sbi_read(dev_priv, reg, SBI_ICLK);
|
||||||
tmp &= ~SBI_GEN0_CFG_BUFFENABLE_DISABLE;
|
tmp &= ~SBI_GEN0_CFG_BUFFENABLE_DISABLE;
|
||||||
intel_sbi_write(dev_priv, reg, tmp, SBI_ICLK);
|
intel_sbi_write(dev_priv, reg, tmp, SBI_ICLK);
|
||||||
|
@ -9413,7 +9410,7 @@ void hsw_enable_pc8(struct drm_i915_private *dev_priv)
|
||||||
|
|
||||||
DRM_DEBUG_KMS("Enabling package C8+\n");
|
DRM_DEBUG_KMS("Enabling package C8+\n");
|
||||||
|
|
||||||
if (dev_priv->pch_id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE) {
|
if (HAS_PCH_LPT_LP(dev)) {
|
||||||
val = I915_READ(SOUTH_DSPCLK_GATE_D);
|
val = I915_READ(SOUTH_DSPCLK_GATE_D);
|
||||||
val &= ~PCH_LP_PARTITION_LEVEL_DISABLE;
|
val &= ~PCH_LP_PARTITION_LEVEL_DISABLE;
|
||||||
I915_WRITE(SOUTH_DSPCLK_GATE_D, val);
|
I915_WRITE(SOUTH_DSPCLK_GATE_D, val);
|
||||||
|
@ -9433,7 +9430,7 @@ void hsw_disable_pc8(struct drm_i915_private *dev_priv)
|
||||||
hsw_restore_lcpll(dev_priv);
|
hsw_restore_lcpll(dev_priv);
|
||||||
lpt_init_pch_refclk(dev);
|
lpt_init_pch_refclk(dev);
|
||||||
|
|
||||||
if (dev_priv->pch_id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE) {
|
if (HAS_PCH_LPT_LP(dev)) {
|
||||||
val = I915_READ(SOUTH_DSPCLK_GATE_D);
|
val = I915_READ(SOUTH_DSPCLK_GATE_D);
|
||||||
val |= PCH_LP_PARTITION_LEVEL_DISABLE;
|
val |= PCH_LP_PARTITION_LEVEL_DISABLE;
|
||||||
I915_WRITE(SOUTH_DSPCLK_GATE_D, val);
|
I915_WRITE(SOUTH_DSPCLK_GATE_D, val);
|
||||||
|
|
|
@ -6588,7 +6588,7 @@ static void lpt_init_clock_gating(struct drm_device *dev)
|
||||||
* TODO: this bit should only be enabled when really needed, then
|
* TODO: this bit should only be enabled when really needed, then
|
||||||
* disabled when not needed anymore in order to save power.
|
* disabled when not needed anymore in order to save power.
|
||||||
*/
|
*/
|
||||||
if (dev_priv->pch_id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE)
|
if (HAS_PCH_LPT_LP(dev))
|
||||||
I915_WRITE(SOUTH_DSPCLK_GATE_D,
|
I915_WRITE(SOUTH_DSPCLK_GATE_D,
|
||||||
I915_READ(SOUTH_DSPCLK_GATE_D) |
|
I915_READ(SOUTH_DSPCLK_GATE_D) |
|
||||||
PCH_LP_PARTITION_LEVEL_DISABLE);
|
PCH_LP_PARTITION_LEVEL_DISABLE);
|
||||||
|
@ -6603,7 +6603,7 @@ static void lpt_suspend_hw(struct drm_device *dev)
|
||||||
{
|
{
|
||||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||||
|
|
||||||
if (dev_priv->pch_id == INTEL_PCH_LPT_LP_DEVICE_ID_TYPE) {
|
if (HAS_PCH_LPT_LP(dev)) {
|
||||||
uint32_t val = I915_READ(SOUTH_DSPCLK_GATE_D);
|
uint32_t val = I915_READ(SOUTH_DSPCLK_GATE_D);
|
||||||
|
|
||||||
val &= ~PCH_LP_PARTITION_LEVEL_DISABLE;
|
val &= ~PCH_LP_PARTITION_LEVEL_DISABLE;
|
||||||
|
|
Loading…
Reference in New Issue