From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 7/7] drm/atomic: Reduce setplane locking Date: Tue, 19 Nov 2019 11:47:11 +0100 Message-ID: <20191119104711.GD30416@phenom.ffwll.local> References: <20191115194204.22244-1-ville.syrjala@linux.intel.com> <20191115194204.22244-8-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20191115194204.22244-8-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBOb3YgMTUsIDIwMTkgYXQgMDk6NDI6MDRQTSArMDIwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IEN1cnJlbnRseSBzZXRwbGFuZSBncmFicyBhbGwgbW9kZXNldCBsb2Nrcywgd2hp Y2ggc2VlbXMgYSBiaXQKPiBleGNlc3NpdmUuIExldCdzIHJlZHVjZSB0aGF0IHRvIGp1c3QgdGhl IGxvY2tzIHdlIHJlYWxseSBuZWVkCj4gb24gYXRvbWljIGRyaXZlcnMuIEZvciBub24tYXRvbWlj IGRyaXZlcnMgbGV0J3Mgc3RpY2sgdG8gdGhlCj4gY3VycmVudCBzY2hlbWUgZm9yIG5vdy4KPiAK PiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMgfCA1NiArKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNl cnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCj4gaW5kZXggZWYw Y2MzM2I0M2NlLi5lNDBkOGE5MzI5NGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9wbGFuZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCj4gQEAgLTY4MCwx MCArNjgwLDE0IEBAIHN0YXRpYyBpbnQgX19zZXRwbGFuZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKPiAgCQkJICAgICAgIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCwK PiAgCQkJICAgICAgIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KQo+ICB7Cj4g LQlpbnQgcmV0ID0gMDsKPiArCWludCByZXQ7Cj4gIAo+ICAJV0FSTl9PTihkcm1fZHJ2X3VzZXNf YXRvbWljX21vZGVzZXQocGxhbmUtPmRldikpOwo+ICAKPiArCXJldCA9IGRybV9tb2Rlc2V0X2xv Y2tfYWxsX2N0eChwbGFuZS0+ZGV2LCBjdHgpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0 OwoKVGhlcmUncyBwcmUtbnY1MCBub3V2ZWF1IGFuZCBzaG1vYiB3aGljaCBoYXZlIHBsYW5lcyBh bmQgYXJlbid0IGF0b21pYyAoaWYKSSBjaGVja2VkIGNvcnJlY3RseSksIHNvIHdlIGNvdWxkIHBy b2JhYmx5IGZvcmdvIHRoaXMsIGJ1dCBhbHNvIGZlZWxzCmxpa2UgdG90YWxseSBub3Qgd29ydGgg dGhlIGF1ZGl0IHRyb3VibGUuCgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBmZndsbC5jaD4KCj4gKwo+ICAJLyogTm8gZmIgbWVhbnMgc2h1dCBpdCBkb3duICovCj4g IAlpZiAoIWZiKSB7Cj4gIAkJcGxhbmUtPm9sZF9mYiA9IHBsYW5lLT5mYjsKPiBAQCAtNzY3LDMy ICs3NzEsMjQgQEAgc3RhdGljIGludCBzZXRwbGFuZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKPiAgCQkJICAgICB1aW50MzJfdCBjcnRjX3csIHVpbnQzMl90IGNydGNfaCwKPiAg CQkJICAgICAvKiBzcmNfe3gseSx3LGh9IHZhbHVlcyBhcmUgMTYuMTYgZml4ZWQgcG9pbnQgKi8K PiAgCQkJICAgICB1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qgc3JjX3ksCj4gLQkJCSAgICAgdWlu dDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQo+ICsJCQkgICAgIHVpbnQzMl90IHNyY193LCB1 aW50MzJfdCBzcmNfaCwKPiArCQkJICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHgg KmN0eCkKPiAgewo+IC0Jc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4IGN0eDsKPiAtCWlu dCByZXQ7Cj4gLQo+IC0JRFJNX01PREVTRVRfTE9DS19BTExfQkVHSU4ocGxhbmUtPmRldiwgY3R4 LAo+IC0JCQkJICAgRFJNX01PREVTRVRfQUNRVUlSRV9JTlRFUlJVUFRJQkxFLCByZXQpOwo+IC0K PiAgCWlmIChkcm1fZHJ2X3VzZXNfYXRvbWljX21vZGVzZXQocGxhbmUtPmRldikpCj4gLQkJcmV0 ID0gX19zZXRwbGFuZV9hdG9taWMocGxhbmUsIGNydGMsIGZiLAo+IC0JCQkJCWNydGNfeCwgY3J0 Y195LCBjcnRjX3csIGNydGNfaCwKPiAtCQkJCQlzcmNfeCwgc3JjX3ksIHNyY193LCBzcmNfaCwg JmN0eCk7Cj4gKwkJcmV0dXJuIF9fc2V0cGxhbmVfYXRvbWljKHBsYW5lLCBjcnRjLCBmYiwKPiAr CQkJCQkgY3J0Y194LCBjcnRjX3ksIGNydGNfdywgY3J0Y19oLAo+ICsJCQkJCSBzcmNfeCwgc3Jj X3ksIHNyY193LCBzcmNfaCwgY3R4KTsKPiAgCWVsc2UKPiAtCQlyZXQgPSBfX3NldHBsYW5lX2lu dGVybmFsKHBsYW5lLCBjcnRjLCBmYiwKPiAtCQkJCQkgIGNydGNfeCwgY3J0Y195LCBjcnRjX3cs IGNydGNfaCwKPiAtCQkJCQkgIHNyY194LCBzcmNfeSwgc3JjX3csIHNyY19oLCAmY3R4KTsKPiAt Cj4gLQlEUk1fTU9ERVNFVF9MT0NLX0FMTF9FTkQoY3R4LCByZXQpOwo+IC0KPiAtCXJldHVybiBy ZXQ7Cj4gKwkJcmV0dXJuIF9fc2V0cGxhbmVfaW50ZXJuYWwocGxhbmUsIGNydGMsIGZiLAo+ICsJ CQkJCSAgIGNydGNfeCwgY3J0Y195LCBjcnRjX3csIGNydGNfaCwKPiArCQkJCQkgICBzcmNfeCwg c3JjX3ksIHNyY193LCBzcmNfaCwgY3R4KTsKPiAgfQo+ICAKPiAgaW50IGRybV9tb2RlX3NldHBs YW5lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAkJICAgICAgc3RydWN0 IGRybV9maWxlICpmaWxlX3ByaXYpCj4gIHsKPiAgCXN0cnVjdCBkcm1fbW9kZV9zZXRfcGxhbmUg KnBsYW5lX3JlcSA9IGRhdGE7Cj4gKwlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggY3R4 Owo+ICAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMg PSBOVUxMOwo+ICAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBOVUxMOwo+IEBAIC04Mjks MTEgKzgyNSwyMiBAQCBpbnQgZHJtX21vZGVfc2V0cGxhbmUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKPiAgCQl9Cj4gIAl9Cj4gIAo+ICsJZHJtX21vZGVzZXRfYWNxdWlyZV9p bml0KCZjdHgsIERSTV9NT0RFU0VUX0FDUVVJUkVfSU5URVJSVVBUSUJMRSk7Cj4gKwo+ICtyZXRy eToKPiAgCXJldCA9IHNldHBsYW5lX2ludGVybmFsKHBsYW5lLCBjcnRjLCBmYiwKPiAgCQkJCXBs YW5lX3JlcS0+Y3J0Y194LCBwbGFuZV9yZXEtPmNydGNfeSwKPiAgCQkJCXBsYW5lX3JlcS0+Y3J0 Y193LCBwbGFuZV9yZXEtPmNydGNfaCwKPiAgCQkJCXBsYW5lX3JlcS0+c3JjX3gsIHBsYW5lX3Jl cS0+c3JjX3ksCj4gLQkJCQlwbGFuZV9yZXEtPnNyY193LCBwbGFuZV9yZXEtPnNyY19oKTsKPiAr CQkJCXBsYW5lX3JlcS0+c3JjX3csIHBsYW5lX3JlcS0+c3JjX2gsICZjdHgpOwo+ICsJaWYgKHJl dCA9PSAtRURFQURMSykgewo+ICsJCXJldCA9IGRybV9tb2Rlc2V0X2JhY2tvZmYoJmN0eCk7Cj4g KwkJaWYgKCFyZXQpCj4gKwkJCWdvdG8gcmV0cnk7Cj4gKwl9Cj4gKwo+ICsJZHJtX21vZGVzZXRf ZHJvcF9sb2NrcygmY3R4KTsKPiArCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKPiAg Cj4gIAlpZiAoZmIpCj4gIAkJZHJtX2ZyYW1lYnVmZmVyX3B1dChmYik7Cj4gQEAgLTkwNywxNCAr OTE0LDkgQEAgc3RhdGljIGludCBkcm1fbW9kZV9jdXJzb3JfdW5pdmVyc2FsKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiAgCQlzcmNfaCA9IGZiLT5oZWlnaHQgPDwgMTY7Cj4gIAl9Cj4gIAo+IC0J aWYgKGRybV9kcnZfdXNlc19hdG9taWNfbW9kZXNldChkZXYpKQo+IC0JCXJldCA9IF9fc2V0cGxh bmVfYXRvbWljKHBsYW5lLCBjcnRjLCBmYiwKPiAtCQkJCQljcnRjX3gsIGNydGNfeSwgY3J0Y193 LCBjcnRjX2gsCj4gLQkJCQkJMCwgMCwgc3JjX3csIHNyY19oLCBjdHgpOwo+IC0JZWxzZQo+IC0J CXJldCA9IF9fc2V0cGxhbmVfaW50ZXJuYWwocGxhbmUsIGNydGMsIGZiLAo+IC0JCQkJCSAgY3J0 Y194LCBjcnRjX3ksIGNydGNfdywgY3J0Y19oLAo+IC0JCQkJCSAgMCwgMCwgc3JjX3csIHNyY19o LCBjdHgpOwo+ICsJcmV0ID0gc2V0cGxhbmVfaW50ZXJuYWwocGxhbmUsIGNydGMsIGZiLAo+ICsJ CQkJY3J0Y194LCBjcnRjX3ksIGNydGNfdywgY3J0Y19oLAo+ICsJCQkJMCwgMCwgc3JjX3csIHNy Y19oLCBjdHgpOwo+ICAKPiAgCWlmIChmYikKPiAgCQlkcm1fZnJhbWVidWZmZXJfcHV0KGZiKTsK PiAtLSAKPiAyLjIzLjAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRl bCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng= 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=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 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 A4C81C432C0 for ; Tue, 19 Nov 2019 10:47:17 +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 81C1922304 for ; Tue, 19 Nov 2019 10:47:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 81C1922304 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch 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 C65AB6E8FC; Tue, 19 Nov 2019 10:47:16 +0000 (UTC) Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5B3F86E92E for ; Tue, 19 Nov 2019 10:47:15 +0000 (UTC) Received: by mail-wm1-x344.google.com with SMTP id 8so2983859wmo.0 for ; Tue, 19 Nov 2019 02:47:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=UdtCM9x587ZGna/p0fipTWO20DtyNWYvD6lBLGEo12s=; b=CVBzA1/t5qoJh1t/fQOyRPAYsUq66zbQ1F/P2yzOt8mlG3TFVuIYoOnl5i5R1RKudv JGe2BWlrO/IZSS08i/5acaLVngPtqHUeINPisJ1Yf6iIloqzpzikKm7FMt1JjvA2vWMp J8E9IvEbhNRIQAR90ANgXFDFxdfB3XGna3diUwb/9oLLOgQWOAzc3lHKbh38o0mBOQJ9 2DyRVvGUrlh/ssdsynVLBOmqOpR4IGY9KNVSB9VC0zIsxrJTd8qLv4H2MW3zk70b2yyj JNuR6YxyUHX90qN0gy8S6/veF97rUAsGccz/2uxXejHhemvPRB/+bJHewWpUqra4z3RB mJ1w== X-Gm-Message-State: APjAAAWQ1IEwhupUgvP5NBKbXPjf1+GrNKlDjdtahaNOT2mSGx0yy+gM decHx97bS7nfmfGcTpZgbhjPtA== X-Google-Smtp-Source: APXvYqzzwhVjyhQwSJSRqbMLduI1nsELBzK/E57Nj8worXPSKCpHblOtx4ULFNfRLJ/LX5s5dWbA/w== X-Received: by 2002:a1c:9d4a:: with SMTP id g71mr4992913wme.66.1574160433870; Tue, 19 Nov 2019 02:47:13 -0800 (PST) Received: from phenom.ffwll.local (212-51-149-96.fiber7.init7.net. [212.51.149.96]) by smtp.gmail.com with ESMTPSA id j63sm2663475wmj.46.2019.11.19.02.47.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Nov 2019 02:47:13 -0800 (PST) Date: Tue, 19 Nov 2019 11:47:11 +0100 From: Daniel Vetter To: Ville Syrjala Subject: Re: [PATCH 7/7] drm/atomic: Reduce setplane locking Message-ID: <20191119104711.GD30416@phenom.ffwll.local> References: <20191115194204.22244-1-ville.syrjala@linux.intel.com> <20191115194204.22244-8-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191115194204.22244-8-ville.syrjala@linux.intel.com> X-Operating-System: Linux phenom 5.2.0-3-amd64 User-Agent: Mutt/1.12.2 (2019-09-21) X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=UdtCM9x587ZGna/p0fipTWO20DtyNWYvD6lBLGEo12s=; b=jds0Qfr5/4Wad337bmHsjDnRZq1OAtKV/aj27DwRagw7/cxnJAbcRXvEvAISz/jqCR PDFuGGssMLDx1t2nLN0AS03qeiY9HhThYyEM/GXqTnvv1T2e+98WpYiVsDx+BhMMXwaX iM0mX700YSRGSjvdgNMpbFUDt7uXW1zu9fFjI= 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: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191119104711.CkjDxnRqVsHH4Kee5S8iDXxorv2XYGg8G4lNssGqp0g@z> T24gRnJpLCBOb3YgMTUsIDIwMTkgYXQgMDk6NDI6MDRQTSArMDIwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IEN1cnJlbnRseSBzZXRwbGFuZSBncmFicyBhbGwgbW9kZXNldCBsb2Nrcywgd2hp Y2ggc2VlbXMgYSBiaXQKPiBleGNlc3NpdmUuIExldCdzIHJlZHVjZSB0aGF0IHRvIGp1c3QgdGhl IGxvY2tzIHdlIHJlYWxseSBuZWVkCj4gb24gYXRvbWljIGRyaXZlcnMuIEZvciBub24tYXRvbWlj IGRyaXZlcnMgbGV0J3Mgc3RpY2sgdG8gdGhlCj4gY3VycmVudCBzY2hlbWUgZm9yIG5vdy4KPiAK PiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMgfCA1NiArKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNl cnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCj4gaW5kZXggZWYw Y2MzM2I0M2NlLi5lNDBkOGE5MzI5NGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9wbGFuZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZS5jCj4gQEAgLTY4MCwx MCArNjgwLDE0IEBAIHN0YXRpYyBpbnQgX19zZXRwbGFuZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKPiAgCQkJICAgICAgIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCwK PiAgCQkJICAgICAgIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KQo+ICB7Cj4g LQlpbnQgcmV0ID0gMDsKPiArCWludCByZXQ7Cj4gIAo+ICAJV0FSTl9PTihkcm1fZHJ2X3VzZXNf YXRvbWljX21vZGVzZXQocGxhbmUtPmRldikpOwo+ICAKPiArCXJldCA9IGRybV9tb2Rlc2V0X2xv Y2tfYWxsX2N0eChwbGFuZS0+ZGV2LCBjdHgpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0 OwoKVGhlcmUncyBwcmUtbnY1MCBub3V2ZWF1IGFuZCBzaG1vYiB3aGljaCBoYXZlIHBsYW5lcyBh bmQgYXJlbid0IGF0b21pYyAoaWYKSSBjaGVja2VkIGNvcnJlY3RseSksIHNvIHdlIGNvdWxkIHBy b2JhYmx5IGZvcmdvIHRoaXMsIGJ1dCBhbHNvIGZlZWxzCmxpa2UgdG90YWxseSBub3Qgd29ydGgg dGhlIGF1ZGl0IHRyb3VibGUuCgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBmZndsbC5jaD4KCj4gKwo+ICAJLyogTm8gZmIgbWVhbnMgc2h1dCBpdCBkb3duICovCj4g IAlpZiAoIWZiKSB7Cj4gIAkJcGxhbmUtPm9sZF9mYiA9IHBsYW5lLT5mYjsKPiBAQCAtNzY3LDMy ICs3NzEsMjQgQEAgc3RhdGljIGludCBzZXRwbGFuZV9pbnRlcm5hbChzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKPiAgCQkJICAgICB1aW50MzJfdCBjcnRjX3csIHVpbnQzMl90IGNydGNfaCwKPiAg CQkJICAgICAvKiBzcmNfe3gseSx3LGh9IHZhbHVlcyBhcmUgMTYuMTYgZml4ZWQgcG9pbnQgKi8K PiAgCQkJICAgICB1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qgc3JjX3ksCj4gLQkJCSAgICAgdWlu dDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQo+ICsJCQkgICAgIHVpbnQzMl90IHNyY193LCB1 aW50MzJfdCBzcmNfaCwKPiArCQkJICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHgg KmN0eCkKPiAgewo+IC0Jc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4IGN0eDsKPiAtCWlu dCByZXQ7Cj4gLQo+IC0JRFJNX01PREVTRVRfTE9DS19BTExfQkVHSU4ocGxhbmUtPmRldiwgY3R4 LAo+IC0JCQkJICAgRFJNX01PREVTRVRfQUNRVUlSRV9JTlRFUlJVUFRJQkxFLCByZXQpOwo+IC0K PiAgCWlmIChkcm1fZHJ2X3VzZXNfYXRvbWljX21vZGVzZXQocGxhbmUtPmRldikpCj4gLQkJcmV0 ID0gX19zZXRwbGFuZV9hdG9taWMocGxhbmUsIGNydGMsIGZiLAo+IC0JCQkJCWNydGNfeCwgY3J0 Y195LCBjcnRjX3csIGNydGNfaCwKPiAtCQkJCQlzcmNfeCwgc3JjX3ksIHNyY193LCBzcmNfaCwg JmN0eCk7Cj4gKwkJcmV0dXJuIF9fc2V0cGxhbmVfYXRvbWljKHBsYW5lLCBjcnRjLCBmYiwKPiAr CQkJCQkgY3J0Y194LCBjcnRjX3ksIGNydGNfdywgY3J0Y19oLAo+ICsJCQkJCSBzcmNfeCwgc3Jj X3ksIHNyY193LCBzcmNfaCwgY3R4KTsKPiAgCWVsc2UKPiAtCQlyZXQgPSBfX3NldHBsYW5lX2lu dGVybmFsKHBsYW5lLCBjcnRjLCBmYiwKPiAtCQkJCQkgIGNydGNfeCwgY3J0Y195LCBjcnRjX3cs IGNydGNfaCwKPiAtCQkJCQkgIHNyY194LCBzcmNfeSwgc3JjX3csIHNyY19oLCAmY3R4KTsKPiAt Cj4gLQlEUk1fTU9ERVNFVF9MT0NLX0FMTF9FTkQoY3R4LCByZXQpOwo+IC0KPiAtCXJldHVybiBy ZXQ7Cj4gKwkJcmV0dXJuIF9fc2V0cGxhbmVfaW50ZXJuYWwocGxhbmUsIGNydGMsIGZiLAo+ICsJ CQkJCSAgIGNydGNfeCwgY3J0Y195LCBjcnRjX3csIGNydGNfaCwKPiArCQkJCQkgICBzcmNfeCwg c3JjX3ksIHNyY193LCBzcmNfaCwgY3R4KTsKPiAgfQo+ICAKPiAgaW50IGRybV9tb2RlX3NldHBs YW5lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAkJICAgICAgc3RydWN0 IGRybV9maWxlICpmaWxlX3ByaXYpCj4gIHsKPiAgCXN0cnVjdCBkcm1fbW9kZV9zZXRfcGxhbmUg KnBsYW5lX3JlcSA9IGRhdGE7Cj4gKwlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggY3R4 Owo+ICAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMg PSBOVUxMOwo+ICAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBOVUxMOwo+IEBAIC04Mjks MTEgKzgyNSwyMiBAQCBpbnQgZHJtX21vZGVfc2V0cGxhbmUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKPiAgCQl9Cj4gIAl9Cj4gIAo+ICsJZHJtX21vZGVzZXRfYWNxdWlyZV9p bml0KCZjdHgsIERSTV9NT0RFU0VUX0FDUVVJUkVfSU5URVJSVVBUSUJMRSk7Cj4gKwo+ICtyZXRy eToKPiAgCXJldCA9IHNldHBsYW5lX2ludGVybmFsKHBsYW5lLCBjcnRjLCBmYiwKPiAgCQkJCXBs YW5lX3JlcS0+Y3J0Y194LCBwbGFuZV9yZXEtPmNydGNfeSwKPiAgCQkJCXBsYW5lX3JlcS0+Y3J0 Y193LCBwbGFuZV9yZXEtPmNydGNfaCwKPiAgCQkJCXBsYW5lX3JlcS0+c3JjX3gsIHBsYW5lX3Jl cS0+c3JjX3ksCj4gLQkJCQlwbGFuZV9yZXEtPnNyY193LCBwbGFuZV9yZXEtPnNyY19oKTsKPiAr CQkJCXBsYW5lX3JlcS0+c3JjX3csIHBsYW5lX3JlcS0+c3JjX2gsICZjdHgpOwo+ICsJaWYgKHJl dCA9PSAtRURFQURMSykgewo+ICsJCXJldCA9IGRybV9tb2Rlc2V0X2JhY2tvZmYoJmN0eCk7Cj4g KwkJaWYgKCFyZXQpCj4gKwkJCWdvdG8gcmV0cnk7Cj4gKwl9Cj4gKwo+ICsJZHJtX21vZGVzZXRf ZHJvcF9sb2NrcygmY3R4KTsKPiArCWRybV9tb2Rlc2V0X2FjcXVpcmVfZmluaSgmY3R4KTsKPiAg Cj4gIAlpZiAoZmIpCj4gIAkJZHJtX2ZyYW1lYnVmZmVyX3B1dChmYik7Cj4gQEAgLTkwNywxNCAr OTE0LDkgQEAgc3RhdGljIGludCBkcm1fbW9kZV9jdXJzb3JfdW5pdmVyc2FsKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiAgCQlzcmNfaCA9IGZiLT5oZWlnaHQgPDwgMTY7Cj4gIAl9Cj4gIAo+IC0J aWYgKGRybV9kcnZfdXNlc19hdG9taWNfbW9kZXNldChkZXYpKQo+IC0JCXJldCA9IF9fc2V0cGxh bmVfYXRvbWljKHBsYW5lLCBjcnRjLCBmYiwKPiAtCQkJCQljcnRjX3gsIGNydGNfeSwgY3J0Y193 LCBjcnRjX2gsCj4gLQkJCQkJMCwgMCwgc3JjX3csIHNyY19oLCBjdHgpOwo+IC0JZWxzZQo+IC0J CXJldCA9IF9fc2V0cGxhbmVfaW50ZXJuYWwocGxhbmUsIGNydGMsIGZiLAo+IC0JCQkJCSAgY3J0 Y194LCBjcnRjX3ksIGNydGNfdywgY3J0Y19oLAo+IC0JCQkJCSAgMCwgMCwgc3JjX3csIHNyY19o LCBjdHgpOwo+ICsJcmV0ID0gc2V0cGxhbmVfaW50ZXJuYWwocGxhbmUsIGNydGMsIGZiLAo+ICsJ CQkJY3J0Y194LCBjcnRjX3ksIGNydGNfdywgY3J0Y19oLAo+ICsJCQkJMCwgMCwgc3JjX3csIHNy Y19oLCBjdHgpOwo+ICAKPiAgCWlmIChmYikKPiAgCQlkcm1fZnJhbWVidWZmZXJfcHV0KGZiKTsK PiAtLSAKPiAyLjIzLjAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRl bCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWw=