From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B430BC433E0 for ; Mon, 11 Jan 2021 10:03:46 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 42C3521744 for ; Mon, 11 Jan 2021 10:03:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 42C3521744 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 325F589FD1; Mon, 11 Jan 2021 10:03:45 +0000 (UTC) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0E80989FD1 for ; Mon, 11 Jan 2021 10:03:42 +0000 (UTC) IronPort-SDR: TuORJLWp8wFCIgfo83JG3Tvh45zoBkaxeQ1VnVqRcZIlcHmW86CmTy2O5PILimFjpH33q59YWF HhKLCta+Sh/g== X-IronPort-AV: E=McAfee;i="6000,8403,9860"; a="177930168" X-IronPort-AV: E=Sophos;i="5.79,338,1602572400"; d="scan'208";a="177930168" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jan 2021 02:03:38 -0800 IronPort-SDR: b1DS422JqFycV3AofEy30Cu/snFqqIKdPFCjqP26gtp0i0PTDW0KVxX2rm/pUGWZJowbXvI9v6 Dgn+nshNG1dA== X-IronPort-AV: E=Sophos;i="5.79,338,1602572400"; d="scan'208";a="380959021" Received: from libresli-mobl1.ger.corp.intel.com (HELO localhost) ([10.213.207.39]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jan 2021 02:03:35 -0800 From: Jani Nikula To: lyude@redhat.com, intel-gfx@lists.freedesktop.org In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20210108152841.6944-1-jani.nikula@intel.com> Date: Mon, 11 Jan 2021 12:03:33 +0200 Message-ID: <875z43yemi.fsf@intel.com> MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH] drm/i915/backlight: fix CPU mode backlight takeover on LPT X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: stable@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gRnJpLCAwOCBKYW4gMjAyMSwgTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4gd3JvdGU6 Cj4gUmV2aWV3ZWQtYnk6IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+Cj4KPiBMZXQgbWUg a25vdyB3aGVuIHlvdSd2ZSBwdXNoZWQgdGhpcyB1cHN0cmVhbSBhbmQgSSdsbCBnbyBhaGVhZCBh bmQgc2VuZCBvdXQgYQo+IHJlYmFzZWQgdmVyc2lvbiBvZiBteSBiYWNrbGlnaHQgc2VyaWVzLgoK UHVzaGVkLCB0aGFua3MgZm9yIHRoZSByZXZpZXcuCgpJJ20gaG9waW5nIHRvIGRvIG1vcmUgcmV2 aWV3IG9mIHRoZSBzZXJpZXMgdG9kYXksIHNvIHBsZWFzZSBob2xkIG9mZiBvbgphY3R1YWxseSBz ZW5kaW5nIHRoZSByZWJhc2VkIHZlcnNpb24gZm9yIGEgYml0IGxvbmdlci4KCkJSLApKYW5pLgoK Cj4KPiBPbiBGcmksIDIwMjEtMDEtMDggYXQgMTc6MjggKzAyMDAsIEphbmkgTmlrdWxhIHdyb3Rl Ogo+PiBUaGUgcGNoX2dldF9iYWNrbGlnaHQoKSwgbHB0X2dldF9iYWNrbGlnaHQoKSwgYW5kIGxw dF9zZXRfYmFja2xpZ2h0KCkKPj4gZnVuY3Rpb25zIG9wZXJhdGUgZGlyZWN0bHkgb24gdGhlIGhh cmR3YXJlIHJlZ2lzdGVycy4gSWYgaW52ZXJ0aW5nIHRoZQo+PiB2YWx1ZSBpcyBuZWVkZWQsIHVz aW5nIGludGVsX3BhbmVsX2NvbXB1dGVfYnJpZ2h0bmVzcygpLCBpdCBzaG91bGQgb25seQo+PiBi ZSBkb25lIGluIHRoZSBpbnRlcmZhY2UgYmV0d2VlbiBoYXJkd2FyZSByZWdpc3RlcnMgYW5kCj4+ IHBhbmVsLT5iYWNrbGlnaHQubGV2ZWwuCj4+IAo+PiBUaGUgQ1BVIG1vZGUgdGFrZW92ZXIgY29k ZSBhZGRlZCBpbiBjb21taXQgNWIxZWM5YWM3YWI1Cj4+ICgiZHJtL2k5MTUvYmFja2xpZ2h0OiBG aXggYmFja2xpZ2h0IHRha2VvdmVyIG9uIExQVCwgdjMuIikgcmVhZHMgdGhlCj4+IGhhcmR3YXJl IHJlZ2lzdGVyIGFuZCBjb252ZXJ0cyB0byBwYW5lbC0+YmFja2xpZ2h0LmxldmVsIGNvcnJlY3Rs eSwKPj4gaG93ZXZlciB0aGUgdmFsdWUgd3JpdHRlbiBiYWNrIHNob3VsZCByZW1haW4gaW4gdGhl IGhhcmR3YXJlIHJlZ2lzdGVyCj4+ICJkb21haW4iLgo+PiAKPj4gVGhpcyBoYXNuJ3QgYmVlbiBh biBpc3N1ZSwgYmVjYXVzZSBHTTQ1IG1hY2hpbmVzIGFyZSB0aGUgb25seSBrbm93bgo+PiB1c2Vy cyBvZiBpOTE1LmludmVydF9icmlnaHRuZXNzIGFuZCB0aGUgYnJpZ2h0bmVzcyBpbnZlcnQgcXVp cmssIGFuZAo+PiB3aXRob3V0IG9uZSBvZiB0aGVtIG5vIGNvbnZlcnNpb24gaXMgbWFkZS4gSXQn cyBsaWtlbHkgbm9ib2R5J3MgZXZlciBoaXQKPj4gdGhlIHByb2JsZW0uCj4+IAo+PiBGaXhlczog NWIxZWM5YWM3YWI1ICgiZHJtL2k5MTUvYmFja2xpZ2h0OiBGaXggYmFja2xpZ2h0IHRha2VvdmVy IG9uIExQVCwgdjMuIikKPj4gQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3Jz dEBsaW51eC5pbnRlbC5jb20+Cj4+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgo+PiBDYzogTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KPj4g Q2M6IDxzdGFibGVAdmdlci5rZXJuZWwub3JnPiAjIHY1LjErCj4+IFNpZ25lZC1vZmYtYnk6IEph bmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4+IC0tLQo+PiDCoGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGFuZWwuYyB8IDkgKysrKystLS0tCj4+IMKgMSBmaWxl IGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPj4gCj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BhbmVsLmMKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BhbmVsLmMKPj4gaW5kZXggNjdmODFhZTk5 NWM0Li43YTQyMzlkMWMyNDEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfcGFuZWwuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX3BhbmVsLmMKPj4gQEAgLTE2NDksMTYgKzE2NDksMTMgQEAgc3RhdGljIGludCBscHRf c2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IKPj4gKmNvbm5lY3RvciwgZW51 bSBwaXBlIHVudXMKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB2YWwgPSBwY2hf Z2V0X2JhY2tsaWdodChjb25uZWN0b3IpOwo+PiDCoMKgwqDCoMKgwqDCoMKgZWxzZQo+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHZhbCA9IGxwdF9nZXRfYmFja2xpZ2h0KGNvbm5l Y3Rvcik7Cj4+IC3CoMKgwqDCoMKgwqDCoHZhbCA9IGludGVsX3BhbmVsX2NvbXB1dGVfYnJpZ2h0 bmVzcyhjb25uZWN0b3IsIHZhbCk7Cj4+IC3CoMKgwqDCoMKgwqDCoHBhbmVsLT5iYWNrbGlnaHQu bGV2ZWwgPSBjbGFtcCh2YWwsIHBhbmVsLT5iYWNrbGlnaHQubWluLAo+PiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgcGFuZWwtPmJhY2tsaWdodC5tYXgpOwo+PiDCoAo+PiDCoMKgwqDCoMKgwqDCoMKgaWYg KGNwdV9tb2RlKSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZHJtX2RiZ19r bXMoJmRldl9wcml2LT5kcm0sCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAiQ1BVIGJhY2tsaWdodCByZWdpc3RlciB3YXMgZW5hYmxlZCwg c3dpdGNoaW5nIHRvCj4+IFBDSCBvdmVycmlkZVxuIik7Cj4+IMKgCj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgLyogV3JpdGUgY29udmVydGVkIENQVSBQV00gdmFsdWUgdG8gUENI IG92ZXJyaWRlIHJlZ2lzdGVyICovCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBs cHRfc2V0X2JhY2tsaWdodChjb25uZWN0b3ItPmJhc2Uuc3RhdGUsIHBhbmVsLQo+PiA+YmFja2xp Z2h0LmxldmVsKTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGxwdF9zZXRfYmFj a2xpZ2h0KGNvbm5lY3Rvci0+YmFzZS5zdGF0ZSwgdmFsKTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBpbnRlbF9kZV93cml0ZShkZXZfcHJpdiwgQkxDX1BXTV9QQ0hfQ1RMMSwK Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHBjaF9jdGwxIHwgQkxNX1BDSF9PVkVSUklERV9FTkFCTEUpOwo+PiDCoAo+PiBAQCAt MTY2Niw2ICsxNjYzLDEwIEBAIHN0YXRpYyBpbnQgbHB0X3NldHVwX2JhY2tsaWdodChzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yCj4+ICpjb25uZWN0b3IsIGVudW0gcGlwZSB1bnVzCj4+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjcHVf Y3RsMiAmIH5CTE1fUFdNX0VOQUJMRSk7Cj4+IMKgwqDCoMKgwqDCoMKgwqB9Cj4+IMKgCj4+ICvC oMKgwqDCoMKgwqDCoHZhbCA9IGludGVsX3BhbmVsX2NvbXB1dGVfYnJpZ2h0bmVzcyhjb25uZWN0 b3IsIHZhbCk7Cj4+ICvCoMKgwqDCoMKgwqDCoHBhbmVsLT5iYWNrbGlnaHQubGV2ZWwgPSBjbGFt cCh2YWwsIHBhbmVsLT5iYWNrbGlnaHQubWluLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGFuZWwt PmJhY2tsaWdodC5tYXgpOwo+PiArCj4+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPj4gwqB9 Cj4+IMKgCgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNzIENlbnRl cgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7FA1C433E0 for ; Mon, 11 Jan 2021 10:04:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 83D34221E3 for ; Mon, 11 Jan 2021 10:04:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728701AbhAKKEW convert rfc822-to-8bit (ORCPT ); Mon, 11 Jan 2021 05:04:22 -0500 Received: from mga12.intel.com ([192.55.52.136]:47678 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728531AbhAKKEV (ORCPT ); Mon, 11 Jan 2021 05:04:21 -0500 IronPort-SDR: g3J2nrXZQJDSgXCh2dL9sp9zwv5/YC8hEk8hv67z/t+On/HQb50cmBKMThoKkBQYZanzj9dsm/ 3aOs/ssp6iJw== X-IronPort-AV: E=McAfee;i="6000,8403,9860"; a="157017399" X-IronPort-AV: E=Sophos;i="5.79,338,1602572400"; d="scan'208";a="157017399" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jan 2021 02:03:38 -0800 IronPort-SDR: b1DS422JqFycV3AofEy30Cu/snFqqIKdPFCjqP26gtp0i0PTDW0KVxX2rm/pUGWZJowbXvI9v6 Dgn+nshNG1dA== X-IronPort-AV: E=Sophos;i="5.79,338,1602572400"; d="scan'208";a="380959021" Received: from libresli-mobl1.ger.corp.intel.com (HELO localhost) ([10.213.207.39]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Jan 2021 02:03:35 -0800 From: Jani Nikula To: lyude@redhat.com, intel-gfx@lists.freedesktop.org Cc: Maarten Lankhorst , Ville =?utf-8?B?U3lyasOkbMOk?= , stable@vger.kernel.org Subject: Re: [PATCH] drm/i915/backlight: fix CPU mode backlight takeover on LPT In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20210108152841.6944-1-jani.nikula@intel.com> Date: Mon, 11 Jan 2021 12:03:33 +0200 Message-ID: <875z43yemi.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org On Fri, 08 Jan 2021, Lyude Paul wrote: > Reviewed-by: Lyude Paul > > Let me know when you've pushed this upstream and I'll go ahead and send out a > rebased version of my backlight series. Pushed, thanks for the review. I'm hoping to do more review of the series today, so please hold off on actually sending the rebased version for a bit longer. BR, Jani. > > On Fri, 2021-01-08 at 17:28 +0200, Jani Nikula wrote: >> The pch_get_backlight(), lpt_get_backlight(), and lpt_set_backlight() >> functions operate directly on the hardware registers. If inverting the >> value is needed, using intel_panel_compute_brightness(), it should only >> be done in the interface between hardware registers and >> panel->backlight.level. >> >> The CPU mode takeover code added in commit 5b1ec9ac7ab5 >> ("drm/i915/backlight: Fix backlight takeover on LPT, v3.") reads the >> hardware register and converts to panel->backlight.level correctly, >> however the value written back should remain in the hardware register >> "domain". >> >> This hasn't been an issue, because GM45 machines are the only known >> users of i915.invert_brightness and the brightness invert quirk, and >> without one of them no conversion is made. It's likely nobody's ever hit >> the problem. >> >> Fixes: 5b1ec9ac7ab5 ("drm/i915/backlight: Fix backlight takeover on LPT, v3.") >> Cc: Maarten Lankhorst >> Cc: Ville Syrjälä >> Cc: Lyude Paul >> Cc: # v5.1+ >> Signed-off-by: Jani Nikula >> --- >>  drivers/gpu/drm/i915/display/intel_panel.c | 9 +++++---- >>  1 file changed, 5 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/display/intel_panel.c >> b/drivers/gpu/drm/i915/display/intel_panel.c >> index 67f81ae995c4..7a4239d1c241 100644 >> --- a/drivers/gpu/drm/i915/display/intel_panel.c >> +++ b/drivers/gpu/drm/i915/display/intel_panel.c >> @@ -1649,16 +1649,13 @@ static int lpt_setup_backlight(struct intel_connector >> *connector, enum pipe unus >>                 val = pch_get_backlight(connector); >>         else >>                 val = lpt_get_backlight(connector); >> -       val = intel_panel_compute_brightness(connector, val); >> -       panel->backlight.level = clamp(val, panel->backlight.min, >> -                                      panel->backlight.max); >>   >>         if (cpu_mode) { >>                 drm_dbg_kms(&dev_priv->drm, >>                             "CPU backlight register was enabled, switching to >> PCH override\n"); >>   >>                 /* Write converted CPU PWM value to PCH override register */ >> -               lpt_set_backlight(connector->base.state, panel- >> >backlight.level); >> +               lpt_set_backlight(connector->base.state, val); >>                 intel_de_write(dev_priv, BLC_PWM_PCH_CTL1, >>                                pch_ctl1 | BLM_PCH_OVERRIDE_ENABLE); >>   >> @@ -1666,6 +1663,10 @@ static int lpt_setup_backlight(struct intel_connector >> *connector, enum pipe unus >>                                cpu_ctl2 & ~BLM_PWM_ENABLE); >>         } >>   >> +       val = intel_panel_compute_brightness(connector, val); >> +       panel->backlight.level = clamp(val, panel->backlight.min, >> +                                      panel->backlight.max); >> + >>         return 0; >>  } >>   -- Jani Nikula, Intel Open Source Graphics Center