From patchwork Wed Sep 21 06:37:34 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: AceLan Kao X-Patchwork-Id: 672597 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3sf90x58Rrz9t1d; Wed, 21 Sep 2016 16:37:53 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=O//Ypp5C; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1bmbAE-0004OO-AF; Wed, 21 Sep 2016 06:37:50 +0000 Received: from mail-pa0-f65.google.com ([209.85.220.65]) by huckleberry.canonical.com with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1bmbA6-0004Mr-NF for kernel-team@lists.ubuntu.com; Wed, 21 Sep 2016 06:37:42 +0000 Received: by mail-pa0-f65.google.com with SMTP id my20so1867155pab.3 for ; Tue, 20 Sep 2016 23:37:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=j0rsA2YJEeRvfhCZGNO7IlBKg90tONqs2n2KUV6+zwc=; b=O//Ypp5CuTcACU8T+mwDyvzez1564z6GtRih2cRJVQbymb8mvI0LQJ3C3pONoDr+q2 aMrb7y37udmGdg8ZLVTxM2piXorJ01VjLSzJ9vCG7yMaL7P7WZIl73R+93v1ozl1FA44 v5kaFIXGtWKnM0RfMYCEoiriE0xiu5TLq3IgJsLsDvLJTY8YTYm4zQdgKlauYkNelMqY O8WIP91xOqYLADOV1K392uh6faOeybNERo62oFso5ZPFuSour6Sa+YZV0ARPsaUW7tPo NFHhbYxs93YRR+Iy7xgXG2pN7EgA6F6hFNmMd6scxUJxlVIagytFgTbt2u9BrTxuq0TZ 2pIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=j0rsA2YJEeRvfhCZGNO7IlBKg90tONqs2n2KUV6+zwc=; b=Ce6YmnrIvUjFeYfLNgjR60YGNz+BVnXrpA2vBsnlqOKwP5rbV9qhhfASiatG11JVQj qW5Ii/PoSWFXi14HES2uYWGI3CJa2qNOkYHxAjvgVueT4mEp/2kpSwNnDkMTITM1KtG+ 8zE/lu7anpnUgF1svCmdRYlAEheHCCnoDDWJxWZRdAG8nDog1DML2RFapPUNVMi2DtYl mPM82xNBKD/KZxjqawBB7II6fFdqttEmv1kMkE40eEV0gV7ZDMd9vJYxgTVgpSNn0Kyj Kqlbije4dbtiOJkiIjyrMd621rNPTP7fLFpDLSoomxUSoLzIFsfNYfY/iFoQtid4NCII qKPg== X-Gm-Message-State: AE9vXwNWEO/R5GE4yUY3b+UE6MelFq9V341JuCR7yhpJFn61Mdi3aiPAdrNNPpK71Z7Qyg== X-Received: by 10.66.67.51 with SMTP id k19mr62228615pat.55.1474439861147; Tue, 20 Sep 2016 23:37:41 -0700 (PDT) Received: from localhost ([1.34.161.214]) by smtp.gmail.com with ESMTPSA id d190sm2173840pfd.59.2016.09.20.23.37.40 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Sep 2016 23:37:40 -0700 (PDT) From: AceLan Kao To: kernel-team@lists.ubuntu.com Subject: [PATCH 2/2] UBUNTU: SAUCE: i915_bpo: drm/i915/backlight: setup backlight pwm alternate increment on backlight enable Date: Wed, 21 Sep 2016 14:37:34 +0800 Message-Id: <1474439854-9877-3-git-send-email-acelan.kao@canonical.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1474439854-9877-1-git-send-email-acelan.kao@canonical.com> References: <1474439854-9877-1-git-send-email-acelan.kao@canonical.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com From: Shawn Lee BugLink: http://bugs.launchpad.net/bugs/1625932 Backlight enable is supposed to do a full setup of the backlight. We were missing the PWM alternate increment bit in the south chicken registers on lpt+ pch. This potentially caused a PWM frequency change when the chicken register value was lost e.g. on suspend. v2 by Jani, rebase on the patch caching alt increment Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97486 References: https://bugs.freedesktop.org/show_bug.cgi?id=67454 Cc: Cooper Chiou Cc: Wei Shun Chen Cc: Gary C Wang Cc: stable@vger.kernel.org # v4.4+ 32b421e79e6b drm/i915/backlight: setup and cache... Cc: stable@vger.kernel.org # v4.4+ Reviewed-by: Ville Syrjälä Signed-off-by: Shawn Lee Signed-off-by: Jani Nikula Link: http://patchwork.freedesktop.org/patch/msgid/8265f5935bd31c039ddfc82819d26c2ca1ae9cba.1474281249.git.jani.nikula@intel.com (cherry-picked from drm-intel-next-queued commit e29aff05f239f8d) Signed-off-by: AceLan Kao --- ubuntu/i915/intel_panel.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/ubuntu/i915/intel_panel.c b/ubuntu/i915/intel_panel.c index d676ff6..1e22a776 100644 --- a/ubuntu/i915/intel_panel.c +++ b/ubuntu/i915/intel_panel.c @@ -841,7 +841,7 @@ static void lpt_enable_backlight(struct intel_connector *connector) { struct drm_i915_private *dev_priv = to_i915(connector->base.dev); struct intel_panel *panel = &connector->panel; - u32 pch_ctl1, pch_ctl2; + u32 pch_ctl1, pch_ctl2, schicken; pch_ctl1 = I915_READ(BLC_PWM_PCH_CTL1); if (pch_ctl1 & BLM_PCH_PWM_ENABLE) { @@ -850,6 +850,22 @@ static void lpt_enable_backlight(struct intel_connector *connector) I915_WRITE(BLC_PWM_PCH_CTL1, pch_ctl1); } + if (HAS_PCH_LPT(dev_priv)) { + schicken = I915_READ(SOUTH_CHICKEN2); + if (panel->backlight.alternate_pwm_increment) + schicken |= LPT_PWM_GRANULARITY; + else + schicken &= ~LPT_PWM_GRANULARITY; + I915_WRITE(SOUTH_CHICKEN2, schicken); + } else { + schicken = I915_READ(SOUTH_CHICKEN1); + if (panel->backlight.alternate_pwm_increment) + schicken |= SPT_PWM_GRANULARITY; + else + schicken &= ~SPT_PWM_GRANULARITY; + I915_WRITE(SOUTH_CHICKEN1, schicken); + } + pch_ctl2 = panel->backlight.max << 16; I915_WRITE(BLC_PWM_PCH_CTL2, pch_ctl2);