Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754811AbZFAIsR (ORCPT ); Mon, 1 Jun 2009 04:48:17 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751970AbZFAIsE (ORCPT ); Mon, 1 Jun 2009 04:48:04 -0400 Received: from hqemgate04.nvidia.com ([216.228.112.152]:16191 "EHLO hqemgate04.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752489AbZFAIsD (ORCPT ); Mon, 1 Jun 2009 04:48:03 -0400 X-PGP-Universal: processed; by hqnvupgp04.nvidia.com on Mon, 01 Jun 2009 01:47:56 -0700 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C9E295.A7110916" Subject: RE: [alsa-devel] [PATCH] Support NVIDIA 8 channel HDMI audio Date: Mon, 1 Jun 2009 16:47:53 +0800 Message-ID: <15F501D1A78BD343BE8F4D8DB854566B058A63EC@hkemmail01.nvidia.com> In-Reply-To: <200906010707.30788.marek.vasut@gmail.com> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: [alsa-devel] [PATCH] Support NVIDIA 8 channel HDMI audio Thread-Index: AcnidudxM/iEFSznSJCsq3Mic20lnAAHikgg References: <15F501D1A78BD343BE8F4D8DB854566B058A63E9@hkemmail01.nvidia.com> <200906010707.30788.marek.vasut@gmail.com> From: "Wei Ni" To: "Marek Vasut" , Cc: "Takashi Iwai" , "Peer Chen" , "linux-kernel" , "Pavel Hofman" , "akpm" X-OriginalArrivalTime: 01 Jun 2009 08:47:56.0750 (UTC) FILETIME=[A8D7F6E0:01C9E295] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 18320 Lines: 252 This is a multi-part message in MIME format. ------_=_NextPart_001_01C9E295.A7110916 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIHRoYW5rcyBmb3IgeW91ciBjb21tZW50cy4NCkkgcnVuIHNjcmlwdHMvY2hlY2twYXRjaC5w bCBvbiB0aGUgbmV3IHBhdGNoZXMsIGl0IGxvb2tzIG9rLCBpdCBoYXMgMCBlcnJvcnMgYW5kIDAg d2FybmluZ3MuDQpJIGF0dGFjaGVkIGl0Lg0KDQpUaGFua3MNCldlaS4NCg0KDQotLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogTWFyZWsgVmFzdXQgW21haWx0bzptYXJlay52YXN1dEBn bWFpbC5jb21dIA0KU2VudDogTW9uZGF5LCBKdW5lIDAxLCAyMDA5IDE6MDggUE0NClRvOiBhbHNh LWRldmVsQGFsc2EtcHJvamVjdC5vcmcNCkNjOiBXZWkgTmk7IFRha2FzaGkgSXdhaTsgUGVlciBD aGVuOyBsaW51eC1rZXJuZWw7IFBhdmVsIEhvZm1hbjsgYWtwbQ0KU3ViamVjdDogUmU6IFthbHNh LWRldmVsXSBbUEFUQ0hdIFN1cHBvcnQgTlZJRElBIDggY2hhbm5lbCBIRE1JIGF1ZGlvDQoNCk9u IE1vbmRheSAwMSBvZiBKdW5lIDIwMDkgMDQ6NTE6MTYgV2VpIE5pIHdyb3RlOg0KPiBIaSwgVGFr YXNoaQ0KPiBJJ20gYSBOdmlkaWEgZW5naW5lZXIsIHdlIHdpc2ggdG8gc3VwcG9ydCA4IGNoYW5u ZWwgSERNSSBhdWRpbyBmb3INCj4gTUNQNzgvN0EuDQo+DQo+IEkgYXR0YWNoZWQgdGhlIHBhdGNo IGZpbGUsIGl0IGJhc2VkIG9uIHRoZSBsYXRlc3Qgc291bmQgZ2l0IHRyZWUsDQo+IHBsZWFzZSBj aGVjayBpdC4NCj4NCg0KSGksDQpjYW4geW91IHBsZWFzZSBydW4gc2NyaXB0cy9jaGVja3BhdGNo LnBsIG9uIHRoZSBwYXRjaGVzIHlvdSBzdWJtaXQ/IEknZCBoZWxwIGEgDQpsb3QsIHRoYW5rcy4N Cg0KYnR3LiBoZXJlJ3MgdGhlIG91dHB1dCAoc2hvcnRlbmVkKToNCg0KdG90YWw6IDQ3IGVycm9y cywgMTUgd2FybmluZ3MsIDM0OSBsaW5lcyBjaGVja2VkDQoNCjAwMDEtU3VwcG9ydC1OVklESUEt OC1jaGFubmVsLUhETUktYXVkaW8ucGF0Y2ggaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgDQpy ZXZpZXcuICBJZiBhbnkgb2YgdGhlc2UgZXJyb3JzDQphcmUgZmFsc2UgcG9zaXRpdmVzIHJlcG9y dCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUNCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMu DQoNCj4gIDw8MDAwMS1TdXBwb3J0LU5WSURJQS04LWNoYW5uZWwtSERNSS1hdWRpby5wYXRjaD4+ DQo+DQo+IFRoYW5rcw0KPiBXZWkuDQo+DQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPi0tLS0tLS0t IFRoaXMgZW1haWwgbWVzc2FnZSBpcyBmb3IgdGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRlbmRlZCBy ZWNpcGllbnQocykNCj4gYW5kIG1heSBjb250YWluIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbi4g IEFueSB1bmF1dGhvcml6ZWQgcmV2aWV3LCB1c2UsDQo+IGRpc2Nsb3N1cmUgb3IgZGlzdHJpYnV0 aW9uIGlzIHByb2hpYml0ZWQuICBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQNCj4gcmVjaXBp ZW50LCBwbGVhc2UgY29udGFjdCB0aGUgc2VuZGVyIGJ5IHJlcGx5IGVtYWlsIGFuZCBkZXN0cm95 IGFsbCBjb3BpZXMNCj4gb2YgdGhlIG9yaWdpbmFsIG1lc3NhZ2UuDQo+IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPi0tLS0tLS0tDQoNCg0K ------_=_NextPart_001_01C9E295.A7110916 Content-Type: application/octet-stream; name="0001-Support-NVIDIA-8-channel-HDMI-audio.patch" Content-Transfer-Encoding: base64 Content-Description: 0001-Support-NVIDIA-8-channel-HDMI-audio.patch Content-Disposition: attachment; filename="0001-Support-NVIDIA-8-channel-HDMI-audio.patch" RnJvbSA5NDZmZDI0NGI0ZDU4ZjBkY2ZmYmVlYzVmNTdjYjViNzBhZmViZjRjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXZWkgTmkgPHduaUBudmlkaWEuY29tPgpEYXRlOiBNb24sIDEg SnVuIDIwMDkgMTY6Mzc6MjggKzA4MDAKU3ViamVjdDogW1BBVENIXSBTdXBwb3J0IE5WSURJQSA4 IGNoYW5uZWwgSERNSSBhdWRpbwoKU3VwcG9ydCA4IGNoYW5uZWwgSERNSSBhdWRpbyBmb3IgTUNQ NzgvN0EKClNpZ25lZC1vZmYtYnk6IFdlaSBOaSA8d25pQG52aWRpYS5jb20+Ci0tLQogc291bmQv cGNpL2hkYS9wYXRjaF9udmhkbWkuYyB8ICAyNzkgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tCiAxIGZpbGVzIGNoYW5nZWQsIDI0OCBpbnNlcnRpb25zKCspLCAzMSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaGRhL3BhdGNoX252aGRtaS5jIGIv c291bmQvcGNpL2hkYS9wYXRjaF9udmhkbWkuYwppbmRleCBkNTdkODEzLi5mNTc5MmUyIDEwMDY0 NAotLS0gYS9zb3VuZC9wY2kvaGRhL3BhdGNoX252aGRtaS5jCisrKyBiL3NvdW5kL3BjaS9oZGEv cGF0Y2hfbnZoZG1pLmMKQEAgLTM1LDkgKzM1LDI4IEBAIHN0cnVjdCBudmhkbWlfc3BlYyB7CiAJ c3RydWN0IGhkYV9wY20gcGNtX3JlYzsKIH07CiAKKyNkZWZpbmUgTnZfVkVSQl9TRVRfQ2hhbm5l bF9BbGxvY2F0aW9uICAgICAgICAgIDB4Rjc5CisjZGVmaW5lIE52X1ZFUkJfU0VUX0luZm9fRnJh bWVfQ2hlY2tzdW0gICAgICAgICAweEY3QQorI2RlZmluZSBOdl9WRVJCX1NFVF9BdWRpb19Qcm90 ZWN0aW9uX09uICAgICAgICAgMHhGOTgKKyNkZWZpbmUgTnZfVkVSQl9TRVRfQXVkaW9fUHJvdGVj dGlvbl9PZmYgICAgICAgIDB4Rjk5CisKKyNkZWZpbmUgTnZfTWFzdGVyX0NvbnZlcnRfbmlkICAg MHgwNAorI2RlZmluZSBOdl9NYXN0ZXJfUGluX25pZCAgICAgICAweDA1CisKK3N0YXRpYyBoZGFf bmlkX3QgbnZoZG1pX2NvbnZlcnRfbmlkc1s0XSA9IHsKKwkvKmZyb250LCByZWFyLCBjbGZlLCBy ZWFyX3N1cnIgKi8KKwkweDYsIDB4OCwgMHhhLCAweGMsCit9OworCiBzdGF0aWMgc3RydWN0IGhk YV92ZXJiIG52aGRtaV9iYXNpY19pbml0W10gPSB7CisJLyogc2V0IGF1ZGlvIHByb3RlY3Qgb24g Ki8KKwl7IDB4MSwgTnZfVkVSQl9TRVRfQXVkaW9fUHJvdGVjdGlvbl9PbiwgMHgxfSwKIAkvKiBl bmFibGUgZGlnaXRhbCBvdXRwdXQgb24gcGluIHdpZGdldCAqLwotCXsgMHgwNSwgQUNfVkVSQl9T RVRfUElOX1dJREdFVF9DT05UUk9MLCBQSU5fT1VUIH0sCisJeyAweDUsIEFDX1ZFUkJfU0VUX1BJ Tl9XSURHRVRfQ09OVFJPTCwgUElOX09VVCB8IDB4NSB9LAorCXsgMHg3LCBBQ19WRVJCX1NFVF9Q SU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVQgfCAweDUgfSwKKwl7IDB4OSwgQUNfVkVSQl9TRVRf UElOX1dJREdFVF9DT05UUk9MLCBQSU5fT1VUIHwgMHg1IH0sCisJeyAweGIsIEFDX1ZFUkJfU0VU X1BJTl9XSURHRVRfQ09OVFJPTCwgUElOX09VVCB8IDB4NSB9LAorCXsgMHhkLCBBQ19WRVJCX1NF VF9QSU5fV0lER0VUX0NPTlRST0wsIFBJTl9PVVQgfCAweDUgfSwKIAl7fSAvKiB0ZXJtaW5hdG9y ICovCiB9OwogCkBAIC02Niw0OCArODUsMjA1IEBAIHN0YXRpYyBpbnQgbnZoZG1pX2luaXQoc3Ry dWN0IGhkYV9jb2RlYyAqY29kZWMpCiAgKiBEaWdpdGFsIG91dAogICovCiBzdGF0aWMgaW50IG52 aGRtaV9kaWdfcGxheWJhY2tfcGNtX29wZW4oc3RydWN0IGhkYV9wY21fc3RyZWFtICpoaW5mbywK LQkJCQkgICAgIHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjLAotCQkJCSAgICAgc3RydWN0IHNuZF9w Y21fc3Vic3RyZWFtICpzdWJzdHJlYW0pCisJCQkJCXN0cnVjdCBoZGFfY29kZWMgKmNvZGVjLAor CQkJCQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3QgbnZo ZG1pX3NwZWMgKnNwZWMgPSBjb2RlYy0+c3BlYzsKIAlyZXR1cm4gc25kX2hkYV9tdWx0aV9vdXRf ZGlnX29wZW4oY29kZWMsICZzcGVjLT5tdWx0aW91dCk7CiB9CiAKLXN0YXRpYyBpbnQgbnZoZG1p X2RpZ19wbGF5YmFja19wY21fY2xvc2Uoc3RydWN0IGhkYV9wY21fc3RyZWFtICpoaW5mbywKLQkJ CQkgICAgICBzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywKLQkJCQkgICAgICBzdHJ1Y3Qgc25kX3Bj bV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3N0YXRpYyBpbnQgbnZoZG1pX2RpZ19wbGF5YmFja19w Y21fY2xvc2VfOGNoKHN0cnVjdCBoZGFfcGNtX3N0cmVhbSAqaGluZm8sCisJCQkJCXN0cnVjdCBo ZGFfY29kZWMgKmNvZGVjLAorCQkJCQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVh bSkKIHsKIAlzdHJ1Y3QgbnZoZG1pX3NwZWMgKnNwZWMgPSBjb2RlYy0+c3BlYzsKKwlpbnQgaTsK KworCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIE52X01hc3Rlcl9Db252ZXJ0X25pZCwKKwkJ CTAsIEFDX1ZFUkJfU0VUX0NIQU5ORUxfU1RSRUFNSUQsIDApOworCWZvciAoaSA9IDA7IGkgPCA0 OyBpKyspIHsKKwkJLyogc2V0IHRoZSBzdHJlYW0gaWQgKi8KKwkJc25kX2hkYV9jb2RlY193cml0 ZShjb2RlYywgbnZoZG1pX2NvbnZlcnRfbmlkc1tpXSwgMCwKKwkJCQlBQ19WRVJCX1NFVF9DSEFO TkVMX1NUUkVBTUlELCAwKTsKKwkJLyogc2V0IHRoZSBzdHJlYW0gZm9ybWF0ICovCisJCXNuZF9o ZGFfY29kZWNfd3JpdGUoY29kZWMsIG52aGRtaV9jb252ZXJ0X25pZHNbaV0sIDAsCisJCQkJQUNf VkVSQl9TRVRfU1RSRUFNX0ZPUk1BVCwgMCk7CisJfQorCiAJcmV0dXJuIHNuZF9oZGFfbXVsdGlf b3V0X2RpZ19jbG9zZShjb2RlYywgJnNwZWMtPm11bHRpb3V0KTsKIH0KIAotc3RhdGljIGludCBu dmhkbWlfZGlnX3BsYXliYWNrX3BjbV9wcmVwYXJlKHN0cnVjdCBoZGFfcGNtX3N0cmVhbSAqaGlu Zm8sCi0JCQkJCSAgICBzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYywKLQkJCQkJICAgIHVuc2lnbmVk IGludCBzdHJlYW1fdGFnLAotCQkJCQkgICAgdW5zaWduZWQgaW50IGZvcm1hdCwKLQkJCQkJICAg IHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFtKQorc3RhdGljIGludCBudmhkbWlf ZGlnX3BsYXliYWNrX3BjbV9jbG9zZV8yY2goc3RydWN0IGhkYV9wY21fc3RyZWFtICpoaW5mbywK KwkJCQkJc3RydWN0IGhkYV9jb2RlYyAqY29kZWMsCisJCQkJCXN0cnVjdCBzbmRfcGNtX3N1YnN0 cmVhbSAqc3Vic3RyZWFtKQoreworCXN0cnVjdCBudmhkbWlfc3BlYyAqc3BlYyA9IGNvZGVjLT5z cGVjOworCXJldHVybiBzbmRfaGRhX211bHRpX291dF9kaWdfY2xvc2UoY29kZWMsICZzcGVjLT5t dWx0aW91dCk7Cit9CisKK3N0YXRpYyBpbnQgbnZoZG1pX2RpZ19wbGF5YmFja19wY21fcHJlcGFy ZV84Y2goc3RydWN0IGhkYV9wY21fc3RyZWFtICpoaW5mbywKKwkJCQkJc3RydWN0IGhkYV9jb2Rl YyAqY29kZWMsCisJCQkJCXVuc2lnbmVkIGludCBzdHJlYW1fdGFnLAorCQkJCQl1bnNpZ25lZCBp bnQgZm9ybWF0LAorCQkJCQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSkKK3sK KwlpbnQgY2hzOworCXVuc2lnbmVkIGludCBkYXRhRENDMSwgZGF0YURDQzIsIGNoYW4sIGNoYW5t YXNrLCBjaGFubmVsX2lkOworCWludCBpOworCisJbXV0ZXhfbG9jaygmY29kZWMtPnNwZGlmX211 dGV4KTsKKworCWNocyA9IHN1YnN0cmVhbS0+cnVudGltZS0+Y2hhbm5lbHM7CisJY2hhbiA9IGNo cyA/IChjaHMgLSAxKSA6IDE7CisKKwlzd2l0Y2ggKGNocykgeworCWRlZmF1bHQ6CisJY2FzZSAw OgorCWNhc2UgMjoKKwkJY2hhbm1hc2sgPSAweDAwOworCQlicmVhazsKKwljYXNlIDQ6CisJCWNo YW5tYXNrID0gMHgwODsKKwkJYnJlYWs7CisJY2FzZSA2OgorCQljaGFubWFzayA9IDB4MGI7CisJ CWJyZWFrOworCWNhc2UgODoKKwkJY2hhbm1hc2sgPSAweDEzOworCQlicmVhazsKKwl9CisJZGF0 YURDQzEgPSBBQ19ESUcxX0VOQUJMRSB8IEFDX0RJRzFfQ09QWVJJR0hUOworCWRhdGFEQ0MyID0g MHgyOworCisJLyogc2V0IHRoZSBBdWRpbyBJbmZvckZyYW1lIENoYW5uZWwgQWxsb2NhdGlvbiAq LworCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIDB4MSwgMCwKKwkJCU52X1ZFUkJfU0VUX0No YW5uZWxfQWxsb2NhdGlvbiwgY2hhbm1hc2spOworCisJLyogdHVybiBvZmYgU1BESUYgb25jZTsg b3RoZXJ3aXNlIHRoZSBJRUM5NTggYml0cyB3b24ndCBiZSB1cGRhdGVkICovCisJaWYgKGNvZGVj LT5zcGRpZl9zdGF0dXNfcmVzZXQgJiYgKGNvZGVjLT5zcGRpZl9jdGxzICYgQUNfRElHMV9FTkFC TEUpKQorCQlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLAorCQkJCU52X01hc3Rlcl9Db252ZXJ0 X25pZCwKKwkJCQkwLAorCQkJCUFDX1ZFUkJfU0VUX0RJR0lfQ09OVkVSVF8xLAorCQkJCWNvZGVj LT5zcGRpZl9jdGxzICYgfkFDX0RJRzFfRU5BQkxFICYgMHhmZik7CisKKwkvKiBzZXQgdGhlIHN0 cmVhbSBpZCAqLworCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsIE52X01hc3Rlcl9Db252ZXJ0 X25pZCwgMCwKKwkJCUFDX1ZFUkJfU0VUX0NIQU5ORUxfU1RSRUFNSUQsIChzdHJlYW1fdGFnIDw8 IDQpIHwgMHgwKTsKKworCS8qIHNldCB0aGUgc3RyZWFtIGZvcm1hdCAqLworCXNuZF9oZGFfY29k ZWNfd3JpdGUoY29kZWMsIE52X01hc3Rlcl9Db252ZXJ0X25pZCwgMCwKKwkJCUFDX1ZFUkJfU0VU X1NUUkVBTV9GT1JNQVQsIGZvcm1hdCk7CisKKwkvKiB0dXJuIG9uIGFnYWluIChpZiBuZWVkZWQp ICovCisJLyogZW5hYmxlIGFuZCBzZXQgdGhlIGNoYW5uZWwgc3RhdHVzIGF1ZGlvL2RhdGEgZmxh ZyAqLworCWlmIChjb2RlYy0+c3BkaWZfc3RhdHVzX3Jlc2V0ICYmIChjb2RlYy0+c3BkaWZfY3Rs cyAmIEFDX0RJRzFfRU5BQkxFKSkgeworCQlzbmRfaGRhX2NvZGVjX3dyaXRlKGNvZGVjLAorCQkJ CU52X01hc3Rlcl9Db252ZXJ0X25pZCwKKwkJCQkwLAorCQkJCUFDX1ZFUkJfU0VUX0RJR0lfQ09O VkVSVF8xLAorCQkJCWNvZGVjLT5zcGRpZl9jdGxzICYgMHhmZik7CisJCXNuZF9oZGFfY29kZWNf d3JpdGUoY29kZWMsCisJCQkJTnZfTWFzdGVyX0NvbnZlcnRfbmlkLAorCQkJCTAsCisJCQkJQUNf VkVSQl9TRVRfRElHSV9DT05WRVJUXzIsIGRhdGFEQ0MyKTsKKwl9CisKKwlmb3IgKGkgPSAwOyBp IDwgNDsgaSsrKSB7CisJCWlmIChjaHMgPT0gMikKKwkJCWNoYW5uZWxfaWQgPSAwOworCQllbHNl CisJCQljaGFubmVsX2lkID0gaSAqIDI7CisKKwkJLyogdHVybiBvZmYgU1BESUYgb25jZTsKKwkJ ICpvdGhlcndpc2UgdGhlIElFQzk1OCBiaXRzIHdvbid0IGJlIHVwZGF0ZWQKKwkJICovCisJCWlm IChjb2RlYy0+c3BkaWZfc3RhdHVzX3Jlc2V0ICYmCisJCShjb2RlYy0+c3BkaWZfY3RscyAmIEFD X0RJRzFfRU5BQkxFKSkKKwkJCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsCisJCQkJbnZoZG1p X2NvbnZlcnRfbmlkc1tpXSwKKwkJCQkwLAorCQkJCUFDX1ZFUkJfU0VUX0RJR0lfQ09OVkVSVF8x LAorCQkJCWNvZGVjLT5zcGRpZl9jdGxzICYgfkFDX0RJRzFfRU5BQkxFICYgMHhmZik7CisJCS8q IHNldCB0aGUgc3RyZWFtIGlkICovCisJCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsCisJCQkJ bnZoZG1pX2NvbnZlcnRfbmlkc1tpXSwKKwkJCQkwLAorCQkJCUFDX1ZFUkJfU0VUX0NIQU5ORUxf U1RSRUFNSUQsCisJCQkJKHN0cmVhbV90YWcgPDwgNCkgfCBjaGFubmVsX2lkKTsKKwkJLyogc2V0 IHRoZSBzdHJlYW0gZm9ybWF0ICovCisJCXNuZF9oZGFfY29kZWNfd3JpdGUoY29kZWMsCisJCQkJ bnZoZG1pX2NvbnZlcnRfbmlkc1tpXSwKKwkJCQkwLAorCQkJCUFDX1ZFUkJfU0VUX1NUUkVBTV9G T1JNQVQsCisJCQkJZm9ybWF0KTsKKwkJLyogdHVybiBvbiBhZ2FpbiAoaWYgbmVlZGVkKSAqLwor CQkvKiBlbmFibGUgYW5kIHNldCB0aGUgY2hhbm5lbCBzdGF0dXMgYXVkaW8vZGF0YSBmbGFnICov CisJCWlmIChjb2RlYy0+c3BkaWZfc3RhdHVzX3Jlc2V0ICYmCisJCShjb2RlYy0+c3BkaWZfY3Rs cyAmIEFDX0RJRzFfRU5BQkxFKSkgeworCQkJc25kX2hkYV9jb2RlY193cml0ZShjb2RlYywKKwkJ CQkJbnZoZG1pX2NvbnZlcnRfbmlkc1tpXSwKKwkJCQkJMCwKKwkJCQkJQUNfVkVSQl9TRVRfRElH SV9DT05WRVJUXzEsCisJCQkJCWNvZGVjLT5zcGRpZl9jdGxzICYgMHhmZik7CisJCQlzbmRfaGRh X2NvZGVjX3dyaXRlKGNvZGVjLAorCQkJCQludmhkbWlfY29udmVydF9uaWRzW2ldLAorCQkJCQkw LAorCQkJCQlBQ19WRVJCX1NFVF9ESUdJX0NPTlZFUlRfMiwgZGF0YURDQzIpOworCQl9CisJfQor CisJLyogc2V0IHRoZSBBdWRpbyBJbmZvIEZyYW1lIENoZWNrc3VtICovCisJc25kX2hkYV9jb2Rl Y193cml0ZShjb2RlYywgMHgxLCAwLAorCQkJTnZfVkVSQl9TRVRfSW5mb19GcmFtZV9DaGVja3N1 bSwKKwkJCSgweDcxIC0gY2hhbiAtIGNoYW5tYXNrKSk7CisKKwltdXRleF91bmxvY2soJmNvZGVj LT5zcGRpZl9tdXRleCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbnZoZG1pX2RpZ19w bGF5YmFja19wY21fcHJlcGFyZV8yY2goc3RydWN0IGhkYV9wY21fc3RyZWFtICpoaW5mbywKKwkJ CQkJc3RydWN0IGhkYV9jb2RlYyAqY29kZWMsCisJCQkJCXVuc2lnbmVkIGludCBzdHJlYW1fdGFn LAorCQkJCQl1bnNpZ25lZCBpbnQgZm9ybWF0LAorCQkJCQlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJl YW0gKnN1YnN0cmVhbSkKIHsKIAlzdHJ1Y3QgbnZoZG1pX3NwZWMgKnNwZWMgPSBjb2RlYy0+c3Bl YzsKIAlyZXR1cm4gc25kX2hkYV9tdWx0aV9vdXRfZGlnX3ByZXBhcmUoY29kZWMsICZzcGVjLT5t dWx0aW91dCwgc3RyZWFtX3RhZywKLQkJCQkJICAgICBmb3JtYXQsIHN1YnN0cmVhbSk7CisJCQkJ CWZvcm1hdCwgc3Vic3RyZWFtKTsKIH0KIAotc3RhdGljIHN0cnVjdCBoZGFfcGNtX3N0cmVhbSBu dmhkbWlfcGNtX2RpZ2l0YWxfcGxheWJhY2sgPSB7CitzdGF0aWMgc3RydWN0IGhkYV9wY21fc3Ry ZWFtIG52aGRtaV9wY21fZGlnaXRhbF9wbGF5YmFja184Y2ggPSB7CisJLnN1YnN0cmVhbXMgPSAx LAorCS5jaGFubmVsc19taW4gPSAyLAorCS5jaGFubmVsc19tYXggPSA4LAorCS5uaWQgPSBOdl9N YXN0ZXJfQ29udmVydF9uaWQsCisJLnJhdGVzID0gU05EUlZfUENNX1JBVEVfNDgwMDAsCisJLm1h eGJwcyA9IDE2LAorCS5mb3JtYXRzID0gU05EUlZfUENNX0ZNVEJJVF9TMTZfTEUsCisJLm9wcyA9 IHsKKwkJLm9wZW4gPSBudmhkbWlfZGlnX3BsYXliYWNrX3BjbV9vcGVuLAorCQkuY2xvc2UgPSBu dmhkbWlfZGlnX3BsYXliYWNrX3BjbV9jbG9zZV84Y2gsCisJCS5wcmVwYXJlID0gbnZoZG1pX2Rp Z19wbGF5YmFja19wY21fcHJlcGFyZV84Y2gKKwl9LAorfTsKKworc3RhdGljIHN0cnVjdCBoZGFf cGNtX3N0cmVhbSBudmhkbWlfcGNtX2RpZ2l0YWxfcGxheWJhY2tfMmNoID0gewogCS5zdWJzdHJl YW1zID0gMSwKIAkuY2hhbm5lbHNfbWluID0gMiwKIAkuY2hhbm5lbHNfbWF4ID0gMiwKLQkubmlk ID0gMHg0LCAvKiBOSUQgdG8gcXVlcnkgZm9ybWF0cyBhbmQgcmF0ZXMgYW5kIHNldHVwIHN0cmVh bXMgKi8KKwkubmlkID0gTnZfTWFzdGVyX0NvbnZlcnRfbmlkLAogCS5yYXRlcyA9IFNORFJWX1BD TV9SQVRFXzQ4MDAwLAogCS5tYXhicHMgPSAxNiwKIAkuZm9ybWF0cyA9IFNORFJWX1BDTV9GTVRC SVRfUzE2X0xFLAogCS5vcHMgPSB7CiAJCS5vcGVuID0gbnZoZG1pX2RpZ19wbGF5YmFja19wY21f b3BlbiwKLQkJLmNsb3NlID0gbnZoZG1pX2RpZ19wbGF5YmFja19wY21fY2xvc2UsCi0JCS5wcmVw YXJlID0gbnZoZG1pX2RpZ19wbGF5YmFja19wY21fcHJlcGFyZQorCQkuY2xvc2UgPSBudmhkbWlf ZGlnX3BsYXliYWNrX3BjbV9jbG9zZV8yY2gsCisJCS5wcmVwYXJlID0gbnZoZG1pX2RpZ19wbGF5 YmFja19wY21fcHJlcGFyZV8yY2gKIAl9LAogfTsKIAotc3RhdGljIGludCBudmhkbWlfYnVpbGRf cGNtcyhzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3N0YXRpYyBpbnQgbnZoZG1pX2J1aWxkX3Bj bXNfOGNoKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQogewogCXN0cnVjdCBudmhkbWlfc3BlYyAq c3BlYyA9IGNvZGVjLT5zcGVjOwogCXN0cnVjdCBoZGFfcGNtICppbmZvID0gJnNwZWMtPnBjbV9y ZWM7CkBAIC0xMTcsNyArMjkzLDI0IEBAIHN0YXRpYyBpbnQgbnZoZG1pX2J1aWxkX3BjbXMoc3Ry dWN0IGhkYV9jb2RlYyAqY29kZWMpCiAKIAlpbmZvLT5uYW1lID0gIk5WSURJQSBIRE1JIjsKIAlp bmZvLT5wY21fdHlwZSA9IEhEQV9QQ01fVFlQRV9IRE1JOwotCWluZm8tPnN0cmVhbVtTTkRSVl9Q Q01fU1RSRUFNX1BMQVlCQUNLXSA9IG52aGRtaV9wY21fZGlnaXRhbF9wbGF5YmFjazsKKwlpbmZv LT5zdHJlYW1bU05EUlZfUENNX1NUUkVBTV9QTEFZQkFDS10KKwkJCQkJPSBudmhkbWlfcGNtX2Rp Z2l0YWxfcGxheWJhY2tfOGNoOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbnZoZG1p X2J1aWxkX3BjbXNfMmNoKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQoreworCXN0cnVjdCBudmhk bWlfc3BlYyAqc3BlYyA9IGNvZGVjLT5zcGVjOworCXN0cnVjdCBoZGFfcGNtICppbmZvID0gJnNw ZWMtPnBjbV9yZWM7CisKKwljb2RlYy0+bnVtX3BjbXMgPSAxOworCWNvZGVjLT5wY21faW5mbyA9 IGluZm87CisKKwlpbmZvLT5uYW1lID0gIk5WSURJQSBIRE1JIjsKKwlpbmZvLT5wY21fdHlwZSA9 IEhEQV9QQ01fVFlQRV9IRE1JOworCWluZm8tPnN0cmVhbVtTTkRSVl9QQ01fU1RSRUFNX1BMQVlC QUNLXQorCQkJCQk9IG52aGRtaV9wY21fZGlnaXRhbF9wbGF5YmFja18yY2g7CiAKIAlyZXR1cm4g MDsKIH0KQEAgLTEyNywxNCArMzIwLDQwIEBAIHN0YXRpYyB2b2lkIG52aGRtaV9mcmVlKHN0cnVj dCBoZGFfY29kZWMgKmNvZGVjKQogCWtmcmVlKGNvZGVjLT5zcGVjKTsKIH0KIAotc3RhdGljIHN0 cnVjdCBoZGFfY29kZWNfb3BzIG52aGRtaV9wYXRjaF9vcHMgPSB7CitzdGF0aWMgc3RydWN0IGhk YV9jb2RlY19vcHMgbnZoZG1pX3BhdGNoX29wc184Y2ggPSB7CisJLmJ1aWxkX2NvbnRyb2xzID0g bnZoZG1pX2J1aWxkX2NvbnRyb2xzLAorCS5idWlsZF9wY21zID0gbnZoZG1pX2J1aWxkX3BjbXNf OGNoLAorCS5pbml0ID0gbnZoZG1pX2luaXQsCisJLmZyZWUgPSBudmhkbWlfZnJlZSwKK307CisK K3N0YXRpYyBzdHJ1Y3QgaGRhX2NvZGVjX29wcyBudmhkbWlfcGF0Y2hfb3BzXzJjaCA9IHsKIAku YnVpbGRfY29udHJvbHMgPSBudmhkbWlfYnVpbGRfY29udHJvbHMsCi0JLmJ1aWxkX3BjbXMgPSBu dmhkbWlfYnVpbGRfcGNtcywKKwkuYnVpbGRfcGNtcyA9IG52aGRtaV9idWlsZF9wY21zXzJjaCwK IAkuaW5pdCA9IG52aGRtaV9pbml0LAogCS5mcmVlID0gbnZoZG1pX2ZyZWUsCiB9OwogCi1zdGF0 aWMgaW50IHBhdGNoX252aGRtaShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3N0YXRpYyBpbnQg cGF0Y2hfbnZoZG1pXzhjaChzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKK3sKKwlzdHJ1Y3QgbnZo ZG1pX3NwZWMgKnNwZWM7CisKKwlzcGVjID0ga3phbGxvYyhzaXplb2YoKnNwZWMpLCBHRlBfS0VS TkVMKTsKKwlpZiAoc3BlYyA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWNvZGVjLT5z cGVjID0gc3BlYzsKKworCXNwZWMtPm11bHRpb3V0Lm51bV9kYWNzID0gMDsgIC8qIG5vIGFuYWxv ZyAqLworCXNwZWMtPm11bHRpb3V0Lm1heF9jaGFubmVscyA9IDg7CisJc3BlYy0+bXVsdGlvdXQu ZGlnX291dF9uaWQgPSBOdl9NYXN0ZXJfQ29udmVydF9uaWQ7CisKKwljb2RlYy0+cGF0Y2hfb3Bz ID0gbnZoZG1pX3BhdGNoX29wc184Y2g7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBw YXRjaF9udmhkbWlfMmNoKHN0cnVjdCBoZGFfY29kZWMgKmNvZGVjKQogewogCXN0cnVjdCBudmhk bWlfc3BlYyAqc3BlYzsKIApAQCAtMTQ0LDEzICszNjMsMTEgQEAgc3RhdGljIGludCBwYXRjaF9u dmhkbWkoc3RydWN0IGhkYV9jb2RlYyAqY29kZWMpCiAKIAljb2RlYy0+c3BlYyA9IHNwZWM7CiAK LQlzcGVjLT5tdWx0aW91dC5udW1fZGFjcyA9IDA7CSAgLyogbm8gYW5hbG9nICovCisJc3BlYy0+ bXVsdGlvdXQubnVtX2RhY3MgPSAwOyAgLyogbm8gYW5hbG9nICovCiAJc3BlYy0+bXVsdGlvdXQu bWF4X2NoYW5uZWxzID0gMjsKLQlzcGVjLT5tdWx0aW91dC5kaWdfb3V0X25pZCA9IDB4NDsgLyog TklEIGZvciBjb3B5aW5nIGFuYWxvZyB0byBkaWdpdGFsLAotCQkJCQkgICAqIHNlZW1zIHRvIGJl IHVudXNlZCBpbiBwdXJlLWRpZ2l0YWwKLQkJCQkJICAgKiBjYXNlLiAqLworCXNwZWMtPm11bHRp b3V0LmRpZ19vdXRfbmlkID0gTnZfTWFzdGVyX0NvbnZlcnRfbmlkOwogCi0JY29kZWMtPnBhdGNo X29wcyA9IG52aGRtaV9wYXRjaF9vcHM7CisJY29kZWMtPnBhdGNoX29wcyA9IG52aGRtaV9wYXRj aF9vcHNfMmNoOwogCiAJcmV0dXJuIDA7CiB9CkBAIC0xNTksMTEgKzM3NiwxMSBAQCBzdGF0aWMg aW50IHBhdGNoX252aGRtaShzdHJ1Y3QgaGRhX2NvZGVjICpjb2RlYykKICAqIHBhdGNoIGVudHJp ZXMKICAqLwogc3RhdGljIHN0cnVjdCBoZGFfY29kZWNfcHJlc2V0IHNuZF9oZGFfcHJlc2V0X252 aGRtaVtdID0gewotCXsgLmlkID0gMHgxMGRlMDAwMiwgLm5hbWUgPSAiTUNQNzggSERNSSIsIC5w YXRjaCA9IHBhdGNoX252aGRtaSB9LAotCXsgLmlkID0gMHgxMGRlMDAwNiwgLm5hbWUgPSAiTUNQ NzggSERNSSIsIC5wYXRjaCA9IHBhdGNoX252aGRtaSB9LAotCXsgLmlkID0gMHgxMGRlMDAwNywg Lm5hbWUgPSAiTUNQN0EgSERNSSIsIC5wYXRjaCA9IHBhdGNoX252aGRtaSB9LAotCXsgLmlkID0g MHgxMGRlMDA2NywgLm5hbWUgPSAiTUNQNjcgSERNSSIsIC5wYXRjaCA9IHBhdGNoX252aGRtaSB9 LAotCXsgLmlkID0gMHgxMGRlODAwMSwgLm5hbWUgPSAiTUNQNzMgSERNSSIsIC5wYXRjaCA9IHBh dGNoX252aGRtaSB9LAorCXsgLmlkID0gMHgxMGRlMDAwMiwgLm5hbWUgPSAiTUNQNzggSERNSSIs IC5wYXRjaCA9IHBhdGNoX252aGRtaV84Y2ggfSwKKwl7IC5pZCA9IDB4MTBkZTAwMDYsIC5uYW1l ID0gIk1DUDc4IEhETUkiLCAucGF0Y2ggPSBwYXRjaF9udmhkbWlfOGNoIH0sCisJeyAuaWQgPSAw eDEwZGUwMDA3LCAubmFtZSA9ICJNQ1A3QSBIRE1JIiwgLnBhdGNoID0gcGF0Y2hfbnZoZG1pXzhj aCB9LAorCXsgLmlkID0gMHgxMGRlMDA2NywgLm5hbWUgPSAiTUNQNjcgSERNSSIsIC5wYXRjaCA9 IHBhdGNoX252aGRtaV8yY2ggfSwKKwl7IC5pZCA9IDB4MTBkZTgwMDEsIC5uYW1lID0gIk1DUDcz IEhETUkiLCAucGF0Y2ggPSBwYXRjaF9udmhkbWlfMmNoIH0sCiAJe30gLyogdGVybWluYXRvciAq LwogfTsKIAotLSAKMS41LjYKCg== ------_=_NextPart_001_01C9E295.A7110916-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/