From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [alsa-devel] [PATCH 11/11] ALSA: x86: Register multiple PCM devices for the LPE audio card Date: Wed, 26 Apr 2017 09:04:46 +0200 Message-ID: References: <20170425202730.1384-1-ville.syrjala@linux.intel.com> <20170425202730.1384-12-ville.syrjala@linux.intel.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Pierre-Louis Bossart Cc: intel-gfx@lists.freedesktop.org, alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org T24gV2VkLCAyNiBBcHIgMjAxNyAwMzo1ODo1NyArMDIwMCwKUGllcnJlLUxvdWlzIEJvc3NhcnQg d3JvdGU6Cj4gCj4gT24gMDQvMjUvMjAxNyAwMzoyNyBQTSwgdmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20gd3JvdGU6Cj4gPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPgo+ID4KPiA+IE5vdyB0aGF0IGV2ZXJ5dGhpbmcgaXMgaW4gcGxhY2Ug bGV0J3MgcmVnaXN0ZXIgYSBQQ00gZGV2aWNlIGZvcgo+ID4gZWFjaCBwaXBlIG9mIHRoZSBkaXNw bGF5IGVuZ2luZS4gVGhpcyB3aWxsIG1ha2UgaXQgcG9zc2libGUgdG8KPiA+IGFjdHVhbGx5IG91 dHB1dCBhdWRpbyB0byBtdWx0aXBsZSBkaXNwbGF5cyBhdCB0aGUgc2FtZSB0aW1lLiBBbmQKPiA+ IGl0IGF2b2lkcyBtb2Rlc2V0cyBvbiB1bnJlbGF0ZWQgZGlzcGxheXMgZnJvbSBjbG9iYmVyaW5n IHVwIHRoZQo+ID4gRUxEIGFuZCB3aGF0bm90IGZvciB0aGUgZGlzcGxheSBjdXJyZW50bHkgZG9p bmcgdGhlIHBsYXliYWNrLgo+ID4KPiA+IFRoZSBhbHRlcm5hdGl2ZSB3b3VsZCBiZSB0byBoYXZl IGEgUENNIGRldmljZSBwZXIgcG9ydCwgYnV0IHBlci1waXBlCj4gPiBpcyBlYXNpZXIgc2luY2Ug dGhlIGhhcmR3YXJlIGFjdHVhbGx5IHdvcmtzIHRoYXQgd2F5Lgo+IFZlcnkgbmljZS4gSSBqdXN0 IHRlc3RlZCBvbiBhIENIVCBab3RhYyBib3ggd2hpY2ggaGFzIHR3byBjb25uZWN0b3JzCj4gKDEg SERNSSBhbmQgMSBEUCksIGFuZCBJIGdldCBzb3VuZCBjb25jdXJyZW50bHkgb24gYm90aCwgd2l0 aCBoZG1pCj4gYmVpbmcgbGlzdGVkIGFzIGRldmljZSAyIGFuZCBEUCBhcyBkZXZpY2UgMC4KPiBJ IHRob3VnaHQgdGhlcmUgd2VyZSBoYXJkd2FyZSByZXN0cmljdGlvbnMgYnV0IHlvdSBwcm92ZWQg bWUgd3JvbmcuIEt1ZG9zLgo+IAo+IFRoZSBvbmx5IHBvaW50IHRoYXQgSSBmaW5kIHdlaXJkIGlz IHRoYXQgdGhlIGphY2tzIGFyZSByZXBvcnRlZCBhcwo+ICdvbicgb24gdGhlIDMgcGlwZXMsIGlz IHRoZXJlIGEgd2F5IHRvIHRpZSB0aGVtIHRvIGFuIGFjdHVhbCBjYWJsZQo+IGJlaW5nIHVzZWQ/ CgpUaGUgcGRhdGEgY2hlY2sgd2FzIGNoYW5nZWQgdG8gY2hlY2sgcG9ydD0tMSBhcyB0aGUgbW9u aXRvciBvZmYgaW4gdGhlCnBhdGNoIDYuICBNYXliZSB0aGUgaW5pdGlhbGl6YXRpb24gaXMgbWlz c2luZz8KCgpUYWthc2hpCgo+IAo+IFtwbGJAWk9UQUMgfl0kIGFtaXhlciAtRGh3OjAgY29udHJv bHMgfCBncmVwIEphY2sKPiBudW1pZD01LGlmYWNlPUNBUkQsbmFtZT0nSERNSS9EUCxwY209MCBK YWNrJwo+IG51bWlkPTEwLGlmYWNlPUNBUkQsbmFtZT0nSERNSS9EUCxwY209MSBKYWNrJwo+IG51 bWlkPTE1LGlmYWNlPUNBUkQsbmFtZT0nSERNSS9EUCxwY209MiBKYWNrJwo+IFtwbGJAWk9UQUMg fl0kIGFtaXhlciAtRGh3OjAgY2dldCBudW1pZD01Cj4gbnVtaWQ9NSxpZmFjZT1DQVJELG5hbWU9 J0hETUkvRFAscGNtPTAgSmFjaycKPiAgIDsgdHlwZT1CT09MRUFOLGFjY2Vzcz1yLS0tLS0tLSx2 YWx1ZXM9MQo+ICAgOiB2YWx1ZXM9b24KPiBbcGxiQFpPVEFDIH5dJCBhbWl4ZXIgLURodzowIGNz ZXQgbnVtaWQ9NSBvZmYKPiBhbWl4ZXI6IENvbnRyb2wgaHc6MCBlbGVtZW50IHdyaXRlIGVycm9y OiBPcGVyYXRpb24gbm90IHBlcm1pdHRlZAo+IAo+IFtwbGJAWk9UQUMgfl0kIGFtaXhlciAtRGh3 OjAgY2dldCBudW1pZD0xMAo+IG51bWlkPTEwLGlmYWNlPUNBUkQsbmFtZT0nSERNSS9EUCxwY209 MSBKYWNrJwo+ICAgOyB0eXBlPUJPT0xFQU4sYWNjZXNzPXItLS0tLS0tLHZhbHVlcz0xCj4gICA6 IHZhbHVlcz1vbgo+IFtwbGJAWk9UQUMgfl0kIGFtaXhlciAtRGh3OjAgY2dldCBudW1pZD0xNQo+ IG51bWlkPTE1LGlmYWNlPUNBUkQsbmFtZT0nSERNSS9EUCxwY209MiBKYWNrJwo+ICAgOyB0eXBl PUJPT0xFQU4sYWNjZXNzPXItLS0tLS0tLHZhbHVlcz0xCj4gICA6IHZhbHVlcz1vbgo+IAo+IFRo ZSBFTEQgY29udHJvbHMgZG8gc2hvdyBhIG51bGwgc2V0IG9mIHZhbHVlcyBmb3IgZGV2aWNlIDEs IG1heWJlIHRoZQo+IGphY2sgdmFsdWUgc2hvdWxkIGJlIHNldCBpbiBhY2NvcmRhbmNlIHdpdGgg dGhlIEVMRCB2YWxpZGl0eT8KPiBBbHNvIEkgYW0gd29uZGVyaW5nIGlmIHRoZSBkaXNwbGF5IG51 bWJlciBjb3VsZCBiZSB1c2VkIGZvciB0aGUgUENNCj4gZGV2aWNlIG51bWJlciwgb3IgYXMgYSBo aW50IGluIHRoZSBkZXZpY2UgZGVzY3JpcHRpb24gdG8gaGVscCB0aGUgdXNlcgo+IGtub3cgd2hp Y2ggUENNIGRldmljZSB0byB1c2UuCj4gCj4gQW55d2F5IHRoYW5rcyBmb3IgdGhpcyBwYXRjaHNl dCwgbmljZWx5IGRvbmUuCj4gCj4gPgo+ID4gQ2M6IFRha2FzaGkgSXdhaSA8dGl3YWlAc3VzZS5k ZT4KPiA+IENjOiBQaWVycmUtTG91aXMgQm9zc2FydCA8cGllcnJlLWxvdWlzLmJvc3NhcnRAbGlu dXguaW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IC0tLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scGVfYXVkaW8uYyB8IDE0ICsrKystLS0tLQo+ID4gICBpbmNsdWRlL2RybS9pbnRl bF9scGVfYXVkaW8uaCAgICAgICAgICB8ICA2ICsrLS0KPiA+ICAgc291bmQveDg2L2ludGVsX2hk bWlfYXVkaW8uYyAgICAgICAgICAgfCA1MyArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tCj4gPiAgIHNvdW5kL3g4Ni9pbnRlbF9oZG1pX2F1ZGlvLmggICAgICAgICAgIHwgIDMgKy0K PiA+ICAgNCBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkK PiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHBlX2F1ZGlv LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scGVfYXVkaW8uYwo+ID4gaW5kZXggYTU5 M2ZkZjczMTcxLi4yNzBhYTNlM2YwZTIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scGVfYXVkaW8uYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHBlX2F1ZGlvLmMKPiA+IEBAIC0xMTEsNiArMTExLDcgQEAgbHBlX2F1ZGlvX3BsYXRkZXZf Y3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICAgCXBpbmZvLnNp emVfZGF0YSA9IHNpemVvZigqcGRhdGEpOwo+ID4gICAJcGluZm8uZG1hX21hc2sgPSBETUFfQklU X01BU0soMzIpOwo+ID4gICArCXBkYXRhLT5udW1fcGlwZXMgPSBJTlRFTF9JTkZPKGRldl9wcml2 KS0+bnVtX3BpcGVzOwo+ID4gICAJc3Bpbl9sb2NrX2luaXQoJnBkYXRhLT5scGVfYXVkaW9fc2xv Y2spOwo+ID4gICAgIAlwbGF0ZGV2ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX2Z1bGwoJnBp bmZvKTsKPiA+IEBAIC0zMTgsNyArMzE5LDcgQEAgdm9pZCBpbnRlbF9scGVfYXVkaW9fbm90aWZ5 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ICAgCQkJICAgIGVudW0gcGlw ZSBwaXBlLCBlbnVtIHBvcnQgcG9ydCwKPiA+ICAgCQkJICAgIGNvbnN0IHZvaWQgKmVsZCwgaW50 IGxzX2Nsb2NrLCBib29sIGRwX291dHB1dCkKPiA+ICAgewo+ID4gLQl1bnNpZ25lZCBsb25nIGly cV9mbGFnczsKPiA+ICsJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsKPiA+ICAgCXN0cnVjdCBpbnRl bF9oZG1pX2xwZV9hdWRpb19wZGF0YSAqcGRhdGE7Cj4gPiAgIAlzdHJ1Y3QgaW50ZWxfaGRtaV9s cGVfYXVkaW9fcGlwZV9wZGF0YSAqcHBkYXRhOwo+ID4gICAJdTMyIGF1ZGlvX2VuYWJsZTsKPiA+ IEBAIC0zMjcsMTQgKzMyOCwxMiBAQCB2b2lkIGludGVsX2xwZV9hdWRpb19ub3RpZnkoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gICAJCXJldHVybjsKPiA+ICAgICAJcGRh dGEgPSBkZXZfZ2V0X3BsYXRkYXRhKCZkZXZfcHJpdi0+bHBlX2F1ZGlvLnBsYXRkZXYtPmRldik7 Cj4gPiAtCXBwZGF0YSA9ICZwZGF0YS0+cGlwZTsKPiA+ICsJcHBkYXRhID0gJnBkYXRhLT5waXBl W3BpcGVdOwo+ID4gICAtCXNwaW5fbG9ja19pcnFzYXZlKCZwZGF0YS0+bHBlX2F1ZGlvX3Nsb2Nr LCBpcnFfZmxhZ3MpOwo+ID4gKwlzcGluX2xvY2tfaXJxc2F2ZSgmcGRhdGEtPmxwZV9hdWRpb19z bG9jaywgaXJxZmxhZ3MpOwo+ID4gICAgIAlhdWRpb19lbmFibGUgPSBJOTE1X1JFQUQoVkxWX0FV RF9QT1JUX0VOX0RCRyhwb3J0KSk7Cj4gPiAgIC0JcGRhdGEtPnBpcGVfaWQgPSBwaXBlOwo+ID4g LQo+ID4gICAJaWYgKGVsZCAhPSBOVUxMKSB7Cj4gPiAgIAkJbWVtY3B5KHBwZGF0YS0+ZWxkLCBl bGQsIEhETUlfTUFYX0VMRF9CWVRFUyk7Cj4gPiAgIAkJcHBkYXRhLT5wb3J0ID0gcG9ydDsKPiA+ IEBAIC0zNTYsOCArMzU1LDcgQEAgdm9pZCBpbnRlbF9scGVfYXVkaW9fbm90aWZ5KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ICAgCX0KPiA+ICAgICAJaWYgKHBkYXRhLT5u b3RpZnlfYXVkaW9fbHBlKQo+ID4gLQkJcGRhdGEtPm5vdGlmeV9hdWRpb19scGUoZGV2X3ByaXYt PmxwZV9hdWRpby5wbGF0ZGV2KTsKPiA+ICsJCXBkYXRhLT5ub3RpZnlfYXVkaW9fbHBlKGRldl9w cml2LT5scGVfYXVkaW8ucGxhdGRldiwgcGlwZSk7Cj4gPiAgIC0Jc3Bpbl91bmxvY2tfaXJxcmVz dG9yZSgmcGRhdGEtPmxwZV9hdWRpb19zbG9jaywKPiA+IC0JCQlpcnFfZmxhZ3MpOwo+ID4gKwlz cGluX3VubG9ja19pcnFyZXN0b3JlKCZwZGF0YS0+bHBlX2F1ZGlvX3Nsb2NrLCBpcnFmbGFncyk7 Cj4gPiAgIH0KPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9pbnRlbF9scGVfYXVkaW8uaCBi L2luY2x1ZGUvZHJtL2ludGVsX2xwZV9hdWRpby5oCj4gPiBpbmRleCAyNmU1NjlhZDg2ODMuLmIz OTFiMjgyMjE0MCAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvZHJtL2ludGVsX2xwZV9hdWRpby5o Cj4gPiArKysgYi9pbmNsdWRlL2RybS9pbnRlbF9scGVfYXVkaW8uaAo+ID4gQEAgLTM5LDEwICsz OSwxMCBAQCBzdHJ1Y3QgaW50ZWxfaGRtaV9scGVfYXVkaW9fcGlwZV9wZGF0YSB7Cj4gPiAgIH07 Cj4gPiAgICAgc3RydWN0IGludGVsX2hkbWlfbHBlX2F1ZGlvX3BkYXRhIHsKPiA+IC0Jc3RydWN0 IGludGVsX2hkbWlfbHBlX2F1ZGlvX3BpcGVfcGRhdGEgcGlwZTsKPiA+IC0JaW50IHBpcGVfaWQ7 Cj4gPiArCXN0cnVjdCBpbnRlbF9oZG1pX2xwZV9hdWRpb19waXBlX3BkYXRhIHBpcGVbM107Cj4g PiArCWludCBudW1fcGlwZXM7Cj4gPiAgIC0Jdm9pZCAoKm5vdGlmeV9hdWRpb19scGUpKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOwo+ID4gKwl2b2lkICgqbm90aWZ5X2F1ZGlvX2xwZSko c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgaW50IHBpcGUpOwo+ID4gICAJc3BpbmxvY2tf dCBscGVfYXVkaW9fc2xvY2s7Cj4gPiAgIH07Cj4gPiAgIGRpZmYgLS1naXQgYS9zb3VuZC94ODYv aW50ZWxfaGRtaV9hdWRpby5jCj4gPiBiL3NvdW5kL3g4Ni9pbnRlbF9oZG1pX2F1ZGlvLmMKPiA+ IGluZGV4IDVlMjE0OWZlNTIxOC4uZTU4NjNhNmQzYWE5IDEwMDY0NAo+ID4gLS0tIGEvc291bmQv eDg2L2ludGVsX2hkbWlfYXVkaW8uYwo+ID4gKysrIGIvc291bmQveDg2L2ludGVsX2hkbWlfYXVk aW8uYwo+ID4gQEAgLTE5NSwxMiArMTk1LDEyIEBAIHN0YXRpYyB2b2lkIGhhZF9zdWJzdHJlYW1f cHV0KHN0cnVjdCBzbmRfaW50ZWxoYWQgKmludGVsaGFkZGF0YSkKPiA+ICAgLyogUmVnaXN0ZXIg YWNjZXNzIGZ1bmN0aW9ucyAqLwo+ID4gICBzdGF0aWMgdTMyIGhhZF9yZWFkX3JlZ2lzdGVyX3Jh dyhzdHJ1Y3Qgc25kX2ludGVsaGFkICpjdHgsIHUzMiByZWcpCj4gPiAgIHsKPiA+IC0JcmV0dXJu IGlvcmVhZDMyKGN0eC0+Y2FyZF9jdHgtPm1taW9fc3RhcnQgKyBjdHgtPmhhZF9jb25maWdfb2Zm c2V0ICsgcmVnKTsKPiA+ICsJcmV0dXJuIGlvcmVhZDMyKGN0eC0+bW1pb19zdGFydCArIHJlZyk7 Cj4gPiAgIH0KPiA+ICAgICBzdGF0aWMgdm9pZCBoYWRfd3JpdGVfcmVnaXN0ZXJfcmF3KHN0cnVj dCBzbmRfaW50ZWxoYWQgKmN0eCwgdTMyCj4gPiByZWcsIHUzMiB2YWwpCj4gPiAgIHsKPiA+IC0J aW93cml0ZTMyKHZhbCwgY3R4LT5jYXJkX2N0eC0+bW1pb19zdGFydCArIGN0eC0+aGFkX2NvbmZp Z19vZmZzZXQgKyByZWcpOwo+ID4gKwlpb3dyaXRlMzIodmFsLCBjdHgtPm1taW9fc3RhcnQgKyBy ZWcpOwo+ID4gICB9Cj4gPiAgICAgc3RhdGljIHZvaWQgaGFkX3JlYWRfcmVnaXN0ZXIoc3RydWN0 IHNuZF9pbnRlbGhhZCAqY3R4LCB1MzIgcmVnLAo+ID4gdTMyICp2YWwpCj4gPiBAQCAtMTU1MSwx NiArMTU1MSwxMiBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgZGlzcGxheV9waXBlX2ludGVycnVwdF9o YW5kbGVyKGludCBpcnEsIHZvaWQgKmRldl9pZCkKPiA+ICAgLyoKPiA+ICAgICogbW9uaXRvciBw bHVnL3VucGx1ZyBub3RpZmljYXRpb24gZnJvbSBpOTE1OyBqdXN0IGtpY2sgb2ZmIHRoZSB3b3Jr Cj4gPiAgICAqLwo+ID4gLXN0YXRpYyB2b2lkIG5vdGlmeV9hdWRpb19scGUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKPiA+ICtzdGF0aWMgdm9pZCBub3RpZnlfYXVkaW9fbHBlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIGludCBwaXBlKQo+ID4gICB7Cj4gPiAgIAlzdHJ1Y3Qg c25kX2ludGVsaGFkX2NhcmQgKmNhcmRfY3R4ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7 Cj4gPiAtCWludCBwaXBlOwo+ID4gLQo+ID4gLQlmb3JfZWFjaF9waXBlKGNhcmRfY3R4LCBwaXBl KSB7Cj4gPiAtCQlzdHJ1Y3Qgc25kX2ludGVsaGFkICpjdHggPSAmY2FyZF9jdHgtPnBjbV9jdHhb cGlwZV07Cj4gPiArCXN0cnVjdCBzbmRfaW50ZWxoYWQgKmN0eCA9ICZjYXJkX2N0eC0+cGNtX2N0 eFtwaXBlXTsKPiA+ICAgLQkJc2NoZWR1bGVfd29yaygmY3R4LT5oZG1pX2F1ZGlvX3dxKTsKPiA+ IC0JfQo+ID4gKwlzY2hlZHVsZV93b3JrKCZjdHgtPmhkbWlfYXVkaW9fd3EpOwo+ID4gICB9Cj4g PiAgICAgLyogdGhlIHdvcmsgdG8gaGFuZGxlIG1vbml0b3IgaG90IHBsdWcvdW5wbHVnICovCj4g PiBAQCAtMTU2OSw3ICsxNTY1LDcgQEAgc3RhdGljIHZvaWQgaGFkX2F1ZGlvX3dxKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKPiA+ICAgCXN0cnVjdCBzbmRfaW50ZWxoYWQgKmN0eCA9Cj4gPiAg IAkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBzbmRfaW50ZWxoYWQsIGhkbWlfYXVkaW9fd3Ep Owo+ID4gICAJc3RydWN0IGludGVsX2hkbWlfbHBlX2F1ZGlvX3BkYXRhICpwZGF0YSA9IGN0eC0+ ZGV2LT5wbGF0Zm9ybV9kYXRhOwo+ID4gLQlzdHJ1Y3QgaW50ZWxfaGRtaV9scGVfYXVkaW9fcGlw ZV9wZGF0YSAqcHBkYXRhID0gJnBkYXRhLT5waXBlOwo+ID4gKwlzdHJ1Y3QgaW50ZWxfaGRtaV9s cGVfYXVkaW9fcGlwZV9wZGF0YSAqcHBkYXRhID0gJnBkYXRhLT5waXBlW2N0eC0+cGlwZV07Cj4g PiAgICAgCXBtX3J1bnRpbWVfZ2V0X3N5bmMoY3R4LT5kZXYpOwo+ID4gICAJbXV0ZXhfbG9jaygm Y3R4LT5tdXRleCk7Cj4gPiBAQCAtMTU4MiwyMiArMTU3OCw2IEBAIHN0YXRpYyB2b2lkIGhhZF9h dWRpb193cShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gPiAgIAkJZGV2X2RiZyhjdHgtPmRl diwgIiVzOiBIQURfTk9USUZZX0VMRCA6IHBvcnQgPSAlZCwgdG1kcyA9ICVkXG4iLAo+ID4gICAJ CQlfX2Z1bmNfXywgcHBkYXRhLT5wb3J0LCBwcGRhdGEtPmxzX2Nsb2NrKTsKPiA+ICAgLQkJc3dp dGNoIChwZGF0YS0+cGlwZV9pZCkgewo+ID4gLQkJY2FzZSAwOgo+ID4gLQkJCWN0eC0+aGFkX2Nv bmZpZ19vZmZzZXQgPSBBVURJT19IRE1JX0NPTkZJR19BOwo+ID4gLQkJCWJyZWFrOwo+ID4gLQkJ Y2FzZSAxOgo+ID4gLQkJCWN0eC0+aGFkX2NvbmZpZ19vZmZzZXQgPSBBVURJT19IRE1JX0NPTkZJ R19COwo+ID4gLQkJCWJyZWFrOwo+ID4gLQkJY2FzZSAyOgo+ID4gLQkJCWN0eC0+aGFkX2NvbmZp Z19vZmZzZXQgPSBBVURJT19IRE1JX0NPTkZJR19DOwo+ID4gLQkJCWJyZWFrOwo+ID4gLQkJZGVm YXVsdDoKPiA+IC0JCQlkZXZfZGJnKGN0eC0+ZGV2LCAiSW52YWxpZCBwaXBlICVkXG4iLAo+ID4g LQkJCQlwZGF0YS0+cGlwZV9pZCk7Cj4gPiAtCQkJYnJlYWs7Cj4gPiAtCQl9Cj4gPiAtCj4gPiAg IAkJbWVtY3B5KGN0eC0+ZWxkLCBwcGRhdGEtPmVsZCwgc2l6ZW9mKGN0eC0+ZWxkKSk7Cj4gPiAg ICAgCQljdHgtPmRwX291dHB1dCA9IHBwZGF0YS0+ZHBfb3V0cHV0Owo+ID4gQEAgLTE3OTQsNyAr MTc3NCw3IEBAIHN0YXRpYyBpbnQgaGRtaV9scGVfYXVkaW9fcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPiA+ICAgICAJaW5pdF9jaGFubmVsX2FsbG9jYXRpb25zKCk7Cj4gPiAg IC0JY2FyZF9jdHgtPm51bV9waXBlcyA9IDE7Cj4gPiArCWNhcmRfY3R4LT5udW1fcGlwZXMgPSBw ZGF0YS0+bnVtX3BpcGVzOwo+ID4gICAgIAlmb3JfZWFjaF9waXBlKGNhcmRfY3R4LCBwaXBlKSB7 Cj4gPiAgIAkJc3RydWN0IHNuZF9pbnRlbGhhZCAqY3R4ID0gJmNhcmRfY3R4LT5wY21fY3R4W3Bp cGVdOwo+ID4gQEAgLTE4MDYsOSArMTc4NiwyNCBAQCBzdGF0aWMgaW50IGhkbWlfbHBlX2F1ZGlv X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPiAgICAgCQlJTklUX1dPUkso JmN0eC0+aGRtaV9hdWRpb193cSwgaGFkX2F1ZGlvX3dxKTsKPiA+ICAgLQkJY3R4LT5oYWRfY29u ZmlnX29mZnNldCA9IEFVRElPX0hETUlfQ09ORklHX0E7Cj4gPiArCQlzd2l0Y2ggKHBpcGUpIHsK PiA+ICsJCWNhc2UgMDoKPiA+ICsJCQljdHgtPm1taW9fc3RhcnQgPQo+ID4gKwkJCQljYXJkX2N0 eC0+bW1pb19zdGFydCArIEFVRElPX0hETUlfQ09ORklHX0E7Cj4gPiArCQkJYnJlYWs7Cj4gPiAr CQljYXNlIDE6Cj4gPiArCQkJY3R4LT5tbWlvX3N0YXJ0ID0KPiA+ICsJCQkJY2FyZF9jdHgtPm1t aW9fc3RhcnQgKyBBVURJT19IRE1JX0NPTkZJR19COwo+ID4gKwkJCWJyZWFrOwo+ID4gKwkJY2Fz ZSAyOgo+ID4gKwkJCWN0eC0+bW1pb19zdGFydCA9Cj4gPiArCQkJCWNhcmRfY3R4LT5tbWlvX3N0 YXJ0ICsgQVVESU9fSERNSV9DT05GSUdfQzsKPiA+ICsJCQlicmVhazsKPiA+ICsJCWRlZmF1bHQ6 Cj4gPiArCQkJYnJlYWs7Cj4gPiArCQl9Cj4gPiAgIC0JCXJldCA9IHNuZF9wY21fbmV3KGNhcmQs IElOVEVMX0hBRCwgUENNX0lOREVYLAo+ID4gTUFYX1BCX1NUUkVBTVMsCj4gPiArCQlyZXQgPSBz bmRfcGNtX25ldyhjYXJkLCBJTlRFTF9IQUQsIHBpcGUsIE1BWF9QQl9TVFJFQU1TLAo+ID4gICAJ CQkJICBNQVhfQ0FQX1NUUkVBTVMsICZwY20pOwo+ID4gICAJCWlmIChyZXQpCj4gPiAgIAkJCWdv dG8gZXJyOwo+ID4gZGlmZiAtLWdpdCBhL3NvdW5kL3g4Ni9pbnRlbF9oZG1pX2F1ZGlvLmggYi9z b3VuZC94ODYvaW50ZWxfaGRtaV9hdWRpby5oCj4gPiBpbmRleCBhMjA5MDk2YjAzZGYuLmFiMGRl NWQ1MjVmNCAxMDA2NDQKPiA+IC0tLSBhL3NvdW5kL3g4Ni9pbnRlbF9oZG1pX2F1ZGlvLmgKPiA+ ICsrKyBiL3NvdW5kL3g4Ni9pbnRlbF9oZG1pX2F1ZGlvLmgKPiA+IEBAIC0zMiw3ICszMiw2IEBA Cj4gPiAgICAgI2luY2x1ZGUgImludGVsX2hkbWlfbHBlX2F1ZGlvLmgiCj4gPiAgIC0jZGVmaW5l IFBDTV9JTkRFWAkJMAo+ID4gICAjZGVmaW5lIE1BWF9QQl9TVFJFQU1TCQkxCj4gPiAgICNkZWZp bmUgTUFYX0NBUF9TVFJFQU1TCQkwCj4gPiAgICNkZWZpbmUgQllURVNfUEVSX1dPUkQJCTB4NAo+ ID4gQEAgLTEyNCw3ICsxMjMsNyBAQCBzdHJ1Y3Qgc25kX2ludGVsaGFkIHsKPiA+ICAgCXVuc2ln bmVkIGludCBwZXJpb2RfYnl0ZXM7CS8qIFBDTSBwZXJpb2Qgc2l6ZSBpbiBieXRlcyAqLwo+ID4g ICAgIAkvKiBpbnRlcm5hbCBzdHVmZiAqLwo+ID4gLQl1bnNpZ25lZCBpbnQgaGFkX2NvbmZpZ19v ZmZzZXQ7Cj4gPiArCXZvaWQgX19pb21lbSAqbW1pb19zdGFydDsKPiA+ICAgCXVuaW9uIGF1ZF9j ZmcgYXVkX2NvbmZpZzsJLyogQVVEX0NPTkZJRyByZWcgdmFsdWUgY2FjaGUgKi8KPiA+ICAgCXN0 cnVjdCB3b3JrX3N0cnVjdCBoZG1pX2F1ZGlvX3dxOwo+ID4gICAJc3RydWN0IG11dGV4IG11dGV4 OyAvKiBmb3IgcHJvdGVjdGluZyBjaG1hcCBhbmQgZWxkICovCj4gCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=