From: Jani Nikula <jani.nikula@linux.intel.com>
To: Jesse Barnes <jbarnes@virtuousgeek.org>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915/vlv: hack to init backlight regs if BIOS fails to do so
Date: Wed, 25 Sep 2013 20:18:39 +0300 [thread overview]
Message-ID: <87bo3glt00.fsf@intel.com> (raw)
In-Reply-To: <1380127240-1310-1-git-send-email-jbarnes@virtuousgeek.org>
On Wed, 25 Sep 2013, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> Still digging up the actual VBT info for this, but wanted to get this
> out there for testing, or in case others are also bugged by this.
I had a look at this a few weeks back. The VBT value for max backlight
is in Hz (as is the value you get through opregion) and transforming
that into the value the registers eat needs some digging. I tried, but
none of the real world examples of VBT and PWM freq matched any of that,
so I moved on...
> This can happen if you boot with an external display connected. In that
> case, the attached eDP backlight modulation frequency may not be
> programmed, so we need to use something (in this case the value my BIOS
> normally programs with just the internal display enabled).
Something similar is required for non-vlv ChromeOS stuff too AFAIK.
> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
> ---
> drivers/gpu/drm/i915/intel_panel.c | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index 3bc89a6..a3536785 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -372,6 +372,9 @@ static u32 i915_read_blc_pwm_ctl(struct drm_device *dev)
> I915_WRITE(BLC_PWM_CTL2,
> dev_priv->regfile.saveBLC_PWM_CTL2);
> }
> +
> + if (IS_VALLEYVIEW(dev) && !val)
> + val = 0xffffffff;
Huh, that's a lot... why don't you use the same value here and below?
In fact, it should be sufficient to do the hack right here, as this gets
called through intel_panel_setup_backlight(). Then again, this hole
function is a kludge... :/
> }
>
> return val;
> @@ -629,10 +632,24 @@ set_level:
> spin_unlock_irqrestore(&dev_priv->backlight.lock, flags);
> }
>
> +/* FIXME: use VBT vals to init PWM_CTL and PWM_CTL2 correctly */
> +static void intel_panel_init_backlight_regs(struct drm_device *dev)
> +{
> + struct drm_i915_private *dev_priv = dev->dev_private;
> +
> + if (IS_VALLEYVIEW(dev)) {
> + u32 cur_val = I915_READ(BLC_PWM_CTL) &
> + ~BACKLIGHT_DUTY_CYCLE_MASK;
That should be without the NOT, right?
> + I915_WRITE(BLC_PWM_CTL, (0xf42 << 16) | cur_val);
> + }
> +}
> +
> static void intel_panel_init_backlight(struct drm_device *dev)
> {
> struct drm_i915_private *dev_priv = dev->dev_private;
>
> + intel_panel_init_backlight_regs(dev);
> +
> dev_priv->backlight.level = intel_panel_get_backlight(dev);
> dev_priv->backlight.enabled = dev_priv->backlight.level != 0;
> }
> --
> 1.8.3.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2013-09-25 17:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-25 16:40 [PATCH] drm/i915/vlv: hack to init backlight regs if BIOS fails to do so Jesse Barnes
2013-09-25 17:18 ` Jani Nikula [this message]
2013-09-25 17:31 ` Jesse Barnes
2013-09-25 17:47 ` Jesse Barnes
2013-09-25 20:53 ` Daniel Vetter
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=87bo3glt00.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jbarnes@virtuousgeek.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox