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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id D2284C07E9D for ; Sat, 24 Sep 2022 17:11:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=1d+iFzvUKt07Pdn1iAnbCbmDIl/DUfGtAPeKhiskVIE=; b=hj5ryONVOs9kbz 6TOSwozYg8TCvJ+1RFTlSDObhpojyMobvGJbI4SzpmNSyBQX3zzh4BFkUMEaLzVpf+rQG8fwd+W+X hCk/GfRW0a2Lh3I4eLqYaiq+LAYDmw71+pAGnjwGLW5eyN+iqDjcnMVc1idXSCFANIYuFyp3KbliI eLPBVX/6Syj1SHF8AH6zxxWat5ic4raewF0u3wpeRyNIARzOWrTlUlpKLhGK39V9tMRH+2aLqYzOe ZmB6JuZdZlaN5GMl8aIUEclXNiqrabH0zSx5d6+qJLB3PQxxcDEvTsPFgeeAlhUpojTX4dgVpA+Hg 1ilGAvo0XAcJEE7jcDkA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oc8f3-008Aau-K0; Sat, 24 Sep 2022 17:09:53 +0000 Received: from smtp.domeneshop.no ([2a01:5b40:0:3005::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oc8f0-008AZN-7I for linux-arm-kernel@lists.infradead.org; Sat, 24 Sep 2022 17:09:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tronnes.org ; s=ds202112; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=IOB6MwHOfyWCi+cu38KKhSosRnAkCN6sMsuwprDs24k=; b=HsQ+kT3oVj+jM7eDGZtLmCo7bT r2GeeL0FTdQD0qUUnaYJrIqKOf5iXaC3FFiRGxhhpshDUboona72Sb+jHHKbqRwO+9112LQFI1yTe TAaKsFkK9NjG/Xemna+Uc2ETM9IWfpA80xw87fAdyCll+eOrsTXJ4ufuZ1WqzwgMvVzowyYqfAC54 C9spGfpAYiEjzBgAHZXHU/Zx0a4DDn1GgPuGPqzXL9JCdbiOm0Olbft7RuR3ulNjMyjtVb6QEpoEO 6E1W1rtsjojGD1gL1moDhWHdqOval9s9rKNodQFEHmiH3xPGAp02D+L7mDC05B2U8ivepSrUPRlUD E8vGAWqQ==; Received: from [2a01:799:961:d200:8cf6:761:40ec:1ff7] (port=57871) by smtp.domeneshop.no with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oc8ev-0002GN-DM; Sat, 24 Sep 2022 19:09:45 +0200 Message-ID: <3625b8e7-9ab5-7a9e-0c06-69fd3cbd555f@tronnes.org> Date: Sat, 24 Sep 2022 19:09:37 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.13.1 Subject: Re: [PATCH v2 31/33] drm/vc4: vec: Convert to the new TV mode property To: Maxime Ripard , Jernej Skrabec , Rodrigo Vivi , Ben Skeggs , David Airlie , Maxime Ripard , Joonas Lahtinen , Emma Anholt , Karol Herbst , Samuel Holland , Jani Nikula , Thomas Zimmermann , Daniel Vetter , Lyude Paul , Maarten Lankhorst , Tvrtko Ursulin , Chen-Yu Tsai Cc: Hans de Goede , nouveau@lists.freedesktop.org, Geert Uytterhoeven , Dave Stevenson , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Phil Elwell , intel-gfx@lists.freedesktop.org, Dom Cobley , linux-sunxi@lists.linux.dev, Mateusz Kwiatkowski , dri-devel@lists.freedesktop.org, =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= References: <20220728-rpi-analog-tv-properties-v2-0-f733a0ed9f90@cerno.tech> <20220728-rpi-analog-tv-properties-v2-31-f733a0ed9f90@cerno.tech> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= In-Reply-To: <20220728-rpi-analog-tv-properties-v2-31-f733a0ed9f90@cerno.tech> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220924_100950_478826_43FF81A9 X-CRM114-Status: GOOD ( 26.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpEZW4gMjIuMDkuMjAyMiAxNi4yNSwgc2tyZXYgTWF4aW1lIFJpcGFyZDoKPiBOb3cgdGhhdCB0 aGUgY29yZSBjYW4gZGVhbCBmaW5lIHdpdGggYW5hbG9nIFRWIG1vZGVzLCBsZXQncyBjb252ZXJ0 IHRoZSB2YzQKPiBWRUMgZHJpdmVyIHRvIGxldmVyYWdlIHRob3NlIG5ldyBmZWF0dXJlcy4KPiAK PiBXZSd2ZSBhZGRlZCBzb21lIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgdG8gc3VwcG9ydCB0aGUg b2xkIFRWIG1vZGUgcHJvcGVydHkKPiBhbmQgdHJhbnNsYXRlIGl0IGludG8gdGhlIG5ldyBUViBu b3JtIHByb3BlcnR5Lgo+IAoKWW91IGNhbiBtZW50aW9uIGhlcmUgdGhhdCBhdG9taWNfY2hlY2sg aXMgYWRkZWQgaW4gb3JkZXIgdG8gdHJpZ2dlciBhCm1vZGVzZXQgc2hvdWxkIHR2Lm1vZGUgY2hh bmdlLgoKPiBTaWduZWQtb2ZmLWJ5OiBNYXhpbWUgUmlwYXJkIDxtYXhpbWVAY2Vybm8udGVjaD4K PiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdmVjLmMgYi9kcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF92ZWMuYwo+IGluZGV4IDY4MjhiNzlhMTAwMS4uYTk0NjMzNjQwMTVi IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3ZlYy5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3ZjNC92YzRfdmVjLmMKPiBAQCAtMTcyLDYgKzE3Miw4IEBAIHN0cnVjdCB2 YzRfdmVjIHsKPiAgCj4gIAlzdHJ1Y3QgY2xrICpjbG9jazsKPiAgCj4gKwlzdHJ1Y3QgZHJtX3By b3BlcnR5ICpsZWdhY3lfdHZfbW9kZV9wcm9wZXJ0eTsKPiArCj4gIAlzdHJ1Y3QgZGVidWdmc19y ZWdzZXQzMiByZWdzZXQ7Cj4gIH07Cj4gIAo+IEBAIC0xODQsNiArMTg2LDEyIEBAIGVuY29kZXJf dG9fdmM0X3ZlYyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gIAlyZXR1cm4gY29udGFp bmVyX29mKGVuY29kZXIsIHN0cnVjdCB2YzRfdmVjLCBlbmNvZGVyLmJhc2UpOwo+ICB9Cj4gIAo+ ICtzdGF0aWMgaW5saW5lIHN0cnVjdCB2YzRfdmVjICoKPiArY29ubmVjdG9yX3RvX3ZjNF92ZWMo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiArewo+ICsJcmV0dXJuIGNvbnRhaW5l cl9vZihjb25uZWN0b3IsIHN0cnVjdCB2YzRfdmVjLCBjb25uZWN0b3IpOwo+ICt9Cj4gKwo+ICBl bnVtIHZjNF92ZWNfdHZfbW9kZV9pZCB7Cj4gIAlWQzRfVkVDX1RWX01PREVfTlRTQywKPiAgCVZD NF9WRUNfVFZfTU9ERV9OVFNDX0osCj4gQEAgLTE5Miw3ICsyMDAsNyBAQCBlbnVtIHZjNF92ZWNf dHZfbW9kZV9pZCB7Cj4gIH07Cj4gIAo+ICBzdHJ1Y3QgdmM0X3ZlY190dl9tb2RlIHsKPiAtCWNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+ICsJdW5zaWduZWQgaW50IG1vZGU7 Cj4gIAl1MzIgY29uZmlnMDsKPiAgCXUzMiBjb25maWcxOwo+ICAJdTMyIGN1c3RvbV9mcmVxOwo+ IEBAIC0yMjUsNDMgKzIzMyw1MSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRlYnVnZnNfcmVnMzIg dmVjX3JlZ3NbXSA9IHsKPiAgCVZDNF9SRUczMihWRUNfREFDX01JU0MpLAo+ICB9Owo+ICAKPiAt c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIG50c2NfbW9kZSA9IHsKPiAtCURS TV9NT0RFKCI3MjB4NDgwIiwgRFJNX01PREVfVFlQRV9EUklWRVIsIDEzNTAwLAo+IC0JCSA3MjAs IDcyMCArIDE0LCA3MjAgKyAxNCArIDY0LCA3MjAgKyAxNCArIDY0ICsgNjAsIDAsCj4gLQkJIDQ4 MCwgNDgwICsgNywgNDgwICsgNyArIDYsIDUyNSwgMCwKPiAtCQkgRFJNX01PREVfRkxBR19JTlRF UkxBQ0UpCj4gLX07Cj4gLQo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg cGFsX21vZGUgPSB7Cj4gLQlEUk1fTU9ERSgiNzIweDU3NiIsIERSTV9NT0RFX1RZUEVfRFJJVkVS LCAxMzUwMCwKPiAtCQkgNzIwLCA3MjAgKyAyMCwgNzIwICsgMjAgKyA2NCwgNzIwICsgMjAgKyA2 NCArIDYwLCAwLAo+IC0JCSA1NzYsIDU3NiArIDQsIDU3NiArIDQgKyA2LCA2MjUsIDAsCj4gLQkJ IERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKQo+IC19Owo+IC0KPiAgc3RhdGljIGNvbnN0IHN0cnVj dCB2YzRfdmVjX3R2X21vZGUgdmM0X3ZlY190dl9tb2Rlc1tdID0gewo+IC0JW1ZDNF9WRUNfVFZf TU9ERV9OVFNDXSA9IHsKPiAtCQkubW9kZSA9ICZudHNjX21vZGUsCj4gKwl7Cj4gKwkJLm1vZGUg PSBEUk1fTU9ERV9UVl9NT0RFX05UU0MsCj4gIAkJLmNvbmZpZzAgPSBWRUNfQ09ORklHMF9OVFND X1NURCB8IFZFQ19DT05GSUcwX1BERU4sCj4gIAkJLmNvbmZpZzEgPSBWRUNfQ09ORklHMV9DX0NW QlNfQ1ZCUywKPiAgCX0sCj4gLQlbVkM0X1ZFQ19UVl9NT0RFX05UU0NfSl0gPSB7Cj4gLQkJLm1v ZGUgPSAmbnRzY19tb2RlLAo+ICsJewo+ICsJCS5tb2RlID0gRFJNX01PREVfVFZfTU9ERV9OVFND X0osCj4gIAkJLmNvbmZpZzAgPSBWRUNfQ09ORklHMF9OVFNDX1NURCwKPiAgCQkuY29uZmlnMSA9 IFZFQ19DT05GSUcxX0NfQ1ZCU19DVkJTLAo+ICAJfSwKPiAtCVtWQzRfVkVDX1RWX01PREVfUEFM XSA9IHsKPiAtCQkubW9kZSA9ICZwYWxfbW9kZSwKPiArCXsKPiArCQkubW9kZSA9IERSTV9NT0RF X1RWX01PREVfUEFMLAo+ICAJCS5jb25maWcwID0gVkVDX0NPTkZJRzBfUEFMX0JER0hJX1NURCwK PiAgCQkuY29uZmlnMSA9IFZFQ19DT05GSUcxX0NfQ1ZCU19DVkJTLAo+ICAJfSwKPiAtCVtWQzRf VkVDX1RWX01PREVfUEFMX01dID0gewo+IC0JCS5tb2RlID0gJm50c2NfbW9kZSwKPiArCXsKPiAr CQkubW9kZSA9IERSTV9NT0RFX1RWX01PREVfUEFMX00sCj4gIAkJLmNvbmZpZzAgPSBWRUNfQ09O RklHMF9QQUxfTV9TVEQsCj4gIAkJLmNvbmZpZzEgPSBWRUNfQ09ORklHMV9DX0NWQlNfQ1ZCUywK PiAgCX0sCj4gIH07Cj4gIAo+ICtzdGF0aWMgaW5saW5lIGNvbnN0IHN0cnVjdCB2YzRfdmVjX3R2 X21vZGUgKgo+ICt2YzRfdmVjX3R2X21vZGVfbG9va3VwKHVuc2lnbmVkIGludCBtb2RlKQo+ICt7 Cj4gKwl1bnNpZ25lZCBpbnQgaTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh2 YzRfdmVjX3R2X21vZGVzKTsgaSsrKSB7Cj4gKwkJY29uc3Qgc3RydWN0IHZjNF92ZWNfdHZfbW9k ZSAqdHZfbW9kZSA9ICZ2YzRfdmVjX3R2X21vZGVzW2ldOwo+ICsKPiArCQlpZiAodHZfbW9kZS0+ bW9kZSA9PSBtb2RlKQo+ICsJCQlyZXR1cm4gdHZfbW9kZTsKPiArCX0KPiArCj4gKwlyZXR1cm4g TlVMTDsKPiArfQo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJvcF9lbnVtX2xpc3Qg dHZfbW9kZV9uYW1lc1tdID0gewo+ICsJeyBWQzRfVkVDX1RWX01PREVfTlRTQywgIk5UU0MiLCB9 LAo+ICsJeyBWQzRfVkVDX1RWX01PREVfTlRTQ19KLCAiTlRTQy1KIiwgfSwKPiArCXsgVkM0X1ZF Q19UVl9NT0RFX1BBTCwgIlBBTCIsIH0sCj4gKwl7IFZDNF9WRUNfVFZfTU9ERV9QQUxfTSwgIlBB TC1NIiwgfSwKPiArfTsKPiArCj4gIHN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzCj4g IHZjNF92ZWNfY29ubmVjdG9yX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LCBib29sIGZvcmNlKQo+ICB7Cj4gQEAgLTI3NiwxOSArMjkyLDk5IEBAIHN0YXRpYyB2b2lkIHZj NF92ZWNfY29ubmVjdG9yX3Jlc2V0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4g IAo+ICBzdGF0aWMgaW50IHZjNF92ZWNfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq c3RhdGUgPSBjb25uZWN0b3ItPnN0YXRlOwo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGU7Cj4gKwlpbnQgY291bnQgPSAwOwo+ICAKPiAtCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUo Y29ubmVjdG9yLT5kZXYsCj4gLQkJCQkgIHZjNF92ZWNfdHZfbW9kZXNbc3RhdGUtPnR2LmxlZ2Fj eV9tb2RlXS5tb2RlKTsKPiArCW1vZGUgPSBkcm1fbW9kZV9hbmFsb2dfbnRzY180ODBpKGNvbm5l Y3Rvci0+ZGV2KTsKPiAgCWlmICghbW9kZSkgewo+ICAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGNy ZWF0ZSBhIG5ldyBkaXNwbGF5IG1vZGVcbiIpOwo+ICAJCXJldHVybiAtRU5PTUVNOwo+ICAJfQo+ ICAKPiArCW1vZGUtPnR5cGUgfD0gRFJNX01PREVfVFlQRV9QUkVGRVJSRUQ7Cj4gIAlkcm1fbW9k ZV9wcm9iZWRfYWRkKGNvbm5lY3RvciwgbW9kZSk7Cj4gKwljb3VudCArPSAxOwo+ICAKPiAtCXJl dHVybiAxOwo+ICsJbW9kZSA9IGRybV9tb2RlX2FuYWxvZ19wYWxfNTc2aShjb25uZWN0b3ItPmRl dik7Cj4gKwlpZiAoIW1vZGUpIHsKPiArCQlEUk1fRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgYSBu ZXcgZGlzcGxheSBtb2RlXG4iKTsKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCX0KPiArCj4gKwlk cm1fbW9kZV9wcm9iZWRfYWRkKGNvbm5lY3RvciwgbW9kZSk7Cj4gKwljb3VudCArPSAxOwo+ICsK PiArCXJldHVybiBjb3VudDsKCldoeSBub3QganVzdCByZXR1cm4gMiBoZXJlIHNpbmNlIHRoYXQn cyB0aGUgb25seSB2YWx1ZSBjb3VudCBjYW4gYmUuCgpBY2tlZC1ieTogTm9yYWxmIFRyw7hubmVz IDxub3JhbGZAdHJvbm5lcy5vcmc+Cgo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK3ZjNF92ZWNf Y29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ ICsJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0YXRlLAo+ICsJCQkgICAg ICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4gKwkJCSAgICAgICB1aW50NjRfdCB2 YWwpCj4gK3sKPiArCXN0cnVjdCB2YzRfdmVjICp2ZWMgPSBjb25uZWN0b3JfdG9fdmM0X3ZlYyhj b25uZWN0b3IpOwo+ICsKPiArCWlmIChwcm9wZXJ0eSAhPSB2ZWMtPmxlZ2FjeV90dl9tb2RlX3By b3BlcnR5KQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCXN3aXRjaCAodmFsKSB7Cj4gKwlj YXNlIFZDNF9WRUNfVFZfTU9ERV9OVFNDOgo+ICsJCXN0YXRlLT50di5tb2RlID0gRFJNX01PREVf VFZfTU9ERV9OVFNDOwo+ICsJCWJyZWFrOwo+ICsKPiArCWNhc2UgVkM0X1ZFQ19UVl9NT0RFX05U U0NfSjoKPiArCQlzdGF0ZS0+dHYubW9kZSA9IERSTV9NT0RFX1RWX01PREVfTlRTQ19KOwo+ICsJ CWJyZWFrOwo+ICsKPiArCWNhc2UgVkM0X1ZFQ19UVl9NT0RFX1BBTDoKPiArCQlzdGF0ZS0+dHYu bW9kZSA9IERSTV9NT0RFX1RWX01PREVfUEFMOwo+ICsJCWJyZWFrOwo+ICsKPiArCWNhc2UgVkM0 X1ZFQ19UVl9NT0RFX1BBTF9NOgo+ICsJCXN0YXRlLT50di5tb2RlID0gRFJNX01PREVfVFZfTU9E RV9QQUxfTTsKPiArCQlicmVhazsKPiArCj4gKwlkZWZhdWx0Ogo+ICsJCXJldHVybiAtRUlOVkFM Owo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK3ZjNF92 ZWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAo+ICsJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0YXRlLAo+ ICsJCQkgICAgICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4gKwkJCSAgICAgICB1 aW50NjRfdCAqdmFsKQo+ICt7Cj4gKwlzdHJ1Y3QgdmM0X3ZlYyAqdmVjID0gY29ubmVjdG9yX3Rv X3ZjNF92ZWMoY29ubmVjdG9yKTsKPiArCj4gKwlpZiAocHJvcGVydHkgIT0gdmVjLT5sZWdhY3lf dHZfbW9kZV9wcm9wZXJ0eSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlzd2l0Y2ggKHN0 YXRlLT50di5tb2RlKSB7Cj4gKwljYXNlIERSTV9NT0RFX1RWX01PREVfTlRTQzoKPiArCQkqdmFs ID0gVkM0X1ZFQ19UVl9NT0RFX05UU0M7Cj4gKwkJYnJlYWs7Cj4gKwo+ICsJY2FzZSBEUk1fTU9E RV9UVl9NT0RFX05UU0NfSjoKPiArCQkqdmFsID0gVkM0X1ZFQ19UVl9NT0RFX05UU0NfSjsKPiAr CQlicmVhazsKPiArCj4gKwljYXNlIERSTV9NT0RFX1RWX01PREVfUEFMOgo+ICsJCSp2YWwgPSBW QzRfVkVDX1RWX01PREVfUEFMOwo+ICsJCWJyZWFrOwo+ICsKPiArCWNhc2UgRFJNX01PREVfVFZf TU9ERV9QQUxfTToKPiArCQkqdmFsID0gVkM0X1ZFQ19UVl9NT0RFX1BBTF9NOwo+ICsJCWJyZWFr Owo+ICsKPiArCWRlZmF1bHQ6Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJcmV0 dXJuIDA7Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5j cyB2YzRfdmVjX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKPiBAQCAtMjk3LDE1ICszOTMsMTkgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIHZjNF92ZWNfY29ubmVjdG9yX2Z1 bmNzID0gewo+ICAJLnJlc2V0ID0gdmM0X3ZlY19jb25uZWN0b3JfcmVzZXQsCj4gIAkuYXRvbWlj X2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVf c3RhdGUsCj4gIAkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25u ZWN0b3JfZGVzdHJveV9zdGF0ZSwKPiArCS5hdG9taWNfZ2V0X3Byb3BlcnR5ID0gdmM0X3ZlY19j b25uZWN0b3JfZ2V0X3Byb3BlcnR5LAo+ICsJLmF0b21pY19zZXRfcHJvcGVydHkgPSB2YzRfdmVj X2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHksCj4gIH07Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNzIHZjNF92ZWNfY29ubmVjdG9yX2hlbHBlcl9mdW5j cyA9IHsKPiArCS5hdG9taWNfY2hlY2sgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfdHZf Y2hlY2ssCj4gIAkuZ2V0X21vZGVzID0gdmM0X3ZlY19jb25uZWN0b3JfZ2V0X21vZGVzLAo+ICB9 Owo+ICAKPiAgc3RhdGljIGludCB2YzRfdmVjX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCB2YzRfdmVjICp2ZWMpCj4gIHsKPiAgCXN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IgPSAmdmVjLT5jb25uZWN0b3I7Cj4gKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5 ICpwcm9wOwo+ICAJaW50IHJldDsKPiAgCj4gIAljb25uZWN0b3ItPmludGVybGFjZV9hbGxvd2Vk ID0gdHJ1ZTsKPiBAQCAtMzE4LDggKzQxOCwxNiBAQCBzdGF0aWMgaW50IHZjNF92ZWNfY29ubmVj dG9yX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IHZjNF92ZWMgKnZlYykKPiAg CWRybV9jb25uZWN0b3JfaGVscGVyX2FkZChjb25uZWN0b3IsICZ2YzRfdmVjX2Nvbm5lY3Rvcl9o ZWxwZXJfZnVuY3MpOwo+ICAKPiAgCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZjb25uZWN0 b3ItPmJhc2UsCj4gLQkJCQkgICBkZXYtPm1vZGVfY29uZmlnLmxlZ2FjeV90dl9tb2RlX3Byb3Bl cnR5LAo+IC0JCQkJICAgVkM0X1ZFQ19UVl9NT0RFX05UU0MpOwo+ICsJCQkJICAgZGV2LT5tb2Rl X2NvbmZpZy50dl9tb2RlX3Byb3BlcnR5LAo+ICsJCQkJICAgRFJNX01PREVfVFZfTU9ERV9OVFND KTsKPiArCj4gKwlwcm9wID0gZHJtX3Byb3BlcnR5X2NyZWF0ZV9lbnVtKGRldiwgMCwgIm1vZGUi LAo+ICsJCQkJCXR2X21vZGVfbmFtZXMsIEFSUkFZX1NJWkUodHZfbW9kZV9uYW1lcykpOwo+ICsJ aWYgKCFwcm9wKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsJdmVjLT5sZWdhY3lfdHZfbW9kZV9w cm9wZXJ0eSA9IHByb3A7Cj4gKwo+ICsJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNvbm5l Y3Rvci0+YmFzZSwgcHJvcCwgVkM0X1ZFQ19UVl9NT0RFX05UU0MpOwo+ICAKPiAgCWRybV9jb25u ZWN0b3JfYXR0YWNoX2VuY29kZXIoY29ubmVjdG9yLCAmdmVjLT5lbmNvZGVyLmJhc2UpOwo+ICAK PiBAQCAtMzY2LDEzICs0NzQsMTYgQEAgc3RhdGljIHZvaWQgdmM0X3ZlY19lbmNvZGVyX2VuYWJs ZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yID0gJnZlYy0+Y29ubmVjdG9yOwo+ICAJc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKmNvbm5fc3RhdGUgPQo+ICAJCWRybV9hdG9taWNfZ2V0X25ld19jb25uZWN0b3Jfc3RhdGUo c3RhdGUsIGNvbm5lY3Rvcik7Cj4gLQljb25zdCBzdHJ1Y3QgdmM0X3ZlY190dl9tb2RlICp0dl9t b2RlID0KPiAtCQkmdmM0X3ZlY190dl9tb2Rlc1tjb25uX3N0YXRlLT50di5tb2RlXTsKPiArCWNv bnN0IHN0cnVjdCB2YzRfdmVjX3R2X21vZGUgKnR2X21vZGU7Cj4gIAlpbnQgaWR4LCByZXQ7Cj4g IAo+ICAJaWYgKCFkcm1fZGV2X2VudGVyKGRybSwgJmlkeCkpCj4gIAkJcmV0dXJuOwo+ICAKPiAr CXR2X21vZGUgPSB2YzRfdmVjX3R2X21vZGVfbG9va3VwKGNvbm5fc3RhdGUtPnR2Lm1vZGUpOwo+ ICsJaWYgKCF0dl9tb2RlKQo+ICsJCWdvdG8gZXJyX2Rldl9leGl0Owo+ICsKPiAgCXJldCA9IHBt X3J1bnRpbWVfZ2V0X3N5bmMoJnZlYy0+cGRldi0+ZGV2KTsKPiAgCWlmIChyZXQgPCAwKSB7Cj4g IAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcmV0YWluIHBvd2VyIGRvbWFpbjogJWRcbiIsIHJldCk7 Cj4gQEAgLTQ1NCwxMyArNTY1LDYgQEAgc3RhdGljIGludCB2YzRfdmVjX2VuY29kZXJfYXRvbWlj X2NoZWNrKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJCQlzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiAgewo+ICAJY29uc3Qgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUgPSAmY3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKPiAtCWNvbnN0IHN0 cnVjdCB2YzRfdmVjX3R2X21vZGUgKnZlY19tb2RlOwo+IC0KPiAtCXZlY19tb2RlID0gJnZjNF92 ZWNfdHZfbW9kZXNbY29ubl9zdGF0ZS0+dHYubGVnYWN5X21vZGVdOwo+IC0KPiAtCWlmIChjb25u X3N0YXRlLT5jcnRjICYmCj4gLQkgICAgIWRybV9tb2RlX2VxdWFsKHZlY19tb2RlLT5tb2RlLCAm Y3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZSkpCj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4gIAo+ICAJ aWYgKG1vZGUtPmNydGNfaGRpc3BsYXkgJSA0KQo+ICAJCXJldHVybiAtRUlOVkFMOwo+IEBAIC01 NTQsMTMgKzY1OCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIHZjNF92ZWNf ZHRfbWF0Y2hbXSA9IHsKPiAgCXsgLyogc2VudGluZWwgKi8gfSwKPiAgfTsKPiAgCj4gLXN0YXRp YyBjb25zdCBjaGFyICogY29uc3QgdHZfbW9kZV9uYW1lc1tdID0gewo+IC0JW1ZDNF9WRUNfVFZf TU9ERV9OVFNDXSA9ICJOVFNDIiwKPiAtCVtWQzRfVkVDX1RWX01PREVfTlRTQ19KXSA9ICJOVFND LUoiLAo+IC0JW1ZDNF9WRUNfVFZfTU9ERV9QQUxdID0gIlBBTCIsCj4gLQlbVkM0X1ZFQ19UVl9N T0RFX1BBTF9NXSA9ICJQQUwtTSIsCj4gLX07Cj4gLQo+ICBzdGF0aWMgaW50IHZjNF92ZWNfYmlu ZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkK PiAgewo+ICAJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiA9IHRvX3BsYXRmb3JtX2Rldmlj ZShkZXYpOwo+IEBAIC01NjgsOSArNjY1LDExIEBAIHN0YXRpYyBpbnQgdmM0X3ZlY19iaW5kKHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQo+ICAJ c3RydWN0IHZjNF92ZWMgKnZlYzsKPiAgCWludCByZXQ7Cj4gIAo+IC0JcmV0ID0gZHJtX21vZGVf Y3JlYXRlX3R2X3Byb3BlcnRpZXNfbGVnYWN5KGRybSwKPiAtCQkJCQkJICAgQVJSQVlfU0laRSh0 dl9tb2RlX25hbWVzKSwKPiAtCQkJCQkJICAgdHZfbW9kZV9uYW1lcyk7Cj4gKwlyZXQgPSBkcm1f bW9kZV9jcmVhdGVfdHZfcHJvcGVydGllcyhkcm0sCj4gKwkJCQkJICAgIEJJVChEUk1fTU9ERV9U Vl9NT0RFX05UU0MpIHwKPiArCQkJCQkgICAgQklUKERSTV9NT0RFX1RWX01PREVfTlRTQ19KKSB8 Cj4gKwkJCQkJICAgIEJJVChEUk1fTU9ERV9UVl9NT0RFX1BBTCkgfAo+ICsJCQkJCSAgICBCSVQo RFJNX01PREVfVFZfTU9ERV9QQUxfTSkpOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+ ICAKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LWFybS1rZXJuZWwK