|
@@ -1251,16 +1251,14 @@ static u32 bxt_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
|
|
|
static u32 spt_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
|
|
|
{
|
|
|
struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
|
|
|
- u32 mul, clock;
|
|
|
+ u32 mul;
|
|
|
|
|
|
if (I915_READ(SOUTH_CHICKEN1) & SPT_PWM_GRANULARITY)
|
|
|
mul = 128;
|
|
|
else
|
|
|
mul = 16;
|
|
|
|
|
|
- clock = MHz(24);
|
|
|
-
|
|
|
- return clock / (pwm_freq_hz * mul);
|
|
|
+ return MHz(24) / (pwm_freq_hz * mul);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -1292,10 +1290,9 @@ static u32 lpt_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
|
|
|
*/
|
|
|
static u32 pch_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
|
|
|
{
|
|
|
- struct drm_device *dev = connector->base.dev;
|
|
|
- int clock = MHz(intel_pch_rawclk(dev));
|
|
|
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
|
|
|
|
|
|
- return clock / (pwm_freq_hz * 128);
|
|
|
+ return KHz(dev_priv->rawclk_freq) / (pwm_freq_hz * 128);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -1308,14 +1305,13 @@ static u32 pch_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
|
|
|
*/
|
|
|
static u32 i9xx_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
|
|
|
{
|
|
|
- struct drm_device *dev = connector->base.dev;
|
|
|
- struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
|
|
|
int clock;
|
|
|
|
|
|
- if (IS_PINEVIEW(dev))
|
|
|
- clock = MHz(intel_hrawclk(dev));
|
|
|
+ if (IS_PINEVIEW(dev_priv))
|
|
|
+ clock = KHz(dev_priv->rawclk_freq);
|
|
|
else
|
|
|
- clock = 1000 * dev_priv->cdclk_freq;
|
|
|
+ clock = KHz(dev_priv->cdclk_freq);
|
|
|
|
|
|
return clock / (pwm_freq_hz * 32);
|
|
|
}
|
|
@@ -1332,9 +1328,9 @@ static u32 i965_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
|
|
|
int clock;
|
|
|
|
|
|
if (IS_G4X(dev_priv))
|
|
|
- clock = MHz(intel_hrawclk(dev));
|
|
|
+ clock = KHz(dev_priv->rawclk_freq);
|
|
|
else
|
|
|
- clock = 1000 * dev_priv->cdclk_freq;
|
|
|
+ clock = KHz(dev_priv->cdclk_freq);
|
|
|
|
|
|
return clock / (pwm_freq_hz * 128);
|
|
|
}
|
|
@@ -1346,19 +1342,21 @@ static u32 i965_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
|
|
|
*/
|
|
|
static u32 vlv_hz_to_pwm(struct intel_connector *connector, u32 pwm_freq_hz)
|
|
|
{
|
|
|
- struct drm_device *dev = connector->base.dev;
|
|
|
- struct drm_i915_private *dev_priv = dev->dev_private;
|
|
|
- int clock;
|
|
|
+ struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
|
|
|
+ int mul, clock;
|
|
|
|
|
|
if ((I915_READ(CBR1_VLV) & CBR_PWM_CLOCK_MUX_SELECT) == 0) {
|
|
|
- if (IS_CHERRYVIEW(dev))
|
|
|
- return KHz(19200) / (pwm_freq_hz * 16);
|
|
|
+ if (IS_CHERRYVIEW(dev_priv))
|
|
|
+ clock = KHz(19200);
|
|
|
else
|
|
|
- return MHz(25) / (pwm_freq_hz * 16);
|
|
|
+ clock = MHz(25);
|
|
|
+ mul = 16;
|
|
|
} else {
|
|
|
- clock = intel_hrawclk(dev);
|
|
|
- return MHz(clock) / (pwm_freq_hz * 128);
|
|
|
+ clock = KHz(dev_priv->rawclk_freq);
|
|
|
+ mul = 128;
|
|
|
}
|
|
|
+
|
|
|
+ return clock / (pwm_freq_hz * mul);
|
|
|
}
|
|
|
|
|
|
static u32 get_backlight_max_vbt(struct intel_connector *connector)
|