public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: aaron.lu@intel.com, kamal@canonical.com, EGriffith92@gmail.com,
	kent.baxley@canonical.com, stable@vger.kernel.org,
	jani.nikula@intel.com
Subject: [PATCH 2/2] drm/i915: do not setup backlight if not available according to VBT
Date: Wed,  9 Apr 2014 13:35:35 +0300	[thread overview]
Message-ID: <1397039735-2561-2-git-send-email-jani.nikula@intel.com> (raw)
In-Reply-To: <1397039735-2561-1-git-send-email-jani.nikula@intel.com>

Some machines use an external EC for controlling the backlight. Info
about this is present in the VBT. Do not setup native backlight control
if no PWM backlight is available or supported according to VBT. The
acpi_backlight interface appears to work for the EC control.

In most cases there has been no harm done, but it looks like there are
machines out there that have both an EC and our PWM line connected to
the same wire. This, obviously, does not end well.

This should fix the regression caused by
commit bc0bb9fd1c7810407ab810d204bbaecb255fddde
Author: Jani Nikula <jani.nikula@intel.com>
Date:   Thu Nov 14 12:14:29 2013 +0200

    drm/i915: remove QUIRK_NO_PCH_PWM_ENABLE

AFAICT the quirk removed by the above commit effectively resulted in
i915 not driving the backlight PWM output, thus not messing things up.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76276
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=47941
CC: Aaron Lu <aaron.lu@intel.com>
CC: Kamal Mostafa <kamal@canonical.com>
CC: Eric Griffith <EGriffith92@gmail.com>
CC: Kent Baxley <kent.baxley@canonical.com>
CC: stable@vger.kernel.org [v3.14+]
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/intel_panel.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index cb058408c70e..0eead16aeda7 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1065,6 +1065,11 @@ int intel_panel_setup_backlight(struct drm_connector *connector)
 	unsigned long flags;
 	int ret;
 
+	if (!dev_priv->vbt.backlight.present) {
+		DRM_DEBUG_KMS("native backlight control not available per VBT\n");
+		return 0;
+	}
+
 	/* set level and max in panel struct */
 	spin_lock_irqsave(&dev_priv->backlight_lock, flags);
 	ret = dev_priv->display.setup_backlight(intel_connector);
-- 
1.7.9.5

  reply	other threads:[~2014-04-09 10:35 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-09 10:35 [PATCH 1/2] drm/i915: check VBT for supported backlight type Jani Nikula
2014-04-09 10:35 ` Jani Nikula [this message]
2014-04-09 13:45   ` [PATCH 2/2] drm/i915: do not setup backlight if not available according to VBT Daniel Vetter
2014-04-10  8:09     ` Jani Nikula
2014-04-09 17:01   ` Kamal Mostafa
2014-04-09 11:44 ` [Intel-gfx] [PATCH 1/2] drm/i915: check VBT for supported backlight type Ville Syrjälä

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=1397039735-2561-2-git-send-email-jani.nikula@intel.com \
    --to=jani.nikula@intel.com \
    --cc=EGriffith92@gmail.com \
    --cc=aaron.lu@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=kamal@canonical.com \
    --cc=kent.baxley@canonical.com \
    --cc=stable@vger.kernel.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