From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 07/11] drm/i915: Store rawclk_freq in dev_priv Date: Tue, 01 Dec 2015 14:47:41 +0200 Message-ID: <87oaea49oy.fsf@intel.com> References: <1448893432-6978-1-git-send-email-ville.syrjala@linux.intel.com> <1448893432-6978-8-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id F29CC6E045 for ; Tue, 1 Dec 2015 04:43:32 -0800 (PST) In-Reply-To: <1448893432-6978-8-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, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAzMCBOb3YgMjAxNSwgdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20gd3JvdGU6 Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K Pgo+IEdlbmVyYWxpemUgcmF3Y2xrIGhhbmRsaW5nIGJ5IHN0b3JpbmcgaXQgaW4gZGV2X3ByaXYu Cj4KPiBQcmVzdW1hYmx5IG91ciBocmF3Y2xrIHJlYWRvdXQgd29ya3MgYXQgbGVhc3QgZm9yIENU RyBhbmQgRUxLCj4gc2luY2Ugd2UndmUgYmVlbiB1c2luZyBpdCBmb3IgRFAgQVVYIG9uIHRob3Nl IHBsYXRmb3Jtcy4gVGhlcmUKPiBhcmUgbm8gcmVhbCBkb2NzIGFueW1vcmUgYWZ0ZXIgY29uZmln ZGIgdmFuaXNoZWQsIHNvIHRoZSBvbmx5Cj4gcmVmZXJlbmNlIGlzIHRoZSBwdWJsaWMgQ1RHIEdN Q0ggc3BlYy4gV2hhdCBiaXRzIGFyZSBsaXN0ZWQgaW4KPiB0aGF0IGRvYyBtYXRjaCBvdXIgY29k ZS4gVGhlIEVMSyBHTUNIIHNwZWMgaGF2ZSBubyByZWxldmFudAo+IGRldGFpbHMgdW5mb3J0dW5h dGVseS4KPgo+IFRoZSBQTlYgc2l0dWF0aW9uIGlzIGxlc3MgY2xlYXIuIFN0YXJ0aW5nIGZyb20K PiBjb21taXQgYWExN2NkYjRmODM2ICgiZHJtL2k5MTU6IGluaXRpYWxpemUgYmFja2xpZ2h0IG1h eCBmcm9tIFZCVCIpCj4gd2UgYXNzdW1lIHRoYXQgdGhlIENURy9FTEsgaHJhd2NsayByZWFkb3V0 IHdvcmtzIGZvciBQTlYgYXMgd2VsbC4KPiBBdCBsZWFzdCB0aGUgcmVzdWx0cyAqc2VlbSogcmVh c29uYWJsZSBmb3Igb25lIFBOViBtYWNoaW5lIChMZW5vdm8KPiBJZGVhcGFkIFMxMC0zdCkuIFNh ZGx5IHRoZSBQTlYgR01DSCBzcGVjIGRvZXNuJ3QgaGF2ZSB0aGUgZ29vZHMgb24KPiB0aGUgcmVs ZXZhbnQgcmVnaXN0ZXIgZWl0aGVyLgo+Cj4gU28gbGV0J3Mga2VlcCBhc3N1bWluZyBpdCB3b3Jr cyBmb3IgUE5WLEVMSyxDVEcgYW5kIHJlYWQgaXQgb3V0IG9uCj4gdGhvc2UgcGxhdGZvcm1zLiBH MzMgYWxzbyBoYXMgaHJhd2NsayBhY2NvcmRpbmcgdG8gc29tZSBub3Rlcwo+IGluIEJTcGVjLCBi dXQgd2UgZG9uJ3QgYWN0dWFsbHkgbmVlZCBpdCBmb3IgYW55dGhpbmcsIHNvIGxldCdzIG5vdAo+ IGV2ZW4gdHJ5IHRvIHJlYWQgaXQgb3V0IHRoZXJlLgoKTG9va3Mgc2Vuc2libGUgYnV0IG1vZGVy YXRlbHkgc2NhcnksIGRpZCBub3QgcmV2aWV3IHByb3Blcmx5IHlldCwKaG93ZXZlciBhIGZldyBu aXRwaWNrcyBiZWxvdy4KCj4KPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oICAgICAgfCAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyB8IDU1ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgfCAxNiArKysrKy0tLS0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMiAtLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wYW5lbC5jICAgfCAyNCArKysrKysrKy0tLS0tLS0tCj4gIDUgZmlsZXMgY2hh bmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBpbmRleCA5YWIzZTI1ZGRmMzguLjY0ZmFjZDQxMDAzNyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0xNzgxLDYgKzE3ODEsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSB7Cj4gIAl1bnNpZ25lZCBpbnQgc2tsX2Jvb3RfY2RjbGs7Cj4gIAl1bnNpZ25lZCBp bnQgY2RjbGtfZnJlcSwgbWF4X2NkY2xrX2ZyZXE7Cj4gIAl1bnNpZ25lZCBpbnQgbWF4X2RvdGNs a19mcmVxOwo+ICsJdW5zaWduZWQgaW50IHJhd2Nsa19mcmVxOwo+ICAJdW5zaWduZWQgaW50IGhw bGxfZnJlcTsKPiAgCXVuc2lnbmVkIGludCBjemNsa19mcmVxOwo+ICAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggODQzOTVjOGM5ZGNlLi44NGExMzU5ZWNiYTUgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTE2OCw0OSArMTY4LDYx IEBAIHN0YXRpYyBpbnQgdmx2X2dldF9jY2tfY2xvY2tfaHBsbChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4gIAlyZXR1cm4gRElWX1JPVU5EX0NMT1NFU1QoZGV2X3ByaXYtPmhw bGxfZnJlcSA8PCAxLCBkaXZpZGVyICsgMSk7Cj4gIH0KPiAgCj4gLWludAo+IC1pbnRlbF9wY2hf cmF3Y2xrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gK3N0YXRpYyBpbnQKPiAraW50ZWxfcGNo X3Jhd2NsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCgpJIGd1ZXNzIGludGVs XyBwcmVmaXggd291bGQgbm90IGJlIG5lZWRlZCBhbnltb3JlLiAqc2hydWcqLgoKPiAgewo+IC0J c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAt Cj4gLQlXQVJOX09OKCFIQVNfUENIX1NQTElUKGRldikpOwo+ICsJcmV0dXJuIChJOTE1X1JFQUQo UENIX1JBV0NMS19GUkVRKSAmIFJBV0NMS19GUkVRX01BU0spICogMTAwMDsKPiArfQo+ICAKPiAt CXJldHVybiBJOTE1X1JFQUQoUENIX1JBV0NMS19GUkVRKSAmIFJBV0NMS19GUkVRX01BU0s7Cj4g K3N0YXRpYyBpbnQKPiAraW50ZWxfdmx2X2hyYXdjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ICt7Cj4gKwlyZXR1cm4gMjAwMDAwOwo+ICB9Cj4gIAo+IC0vKiBocmF3Y2xv Y2sgaXMgMS80IHRoZSBGU0IgZnJlcXVlbmN5ICovCj4gLWludCBpbnRlbF9ocmF3Y2xrKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gK3N0YXRpYyBpbnQKPiAraW50ZWxfZzR4X2hyYXdjbGsoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJdWludDMyX3QgY2xrY2Zn Owo+ICAKPiAtCS8qIFRoZXJlIGlzIG5vIENMS0NGRyByZWcgaW4gVmFsbGV5dmlldy4gVkxWIGhy YXdjbGsgaXMgMjAwIE1IeiAqLwo+IC0JaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkKPiAtCQlyZXR1 cm4gMjAwOwo+IC0KPiArCS8qIGhyYXdjbG9jayBpcyAxLzQgdGhlIEZTQiBmcmVxdWVuY3kgKi8K PiAgCWNsa2NmZyA9IEk5MTVfUkVBRChDTEtDRkcpOwo+ICAJc3dpdGNoIChjbGtjZmcgJiBDTEtD RkdfRlNCX01BU0spIHsKPiAgCWNhc2UgQ0xLQ0ZHX0ZTQl80MDA6Cj4gLQkJcmV0dXJuIDEwMDsK PiArCQlyZXR1cm4gMTAwMDAwOwo+ICAJY2FzZSBDTEtDRkdfRlNCXzUzMzoKPiAtCQlyZXR1cm4g MTMzOwo+ICsJCXJldHVybiAxMzMzMzM7Cj4gIAljYXNlIENMS0NGR19GU0JfNjY3Ogo+IC0JCXJl dHVybiAxNjY7Cj4gKwkJcmV0dXJuIDE2NjY2NzsKPiAgCWNhc2UgQ0xLQ0ZHX0ZTQl84MDA6Cj4g LQkJcmV0dXJuIDIwMDsKPiArCQlyZXR1cm4gMjAwMDAwOwo+ICAJY2FzZSBDTEtDRkdfRlNCXzEw Njc6Cj4gLQkJcmV0dXJuIDI2NjsKPiArCQlyZXR1cm4gMjY2NjY3Owo+ICAJY2FzZSBDTEtDRkdf RlNCXzEzMzM6Cj4gLQkJcmV0dXJuIDMzMzsKPiArCQlyZXR1cm4gMzMzMzMzOwo+ICAJLyogdGhl c2UgdHdvIGFyZSBqdXN0IGEgZ3Vlc3M7IG9uZSBvZiB0aGVtIG1pZ2h0IGJlIHJpZ2h0ICovCj4g IAljYXNlIENMS0NGR19GU0JfMTYwMDoKPiAgCWNhc2UgQ0xLQ0ZHX0ZTQl8xNjAwX0FMVDoKPiAt CQlyZXR1cm4gNDAwOwo+ICsJCXJldHVybiA0MDAwMDA7Cj4gIAlkZWZhdWx0Ogo+IC0JCXJldHVy biAxMzM7Cj4gKwkJcmV0dXJuIDEzMzMzMzsKPiAgCX0KPiAgfQo+ICAKPiArc3RhdGljIHZvaWQg aW50ZWxfdXBkYXRlX3Jhd2NsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4g K3sKPiArCWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSkKPiArCQlkZXZfcHJpdi0+cmF3Y2xr X2ZyZXEgPSBpbnRlbF9wY2hfcmF3Y2xrKGRldl9wcml2KTsKPiArCWVsc2UgaWYgKElTX1ZBTExF WVZJRVcoZGV2X3ByaXYpKQo+ICsJCWRldl9wcml2LT5yYXdjbGtfZnJlcSA9IGludGVsX3Zsdl9o cmF3Y2xrKGRldl9wcml2KTsKPiArCWVsc2UgaWYgKElTX0c0WChkZXZfcHJpdikgfHwgSVNfUElO RVZJRVcoZGV2X3ByaXYpKQo+ICsJCWRldl9wcml2LT5yYXdjbGtfZnJlcSA9IGludGVsX2c0eF9o cmF3Y2xrKGRldl9wcml2KTsKPiArCWVsc2UKPiArCQlyZXR1cm47IC8qIG5vIHJhd2NsayBvbiBv dGhlciBwbGF0Zm9ybXMsIG9yIG5vIG5lZWQgdG8ga25vdyBpdCAqLwo+ICsKPiArCURSTV9ERUJV R19EUklWRVIoInJhd2NsayByYXRlOiAlZCBrSHpcbiIsIGRldl9wcml2LT5yYXdjbGtfZnJlcSk7 Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIGludGVsX3VwZGF0ZV9jemNsayhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAgCWlmICghSVNfVkFMTEVZVklFVyhkZXZfcHJp dikpCj4gQEAgLTE1MTQ1LDYgKzE1MTU3LDcgQEAgdm9pZCBpbnRlbF9tb2Rlc2V0X2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgCX0KPiAgCj4gIAlpbnRlbF91cGRhdGVfY3pjbGsoZGV2 X3ByaXYpOwo+ICsJaW50ZWxfdXBkYXRlX3Jhd2NsayhkZXZfcHJpdik7Cj4gIAlpbnRlbF91cGRh dGVfY2RjbGsoZGV2KTsKPiAgCj4gIAlpbnRlbF9zaGFyZWRfZHBsbF9pbml0KGRldik7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggZjMzNWM5MmI0ZmE3Li4yYTliNTcxMGVlODMgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtNjc1LDEzICs2NzUsMTMgQEAgaW50ZWxf ZHBfYXV4X3dhaXRfZG9uZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBib29sIGhhc19hdXhf aXJxKQo+ICBzdGF0aWMgdWludDMyX3QgaTl4eF9nZXRfYXV4X2Nsb2NrX2RpdmlkZXIoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCwgaW50IGluZGV4KQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPiAt CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsK PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZGln X3BvcnQtPmJhc2UuYmFzZS5kZXYpOwo+ICAKPiAgCS8qCj4gIAkgKiBUaGUgY2xvY2sgZGl2aWRl ciBpcyBiYXNlZCBvZmYgdGhlIGhyYXdjbGssIGFuZCB3b3VsZCBsaWtlIHRvIHJ1biBhdAo+ICAJ ICogMk1Iei4gIFNvLCB0YWtlIHRoZSBocmF3Y2xrIHZhbHVlIGFuZCBkaXZpZGUgYnkgMiBhbmQg dXNlIHRoYXQKPiAgCSAqLwoKVGhlIGNvbW1lbnQgbmVlZHMgdXBkYXRpbmcuIFBvc3NpYmx5IGVs c2V3aGVyZSB0b28gb3V0c2lkZSBvZiBwYXRjaApjb250ZXh0LgoKPiAtCXJldHVybiBpbmRleCA/ IDAgOiBESVZfUk9VTkRfQ0xPU0VTVChpbnRlbF9ocmF3Y2xrKGRldiksIDIpOwo+ICsJcmV0dXJu IGluZGV4ID8gMCA6IERJVl9ST1VORF9DTE9TRVNUKGRldl9wcml2LT5yYXdjbGtfZnJlcSwgMjAw MCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB1aW50MzJfdCBpbGtfZ2V0X2F1eF9jbG9ja19kaXZpZGVy KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGludCBpbmRleCkKPiBAQCAtNjkzLDEyICs2OTMs MTAgQEAgc3RhdGljIHVpbnQzMl90IGlsa19nZXRfYXV4X2Nsb2NrX2RpdmlkZXIoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCwgaW50IGluZGV4KQo+ICAJaWYgKGluZGV4KQo+ICAJCXJldHVybiAw Owo+ICAKPiAtCWlmIChpbnRlbF9kaWdfcG9ydC0+cG9ydCA9PSBQT1JUX0EpIHsKPiArCWlmIChp bnRlbF9kaWdfcG9ydC0+cG9ydCA9PSBQT1JUX0EpCj4gIAkJcmV0dXJuIERJVl9ST1VORF9DTE9T RVNUKGRldl9wcml2LT5jZGNsa19mcmVxLCAyMDAwKTsKPiAtCj4gLQl9IGVsc2Ugewo+IC0JCXJl dHVybiBESVZfUk9VTkRfQ0xPU0VTVChpbnRlbF9wY2hfcmF3Y2xrKGRldiksIDIpOwo+IC0JfQo+ ICsJZWxzZQo+ICsJCXJldHVybiBESVZfUk9VTkRfQ0xPU0VTVChkZXZfcHJpdi0+cmF3Y2xrX2Zy ZXEsIDIwMDApOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdWludDMyX3QgaHN3X2dldF9hdXhfY2xvY2tf ZGl2aWRlcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgaW5kZXgpCj4gQEAgLTcxOSw3 ICs3MTcsNyBAQCBzdGF0aWMgdWludDMyX3QgaHN3X2dldF9hdXhfY2xvY2tfZGl2aWRlcihzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgaW5kZXgpCj4gIAkJZGVmYXVsdDogcmV0dXJuIDA7 Cj4gIAkJfQo+ICAJfSBlbHNlICB7Cj4gLQkJcmV0dXJuIGluZGV4ID8gMCA6IERJVl9ST1VORF9D TE9TRVNUKGludGVsX3BjaF9yYXdjbGsoZGV2KSwgMik7Cj4gKwkJcmV0dXJuIGluZGV4ID8gMCA6 IERJVl9ST1VORF9DTE9TRVNUKGRldl9wcml2LT5yYXdjbGtfZnJlcSwgMjAwMCk7Cj4gIAl9Cj4g IH0KPiAgCj4gQEAgLTUyMzcsNyArNTIzNSw3IEBAIGludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJf c2VxdWVuY2VyX3JlZ2lzdGVycyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICB7Cj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJdTMy IHBwX29uLCBwcF9vZmYsIHBwX2RpdiwgcG9ydF9zZWwgPSAwOwo+IC0JaW50IGRpdiA9IEhBU19Q Q0hfU1BMSVQoZGV2KSA/IGludGVsX3BjaF9yYXdjbGsoZGV2KSA6IGludGVsX2hyYXdjbGsoZGV2 KTsKPiArCWludCBkaXYgPSBkZXZfcHJpdi0+cmF3Y2xrX2ZyZXEgLyAxMDAwOwo+ICAJaTkxNV9y ZWdfdCBwcF9vbl9yZWcsIHBwX29mZl9yZWcsIHBwX2Rpdl9yZWcsIHBwX2N0cmxfcmVnOwo+ICAJ ZW51bSBwb3J0IHBvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7Cj4gIAljb25z dCBzdHJ1Y3QgZWRwX3Bvd2VyX3NlcSAqc2VxID0gJmludGVsX2RwLT5wcHNfZGVsYXlzOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggMWZmZDhkNWMzMjM1Li41NGI2NTk1MTYyMmQg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xMDUwLDggKzEwNTAsNiBAQCB2 b2lkIGk5MTVfYXVkaW9fY29tcG9uZW50X2NsZWFudXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKPiAgLyogaW50ZWxfZGlzcGxheS5jICovCj4gIGV4dGVybiBjb25zdCBzdHJ1 Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX3BsYW5lX2Z1bmNzOwo+ICBib29sIGludGVsX2hhc19w ZW5kaW5nX2ZiX3VucGluKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+IC1pbnQgaW50ZWxfcGNo X3Jhd2NsayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAtaW50IGludGVsX2hyYXdjbGsoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIHZvaWQgaW50ZWxfbWFya19idXN5KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwo+ICB2b2lkIGludGVsX21hcmtfaWRsZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KTsKPiAgdm9pZCBpbnRlbF9jcnRjX3Jlc3RvcmVfbW9kZShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+IGluZGV4IDg5MWE1ODcyMjVlMi4u YjhjNzhkODg1MzExIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bh bmVsLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4gQEAgLTEz MTQsOCArMTMxNCw4IEBAIHN0YXRpYyB1MzIgbHB0X2h6X3RvX3B3bShzdHJ1Y3QgaW50ZWxfY29u bmVjdG9yICpjb25uZWN0b3IsIHUzMiBwd21fZnJlcV9oeikKPiAgICovCj4gIHN0YXRpYyB1MzIg cGNoX2h6X3RvX3B3bShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIHUzMiBwd21f ZnJlcV9oeikKPiAgewo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFz ZS5kZXY7Cj4gLQlpbnQgY2xvY2sgPSBNSHooaW50ZWxfcGNoX3Jhd2NsayhkZXYpKTsKPiArCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNl LmRldik7Cj4gKwlpbnQgY2xvY2sgPSAxMDAwICogZGV2X3ByaXYtPnJhd2Nsa19mcmVxOwo+ICAK PiAgCXJldHVybiBjbG9jayAvIChwd21fZnJlcV9oeiAqIDEyOCk7CgpDb3VsZCB1c2U6CgoJcmV0 dXJuIEtIeihkZXZfcHJpdi0+cmF3Y2xrX2ZyZXEpIC8gKHB3bV9mcmVxX2h6ICogMTI4KTsKClNh bWUgdGhpbmcgYWxsIGFyb3VuZC4KClNpZGUgbm90ZSwgbWF5YmUgdGhlc2Ugc2hvdWxkIGFsc28g cm91bmQgY2xvc2VzdCAoZm9sbG93LXVwKS4KCgo+ICB9Cj4gQEAgLTEzMzAsMTIgKzEzMzAsMTEg QEAgc3RhdGljIHUzMiBwY2hfaHpfdG9fcHdtKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvciwgdTMyIHB3bV9mcmVxX2h6KQo+ICAgKi8KPiAgc3RhdGljIHUzMiBpOXh4X2h6X3RvX3B3 bShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIHUzMiBwd21fZnJlcV9oeikKPiAg ewo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+YmFzZS5kZXY7Cj4gLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3ItPmJh c2UuZGV2KTsKPiAgCWludCBjbG9jazsKPiAgCj4gLQlpZiAoSVNfUElORVZJRVcoZGV2KSkKPiAt CQljbG9jayA9IE1IeihpbnRlbF9ocmF3Y2xrKGRldikpOwo+ICsJaWYgKElTX1BJTkVWSUVXKGRl dl9wcml2KSkKPiArCQljbG9jayA9IDEwMDAgKiBkZXZfcHJpdi0+cmF3Y2xrX2ZyZXE7Cj4gIAll bHNlCj4gIAkJY2xvY2sgPSAxMDAwICogZGV2X3ByaXYtPmNkY2xrX2ZyZXE7Cj4gIAo+IEBAIC0x MzU0LDcgKzEzNTMsNyBAQCBzdGF0aWMgdTMyIGk5NjVfaHpfdG9fcHdtKHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIHB3bV9mcmVxX2h6KQo+ICAJaW50IGNsb2NrOwo+ICAK PiAgCWlmIChJU19HNFgoZGV2X3ByaXYpKQo+IC0JCWNsb2NrID0gTUh6KGludGVsX2hyYXdjbGso ZGV2KSk7Cj4gKwkJY2xvY2sgPSAxMDAwICogZGV2X3ByaXYtPnJhd2Nsa19mcmVxOwo+ICAJZWxz ZQo+ICAJCWNsb2NrID0gMTAwMCAqIGRldl9wcml2LT5jZGNsa19mcmVxOwo+ICAKPiBAQCAtMTM2 OCwxOCArMTM2NywxNyBAQCBzdGF0aWMgdTMyIGk5NjVfaHpfdG9fcHdtKHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIHB3bV9mcmVxX2h6KQo+ICAgKi8KPiAgc3RhdGljIHUz MiB2bHZfaHpfdG9fcHdtKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwgdTMyIHB3 bV9mcmVxX2h6KQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5i YXNlLmRldjsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2 X3ByaXZhdGU7Cj4gLQlpbnQgY2xvY2s7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+ICAKPiAgCWlmICgoSTkxNV9S RUFEKENCUjFfVkxWKSAmIENCUl9QV01fQ0xPQ0tfTVVYX1NFTEVDVCkgPT0gMCkgewo+IC0JCWlm IChJU19DSEVSUllWSUVXKGRldikpCj4gKwkJaWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+ ICAJCQlyZXR1cm4gS0h6KDE5MjAwKSAvIChwd21fZnJlcV9oeiAqIDE2KTsKPiAgCQllbHNlCj4g IAkJCXJldHVybiBNSHooMjUpIC8gKHB3bV9mcmVxX2h6ICogMTYpOwo+ICAJfSBlbHNlIHsKPiAt CQljbG9jayA9IGludGVsX2hyYXdjbGsoZGV2KTsKPiAtCQlyZXR1cm4gTUh6KGNsb2NrKSAvIChw d21fZnJlcV9oeiAqIDEyOCk7Cj4gKwkJaW50IGNsb2NrID0gMTAwMCAqIGRldl9wcml2LT5yYXdj bGtfZnJlcTsKPiArCj4gKwkJcmV0dXJuIGNsb2NrIC8gKHB3bV9mcmVxX2h6ICogMTI4KTsKPiAg CX0KPiAgfQoKLS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENl bnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=