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=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 C082DC5DF61 for ; Thu, 7 Nov 2019 13:50:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9DFC0214D8 for ; Thu, 7 Nov 2019 13:50:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731056AbfKGNuW (ORCPT ); Thu, 7 Nov 2019 08:50:22 -0500 Received: from verein.lst.de ([213.95.11.211]:57376 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726754AbfKGNuW (ORCPT ); Thu, 7 Nov 2019 08:50:22 -0500 Received: by verein.lst.de (Postfix, from userid 2005) id 0A04068BE1; Thu, 7 Nov 2019 14:50:18 +0100 (CET) From: Torsten Duwe Date: Mon, 4 Nov 2019 11:34:23 +0100 Subject: [PATCH v5 0/7][rebased] Add anx6345 DP/eDP bridge for Olimex Teres-I To: Maxime Ripard , Chen-Yu Tsai , Rob Herring , Mark Rutland , Thierry Reding , David Airlie , Daniel Vetter , Andrzej Hajda , Laurent Pinchart , Icenowy Zheng , Sean Paul , Vasily Khoruzhick , Harald Geyer , Greg Kroah-Hartman , Thomas Gleixner Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Message-Id: <20191107135018.0A04068BE1@verein.lst.de> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Nov 06, 2019 at 04:21:31PM +0100, Maxime Ripard wrote: > > Please resend the whole series rebased on top of either linux-next or > drm-misc-next. Here it is. Applies cleanly to both, modulo those patches already in. Torsten --- ANX6345 LVTTL->eDP video bridge, driver with device tree bindings. Changes since v4: * enforce DT ports to be nodes and forbid additionalProperties. Changes since v3: * converted binding schema file to json-schema ("YAML") It now validates (itself and the dts) like a charm ;-) Input port0 is mandatory, output port1 is optional. * Enric Balletbo i Serra waived analogix-anx6345 module ownership to icenowy Since they both agree, I won't interfere. Changes from v2: * use SPDX-IDs throughout * removed the panel output again, as it was not what Maxime had in mind. At least the Teres-I does very well without. * binding clarifications and cosmetic changes as suggested by Andrzej Changes from v1: * fixed up copyright information. Most code changes are only moves and thus retain copyright and module ownership. Even the new analogix-anx6345.c originates from the old 1495-line analogix-anx78xx.c, with 306 insertions and 987 deletions (ignoring the trivial anx78xx -> anx6345 replacements) 306 new vs. 508 old... * fixed all minor formatting issues brought up * merged previously separate new analogix_dp_i2c module into existing analogix_dp * split additional defines into a preparatory patch * renamed the factored-out common functions anx_aux_* -> anx_dp_aux_*, because anx_...aux_transfer was exported globally. Besides, it is now GPL-only exported. * moved chip ID read into a separate function. * keep the chip powered after a successful probe. (There's a good chance that this is the only display during boot!) * updated the binding document: LVTTL input is now required, only the output side description is optional. Laurent: I have also looked into the drm_panel_bridge infrastructure, but it's not that trivial to convert these drivers to it. Changes from the respective previous versions: * the reset polarity is corrected in DT and the driver; things should be clearer now. * as requested, add a panel (the known innolux,n116bge) and connect the ports. * renamed dvdd?? to *-supply to match the established scheme * trivial update to the #include list, to make it compile in 5.2 Icenowy Zheng (4): drm/bridge: move ANA78xx driver to analogix subdirectory drm/bridge: split some definitions of ANX78xx to dedicated headers drm/bridge: extract some Analogix I2C DP common code drm/bridge: Add Analogix anx6345 support Torsten Duwe (3): drm/bridge: Prepare Analogix anx6345 support dt-bindings: Add ANX6345 DP/eDP transmitter binding arm64: dts: allwinner: a64: enable ANX6345 bridge on Teres-I .../bindings/display/bridge/anx6345.yaml | 92 +++ .../boot/dts/allwinner/sun50i-a64-teres-i.dts | 45 +- drivers/gpu/drm/bridge/Kconfig | 10 - drivers/gpu/drm/bridge/Makefile | 4 +- drivers/gpu/drm/bridge/analogix-anx78xx.h | 710 ------------------ drivers/gpu/drm/bridge/analogix/Kconfig | 22 + drivers/gpu/drm/bridge/analogix/Makefile | 4 +- drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 793 +++++++++++++++++++++ .../drm/bridge/{ => analogix}/analogix-anx78xx.c | 146 +--- drivers/gpu/drm/bridge/analogix/analogix-anx78xx.h | 255 +++++++ .../gpu/drm/bridge/analogix/analogix-i2c-dptx.c | 165 +++++ .../gpu/drm/bridge/analogix/analogix-i2c-dptx.h | 258 +++++++ .../drm/bridge/analogix/analogix-i2c-txcommon.h | 236 ++++++ 13 files changed, 1868 insertions(+), 872 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/bridge/anx6345.yaml delete mode 100644 drivers/gpu/drm/bridge/analogix-anx78xx.h create mode 100644 drivers/gpu/drm/bridge/analogix/analogix-anx6345.c rename drivers/gpu/drm/bridge/{ => analogix}/analogix-anx78xx.c (90%) create mode 100644 drivers/gpu/drm/bridge/analogix/analogix-anx78xx.h create mode 100644 drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c create mode 100644 drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h create mode 100644 drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h -- 2.16.4 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=-0.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no 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 BC773C5DF61 for ; Thu, 7 Nov 2019 13:50:29 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 8EA6D2178F for ; Thu, 7 Nov 2019 13:50:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="JZv+7A4b" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8EA6D2178F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:To: Subject:Date:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Owner; bh=sigEggRMB0Wt9ynnKAZqJVgIRDqi2QZtDKxfPFyjh8A=; b=JZv +7A4bESvS5CDbuDqzfn2rhzCbDYTsDlsIWCAmSLjZKe0GjsRtdSB6jms/LggbCJuGrIDqFQNhlFV3 DRnloUHzONBRDUc6t+X04FxGgtPykSNuQmc2frsseZObcW7anlPANV4oCPzcXaU4o8ODqlv8QRDl0 8zCXJxeBp7Q7hFfFdKQMVHl9GqUGpv0UQIrdlPJ93LQD3L3KIp3QJGVj7FE/udAvULan1j4V/Q8Ns NYe5fSGBgZswBHSqeMN8apfHOG6CW5VeVdKSjPVtPOMTToX+ygVKC6qtJhfMsQ3GEK+AULXqLC/Ij 3ZewVbivZKn5U5JxpERNrQMkzBU4Hhw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iSiBA-0005uz-QG; Thu, 07 Nov 2019 13:50:28 +0000 Received: from verein.lst.de ([213.95.11.211]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iSiB6-0005tl-Pa for linux-arm-kernel@lists.infradead.org; Thu, 07 Nov 2019 13:50:27 +0000 Received: by verein.lst.de (Postfix, from userid 2005) id 0A04068BE1; Thu, 7 Nov 2019 14:50:18 +0100 (CET) From: Torsten Duwe Date: Mon, 4 Nov 2019 11:34:23 +0100 Subject: [PATCH v5 0/7][rebased] Add anx6345 DP/eDP bridge for Olimex Teres-I To: Maxime Ripard , Chen-Yu Tsai , Rob Herring , Mark Rutland , Thierry Reding , David Airlie , Daniel Vetter , Andrzej Hajda , Laurent Pinchart , Icenowy Zheng , Sean Paul , Vasily Khoruzhick , Harald Geyer , Greg Kroah-Hartman , Thomas Gleixner Message-Id: <20191107135018.0A04068BE1@verein.lst.de> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191107_055025_135178_E7FF8081 X-CRM114-Status: GOOD ( 15.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, Nov 06, 2019 at 04:21:31PM +0100, Maxime Ripard wrote: > > Please resend the whole series rebased on top of either linux-next or > drm-misc-next. Here it is. Applies cleanly to both, modulo those patches already in. Torsten --- ANX6345 LVTTL->eDP video bridge, driver with device tree bindings. Changes since v4: * enforce DT ports to be nodes and forbid additionalProperties. Changes since v3: * converted binding schema file to json-schema ("YAML") It now validates (itself and the dts) like a charm ;-) Input port0 is mandatory, output port1 is optional. * Enric Balletbo i Serra waived analogix-anx6345 module ownership to icenowy Since they both agree, I won't interfere. Changes from v2: * use SPDX-IDs throughout * removed the panel output again, as it was not what Maxime had in mind. At least the Teres-I does very well without. * binding clarifications and cosmetic changes as suggested by Andrzej Changes from v1: * fixed up copyright information. Most code changes are only moves and thus retain copyright and module ownership. Even the new analogix-anx6345.c originates from the old 1495-line analogix-anx78xx.c, with 306 insertions and 987 deletions (ignoring the trivial anx78xx -> anx6345 replacements) 306 new vs. 508 old... * fixed all minor formatting issues brought up * merged previously separate new analogix_dp_i2c module into existing analogix_dp * split additional defines into a preparatory patch * renamed the factored-out common functions anx_aux_* -> anx_dp_aux_*, because anx_...aux_transfer was exported globally. Besides, it is now GPL-only exported. * moved chip ID read into a separate function. * keep the chip powered after a successful probe. (There's a good chance that this is the only display during boot!) * updated the binding document: LVTTL input is now required, only the output side description is optional. Laurent: I have also looked into the drm_panel_bridge infrastructure, but it's not that trivial to convert these drivers to it. Changes from the respective previous versions: * the reset polarity is corrected in DT and the driver; things should be clearer now. * as requested, add a panel (the known innolux,n116bge) and connect the ports. * renamed dvdd?? to *-supply to match the established scheme * trivial update to the #include list, to make it compile in 5.2 Icenowy Zheng (4): drm/bridge: move ANA78xx driver to analogix subdirectory drm/bridge: split some definitions of ANX78xx to dedicated headers drm/bridge: extract some Analogix I2C DP common code drm/bridge: Add Analogix anx6345 support Torsten Duwe (3): drm/bridge: Prepare Analogix anx6345 support dt-bindings: Add ANX6345 DP/eDP transmitter binding arm64: dts: allwinner: a64: enable ANX6345 bridge on Teres-I .../bindings/display/bridge/anx6345.yaml | 92 +++ .../boot/dts/allwinner/sun50i-a64-teres-i.dts | 45 +- drivers/gpu/drm/bridge/Kconfig | 10 - drivers/gpu/drm/bridge/Makefile | 4 +- drivers/gpu/drm/bridge/analogix-anx78xx.h | 710 ------------------ drivers/gpu/drm/bridge/analogix/Kconfig | 22 + drivers/gpu/drm/bridge/analogix/Makefile | 4 +- drivers/gpu/drm/bridge/analogix/analogix-anx6345.c | 793 +++++++++++++++++++++ .../drm/bridge/{ => analogix}/analogix-anx78xx.c | 146 +--- drivers/gpu/drm/bridge/analogix/analogix-anx78xx.h | 255 +++++++ .../gpu/drm/bridge/analogix/analogix-i2c-dptx.c | 165 +++++ .../gpu/drm/bridge/analogix/analogix-i2c-dptx.h | 258 +++++++ .../drm/bridge/analogix/analogix-i2c-txcommon.h | 236 ++++++ 13 files changed, 1868 insertions(+), 872 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/bridge/anx6345.yaml delete mode 100644 drivers/gpu/drm/bridge/analogix-anx78xx.h create mode 100644 drivers/gpu/drm/bridge/analogix/analogix-anx6345.c rename drivers/gpu/drm/bridge/{ => analogix}/analogix-anx78xx.c (90%) create mode 100644 drivers/gpu/drm/bridge/analogix/analogix-anx78xx.h create mode 100644 drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.c create mode 100644 drivers/gpu/drm/bridge/analogix/analogix-i2c-dptx.h create mode 100644 drivers/gpu/drm/bridge/analogix/analogix-i2c-txcommon.h -- 2.16.4 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 83293FC6197 for ; Thu, 7 Nov 2019 13:50:24 +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 6400B214D8 for ; Thu, 7 Nov 2019 13:50:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6400B214D8 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=lst.de 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 7DF826E0EA; Thu, 7 Nov 2019 13:50:23 +0000 (UTC) Received: from verein.lst.de (verein.lst.de [213.95.11.211]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9895C6E0EA for ; Thu, 7 Nov 2019 13:50:22 +0000 (UTC) Received: by verein.lst.de (Postfix, from userid 2005) id 0A04068BE1; Thu, 7 Nov 2019 14:50:18 +0100 (CET) From: Torsten Duwe Date: Mon, 4 Nov 2019 11:34:23 +0100 Subject: [PATCH v5 0/7][rebased] Add anx6345 DP/eDP bridge for Olimex Teres-I To: Maxime Ripard , Chen-Yu Tsai , Rob Herring , Mark Rutland , Thierry Reding , David Airlie , Daniel Vetter , Andrzej Hajda , Laurent Pinchart , Icenowy Zheng , Sean Paul , Vasily Khoruzhick , Harald Geyer , Greg Kroah-Hartman , Thomas Gleixner Message-Id: <20191107135018.0A04068BE1@verein.lst.de> 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: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191104103423.1VJBLg1hGK44Yrx0Vjd5c8Hbw5NyUiDRvUZO0FsWmEI@z> T24gV2VkLCBOb3YgMDYsIDIwMTkgYXQgMDQ6MjE6MzFQTSArMDEwMCwgTWF4aW1lIFJpcGFyZCB3 cm90ZToKPgo+IFBsZWFzZSByZXNlbmQgdGhlIHdob2xlIHNlcmllcyByZWJhc2VkIG9uIHRvcCBv ZiBlaXRoZXIgbGludXgtbmV4dCBvcgo+IGRybS1taXNjLW5leHQuCgpIZXJlIGl0IGlzLiBBcHBs aWVzIGNsZWFubHkgdG8gYm90aCwgbW9kdWxvIHRob3NlIHBhdGNoZXMgYWxyZWFkeSBpbi4KCglU b3JzdGVuCgotLS0KCkFOWDYzNDUgTFZUVEwtPmVEUCB2aWRlbyBicmlkZ2UsIGRyaXZlciB3aXRo IGRldmljZSB0cmVlIGJpbmRpbmdzLgoKQ2hhbmdlcyBzaW5jZSB2NDoKCiogZW5mb3JjZSBEVCBw b3J0cyB0byBiZSBub2RlcyBhbmQgZm9yYmlkIGFkZGl0aW9uYWxQcm9wZXJ0aWVzLgoKQ2hhbmdl cyBzaW5jZSB2MzoKCiogY29udmVydGVkIGJpbmRpbmcgc2NoZW1hIGZpbGUgdG8ganNvbi1zY2hl bWEgKCJZQU1MIikKICBJdCBub3cgdmFsaWRhdGVzIChpdHNlbGYgYW5kIHRoZSBkdHMpIGxpa2Ug YSBjaGFybSA7LSkKICBJbnB1dCBwb3J0MCBpcyBtYW5kYXRvcnksIG91dHB1dCBwb3J0MSBpcyBv cHRpb25hbC4KCiogRW5yaWMgQmFsbGV0Ym8gaSBTZXJyYSB3YWl2ZWQgYW5hbG9naXgtYW54NjM0 NSBtb2R1bGUgb3duZXJzaGlwIHRvIGljZW5vd3kKICA8Q0FGcUhfNTBzMEpfTkVldlY5YjVvLXdx LWJ3K3hHYVVaM1d5aFZEUlpLeU0yWW4taVZnQG1haWwuZ21haWwuY29tPgogIFNpbmNlIHRoZXkg Ym90aCBhZ3JlZSwgSSB3b24ndCBpbnRlcmZlcmUuCgpDaGFuZ2VzIGZyb20gdjI6CgoqIHVzZSBT UERYLUlEcyB0aHJvdWdob3V0CgoqIHJlbW92ZWQgdGhlIHBhbmVsIG91dHB1dCBhZ2FpbiwgYXMg aXQgd2FzIG5vdCB3aGF0IE1heGltZSBoYWQgaW4gbWluZC4KICBBdCBsZWFzdCB0aGUgVGVyZXMt SSBkb2VzIHZlcnkgd2VsbCB3aXRob3V0LgoKKiBiaW5kaW5nIGNsYXJpZmljYXRpb25zIGFuZCBj b3NtZXRpYyBjaGFuZ2VzIGFzIHN1Z2dlc3RlZCBieSBBbmRyemVqCgpDaGFuZ2VzIGZyb20gdjE6 CgoqIGZpeGVkIHVwIGNvcHlyaWdodCBpbmZvcm1hdGlvbi4gTW9zdCBjb2RlIGNoYW5nZXMgYXJl IG9ubHkgbW92ZXMgYW5kIHRodXMKICByZXRhaW4gY29weXJpZ2h0IGFuZCBtb2R1bGUgb3duZXJz aGlwLiBFdmVuIHRoZSBuZXcgYW5hbG9naXgtYW54NjM0NS5jIG9yaWdpbmF0ZXMKICBmcm9tIHRo ZSBvbGQgMTQ5NS1saW5lIGFuYWxvZ2l4LWFueDc4eHguYywgd2l0aCAzMDYgaW5zZXJ0aW9ucyBh bmQgOTg3IGRlbGV0aW9ucwogIChpZ25vcmluZyB0aGUgdHJpdmlhbCBhbng3OHh4IC0+IGFueDYz NDUgcmVwbGFjZW1lbnRzKSAzMDYgbmV3IHZzLiA1MDggb2xkLi4uCgoqIGZpeGVkIGFsbCBtaW5v ciBmb3JtYXR0aW5nIGlzc3VlcyBicm91Z2h0IHVwCgoqIG1lcmdlZCBwcmV2aW91c2x5IHNlcGFy YXRlIG5ldyBhbmFsb2dpeF9kcF9pMmMgbW9kdWxlIGludG8gZXhpc3RpbmcgYW5hbG9naXhfZHAK Ciogc3BsaXQgYWRkaXRpb25hbCBkZWZpbmVzIGludG8gYSBwcmVwYXJhdG9yeSBwYXRjaAoKKiBy ZW5hbWVkIHRoZSBmYWN0b3JlZC1vdXQgY29tbW9uIGZ1bmN0aW9ucyBhbnhfYXV4XyogLT4gYW54 X2RwX2F1eF8qLCBiZWNhdXNlCiAgYW54Xy4uLmF1eF90cmFuc2ZlciB3YXMgZXhwb3J0ZWQgZ2xv YmFsbHkuIEJlc2lkZXMsIGl0IGlzIG5vdyBHUEwtb25seSBleHBvcnRlZC4KCiogbW92ZWQgY2hp cCBJRCByZWFkIGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbi4KCioga2VlcCB0aGUgY2hpcCBwb3dl cmVkIGFmdGVyIGEgc3VjY2Vzc2Z1bCBwcm9iZS4KICAoVGhlcmUncyBhIGdvb2QgY2hhbmNlIHRo YXQgdGhpcyBpcyB0aGUgb25seSBkaXNwbGF5IGR1cmluZyBib290ISkKCiogdXBkYXRlZCB0aGUg YmluZGluZyBkb2N1bWVudDogTFZUVEwgaW5wdXQgaXMgbm93IHJlcXVpcmVkLCBvbmx5IHRoZSBv dXRwdXQgc2lkZQogIGRlc2NyaXB0aW9uIGlzIG9wdGlvbmFsLgoKIExhdXJlbnQ6IEkgaGF2ZSBh bHNvIGxvb2tlZCBpbnRvIHRoZSBkcm1fcGFuZWxfYnJpZGdlIGluZnJhc3RydWN0dXJlLAogYnV0 IGl0J3Mgbm90IHRoYXQgdHJpdmlhbCB0byBjb252ZXJ0IHRoZXNlIGRyaXZlcnMgdG8gaXQuCgpD aGFuZ2VzIGZyb20gdGhlIHJlc3BlY3RpdmUgcHJldmlvdXMgdmVyc2lvbnM6CgoqIHRoZSByZXNl dCBwb2xhcml0eSBpcyBjb3JyZWN0ZWQgaW4gRFQgYW5kIHRoZSBkcml2ZXI7CiAgdGhpbmdzIHNo b3VsZCBiZSBjbGVhcmVyIG5vdy4KCiogYXMgcmVxdWVzdGVkLCBhZGQgYSBwYW5lbCAodGhlIGtu b3duIGlubm9sdXgsbjExNmJnZSkgYW5kIGNvbm5lY3QKICB0aGUgcG9ydHMuCgoqIHJlbmFtZWQg ZHZkZD8/IHRvICotc3VwcGx5IHRvIG1hdGNoIHRoZSBlc3RhYmxpc2hlZCBzY2hlbWUKCiogdHJp dmlhbCB1cGRhdGUgdG8gdGhlICNpbmNsdWRlIGxpc3QsIHRvIG1ha2UgaXQgY29tcGlsZSBpbiA1 LjIKCkljZW5vd3kgWmhlbmcgKDQpOgogIGRybS9icmlkZ2U6IG1vdmUgQU5BNzh4eCBkcml2ZXIg dG8gYW5hbG9naXggc3ViZGlyZWN0b3J5CiAgZHJtL2JyaWRnZTogc3BsaXQgc29tZSBkZWZpbml0 aW9ucyBvZiBBTlg3OHh4IHRvIGRlZGljYXRlZCBoZWFkZXJzCiAgZHJtL2JyaWRnZTogZXh0cmFj dCBzb21lIEFuYWxvZ2l4IEkyQyBEUCBjb21tb24gY29kZQogIGRybS9icmlkZ2U6IEFkZCBBbmFs b2dpeCBhbng2MzQ1IHN1cHBvcnQKClRvcnN0ZW4gRHV3ZSAoMyk6CiAgZHJtL2JyaWRnZTogUHJl cGFyZSBBbmFsb2dpeCBhbng2MzQ1IHN1cHBvcnQKICBkdC1iaW5kaW5nczogQWRkIEFOWDYzNDUg RFAvZURQIHRyYW5zbWl0dGVyIGJpbmRpbmcKICBhcm02NDogZHRzOiBhbGx3aW5uZXI6IGE2NDog ZW5hYmxlIEFOWDYzNDUgYnJpZGdlIG9uIFRlcmVzLUkKCiAuLi4vYmluZGluZ3MvZGlzcGxheS9i cmlkZ2UvYW54NjM0NS55YW1sICAgICAgICAgICB8ICA5MiArKysKIC4uLi9ib290L2R0cy9hbGx3 aW5uZXIvc3VuNTBpLWE2NC10ZXJlcy1pLmR0cyAgICAgIHwgIDQ1ICstCiBkcml2ZXJzL2dwdS9k cm0vYnJpZGdlL0tjb25maWcgICAgICAgICAgICAgICAgICAgICB8ICAxMCAtCiBkcml2ZXJzL2dw dS9kcm0vYnJpZGdlL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmggICAgICAgICAgfCA3MTAgLS0tLS0t LS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L0tjb25maWcgICAg ICAgICAgICB8ICAyMiArCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L01ha2VmaWxl ICAgICAgICAgICB8ICAgNCArLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFs b2dpeC1hbng2MzQ1LmMgfCA3OTMgKysrKysrKysrKysrKysrKysrKysrCiAuLi4vZHJtL2JyaWRn ZS97ID0+IGFuYWxvZ2l4fS9hbmFsb2dpeC1hbng3OHh4LmMgICB8IDE0NiArLS0tCiBkcml2ZXJz L2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4LWFueDc4eHguaCB8IDI1NSArKysrKysr CiAuLi4vZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXgtaTJjLWRwdHguYyAgICB8IDE2 NSArKysrKwogLi4uL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4LWkyYy1kcHR4Lmgg ICAgfCAyNTggKysrKysrKwogLi4uL2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXgtaTJjLXR4 Y29tbW9uLmggICAgfCAyMzYgKysrKysrCiAxMyBmaWxlcyBjaGFuZ2VkLCAxODY4IGluc2VydGlv bnMoKyksIDg3MiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9u L2RldmljZXRyZWUvYmluZGluZ3MvZGlzcGxheS9icmlkZ2UvYW54NjM0NS55YW1sCiBkZWxldGUg bW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmgKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4 LWFueDYzNDUuYwogcmVuYW1lIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UveyA9PiBhbmFsb2dpeH0v YW5hbG9naXgtYW54Nzh4eC5jICg5MCUpCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeC1hbng3OHh4LmgKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4LWkyYy1kcHR4LmMKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4 LWkyYy1kcHR4LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fu YWxvZ2l4L2FuYWxvZ2l4LWkyYy10eGNvbW1vbi5oCgotLSAKMi4xNi40CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=