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=-6.9 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS 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 64E99C432C3 for ; Tue, 19 Nov 2019 15:18:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 3A81B2235E for ; Tue, 19 Nov 2019 15:18:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="PMKsychZ" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728217AbfKSPSg (ORCPT ); Tue, 19 Nov 2019 10:18:36 -0500 Received: from us-smtp-2.mimecast.com ([207.211.31.81]:57160 "EHLO us-smtp-delivery-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728171AbfKSPSf (ORCPT ); Tue, 19 Nov 2019 10:18:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1574176715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=T1xgbYHwGV/X4qOujvrB+x8YaMZaSCqcczgDWtCSP8s=; b=PMKsychZszZ405ZmwQTZmcxi/yhKG83GvCC3JGbP95uGd1M6+2LkZMdmbblpR0UVaZLIUz lsqUmyVxp/SIpd1xvbNVmQhX39g/q9YUPUWjJ9yqyY7XL6qgGTGCnYPVSuAa9hgxx7Vavg jQlFoM7slHAJjknrqxcH+DdAbqPj9HA= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-219-WfxXZp1-MWuD2QExxvJkuA-1; Tue, 19 Nov 2019 10:18:33 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C03541804975; Tue, 19 Nov 2019 15:18:30 +0000 (UTC) Received: from shalem.localdomain.com (ovpn-117-49.ams2.redhat.com [10.36.117.49]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4B0A81001B35; Tue, 19 Nov 2019 15:18:28 +0000 (UTC) From: Hans de Goede To: Maarten Lankhorst , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , "Rafael J . Wysocki" , Len Brown , Lee Jones Cc: Hans de Goede , Andy Shevchenko , linux-acpi@vger.kernel.org, intel-gfx , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/3] drm/i915: DSI: select correct PWM controller to use based on the VBT Date: Tue, 19 Nov 2019 16:18:18 +0100 Message-Id: <20191119151818.67531-4-hdegoede@redhat.com> In-Reply-To: <20191119151818.67531-1-hdegoede@redhat.com> References: <20191119151818.67531-1-hdegoede@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-MC-Unique: WfxXZp1-MWuD2QExxvJkuA-1 X-Mimecast-Spam-Score: 0 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org At least Bay Trail (BYT) and Cherry Trail (CHT) devices can use 1 of 2 different PWM controllers for controlling the LCD's backlight brightness. Either the one integrated into the PMIC or the one integrated into the SoC (the 1st LPSS PWM controller). So far in the LPSS code on BYT we have skipped registering the LPSS PWM controller "pwm_backlight" lookup entry when a Crystal Cove PMIC is present, assuming that in this case the PMIC PWM controller will be used. On CHT we have been relying on only 1 of the 2 PWM controllers being enabled in the DSDT at the same time; and always registered the lookup. So far this has been working, but the correct way to determine which PWM controller needs to be used is by checking a bit in the VBT table and recently I've learned about 2 different BYT devices: Point of View MOBII TAB-P800W Acer Switch 10 SW5-012 Which use a Crystal Cove PMIC, yet the LCD is connected to the SoC/LPSS PWM controller (and the VBT correctly indicates this), so here our old heuristics fail. This commit fixes using the wrong PWM controller on these devices by calling pwm_get() for the right PWM controller based on the VBT dsi.config.pwm_blc bit. Note this is part of a series which contains 2 other patches which renames the PWM lookup for the 1st SoC/LPSS PWM from "pwm_backlight" to "pwm_pmic_backlight" and the PWM lookup for the Crystal Cove PMIC PWM from "pwm_backlight" to "pwm_pmic_backlight". Signed-off-by: Hans de Goede --- drivers/gpu/drm/i915/display/intel_panel.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_panel.c b/drivers/gpu/drm/i= 915/display/intel_panel.c index bc14e9c0285a..ddcf311d1114 100644 --- a/drivers/gpu/drm/i915/display/intel_panel.c +++ b/drivers/gpu/drm/i915/display/intel_panel.c @@ -1840,13 +1840,22 @@ static int pwm_setup_backlight(struct intel_connect= or *connector, =09=09=09 enum pipe pipe) { =09struct drm_device *dev =3D connector->base.dev; +=09struct drm_i915_private *dev_priv =3D to_i915(dev); =09struct intel_panel *panel =3D &connector->panel; +=09const char *desc; =09int retval; =20 -=09/* Get the PWM chip for backlight control */ -=09panel->backlight.pwm =3D pwm_get(dev->dev, "pwm_backlight"); +=09/* Get the right PWM chip for DSI backlight according to VBT */ +=09if (dev_priv->vbt.dsi.config->pwm_blc =3D=3D PPS_BLC_PMIC) { +=09=09panel->backlight.pwm =3D pwm_get(dev->dev, "pwm_pmic_backlight"); +=09=09desc =3D "PMIC"; +=09} else { +=09=09panel->backlight.pwm =3D pwm_get(dev->dev, "pwm_soc_backlight"); +=09=09desc =3D "SoC"; +=09} + =09if (IS_ERR(panel->backlight.pwm)) { -=09=09DRM_ERROR("Failed to own the pwm chip\n"); +=09=09DRM_ERROR("Failed to get the %s PWM chip\n", desc); =09=09panel->backlight.pwm =3D NULL; =09=09return -ENODEV; =09} @@ -1873,6 +1882,7 @@ static int pwm_setup_backlight(struct intel_connector= *connector, =09=09=09=09 CRC_PMIC_PWM_PERIOD_NS); =09panel->backlight.enabled =3D panel->backlight.level !=3D 0; =20 +=09DRM_INFO("Using %s PWM for LCD backlight control\n", desc); =09return 0; } =20 --=20 2.23.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: [PATCH 3/3] drm/i915: DSI: select correct PWM controller to use based on the VBT Date: Tue, 19 Nov 2019 16:18:18 +0100 Message-ID: <20191119151818.67531-4-hdegoede@redhat.com> References: <20191119151818.67531-1-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191119151818.67531-1-hdegoede@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , "Rafael J . Wysocki" , Len Brown , Lee Jones Cc: linux-acpi@vger.kernel.org, intel-gfx , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Andy Shevchenko List-Id: dri-devel@lists.freedesktop.org QXQgbGVhc3QgQmF5IFRyYWlsIChCWVQpIGFuZCBDaGVycnkgVHJhaWwgKENIVCkgZGV2aWNlcyBj YW4gdXNlIDEgb2YgMgpkaWZmZXJlbnQgUFdNIGNvbnRyb2xsZXJzIGZvciBjb250cm9sbGluZyB0 aGUgTENEJ3MgYmFja2xpZ2h0IGJyaWdodG5lc3MuCkVpdGhlciB0aGUgb25lIGludGVncmF0ZWQg aW50byB0aGUgUE1JQyBvciB0aGUgb25lIGludGVncmF0ZWQgaW50byB0aGUKU29DICh0aGUgMXN0 IExQU1MgUFdNIGNvbnRyb2xsZXIpLgoKU28gZmFyIGluIHRoZSBMUFNTIGNvZGUgb24gQllUIHdl IGhhdmUgc2tpcHBlZCByZWdpc3RlcmluZyB0aGUgTFBTUyBQV00KY29udHJvbGxlciAicHdtX2Jh Y2tsaWdodCIgbG9va3VwIGVudHJ5IHdoZW4gYSBDcnlzdGFsIENvdmUgUE1JQyBpcwpwcmVzZW50 LCBhc3N1bWluZyB0aGF0IGluIHRoaXMgY2FzZSB0aGUgUE1JQyBQV00gY29udHJvbGxlciB3aWxs IGJlIHVzZWQuCgpPbiBDSFQgd2UgaGF2ZSBiZWVuIHJlbHlpbmcgb24gb25seSAxIG9mIHRoZSAy IFBXTSBjb250cm9sbGVycyBiZWluZwplbmFibGVkIGluIHRoZSBEU0RUIGF0IHRoZSBzYW1lIHRp bWU7IGFuZCBhbHdheXMgcmVnaXN0ZXJlZCB0aGUgbG9va3VwLgoKU28gZmFyIHRoaXMgaGFzIGJl ZW4gd29ya2luZywgYnV0IHRoZSBjb3JyZWN0IHdheSB0byBkZXRlcm1pbmUgd2hpY2ggUFdNCmNv bnRyb2xsZXIgbmVlZHMgdG8gYmUgdXNlZCBpcyBieSBjaGVja2luZyBhIGJpdCBpbiB0aGUgVkJU IHRhYmxlIGFuZApyZWNlbnRseSBJJ3ZlIGxlYXJuZWQgYWJvdXQgMiBkaWZmZXJlbnQgQllUIGRl dmljZXM6ClBvaW50IG9mIFZpZXcgTU9CSUkgVEFCLVA4MDBXCkFjZXIgU3dpdGNoIDEwIFNXNS0w MTIKCldoaWNoIHVzZSBhIENyeXN0YWwgQ292ZSBQTUlDLCB5ZXQgdGhlIExDRCBpcyBjb25uZWN0 ZWQgdG8gdGhlIFNvQy9MUFNTClBXTSBjb250cm9sbGVyIChhbmQgdGhlIFZCVCBjb3JyZWN0bHkg aW5kaWNhdGVzIHRoaXMpLCBzbyBoZXJlIG91ciBvbGQKaGV1cmlzdGljcyBmYWlsLgoKVGhpcyBj b21taXQgZml4ZXMgdXNpbmcgdGhlIHdyb25nIFBXTSBjb250cm9sbGVyIG9uIHRoZXNlIGRldmlj ZXMgYnkKY2FsbGluZyBwd21fZ2V0KCkgZm9yIHRoZSByaWdodCBQV00gY29udHJvbGxlciBiYXNl ZCBvbiB0aGUKVkJUIGRzaS5jb25maWcucHdtX2JsYyBiaXQuCgpOb3RlIHRoaXMgaXMgcGFydCBv ZiBhIHNlcmllcyB3aGljaCBjb250YWlucyAyIG90aGVyIHBhdGNoZXMgd2hpY2ggcmVuYW1lcwp0 aGUgUFdNIGxvb2t1cCBmb3IgdGhlIDFzdCBTb0MvTFBTUyBQV00gZnJvbSAicHdtX2JhY2tsaWdo dCIgdG8KInB3bV9wbWljX2JhY2tsaWdodCIgYW5kIHRoZSBQV00gbG9va3VwIGZvciB0aGUgQ3J5 c3RhbCBDb3ZlIFBNSUMgUFdNCmZyb20gInB3bV9iYWNrbGlnaHQiIHRvICJwd21fcG1pY19iYWNr bGlnaHQiLgoKU2lnbmVkLW9mZi1ieTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BhbmVsLmMgfCAxNiAr KysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BhbmVsLmMKaW5k ZXggYmMxNGU5YzAyODVhLi5kZGNmMzExZDExMTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGFuZWwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX3BhbmVsLmMKQEAgLTE4NDAsMTMgKzE4NDAsMjIgQEAgc3RhdGljIGludCBw d21fc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJ CSAgICAgICBlbnVtIHBpcGUgcGlwZSkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29u bmVjdG9yLT5iYXNlLmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBh bmVsOworCWNvbnN0IGNoYXIgKmRlc2M7CiAJaW50IHJldHZhbDsKIAotCS8qIEdldCB0aGUgUFdN IGNoaXAgZm9yIGJhY2tsaWdodCBjb250cm9sICovCi0JcGFuZWwtPmJhY2tsaWdodC5wd20gPSBw d21fZ2V0KGRldi0+ZGV2LCAicHdtX2JhY2tsaWdodCIpOworCS8qIEdldCB0aGUgcmlnaHQgUFdN IGNoaXAgZm9yIERTSSBiYWNrbGlnaHQgYWNjb3JkaW5nIHRvIFZCVCAqLworCWlmIChkZXZfcHJp di0+dmJ0LmRzaS5jb25maWctPnB3bV9ibGMgPT0gUFBTX0JMQ19QTUlDKSB7CisJCXBhbmVsLT5i YWNrbGlnaHQucHdtID0gcHdtX2dldChkZXYtPmRldiwgInB3bV9wbWljX2JhY2tsaWdodCIpOwor CQlkZXNjID0gIlBNSUMiOworCX0gZWxzZSB7CisJCXBhbmVsLT5iYWNrbGlnaHQucHdtID0gcHdt X2dldChkZXYtPmRldiwgInB3bV9zb2NfYmFja2xpZ2h0Iik7CisJCWRlc2MgPSAiU29DIjsKKwl9 CisKIAlpZiAoSVNfRVJSKHBhbmVsLT5iYWNrbGlnaHQucHdtKSkgewotCQlEUk1fRVJST1IoIkZh aWxlZCB0byBvd24gdGhlIHB3bSBjaGlwXG4iKTsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZ2V0 IHRoZSAlcyBQV00gY2hpcFxuIiwgZGVzYyk7CiAJCXBhbmVsLT5iYWNrbGlnaHQucHdtID0gTlVM TDsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQpAQCAtMTg3Myw2ICsxODgyLDcgQEAgc3RhdGljIGlu dCBwd21fc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwK IAkJCQkgQ1JDX1BNSUNfUFdNX1BFUklPRF9OUyk7CiAJcGFuZWwtPmJhY2tsaWdodC5lbmFibGVk ID0gcGFuZWwtPmJhY2tsaWdodC5sZXZlbCAhPSAwOwogCisJRFJNX0lORk8oIlVzaW5nICVzIFBX TSBmb3IgTENEIGJhY2tsaWdodCBjb250cm9sXG4iLCBkZXNjKTsKIAlyZXR1cm4gMDsKIH0KIAot LSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= 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=-6.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS 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 EA798C43215 for ; Tue, 19 Nov 2019 15:18:43 +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 C9D2422350 for ; Tue, 19 Nov 2019 15:18:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C9D2422350 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 47AC26E980; Tue, 19 Nov 2019 15:18:43 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5F6246E982 for ; Tue, 19 Nov 2019 15:18:36 +0000 (UTC) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-219-WfxXZp1-MWuD2QExxvJkuA-1; Tue, 19 Nov 2019 10:18:33 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C03541804975; Tue, 19 Nov 2019 15:18:30 +0000 (UTC) Received: from shalem.localdomain.com (ovpn-117-49.ams2.redhat.com [10.36.117.49]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4B0A81001B35; Tue, 19 Nov 2019 15:18:28 +0000 (UTC) From: Hans de Goede To: Maarten Lankhorst , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , "Rafael J . Wysocki" , Len Brown , Lee Jones Subject: [PATCH 3/3] drm/i915: DSI: select correct PWM controller to use based on the VBT Date: Tue, 19 Nov 2019 16:18:18 +0100 Message-Id: <20191119151818.67531-4-hdegoede@redhat.com> In-Reply-To: <20191119151818.67531-1-hdegoede@redhat.com> References: <20191119151818.67531-1-hdegoede@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-MC-Unique: WfxXZp1-MWuD2QExxvJkuA-1 X-Mimecast-Spam-Score: 0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1574176715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=T1xgbYHwGV/X4qOujvrB+x8YaMZaSCqcczgDWtCSP8s=; b=PMKsychZszZ405ZmwQTZmcxi/yhKG83GvCC3JGbP95uGd1M6+2LkZMdmbblpR0UVaZLIUz lsqUmyVxp/SIpd1xvbNVmQhX39g/q9YUPUWjJ9yqyY7XL6qgGTGCnYPVSuAa9hgxx7Vavg jQlFoM7slHAJjknrqxcH+DdAbqPj9HA= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-acpi@vger.kernel.org, intel-gfx , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Hans de Goede , Andy Shevchenko Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191119151818.FYbohxVAPKxpkC6BVcXITRykaqbG3bvwRkReH-LFaH4@z> QXQgbGVhc3QgQmF5IFRyYWlsIChCWVQpIGFuZCBDaGVycnkgVHJhaWwgKENIVCkgZGV2aWNlcyBj YW4gdXNlIDEgb2YgMgpkaWZmZXJlbnQgUFdNIGNvbnRyb2xsZXJzIGZvciBjb250cm9sbGluZyB0 aGUgTENEJ3MgYmFja2xpZ2h0IGJyaWdodG5lc3MuCkVpdGhlciB0aGUgb25lIGludGVncmF0ZWQg aW50byB0aGUgUE1JQyBvciB0aGUgb25lIGludGVncmF0ZWQgaW50byB0aGUKU29DICh0aGUgMXN0 IExQU1MgUFdNIGNvbnRyb2xsZXIpLgoKU28gZmFyIGluIHRoZSBMUFNTIGNvZGUgb24gQllUIHdl IGhhdmUgc2tpcHBlZCByZWdpc3RlcmluZyB0aGUgTFBTUyBQV00KY29udHJvbGxlciAicHdtX2Jh Y2tsaWdodCIgbG9va3VwIGVudHJ5IHdoZW4gYSBDcnlzdGFsIENvdmUgUE1JQyBpcwpwcmVzZW50 LCBhc3N1bWluZyB0aGF0IGluIHRoaXMgY2FzZSB0aGUgUE1JQyBQV00gY29udHJvbGxlciB3aWxs IGJlIHVzZWQuCgpPbiBDSFQgd2UgaGF2ZSBiZWVuIHJlbHlpbmcgb24gb25seSAxIG9mIHRoZSAy IFBXTSBjb250cm9sbGVycyBiZWluZwplbmFibGVkIGluIHRoZSBEU0RUIGF0IHRoZSBzYW1lIHRp bWU7IGFuZCBhbHdheXMgcmVnaXN0ZXJlZCB0aGUgbG9va3VwLgoKU28gZmFyIHRoaXMgaGFzIGJl ZW4gd29ya2luZywgYnV0IHRoZSBjb3JyZWN0IHdheSB0byBkZXRlcm1pbmUgd2hpY2ggUFdNCmNv bnRyb2xsZXIgbmVlZHMgdG8gYmUgdXNlZCBpcyBieSBjaGVja2luZyBhIGJpdCBpbiB0aGUgVkJU IHRhYmxlIGFuZApyZWNlbnRseSBJJ3ZlIGxlYXJuZWQgYWJvdXQgMiBkaWZmZXJlbnQgQllUIGRl dmljZXM6ClBvaW50IG9mIFZpZXcgTU9CSUkgVEFCLVA4MDBXCkFjZXIgU3dpdGNoIDEwIFNXNS0w MTIKCldoaWNoIHVzZSBhIENyeXN0YWwgQ292ZSBQTUlDLCB5ZXQgdGhlIExDRCBpcyBjb25uZWN0 ZWQgdG8gdGhlIFNvQy9MUFNTClBXTSBjb250cm9sbGVyIChhbmQgdGhlIFZCVCBjb3JyZWN0bHkg aW5kaWNhdGVzIHRoaXMpLCBzbyBoZXJlIG91ciBvbGQKaGV1cmlzdGljcyBmYWlsLgoKVGhpcyBj b21taXQgZml4ZXMgdXNpbmcgdGhlIHdyb25nIFBXTSBjb250cm9sbGVyIG9uIHRoZXNlIGRldmlj ZXMgYnkKY2FsbGluZyBwd21fZ2V0KCkgZm9yIHRoZSByaWdodCBQV00gY29udHJvbGxlciBiYXNl ZCBvbiB0aGUKVkJUIGRzaS5jb25maWcucHdtX2JsYyBiaXQuCgpOb3RlIHRoaXMgaXMgcGFydCBv ZiBhIHNlcmllcyB3aGljaCBjb250YWlucyAyIG90aGVyIHBhdGNoZXMgd2hpY2ggcmVuYW1lcwp0 aGUgUFdNIGxvb2t1cCBmb3IgdGhlIDFzdCBTb0MvTFBTUyBQV00gZnJvbSAicHdtX2JhY2tsaWdo dCIgdG8KInB3bV9wbWljX2JhY2tsaWdodCIgYW5kIHRoZSBQV00gbG9va3VwIGZvciB0aGUgQ3J5 c3RhbCBDb3ZlIFBNSUMgUFdNCmZyb20gInB3bV9iYWNrbGlnaHQiIHRvICJwd21fcG1pY19iYWNr bGlnaHQiLgoKU2lnbmVkLW9mZi1ieTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BhbmVsLmMgfCAxNiAr KysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BhbmVsLmMKaW5k ZXggYmMxNGU5YzAyODVhLi5kZGNmMzExZDExMTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGFuZWwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX3BhbmVsLmMKQEAgLTE4NDAsMTMgKzE4NDAsMjIgQEAgc3RhdGljIGludCBw d21fc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJ CSAgICAgICBlbnVtIHBpcGUgcGlwZSkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29u bmVjdG9yLT5iYXNlLmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBh bmVsOworCWNvbnN0IGNoYXIgKmRlc2M7CiAJaW50IHJldHZhbDsKIAotCS8qIEdldCB0aGUgUFdN IGNoaXAgZm9yIGJhY2tsaWdodCBjb250cm9sICovCi0JcGFuZWwtPmJhY2tsaWdodC5wd20gPSBw d21fZ2V0KGRldi0+ZGV2LCAicHdtX2JhY2tsaWdodCIpOworCS8qIEdldCB0aGUgcmlnaHQgUFdN IGNoaXAgZm9yIERTSSBiYWNrbGlnaHQgYWNjb3JkaW5nIHRvIFZCVCAqLworCWlmIChkZXZfcHJp di0+dmJ0LmRzaS5jb25maWctPnB3bV9ibGMgPT0gUFBTX0JMQ19QTUlDKSB7CisJCXBhbmVsLT5i YWNrbGlnaHQucHdtID0gcHdtX2dldChkZXYtPmRldiwgInB3bV9wbWljX2JhY2tsaWdodCIpOwor CQlkZXNjID0gIlBNSUMiOworCX0gZWxzZSB7CisJCXBhbmVsLT5iYWNrbGlnaHQucHdtID0gcHdt X2dldChkZXYtPmRldiwgInB3bV9zb2NfYmFja2xpZ2h0Iik7CisJCWRlc2MgPSAiU29DIjsKKwl9 CisKIAlpZiAoSVNfRVJSKHBhbmVsLT5iYWNrbGlnaHQucHdtKSkgewotCQlEUk1fRVJST1IoIkZh aWxlZCB0byBvd24gdGhlIHB3bSBjaGlwXG4iKTsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZ2V0 IHRoZSAlcyBQV00gY2hpcFxuIiwgZGVzYyk7CiAJCXBhbmVsLT5iYWNrbGlnaHQucHdtID0gTlVM TDsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQpAQCAtMTg3Myw2ICsxODgyLDcgQEAgc3RhdGljIGlu dCBwd21fc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwK IAkJCQkgQ1JDX1BNSUNfUFdNX1BFUklPRF9OUyk7CiAJcGFuZWwtPmJhY2tsaWdodC5lbmFibGVk ID0gcGFuZWwtPmJhY2tsaWdodC5sZXZlbCAhPSAwOwogCisJRFJNX0lORk8oIlVzaW5nICVzIFBX TSBmb3IgTENEIGJhY2tsaWdodCBjb250cm9sXG4iLCBkZXNjKTsKIAlyZXR1cm4gMDsKIH0KIAot LSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw= 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=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=unavailable 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 6D723C432C0 for ; Tue, 19 Nov 2019 15:18:39 +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 4AB002231C for ; Tue, 19 Nov 2019 15:18:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4AB002231C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.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 2730D6E977; Tue, 19 Nov 2019 15:18:38 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 545716E980 for ; Tue, 19 Nov 2019 15:18:36 +0000 (UTC) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-219-WfxXZp1-MWuD2QExxvJkuA-1; Tue, 19 Nov 2019 10:18:33 -0500 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C03541804975; Tue, 19 Nov 2019 15:18:30 +0000 (UTC) Received: from shalem.localdomain.com (ovpn-117-49.ams2.redhat.com [10.36.117.49]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4B0A81001B35; Tue, 19 Nov 2019 15:18:28 +0000 (UTC) From: Hans de Goede To: Maarten Lankhorst , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , "Rafael J . Wysocki" , Len Brown , Lee Jones Date: Tue, 19 Nov 2019 16:18:18 +0100 Message-Id: <20191119151818.67531-4-hdegoede@redhat.com> In-Reply-To: <20191119151818.67531-1-hdegoede@redhat.com> References: <20191119151818.67531-1-hdegoede@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-MC-Unique: WfxXZp1-MWuD2QExxvJkuA-1 X-Mimecast-Spam-Score: 0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1574176715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=T1xgbYHwGV/X4qOujvrB+x8YaMZaSCqcczgDWtCSP8s=; b=PMKsychZszZ405ZmwQTZmcxi/yhKG83GvCC3JGbP95uGd1M6+2LkZMdmbblpR0UVaZLIUz lsqUmyVxp/SIpd1xvbNVmQhX39g/q9YUPUWjJ9yqyY7XL6qgGTGCnYPVSuAa9hgxx7Vavg jQlFoM7slHAJjknrqxcH+DdAbqPj9HA= Subject: [Intel-gfx] [PATCH 3/3] drm/i915: DSI: select correct PWM controller to use based on the VBT X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-acpi@vger.kernel.org, intel-gfx , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Andy Shevchenko Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191119151818.rmlfpot6d6a6FjmpaXk-gYRzVUKlJHTcq1GENravlNQ@z> QXQgbGVhc3QgQmF5IFRyYWlsIChCWVQpIGFuZCBDaGVycnkgVHJhaWwgKENIVCkgZGV2aWNlcyBj YW4gdXNlIDEgb2YgMgpkaWZmZXJlbnQgUFdNIGNvbnRyb2xsZXJzIGZvciBjb250cm9sbGluZyB0 aGUgTENEJ3MgYmFja2xpZ2h0IGJyaWdodG5lc3MuCkVpdGhlciB0aGUgb25lIGludGVncmF0ZWQg aW50byB0aGUgUE1JQyBvciB0aGUgb25lIGludGVncmF0ZWQgaW50byB0aGUKU29DICh0aGUgMXN0 IExQU1MgUFdNIGNvbnRyb2xsZXIpLgoKU28gZmFyIGluIHRoZSBMUFNTIGNvZGUgb24gQllUIHdl IGhhdmUgc2tpcHBlZCByZWdpc3RlcmluZyB0aGUgTFBTUyBQV00KY29udHJvbGxlciAicHdtX2Jh Y2tsaWdodCIgbG9va3VwIGVudHJ5IHdoZW4gYSBDcnlzdGFsIENvdmUgUE1JQyBpcwpwcmVzZW50 LCBhc3N1bWluZyB0aGF0IGluIHRoaXMgY2FzZSB0aGUgUE1JQyBQV00gY29udHJvbGxlciB3aWxs IGJlIHVzZWQuCgpPbiBDSFQgd2UgaGF2ZSBiZWVuIHJlbHlpbmcgb24gb25seSAxIG9mIHRoZSAy IFBXTSBjb250cm9sbGVycyBiZWluZwplbmFibGVkIGluIHRoZSBEU0RUIGF0IHRoZSBzYW1lIHRp bWU7IGFuZCBhbHdheXMgcmVnaXN0ZXJlZCB0aGUgbG9va3VwLgoKU28gZmFyIHRoaXMgaGFzIGJl ZW4gd29ya2luZywgYnV0IHRoZSBjb3JyZWN0IHdheSB0byBkZXRlcm1pbmUgd2hpY2ggUFdNCmNv bnRyb2xsZXIgbmVlZHMgdG8gYmUgdXNlZCBpcyBieSBjaGVja2luZyBhIGJpdCBpbiB0aGUgVkJU IHRhYmxlIGFuZApyZWNlbnRseSBJJ3ZlIGxlYXJuZWQgYWJvdXQgMiBkaWZmZXJlbnQgQllUIGRl dmljZXM6ClBvaW50IG9mIFZpZXcgTU9CSUkgVEFCLVA4MDBXCkFjZXIgU3dpdGNoIDEwIFNXNS0w MTIKCldoaWNoIHVzZSBhIENyeXN0YWwgQ292ZSBQTUlDLCB5ZXQgdGhlIExDRCBpcyBjb25uZWN0 ZWQgdG8gdGhlIFNvQy9MUFNTClBXTSBjb250cm9sbGVyIChhbmQgdGhlIFZCVCBjb3JyZWN0bHkg aW5kaWNhdGVzIHRoaXMpLCBzbyBoZXJlIG91ciBvbGQKaGV1cmlzdGljcyBmYWlsLgoKVGhpcyBj b21taXQgZml4ZXMgdXNpbmcgdGhlIHdyb25nIFBXTSBjb250cm9sbGVyIG9uIHRoZXNlIGRldmlj ZXMgYnkKY2FsbGluZyBwd21fZ2V0KCkgZm9yIHRoZSByaWdodCBQV00gY29udHJvbGxlciBiYXNl ZCBvbiB0aGUKVkJUIGRzaS5jb25maWcucHdtX2JsYyBiaXQuCgpOb3RlIHRoaXMgaXMgcGFydCBv ZiBhIHNlcmllcyB3aGljaCBjb250YWlucyAyIG90aGVyIHBhdGNoZXMgd2hpY2ggcmVuYW1lcwp0 aGUgUFdNIGxvb2t1cCBmb3IgdGhlIDFzdCBTb0MvTFBTUyBQV00gZnJvbSAicHdtX2JhY2tsaWdo dCIgdG8KInB3bV9wbWljX2JhY2tsaWdodCIgYW5kIHRoZSBQV00gbG9va3VwIGZvciB0aGUgQ3J5 c3RhbCBDb3ZlIFBNSUMgUFdNCmZyb20gInB3bV9iYWNrbGlnaHQiIHRvICJwd21fcG1pY19iYWNr bGlnaHQiLgoKU2lnbmVkLW9mZi1ieTogSGFucyBkZSBHb2VkZSA8aGRlZ29lZGVAcmVkaGF0LmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BhbmVsLmMgfCAxNiAr KysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3BhbmVsLmMKaW5k ZXggYmMxNGU5YzAyODVhLi5kZGNmMzExZDExMTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfcGFuZWwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX3BhbmVsLmMKQEAgLTE4NDAsMTMgKzE4NDAsMjIgQEAgc3RhdGljIGludCBw d21fc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJ CSAgICAgICBlbnVtIHBpcGUgcGlwZSkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29u bmVjdG9yLT5iYXNlLmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCA9ICZjb25uZWN0b3ItPnBh bmVsOworCWNvbnN0IGNoYXIgKmRlc2M7CiAJaW50IHJldHZhbDsKIAotCS8qIEdldCB0aGUgUFdN IGNoaXAgZm9yIGJhY2tsaWdodCBjb250cm9sICovCi0JcGFuZWwtPmJhY2tsaWdodC5wd20gPSBw d21fZ2V0KGRldi0+ZGV2LCAicHdtX2JhY2tsaWdodCIpOworCS8qIEdldCB0aGUgcmlnaHQgUFdN IGNoaXAgZm9yIERTSSBiYWNrbGlnaHQgYWNjb3JkaW5nIHRvIFZCVCAqLworCWlmIChkZXZfcHJp di0+dmJ0LmRzaS5jb25maWctPnB3bV9ibGMgPT0gUFBTX0JMQ19QTUlDKSB7CisJCXBhbmVsLT5i YWNrbGlnaHQucHdtID0gcHdtX2dldChkZXYtPmRldiwgInB3bV9wbWljX2JhY2tsaWdodCIpOwor CQlkZXNjID0gIlBNSUMiOworCX0gZWxzZSB7CisJCXBhbmVsLT5iYWNrbGlnaHQucHdtID0gcHdt X2dldChkZXYtPmRldiwgInB3bV9zb2NfYmFja2xpZ2h0Iik7CisJCWRlc2MgPSAiU29DIjsKKwl9 CisKIAlpZiAoSVNfRVJSKHBhbmVsLT5iYWNrbGlnaHQucHdtKSkgewotCQlEUk1fRVJST1IoIkZh aWxlZCB0byBvd24gdGhlIHB3bSBjaGlwXG4iKTsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gZ2V0 IHRoZSAlcyBQV00gY2hpcFxuIiwgZGVzYyk7CiAJCXBhbmVsLT5iYWNrbGlnaHQucHdtID0gTlVM TDsKIAkJcmV0dXJuIC1FTk9ERVY7CiAJfQpAQCAtMTg3Myw2ICsxODgyLDcgQEAgc3RhdGljIGlu dCBwd21fc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwK IAkJCQkgQ1JDX1BNSUNfUFdNX1BFUklPRF9OUyk7CiAJcGFuZWwtPmJhY2tsaWdodC5lbmFibGVk ID0gcGFuZWwtPmJhY2tsaWdodC5sZXZlbCAhPSAwOwogCisJRFJNX0lORk8oIlVzaW5nICVzIFBX TSBmb3IgTENEIGJhY2tsaWdodCBjb250cm9sXG4iLCBkZXNjKTsKIAlyZXR1cm4gMDsKIH0KIAot LSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=