From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pierre-Louis Bossart Subject: Re: [PATCH 11/11] ALSA: x86: Register multiple PCM devices for the LPE audio card Date: Tue, 25 Apr 2017 20:58:57 -0500 Message-ID: References: <20170425202730.1384-1-ville.syrjala@linux.intel.com> <20170425202730.1384-12-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by alsa0.perex.cz (Postfix) with ESMTP id 5EAF026691A for ; Wed, 26 Apr 2017 03:59:01 +0200 (CEST) In-Reply-To: <20170425202730.1384-12-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org Cc: Takashi Iwai , alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org CgpPbiAwNC8yNS8yMDE3IDAzOjI3IFBNLCB2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+Cj4gTm93IHRoYXQgZXZlcnl0aGluZyBpcyBpbiBwbGFjZSBsZXQncyByZWdpc3RlciBh IFBDTSBkZXZpY2UgZm9yCj4gZWFjaCBwaXBlIG9mIHRoZSBkaXNwbGF5IGVuZ2luZS4gVGhpcyB3 aWxsIG1ha2UgaXQgcG9zc2libGUgdG8KPiBhY3R1YWxseSBvdXRwdXQgYXVkaW8gdG8gbXVsdGlw bGUgZGlzcGxheXMgYXQgdGhlIHNhbWUgdGltZS4gQW5kCj4gaXQgYXZvaWRzIG1vZGVzZXRzIG9u IHVucmVsYXRlZCBkaXNwbGF5cyBmcm9tIGNsb2JiZXJpbmcgdXAgdGhlCj4gRUxEIGFuZCB3aGF0 bm90IGZvciB0aGUgZGlzcGxheSBjdXJyZW50bHkgZG9pbmcgdGhlIHBsYXliYWNrLgo+Cj4gVGhl IGFsdGVybmF0aXZlIHdvdWxkIGJlIHRvIGhhdmUgYSBQQ00gZGV2aWNlIHBlciBwb3J0LCBidXQg cGVyLXBpcGUKPiBpcyBlYXNpZXIgc2luY2UgdGhlIGhhcmR3YXJlIGFjdHVhbGx5IHdvcmtzIHRo YXQgd2F5LgpWZXJ5IG5pY2UuIEkganVzdCB0ZXN0ZWQgb24gYSBDSFQgWm90YWMgYm94IHdoaWNo IGhhcyB0d28gY29ubmVjdG9ycyAoMSAKSERNSSBhbmQgMSBEUCksIGFuZCBJIGdldCBzb3VuZCBj b25jdXJyZW50bHkgb24gYm90aCwgd2l0aCBoZG1pIGJlaW5nIApsaXN0ZWQgYXMgZGV2aWNlIDIg YW5kIERQIGFzIGRldmljZSAwLgpJIHRob3VnaHQgdGhlcmUgd2VyZSBoYXJkd2FyZSByZXN0cmlj dGlvbnMgYnV0IHlvdSBwcm92ZWQgbWUgd3JvbmcuIEt1ZG9zLgoKVGhlIG9ubHkgcG9pbnQgdGhh dCBJIGZpbmQgd2VpcmQgaXMgdGhhdCB0aGUgamFja3MgYXJlIHJlcG9ydGVkIGFzICdvbicgCm9u IHRoZSAzIHBpcGVzLCBpcyB0aGVyZSBhIHdheSB0byB0aWUgdGhlbSB0byBhbiBhY3R1YWwgY2Fi bGUgYmVpbmcgdXNlZD8KCltwbGJAWk9UQUMgfl0kIGFtaXhlciAtRGh3OjAgY29udHJvbHMgfCBn cmVwIEphY2sKbnVtaWQ9NSxpZmFjZT1DQVJELG5hbWU9J0hETUkvRFAscGNtPTAgSmFjaycKbnVt aWQ9MTAsaWZhY2U9Q0FSRCxuYW1lPSdIRE1JL0RQLHBjbT0xIEphY2snCm51bWlkPTE1LGlmYWNl PUNBUkQsbmFtZT0nSERNSS9EUCxwY209MiBKYWNrJwpbcGxiQFpPVEFDIH5dJCBhbWl4ZXIgLURo dzowIGNnZXQgbnVtaWQ9NQpudW1pZD01LGlmYWNlPUNBUkQsbmFtZT0nSERNSS9EUCxwY209MCBK YWNrJwogICA7IHR5cGU9Qk9PTEVBTixhY2Nlc3M9ci0tLS0tLS0sdmFsdWVzPTEKICAgOiB2YWx1 ZXM9b24KW3BsYkBaT1RBQyB+XSQgYW1peGVyIC1EaHc6MCBjc2V0IG51bWlkPTUgb2ZmCmFtaXhl cjogQ29udHJvbCBodzowIGVsZW1lbnQgd3JpdGUgZXJyb3I6IE9wZXJhdGlvbiBub3QgcGVybWl0 dGVkCgpbcGxiQFpPVEFDIH5dJCBhbWl4ZXIgLURodzowIGNnZXQgbnVtaWQ9MTAKbnVtaWQ9MTAs aWZhY2U9Q0FSRCxuYW1lPSdIRE1JL0RQLHBjbT0xIEphY2snCiAgIDsgdHlwZT1CT09MRUFOLGFj Y2Vzcz1yLS0tLS0tLSx2YWx1ZXM9MQogICA6IHZhbHVlcz1vbgpbcGxiQFpPVEFDIH5dJCBhbWl4 ZXIgLURodzowIGNnZXQgbnVtaWQ9MTUKbnVtaWQ9MTUsaWZhY2U9Q0FSRCxuYW1lPSdIRE1JL0RQ LHBjbT0yIEphY2snCiAgIDsgdHlwZT1CT09MRUFOLGFjY2Vzcz1yLS0tLS0tLSx2YWx1ZXM9MQog ICA6IHZhbHVlcz1vbgoKVGhlIEVMRCBjb250cm9scyBkbyBzaG93IGEgbnVsbCBzZXQgb2YgdmFs dWVzIGZvciBkZXZpY2UgMSwgbWF5YmUgdGhlIApqYWNrIHZhbHVlIHNob3VsZCBiZSBzZXQgaW4g YWNjb3JkYW5jZSB3aXRoIHRoZSBFTEQgdmFsaWRpdHk/CkFsc28gSSBhbSB3b25kZXJpbmcgaWYg dGhlIGRpc3BsYXkgbnVtYmVyIGNvdWxkIGJlIHVzZWQgZm9yIHRoZSBQQ00gCmRldmljZSBudW1i ZXIsIG9yIGFzIGEgaGludCBpbiB0aGUgZGV2aWNlIGRlc2NyaXB0aW9uIHRvIGhlbHAgdGhlIHVz ZXIgCmtub3cgd2hpY2ggUENNIGRldmljZSB0byB1c2UuCgpBbnl3YXkgdGhhbmtzIGZvciB0aGlz IHBhdGNoc2V0LCBuaWNlbHkgZG9uZS4KCj4KPiBDYzogVGFrYXNoaSBJd2FpIDx0aXdhaUBzdXNl LmRlPgo+IENjOiBQaWVycmUtTG91aXMgQm9zc2FydCA8cGllcnJlLWxvdWlzLmJvc3NhcnRAbGlu dXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3ly amFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scGVfYXVkaW8uYyB8IDE0ICsrKystLS0tLQo+ICAgaW5jbHVkZS9kcm0vaW50ZWxfbHBlX2F1 ZGlvLmggICAgICAgICAgfCAgNiArKy0tCj4gICBzb3VuZC94ODYvaW50ZWxfaGRtaV9hdWRpby5j ICAgICAgICAgICB8IDUzICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIHNv dW5kL3g4Ni9pbnRlbF9oZG1pX2F1ZGlvLmggICAgICAgICAgIHwgIDMgKy0KPiAgIDQgZmlsZXMg Y2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgNDIgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHBlX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scGVfYXVkaW8uYwo+IGluZGV4IGE1OTNmZGY3MzE3MS4uMjcwYWEzZTNm MGUyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xwZV9hdWRpby5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHBlX2F1ZGlvLmMKPiBAQCAtMTEx LDYgKzExMSw3IEBAIGxwZV9hdWRpb19wbGF0ZGV2X2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gICAJcGluZm8uc2l6ZV9kYXRhID0gc2l6ZW9mKCpwZGF0YSk7Cj4g ICAJcGluZm8uZG1hX21hc2sgPSBETUFfQklUX01BU0soMzIpOwo+ICAgCj4gKwlwZGF0YS0+bnVt X3BpcGVzID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPm51bV9waXBlczsKPiAgIAlzcGluX2xvY2tf aW5pdCgmcGRhdGEtPmxwZV9hdWRpb19zbG9jayk7Cj4gICAKPiAgIAlwbGF0ZGV2ID0gcGxhdGZv cm1fZGV2aWNlX3JlZ2lzdGVyX2Z1bGwoJnBpbmZvKTsKPiBAQCAtMzE4LDcgKzMxOSw3IEBAIHZv aWQgaW50ZWxfbHBlX2F1ZGlvX25vdGlmeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4gICAJCQkgICAgZW51bSBwaXBlIHBpcGUsIGVudW0gcG9ydCBwb3J0LAo+ICAgCQkJICAg IGNvbnN0IHZvaWQgKmVsZCwgaW50IGxzX2Nsb2NrLCBib29sIGRwX291dHB1dCkKPiAgIHsKPiAt CXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOwo+ICsJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKPiAg IAlzdHJ1Y3QgaW50ZWxfaGRtaV9scGVfYXVkaW9fcGRhdGEgKnBkYXRhOwo+ICAgCXN0cnVjdCBp bnRlbF9oZG1pX2xwZV9hdWRpb19waXBlX3BkYXRhICpwcGRhdGE7Cj4gICAJdTMyIGF1ZGlvX2Vu YWJsZTsKPiBAQCAtMzI3LDE0ICszMjgsMTIgQEAgdm9pZCBpbnRlbF9scGVfYXVkaW9fbm90aWZ5 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgIAkJcmV0dXJuOwo+ICAgCj4g ICAJcGRhdGEgPSBkZXZfZ2V0X3BsYXRkYXRhKCZkZXZfcHJpdi0+bHBlX2F1ZGlvLnBsYXRkZXYt PmRldik7Cj4gLQlwcGRhdGEgPSAmcGRhdGEtPnBpcGU7Cj4gKwlwcGRhdGEgPSAmcGRhdGEtPnBp cGVbcGlwZV07Cj4gICAKPiAtCXNwaW5fbG9ja19pcnFzYXZlKCZwZGF0YS0+bHBlX2F1ZGlvX3Ns b2NrLCBpcnFfZmxhZ3MpOwo+ICsJc3Bpbl9sb2NrX2lycXNhdmUoJnBkYXRhLT5scGVfYXVkaW9f c2xvY2ssIGlycWZsYWdzKTsKPiAgIAo+ICAgCWF1ZGlvX2VuYWJsZSA9IEk5MTVfUkVBRChWTFZf QVVEX1BPUlRfRU5fREJHKHBvcnQpKTsKPiAgIAo+IC0JcGRhdGEtPnBpcGVfaWQgPSBwaXBlOwo+ IC0KPiAgIAlpZiAoZWxkICE9IE5VTEwpIHsKPiAgIAkJbWVtY3B5KHBwZGF0YS0+ZWxkLCBlbGQs IEhETUlfTUFYX0VMRF9CWVRFUyk7Cj4gICAJCXBwZGF0YS0+cG9ydCA9IHBvcnQ7Cj4gQEAgLTM1 Niw4ICszNTUsNyBAQCB2b2lkIGludGVsX2xwZV9hdWRpb19ub3RpZnkoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+ICAgCX0KPiAgIAo+ICAgCWlmIChwZGF0YS0+bm90aWZ5X2F1 ZGlvX2xwZSkKPiAtCQlwZGF0YS0+bm90aWZ5X2F1ZGlvX2xwZShkZXZfcHJpdi0+bHBlX2F1ZGlv LnBsYXRkZXYpOwo+ICsJCXBkYXRhLT5ub3RpZnlfYXVkaW9fbHBlKGRldl9wcml2LT5scGVfYXVk aW8ucGxhdGRldiwgcGlwZSk7Cj4gICAKPiAtCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBkYXRh LT5scGVfYXVkaW9fc2xvY2ssCj4gLQkJCWlycV9mbGFncyk7Cj4gKwlzcGluX3VubG9ja19pcnFy ZXN0b3JlKCZwZGF0YS0+bHBlX2F1ZGlvX3Nsb2NrLCBpcnFmbGFncyk7Cj4gICB9Cj4gZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2ludGVsX2xwZV9hdWRpby5oIGIvaW5jbHVkZS9kcm0vaW50ZWxf bHBlX2F1ZGlvLmgKPiBpbmRleCAyNmU1NjlhZDg2ODMuLmIzOTFiMjgyMjE0MCAxMDA2NDQKPiAt LS0gYS9pbmNsdWRlL2RybS9pbnRlbF9scGVfYXVkaW8uaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2lu dGVsX2xwZV9hdWRpby5oCj4gQEAgLTM5LDEwICszOSwxMCBAQCBzdHJ1Y3QgaW50ZWxfaGRtaV9s cGVfYXVkaW9fcGlwZV9wZGF0YSB7Cj4gICB9Owo+ICAgCj4gICBzdHJ1Y3QgaW50ZWxfaGRtaV9s cGVfYXVkaW9fcGRhdGEgewo+IC0Jc3RydWN0IGludGVsX2hkbWlfbHBlX2F1ZGlvX3BpcGVfcGRh dGEgcGlwZTsKPiAtCWludCBwaXBlX2lkOwo+ICsJc3RydWN0IGludGVsX2hkbWlfbHBlX2F1ZGlv X3BpcGVfcGRhdGEgcGlwZVszXTsKPiArCWludCBudW1fcGlwZXM7Cj4gICAKPiAtCXZvaWQgKCpu b3RpZnlfYXVkaW9fbHBlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KTsKPiArCXZvaWQg KCpub3RpZnlfYXVkaW9fbHBlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBpbnQgcGlw ZSk7Cj4gICAJc3BpbmxvY2tfdCBscGVfYXVkaW9fc2xvY2s7Cj4gICB9Owo+ICAgCj4gZGlmZiAt LWdpdCBhL3NvdW5kL3g4Ni9pbnRlbF9oZG1pX2F1ZGlvLmMgYi9zb3VuZC94ODYvaW50ZWxfaGRt aV9hdWRpby5jCj4gaW5kZXggNWUyMTQ5ZmU1MjE4Li5lNTg2M2E2ZDNhYTkgMTAwNjQ0Cj4gLS0t IGEvc291bmQveDg2L2ludGVsX2hkbWlfYXVkaW8uYwo+ICsrKyBiL3NvdW5kL3g4Ni9pbnRlbF9o ZG1pX2F1ZGlvLmMKPiBAQCAtMTk1LDEyICsxOTUsMTIgQEAgc3RhdGljIHZvaWQgaGFkX3N1YnN0 cmVhbV9wdXQoc3RydWN0IHNuZF9pbnRlbGhhZCAqaW50ZWxoYWRkYXRhKQo+ICAgLyogUmVnaXN0 ZXIgYWNjZXNzIGZ1bmN0aW9ucyAqLwo+ICAgc3RhdGljIHUzMiBoYWRfcmVhZF9yZWdpc3Rlcl9y YXcoc3RydWN0IHNuZF9pbnRlbGhhZCAqY3R4LCB1MzIgcmVnKQo+ICAgewo+IC0JcmV0dXJuIGlv cmVhZDMyKGN0eC0+Y2FyZF9jdHgtPm1taW9fc3RhcnQgKyBjdHgtPmhhZF9jb25maWdfb2Zmc2V0 ICsgcmVnKTsKPiArCXJldHVybiBpb3JlYWQzMihjdHgtPm1taW9fc3RhcnQgKyByZWcpOwo+ICAg fQo+ICAgCj4gICBzdGF0aWMgdm9pZCBoYWRfd3JpdGVfcmVnaXN0ZXJfcmF3KHN0cnVjdCBzbmRf aW50ZWxoYWQgKmN0eCwgdTMyIHJlZywgdTMyIHZhbCkKPiAgIHsKPiAtCWlvd3JpdGUzMih2YWws IGN0eC0+Y2FyZF9jdHgtPm1taW9fc3RhcnQgKyBjdHgtPmhhZF9jb25maWdfb2Zmc2V0ICsgcmVn KTsKPiArCWlvd3JpdGUzMih2YWwsIGN0eC0+bW1pb19zdGFydCArIHJlZyk7Cj4gICB9Cj4gICAK PiAgIHN0YXRpYyB2b2lkIGhhZF9yZWFkX3JlZ2lzdGVyKHN0cnVjdCBzbmRfaW50ZWxoYWQgKmN0 eCwgdTMyIHJlZywgdTMyICp2YWwpCj4gQEAgLTE1NTEsMTYgKzE1NTEsMTIgQEAgc3RhdGljIGly cXJldHVybl90IGRpc3BsYXlfcGlwZV9pbnRlcnJ1cHRfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpk ZXZfaWQpCj4gICAvKgo+ICAgICogbW9uaXRvciBwbHVnL3VucGx1ZyBub3RpZmljYXRpb24gZnJv bSBpOTE1OyBqdXN0IGtpY2sgb2ZmIHRoZSB3b3JrCj4gICAgKi8KPiAtc3RhdGljIHZvaWQgbm90 aWZ5X2F1ZGlvX2xwZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICtzdGF0aWMgdm9p ZCBub3RpZnlfYXVkaW9fbHBlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIGludCBwaXBl KQo+ICAgewo+ICAgCXN0cnVjdCBzbmRfaW50ZWxoYWRfY2FyZCAqY2FyZF9jdHggPSBwbGF0Zm9y bV9nZXRfZHJ2ZGF0YShwZGV2KTsKPiAtCWludCBwaXBlOwo+IC0KPiAtCWZvcl9lYWNoX3BpcGUo Y2FyZF9jdHgsIHBpcGUpIHsKPiAtCQlzdHJ1Y3Qgc25kX2ludGVsaGFkICpjdHggPSAmY2FyZF9j dHgtPnBjbV9jdHhbcGlwZV07Cj4gKwlzdHJ1Y3Qgc25kX2ludGVsaGFkICpjdHggPSAmY2FyZF9j dHgtPnBjbV9jdHhbcGlwZV07Cj4gICAKPiAtCQlzY2hlZHVsZV93b3JrKCZjdHgtPmhkbWlfYXVk aW9fd3EpOwo+IC0JfQo+ICsJc2NoZWR1bGVfd29yaygmY3R4LT5oZG1pX2F1ZGlvX3dxKTsKPiAg IH0KPiAgIAo+ICAgLyogdGhlIHdvcmsgdG8gaGFuZGxlIG1vbml0b3IgaG90IHBsdWcvdW5wbHVn ICovCj4gQEAgLTE1NjksNyArMTU2NSw3IEBAIHN0YXRpYyB2b2lkIGhhZF9hdWRpb193cShzdHJ1 Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gICAJc3RydWN0IHNuZF9pbnRlbGhhZCAqY3R4ID0KPiAg IAkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBzbmRfaW50ZWxoYWQsIGhkbWlfYXVkaW9fd3Ep Owo+ICAgCXN0cnVjdCBpbnRlbF9oZG1pX2xwZV9hdWRpb19wZGF0YSAqcGRhdGEgPSBjdHgtPmRl di0+cGxhdGZvcm1fZGF0YTsKPiAtCXN0cnVjdCBpbnRlbF9oZG1pX2xwZV9hdWRpb19waXBlX3Bk YXRhICpwcGRhdGEgPSAmcGRhdGEtPnBpcGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfaGRtaV9scGVfYXVk aW9fcGlwZV9wZGF0YSAqcHBkYXRhID0gJnBkYXRhLT5waXBlW2N0eC0+cGlwZV07Cj4gICAKPiAg IAlwbV9ydW50aW1lX2dldF9zeW5jKGN0eC0+ZGV2KTsKPiAgIAltdXRleF9sb2NrKCZjdHgtPm11 dGV4KTsKPiBAQCAtMTU4MiwyMiArMTU3OCw2IEBAIHN0YXRpYyB2b2lkIGhhZF9hdWRpb193cShz dHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gICAJCWRldl9kYmcoY3R4LT5kZXYsICIlczogSEFE X05PVElGWV9FTEQgOiBwb3J0ID0gJWQsIHRtZHMgPSAlZFxuIiwKPiAgIAkJCV9fZnVuY19fLCBw cGRhdGEtPnBvcnQsIHBwZGF0YS0+bHNfY2xvY2spOwo+ICAgCj4gLQkJc3dpdGNoIChwZGF0YS0+ cGlwZV9pZCkgewo+IC0JCWNhc2UgMDoKPiAtCQkJY3R4LT5oYWRfY29uZmlnX29mZnNldCA9IEFV RElPX0hETUlfQ09ORklHX0E7Cj4gLQkJCWJyZWFrOwo+IC0JCWNhc2UgMToKPiAtCQkJY3R4LT5o YWRfY29uZmlnX29mZnNldCA9IEFVRElPX0hETUlfQ09ORklHX0I7Cj4gLQkJCWJyZWFrOwo+IC0J CWNhc2UgMjoKPiAtCQkJY3R4LT5oYWRfY29uZmlnX29mZnNldCA9IEFVRElPX0hETUlfQ09ORklH X0M7Cj4gLQkJCWJyZWFrOwo+IC0JCWRlZmF1bHQ6Cj4gLQkJCWRldl9kYmcoY3R4LT5kZXYsICJJ bnZhbGlkIHBpcGUgJWRcbiIsCj4gLQkJCQlwZGF0YS0+cGlwZV9pZCk7Cj4gLQkJCWJyZWFrOwo+ IC0JCX0KPiAtCj4gICAJCW1lbWNweShjdHgtPmVsZCwgcHBkYXRhLT5lbGQsIHNpemVvZihjdHgt PmVsZCkpOwo+ICAgCj4gICAJCWN0eC0+ZHBfb3V0cHV0ID0gcHBkYXRhLT5kcF9vdXRwdXQ7Cj4g QEAgLTE3OTQsNyArMTc3NCw3IEBAIHN0YXRpYyBpbnQgaGRtaV9scGVfYXVkaW9fcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgIAo+ICAgCWluaXRfY2hhbm5lbF9hbGxvY2F0 aW9ucygpOwo+ICAgCj4gLQljYXJkX2N0eC0+bnVtX3BpcGVzID0gMTsKPiArCWNhcmRfY3R4LT5u dW1fcGlwZXMgPSBwZGF0YS0+bnVtX3BpcGVzOwo+ICAgCj4gICAJZm9yX2VhY2hfcGlwZShjYXJk X2N0eCwgcGlwZSkgewo+ICAgCQlzdHJ1Y3Qgc25kX2ludGVsaGFkICpjdHggPSAmY2FyZF9jdHgt PnBjbV9jdHhbcGlwZV07Cj4gQEAgLTE4MDYsOSArMTc4NiwyNCBAQCBzdGF0aWMgaW50IGhkbWlf bHBlX2F1ZGlvX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gICAKPiAgIAkJ SU5JVF9XT1JLKCZjdHgtPmhkbWlfYXVkaW9fd3EsIGhhZF9hdWRpb193cSk7Cj4gICAKPiAtCQlj dHgtPmhhZF9jb25maWdfb2Zmc2V0ID0gQVVESU9fSERNSV9DT05GSUdfQTsKPiArCQlzd2l0Y2gg KHBpcGUpIHsKPiArCQljYXNlIDA6Cj4gKwkJCWN0eC0+bW1pb19zdGFydCA9Cj4gKwkJCQljYXJk X2N0eC0+bW1pb19zdGFydCArIEFVRElPX0hETUlfQ09ORklHX0E7Cj4gKwkJCWJyZWFrOwo+ICsJ CWNhc2UgMToKPiArCQkJY3R4LT5tbWlvX3N0YXJ0ID0KPiArCQkJCWNhcmRfY3R4LT5tbWlvX3N0 YXJ0ICsgQVVESU9fSERNSV9DT05GSUdfQjsKPiArCQkJYnJlYWs7Cj4gKwkJY2FzZSAyOgo+ICsJ CQljdHgtPm1taW9fc3RhcnQgPQo+ICsJCQkJY2FyZF9jdHgtPm1taW9fc3RhcnQgKyBBVURJT19I RE1JX0NPTkZJR19DOwo+ICsJCQlicmVhazsKPiArCQlkZWZhdWx0Ogo+ICsJCQlicmVhazsKPiAr CQl9Cj4gICAKPiAtCQlyZXQgPSBzbmRfcGNtX25ldyhjYXJkLCBJTlRFTF9IQUQsIFBDTV9JTkRF WCwgTUFYX1BCX1NUUkVBTVMsCj4gKwkJcmV0ID0gc25kX3BjbV9uZXcoY2FyZCwgSU5URUxfSEFE LCBwaXBlLCBNQVhfUEJfU1RSRUFNUywKPiAgIAkJCQkgIE1BWF9DQVBfU1RSRUFNUywgJnBjbSk7 Cj4gICAJCWlmIChyZXQpCj4gICAJCQlnb3RvIGVycjsKPiBkaWZmIC0tZ2l0IGEvc291bmQveDg2 L2ludGVsX2hkbWlfYXVkaW8uaCBiL3NvdW5kL3g4Ni9pbnRlbF9oZG1pX2F1ZGlvLmgKPiBpbmRl eCBhMjA5MDk2YjAzZGYuLmFiMGRlNWQ1MjVmNCAxMDA2NDQKPiAtLS0gYS9zb3VuZC94ODYvaW50 ZWxfaGRtaV9hdWRpby5oCj4gKysrIGIvc291bmQveDg2L2ludGVsX2hkbWlfYXVkaW8uaAo+IEBA IC0zMiw3ICszMiw2IEBACj4gICAKPiAgICNpbmNsdWRlICJpbnRlbF9oZG1pX2xwZV9hdWRpby5o Igo+ICAgCj4gLSNkZWZpbmUgUENNX0lOREVYCQkwCj4gICAjZGVmaW5lIE1BWF9QQl9TVFJFQU1T CQkxCj4gICAjZGVmaW5lIE1BWF9DQVBfU1RSRUFNUwkJMAo+ICAgI2RlZmluZSBCWVRFU19QRVJf V09SRAkJMHg0Cj4gQEAgLTEyNCw3ICsxMjMsNyBAQCBzdHJ1Y3Qgc25kX2ludGVsaGFkIHsKPiAg IAl1bnNpZ25lZCBpbnQgcGVyaW9kX2J5dGVzOwkvKiBQQ00gcGVyaW9kIHNpemUgaW4gYnl0ZXMg Ki8KPiAgIAo+ICAgCS8qIGludGVybmFsIHN0dWZmICovCj4gLQl1bnNpZ25lZCBpbnQgaGFkX2Nv bmZpZ19vZmZzZXQ7Cj4gKwl2b2lkIF9faW9tZW0gKm1taW9fc3RhcnQ7Cj4gICAJdW5pb24gYXVk X2NmZyBhdWRfY29uZmlnOwkvKiBBVURfQ09ORklHIHJlZyB2YWx1ZSBjYWNoZSAqLwo+ICAgCXN0 cnVjdCB3b3JrX3N0cnVjdCBoZG1pX2F1ZGlvX3dxOwo+ICAgCXN0cnVjdCBtdXRleCBtdXRleDsg LyogZm9yIHByb3RlY3RpbmcgY2htYXAgYW5kIGVsZCAqLwoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KQWxzYS1kZXZlbCBtYWlsaW5nIGxpc3QKQWxzYS1k ZXZlbEBhbHNhLXByb2plY3Qub3JnCmh0dHA6Ly9tYWlsbWFuLmFsc2EtcHJvamVjdC5vcmcvbWFp bG1hbi9saXN0aW5mby9hbHNhLWRldmVsCg==