From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 12/15] drm/i915: Split DP/eDP/FDI and HDMI/DVI DDI buffer programming apart Date: Thu, 10 Dec 2015 14:52:29 +0100 Message-ID: <20151210135229.GJ20822@phenom.ffwll.local> References: <1449597590-6971-1-git-send-email-ville.syrjala@linux.intel.com> <1449597590-6971-13-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8FFFD6E9F6 for ; Thu, 10 Dec 2015 05:52:33 -0800 (PST) Received: by wmec201 with SMTP id c201so25733431wme.1 for ; Thu, 10 Dec 2015 05:52:32 -0800 (PST) Content-Disposition: inline In-Reply-To: <1449597590-6971-13-git-send-email-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@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBEZWMgMDgsIDIwMTUgYXQgMDc6NTk6NDdQTSArMDIwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBEREkgYnVmZmVyIHByb3JncmFtbWluZyB3b3JrcyBx dWl0ZSBkaWZmZXJlbnRseSBkZXBlbmRpbmcgb24KPiB0aGUgbW9kZSBvZiB0aGUgRERJIHBvcnQg KERQL2VEUC9GREkgdnMuIEhETUkvRFZJKS4gTGV0J3Mgc3BsaXQKPiB0aGUgZnVuY3Rpb24gdGhh dCBkb2VzIHRoZSBwcm9ncmFtbWluZyBpbnRvIHR3byBtYXRjaGluZyB2YXJpYW50cwo+IGFzIHdl bGwuCj4gCj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMg ICAgfCA5NCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIHwgIDQgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggICAgfCAgMiArLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlv bnMoKyksIDQwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gaW5k ZXggZjgxMjYwNzA0NWQ2Li5jNDdmNDVjMGY0YTIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYwo+IEBAIC0zOTcsMzcgKzM5NywyMiBAQCBza2xfZ2V0X2J1Zl90cmFuc19oZG1pKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50ICpuX2VudHJpZXMpCj4gIAo+ICAvKgo+ ICAgKiBTdGFydGluZyB3aXRoIEhhc3dlbGwsIERESSBwb3J0IGJ1ZmZlcnMgbXVzdCBiZSBwcm9n cmFtbWVkIHdpdGggY29ycmVjdAo+IC0gKiB2YWx1ZXMgaW4gYWR2YW5jZS4gVGhlIGJ1ZmZlciB2 YWx1ZXMgYXJlIGRpZmZlcmVudCBmb3IgRkRJIGFuZCBEUCBtb2RlcywKPiAtICogYnV0IHRoZSBI RE1JL0RWSSBmaWVsZHMgYXJlIHNoYXJlZCBhbW9uZyB0aG9zZS4gU28gd2UgcHJvZ3JhbSB0aGUg RERJCj4gLSAqIGluIGVpdGhlciBGREkgb3IgRFAgbW9kZXMgb25seSwgYXMgSERNSSBjb25uZWN0 aW9ucyB3aWxsIHdvcmsgd2l0aCBib3RoCj4gLSAqIG9mIHRob3NlCj4gKyAqIHZhbHVlcyBpbiBh ZHZhbmNlLiBUaGlzIGZ1bmN0aW9uIHByb2dyYW1zIHRoZSBjb3JyZWN0IHZhbHVlcyBmb3IKPiAr ICogRFAvZURQL0ZESSB1c2UgY2FzZXMuCj4gICAqLwo+IC12b2lkIGludGVsX3ByZXBhcmVfZGRp X2J1ZmZlcnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gK3ZvaWQgaW50ZWxfcHJl cGFyZV9kcF9kZGlfYnVmZmVycyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgewo+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5i YXNlLmRldik7Cj4gIAl1MzIgaWJvb3N0X2JpdCA9IDA7Cj4gLQlpbnQgaSwgbl9oZG1pX2VudHJp ZXMsIG5fZHBfZW50cmllcywgbl9lZHBfZW50cmllcywgaGRtaV9kZWZhdWx0X2VudHJ5LAo+IC0J ICAgIHNpemU7Cj4gLQlpbnQgaGRtaV9sZXZlbDsKPiAtCWVudW0gcG9ydCBwb3J0Owo+ICsJaW50 IGksIG5fZHBfZW50cmllcywgbl9lZHBfZW50cmllcywgc2l6ZTsKPiArCWVudW0gcG9ydCBwb3J0 ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4gIAljb25zdCBzdHJ1Y3Qg ZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uc19mZGk7Cj4gIAljb25zdCBzdHJ1Y3QgZGRp X2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uc19kcDsKPiAgCWNvbnN0IHN0cnVjdCBkZGlfYnVm X3RyYW5zICpkZGlfdHJhbnNsYXRpb25zX2VkcDsKPiAtCWNvbnN0IHN0cnVjdCBkZGlfYnVmX3Ry YW5zICpkZGlfdHJhbnNsYXRpb25zX2hkbWk7Cj4gIAljb25zdCBzdHJ1Y3QgZGRpX2J1Zl90cmFu cyAqZGRpX3RyYW5zbGF0aW9uczsKPiAgCj4gLQlwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVy X3BvcnQoZW5jb2Rlcik7Cj4gLQloZG1pX2xldmVsID0gZGV2X3ByaXYtPnZidC5kZGlfcG9ydF9p bmZvW3BvcnRdLmhkbWlfbGV2ZWxfc2hpZnQ7Cj4gLQo+IC0JaWYgKElTX0JST1hUT04oZGV2X3By aXYpKSB7Cj4gLQkJaWYgKGVuY29kZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0hETUkpCj4gLQkJ CXJldHVybjsKPiAtCj4gLQkJLyogVnN3aW5nIHByb2dyYW1taW5nIGZvciBIRE1JICovCj4gLQkJ Ynh0X2RkaV92c3dpbmdfc2VxdWVuY2UoZGV2X3ByaXYsIGhkbWlfbGV2ZWwsIHBvcnQsCj4gLQkJ CQkJSU5URUxfT1VUUFVUX0hETUkpOwo+ICsJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKQo+ICAJ CXJldHVybjsKPiAtCX0KPiAgCj4gIAlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfS0FC WUxBS0UoZGV2X3ByaXYpKSB7Cj4gIAkJZGRpX3RyYW5zbGF0aW9uc19mZGkgPSBOVUxMOwo+IEBA IC00MzUsOSArNDIwLDYgQEAgdm9pZCBpbnRlbF9wcmVwYXJlX2RkaV9idWZmZXJzKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJCQkJc2tsX2dldF9idWZfdHJhbnNfZHAoZGV2X3By aXYsICZuX2RwX2VudHJpZXMpOwo+ICAJCWRkaV90cmFuc2xhdGlvbnNfZWRwID0KPiAgCQkJCXNr bF9nZXRfYnVmX3RyYW5zX2VkcChkZXZfcHJpdiwgJm5fZWRwX2VudHJpZXMpOwo+IC0JCWRkaV90 cmFuc2xhdGlvbnNfaGRtaSA9Cj4gLQkJCQlza2xfZ2V0X2J1Zl90cmFuc19oZG1pKGRldl9wcml2 LCAmbl9oZG1pX2VudHJpZXMpOwo+IC0JCWhkbWlfZGVmYXVsdF9lbnRyeSA9IDg7Cj4gIAkJLyog SWYgd2UncmUgYm9vc3RpbmcgdGhlIGN1cnJlbnQsIHNldCBiaXQgMzEgb2YgdHJhbnMxICovCj4g IAkJaWYgKGRldl9wcml2LT52YnQuZGRpX3BvcnRfaW5mb1twb3J0XS5oZG1pX2Jvb3N0X2xldmVs IHx8Cj4gIAkJICAgIGRldl9wcml2LT52YnQuZGRpX3BvcnRfaW5mb1twb3J0XS5kcF9ib29zdF9s ZXZlbCkKPiBAQCAtNDU0LDExICs0MzYsOCBAQCB2b2lkIGludGVsX3ByZXBhcmVfZGRpX2J1ZmZl cnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gIAkJZGRpX3RyYW5zbGF0aW9uc19m ZGkgPSBiZHdfZGRpX3RyYW5zbGF0aW9uc19mZGk7Cj4gIAkJZGRpX3RyYW5zbGF0aW9uc19kcCA9 IGJkd19kZGlfdHJhbnNsYXRpb25zX2RwOwo+ICAJCWRkaV90cmFuc2xhdGlvbnNfZWRwID0gYmR3 X2RkaV90cmFuc2xhdGlvbnNfZWRwOwo+IC0JCWRkaV90cmFuc2xhdGlvbnNfaGRtaSA9IGJkd19k ZGlfdHJhbnNsYXRpb25zX2hkbWk7Cj4gIAkJbl9lZHBfZW50cmllcyA9IEFSUkFZX1NJWkUoYmR3 X2RkaV90cmFuc2xhdGlvbnNfZWRwKTsKPiAgCQluX2RwX2VudHJpZXMgPSBBUlJBWV9TSVpFKGJk d19kZGlfdHJhbnNsYXRpb25zX2RwKTsKPiAtCQluX2hkbWlfZW50cmllcyA9IEFSUkFZX1NJWkUo YmR3X2RkaV90cmFuc2xhdGlvbnNfaGRtaSk7Cj4gLQkJaGRtaV9kZWZhdWx0X2VudHJ5ID0gNzsK PiAgCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikpIHsKPiAgCQlCVUlMRF9CVUdfT04o QVJSQVlfU0laRShoc3dfZGRpX3RyYW5zbGF0aW9uc19mZGkpICE9IDkpOwo+ICAJCUJVSUxEX0JV R19PTihBUlJBWV9TSVpFKGhzd19kZGlfdHJhbnNsYXRpb25zX2RwKSAhPSA5KTsKPiBAQCAtNDY2 LDIwICs0NDUsMTQgQEAgdm9pZCBpbnRlbF9wcmVwYXJlX2RkaV9idWZmZXJzKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyKQo+ICAJCWRkaV90cmFuc2xhdGlvbnNfZmRpID0gaHN3X2RkaV90 cmFuc2xhdGlvbnNfZmRpOwo+ICAJCWRkaV90cmFuc2xhdGlvbnNfZHAgPSBoc3dfZGRpX3RyYW5z bGF0aW9uc19kcDsKPiAgCQlkZGlfdHJhbnNsYXRpb25zX2VkcCA9IGhzd19kZGlfdHJhbnNsYXRp b25zX2RwOwo+IC0JCWRkaV90cmFuc2xhdGlvbnNfaGRtaSA9IGhzd19kZGlfdHJhbnNsYXRpb25z X2hkbWk7Cj4gIAkJbl9kcF9lbnRyaWVzID0gbl9lZHBfZW50cmllcyA9IEFSUkFZX1NJWkUoaHN3 X2RkaV90cmFuc2xhdGlvbnNfZHApOwo+IC0JCW5faGRtaV9lbnRyaWVzID0gQVJSQVlfU0laRSho c3dfZGRpX3RyYW5zbGF0aW9uc19oZG1pKTsKPiAtCQloZG1pX2RlZmF1bHRfZW50cnkgPSA2Owo+ ICAJfSBlbHNlIHsKPiAgCQlXQVJOKDEsICJkZGkgdHJhbnNsYXRpb24gdGFibGUgbWlzc2luZ1xu Iik7Cj4gIAkJZGRpX3RyYW5zbGF0aW9uc19lZHAgPSBiZHdfZGRpX3RyYW5zbGF0aW9uc19kcDsK PiAgCQlkZGlfdHJhbnNsYXRpb25zX2ZkaSA9IGJkd19kZGlfdHJhbnNsYXRpb25zX2ZkaTsKPiAg CQlkZGlfdHJhbnNsYXRpb25zX2RwID0gYmR3X2RkaV90cmFuc2xhdGlvbnNfZHA7Cj4gLQkJZGRp X3RyYW5zbGF0aW9uc19oZG1pID0gYmR3X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsKPiAgCQluX2Vk cF9lbnRyaWVzID0gQVJSQVlfU0laRShiZHdfZGRpX3RyYW5zbGF0aW9uc19lZHApOwo+ICAJCW5f ZHBfZW50cmllcyA9IEFSUkFZX1NJWkUoYmR3X2RkaV90cmFuc2xhdGlvbnNfZHApOwo+IC0JCW5f aGRtaV9lbnRyaWVzID0gQVJSQVlfU0laRShiZHdfZGRpX3RyYW5zbGF0aW9uc19oZG1pKTsKPiAt CQloZG1pX2RlZmF1bHRfZW50cnkgPSA3Owo+ICAJfQo+ICAKPiAgCXN3aXRjaCAoZW5jb2Rlci0+ dHlwZSkgewo+IEBAIC00ODgsNyArNDYxLDYgQEAgdm9pZCBpbnRlbF9wcmVwYXJlX2RkaV9idWZm ZXJzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJCXNpemUgPSBuX2VkcF9lbnRy aWVzOwo+ICAJCWJyZWFrOwo+ICAJY2FzZSBJTlRFTF9PVVRQVVRfRElTUExBWVBPUlQ6Cj4gLQlj YXNlIElOVEVMX09VVFBVVF9IRE1JOgo+ICAJCWRkaV90cmFuc2xhdGlvbnMgPSBkZGlfdHJhbnNs YXRpb25zX2RwOwo+ICAJCXNpemUgPSBuX2RwX2VudHJpZXM7Cj4gIAkJYnJlYWs7Cj4gQEAgLTUw NiwxMCArNDc4LDU0IEBAIHZvaWQgaW50ZWxfcHJlcGFyZV9kZGlfYnVmZmVycyhzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgCQlJOTE1X1dSSVRFKERESV9CVUZfVFJBTlNfSEkocG9y dCwgaSksCj4gIAkJCSAgIGRkaV90cmFuc2xhdGlvbnNbaV0udHJhbnMyKTsKPiAgCX0KPiArfQo+ ICsKPiArLyoKPiArICogU3RhcnRpbmcgd2l0aCBIYXN3ZWxsLCBEREkgcG9ydCBidWZmZXJzIG11 c3QgYmUgcHJvZ3JhbW1lZCB3aXRoIGNvcnJlY3QKPiArICogdmFsdWVzIGluIGFkdmFuY2UuIFRo aXMgZnVuY3Rpb24gcHJvZ3JhbXMgdGhlIGNvcnJlY3QgdmFsdWVzIGZvcgo+ICsgKiBIRE1JL0RW SSB1c2UgY2FzZXMuCj4gKyAqLwo+ICtzdGF0aWMgdm9pZCBpbnRlbF9wcmVwYXJlX2hkbWlfZGRp X2J1ZmZlcnMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCj4gK3sKPiArCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ ICsJdTMyIGlib29zdF9iaXQgPSAwOwo+ICsJaW50IG5faGRtaV9lbnRyaWVzLCBoZG1pX2RlZmF1 bHRfZW50cnksIGhkbWlfbGV2ZWw7Cj4gKwllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRf ZW5jb2Rlcl9wb3J0KGVuY29kZXIpOwo+ICsJY29uc3Qgc3RydWN0IGRkaV9idWZfdHJhbnMgKmRk aV90cmFuc2xhdGlvbnNfaGRtaTsKPiAgCj4gIAlpZiAoZW5jb2Rlci0+dHlwZSAhPSBJTlRFTF9P VVRQVVRfSERNSSkKCldBUk5fT04/Cgo+ICAJCXJldHVybjsKPiAgCj4gKwloZG1pX2xldmVsID0g ZGV2X3ByaXYtPnZidC5kZGlfcG9ydF9pbmZvW3BvcnRdLmhkbWlfbGV2ZWxfc2hpZnQ7Cj4gKwo+ ICsJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKSB7Cj4gKwkJYnh0X2RkaV92c3dpbmdfc2VxdWVu Y2UoZGV2X3ByaXYsIGhkbWlfbGV2ZWwsIHBvcnQsCj4gKwkJCQkJSU5URUxfT1VUUFVUX0hETUkp Owo+ICsJCXJldHVybjsKPiArCX0KPiArCj4gKwlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwg SVNfS0FCWUxBS0UoZGV2X3ByaXYpKSB7Cj4gKwkJZGRpX3RyYW5zbGF0aW9uc19oZG1pID0gc2ts X2dldF9idWZfdHJhbnNfaGRtaShkZXZfcHJpdiwgJm5faGRtaV9lbnRyaWVzKTsKPiArCQloZG1p X2RlZmF1bHRfZW50cnkgPSA4Owo+ICsJCS8qIElmIHdlJ3JlIGJvb3N0aW5nIHRoZSBjdXJyZW50 LCBzZXQgYml0IDMxIG9mIHRyYW5zMSAqLwo+ICsJCWlmIChkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0 X2luZm9bcG9ydF0uaGRtaV9ib29zdF9sZXZlbCB8fAo+ICsJCSAgICBkZXZfcHJpdi0+dmJ0LmRk aV9wb3J0X2luZm9bcG9ydF0uZHBfYm9vc3RfbGV2ZWwpCj4gKwkJCWlib29zdF9iaXQgPSAxPDwz MTsKPiArCX0gZWxzZSBpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSkgewo+ICsJCWRkaV90cmFu c2xhdGlvbnNfaGRtaSA9IGJkd19kZGlfdHJhbnNsYXRpb25zX2hkbWk7Cj4gKwkJbl9oZG1pX2Vu dHJpZXMgPSBBUlJBWV9TSVpFKGJkd19kZGlfdHJhbnNsYXRpb25zX2hkbWkpOwo+ICsJCWhkbWlf ZGVmYXVsdF9lbnRyeSA9IDc7Cj4gKwl9IGVsc2UgaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKSB7 Cj4gKwkJZGRpX3RyYW5zbGF0aW9uc19oZG1pID0gaHN3X2RkaV90cmFuc2xhdGlvbnNfaGRtaTsK PiArCQluX2hkbWlfZW50cmllcyA9IEFSUkFZX1NJWkUoaHN3X2RkaV90cmFuc2xhdGlvbnNfaGRt aSk7Cj4gKwkJaGRtaV9kZWZhdWx0X2VudHJ5ID0gNjsKPiArCX0gZWxzZSB7Cj4gKwkJV0FSTigx LCAiZGRpIHRyYW5zbGF0aW9uIHRhYmxlIG1pc3NpbmdcbiIpOwo+ICsJCWRkaV90cmFuc2xhdGlv bnNfaGRtaSA9IGJkd19kZGlfdHJhbnNsYXRpb25zX2hkbWk7Cj4gKwkJbl9oZG1pX2VudHJpZXMg PSBBUlJBWV9TSVpFKGJkd19kZGlfdHJhbnNsYXRpb25zX2hkbWkpOwo+ICsJCWhkbWlfZGVmYXVs dF9lbnRyeSA9IDc7Cj4gKwl9Cj4gKwo+ICAJLyogQ2hvb3NlIGEgZ29vZCBkZWZhdWx0IGlmIFZC VCBpcyBiYWRseSBwb3B1bGF0ZWQgKi8KPiAgCWlmIChoZG1pX2xldmVsID09IEhETUlfTEVWRUxf U0hJRlRfVU5LTk9XTiB8fAo+ICAJICAgIGhkbWlfbGV2ZWwgPj0gbl9oZG1pX2VudHJpZXMpCj4g QEAgLTU1NSw3ICs1NzEsNyBAQCB2b2lkIGhzd19mZGlfbGlua190cmFpbihzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4gIAo+ICAJZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgZW5j b2Rlcikgewo+ICAJCVdBUk5fT04oZW5jb2Rlci0+dHlwZSAhPSBJTlRFTF9PVVRQVVRfQU5BTE9H KTsKPiAtCQlpbnRlbF9wcmVwYXJlX2RkaV9idWZmZXJzKGVuY29kZXIpOwo+ICsJCWludGVsX3By ZXBhcmVfZHBfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7Cj4gIAl9Cj4gIAo+ICAJLyogU2V0IHRoZSBG RElfUlhfTUlTQyBwd3JkbiBsYW5lcyBhbmQgdGhlIDIgd29ya2Fyb3VuZHMgbGlzdGVkIGF0IHRo ZQo+IEBAIC0yMzc2LDggKzIzOTIsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJs ZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKPiAgCWVudW0gcG9ydCBwb3J0 ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rlcik7Cj4gIAlpbnQgdHlw ZSA9IGludGVsX2VuY29kZXItPnR5cGU7Cj4gIAo+IC0JaW50ZWxfcHJlcGFyZV9kZGlfYnVmZmVy cyhpbnRlbF9lbmNvZGVyKTsKPiAtCj4gIAlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7 Cj4gIAkJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVy KTsKPiAgCQlpbnRlbF9lZHBfcGFuZWxfb24oaW50ZWxfZHApOwo+IEBAIC0yMzg4LDYgKzI0MDIs OCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqaW50ZWxfZW5jb2RlcikKPiAgCWlmICh0eXBlID09IElOVEVMX09VVFBVVF9ESVNQTEFZUE9S VCB8fCB0eXBlID09IElOVEVMX09VVFBVVF9FRFApIHsKPiAgCQlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGVuY29kZXIpOwo+ICAKPiArCQlpbnRlbF9wcmVwYXJl X2RwX2RkaV9idWZmZXJzKGludGVsX2VuY29kZXIpOwo+ICsKPiAgCQlpbnRlbF9kcF9zZXRfbGlu a19wYXJhbXMoaW50ZWxfZHAsIGNydGMtPmNvbmZpZyk7Cj4gIAo+ICAJCWludGVsX2RkaV9pbml0 X2RwX2J1Zl9yZWcoaW50ZWxfZW5jb2Rlcik7Cj4gQEAgLTIzOTksOSArMjQxNSwxMyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxf ZW5jb2RlcikKPiAgCX0gZWxzZSBpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSkgewo+ICAJ CXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoZW5jb2Rl cik7Cj4gIAo+ICsJCWludGVsX3ByZXBhcmVfaGRtaV9kZGlfYnVmZmVycyhpbnRlbF9lbmNvZGVy KTsKPiArCj4gIAkJaW50ZWxfaGRtaS0+c2V0X2luZm9mcmFtZXMoZW5jb2RlciwKPiAgCQkJCQkg ICBjcnRjLT5jb25maWctPmhhc19oZG1pX3NpbmssCj4gIAkJCQkJICAgJmNydGMtPmNvbmZpZy0+ YmFzZS5hZGp1c3RlZF9tb2RlKTsKPiArCX0gZWxzZSBpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRf QU5BTE9HKSB7Cj4gKwkJaW50ZWxfcHJlcGFyZV9kcF9kZGlfYnVmZmVycyhpbnRlbF9lbmNvZGVy KTsKCkhtLCBJIHdhcyBob3Bpbmcgd2l0aCBhbiBlbmNvZGVyIHNwbGl0IHRoYXQgd2UgY291bGQg dXNlIHRoZSB2ZnVuYyBob29rcwppbnN0ZWFkIG9mIHRoZXNlIG1hc3NpdmUgaWYgbGFkZGVycyBl dmVyeXdoZXJlIC4uLiB0b28gbXVjaCB0cm91YmxlIHN0aWxsPwoKQW55d2F5LCBiZXNpZGVzIHRo ZSBXQVJOX09OIHJlcXVlc3QgdGhlIHBhdGNoIGxvb2tzIGNvcnJlY3QsIHNvIHdpdGggdGhhdAph ZGRyZXNzZWQgUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwu Y2g+Cj4gIAl9Cj4gIH0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKPiBpbmRl eCA3M2FjNjhlMjFiN2UuLmQ4ZTliMjhiYjJlMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwX21zdC5jCj4gQEAgLTE3MywxMCArMTczLDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9w cmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJaW50ZWxfbXN0 LT5wb3J0ID0gZm91bmQtPnBvcnQ7Cj4gIAo+ICAJaWYgKGludGVsX2RwLT5hY3RpdmVfbXN0X2xp bmtzID09IDApIHsKPiAtCQlpbnRlbF9wcmVwYXJlX2RkaV9idWZmZXJzKCZpbnRlbF9kaWdfcG9y dC0+YmFzZSk7Cj4gLQo+ICAJCWludGVsX2RkaV9jbGtfc2VsZWN0KCZpbnRlbF9kaWdfcG9ydC0+ YmFzZSwgaW50ZWxfY3J0Yy0+Y29uZmlnKTsKPiAgCj4gKwkJaW50ZWxfcHJlcGFyZV9kcF9kZGlf YnVmZmVycygmaW50ZWxfZGlnX3BvcnQtPmJhc2UpOwo+ICsKPiAgCQlpbnRlbF9kcF9zZXRfbGlu a19wYXJhbXMoaW50ZWxfZHAsIGludGVsX2NydGMtPmNvbmZpZyk7Cj4gIAo+ICAJCWludGVsX2Rk aV9pbml0X2RwX2J1Zl9yZWcoJmludGVsX2RpZ19wb3J0LT5iYXNlKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+IGluZGV4IDllNWRiM2Q3MWUxMi4uZjdlZTRiYzM5YjMzIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtOTk1LDcgKzk5NSw3IEBAIHZvaWQgaW50ZWxfY3J0 X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIC8qIGludGVsX2RkaS5jICovCj4gIHZv aWQgaW50ZWxfZGRpX2Nsa19zZWxlY3Qoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4g IAkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiAtdm9p ZCBpbnRlbF9wcmVwYXJlX2RkaV9idWZmZXJzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy KTsKPiArdm9pZCBpbnRlbF9wcmVwYXJlX2RwX2RkaV9idWZmZXJzKHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyKTsKPiAgdm9pZCBoc3dfZmRpX2xpbmtfdHJhaW4oc3RydWN0IGRybV9jcnRj ICpjcnRjKTsKPiAgdm9pZCBpbnRlbF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBl bnVtIHBvcnQgcG9ydCk7Cj4gIGVudW0gcG9ydCBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rlcik7Cj4gLS0gCj4gMi40LjEwCj4gCj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1n ZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApE YW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8v YmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=