From mboxrd@z Thu Jan 1 00:00:00 1970 From: klem.dev@gmail.com Subject: [PATCH 6/6] ESI W192M : Add sampling rate control of the ADC/DAC Date: Sat, 14 Mar 2015 03:31:42 +0100 Message-ID: <55039da4.6a07c20a.1b00.ffffa604@mx.google.com> References: <1426300302-20542-1-git-send-email-me> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1426300302-20542-1-git-send-email-me> 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: patch@alsa-project.org Cc: =?UTF-8?q?Cl=C3=A9ment=20Guedez?= , alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org RnJvbTogQ2zDqW1lbnQgR3VlZGV6IDxrbGVtLmRldkBnbWFpbC5jb20+CgpBZGQgc2FtcGxpbmcg cmF0ZSBjb250cm9sIGZvciBBREMvREFDIGZvciBFU0kgVzE5Mk0uCkFsbG93IHRvIHN3aXRjaCBi ZXR3ZWVuIDQ4Sy85NksvMTkySyBzYW1wbGluZyByYXRlLgpBbGwgREFDIG5lZWQgdG8gYmUgbXV0 ZSB3aGVuIGNoYW5naW5nIHNhbXBsZXJhdGUuCgpTaWduZWQtb2ZmLWJ5OiBDbMOpbWVudCBHdWVk ZXogPGtsZW0uZGV2QGdtYWlsLmNvbT4KCmRpZmYgLS1naXQgYS9zb3VuZC9wY2kvaWNlMTcxMi93 dG0uYyBiL3NvdW5kL3BjaS9pY2UxNzEyL3d0bS5jCmluZGV4IDQ5N2ZmMWEuLjQxNDAyMDAgMTAw NjQ0Ci0tLSBhL3NvdW5kL3BjaS9pY2UxNzEyL3d0bS5jCisrKyBiL3NvdW5kL3BjaS9pY2UxNzEy L3d0bS5jCkBAIC0zMCwxMiArMzAsMTggQEAKICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CiAjaW5j bHVkZSA8c291bmQvY29yZS5oPgogI2luY2x1ZGUgPHNvdW5kL3Rsdi5oPgorI2luY2x1ZGUgPGxp bnV4L3NsYWIuaD4KIAogI2luY2x1ZGUgImljZTE3MTIuaCIKICNpbmNsdWRlICJlbnZ5MjRodC5o IgogI2luY2x1ZGUgInd0bS5oIgogI2luY2x1ZGUgInN0YWM5NDZ4LmgiCiAKK3N0cnVjdCB3dG1f c3BlYyB7CisJLyogcmF0ZSBjaGFuZ2UgbmVlZHMgYXRvbWljIG11dGUvdW5tdXRlIG9mIGFsbCBk YWNzKi8KKwlzdHJ1Y3QgbXV0ZXggbXV0ZV9tdXRleDsKK307CisKIAogLyoKICAqCTIqQURDIDYq REFDIG5vMSByaW5nYnVmZmVyIHIvdyBvbiBpMmMgYnVzCkBAIC02OSwxNSArNzUsNjggQEAgc3Rh dGljIGlubGluZSB1bnNpZ25lZCBjaGFyIHN0YWM5NDYwXzJfZ2V0KHN0cnVjdCBzbmRfaWNlMTcx MiAqaWNlLCBpbnQgcmVnKQogLyoKICAqCURBQyBtdXRlIGNvbnRyb2wKICAqLworc3RhdGljIHZv aWQgc3RhYzk0NjBfZGFjX211dGVfYWxsKHN0cnVjdCBzbmRfaWNlMTcxMiAqaWNlLCB1bnNpZ25l ZCBjaGFyIG11dGUsCisJCQkJdW5zaWduZWQgc2hvcnQgaW50ICpjaGFuZ2VfbWFzaykKK3sKKwl1 bnNpZ25lZCBjaGFyIG5ldywgb2xkOworCWludCBpZCwgaWR4LCBjaGFuZ2U7CisKKwkvKnN0YWM5 NDYwIDEqLworCWZvciAoaWQgPSAwOyBpZCA8IDc7IGlkKyspIHsKKwkJaWYgKCpjaGFuZ2VfbWFz ayAmICgweDAxIDw8IGlkKSkgeworCQkJaWYoaWQgPT0gMCl7CisJCQkJaWR4ID0gU1RBQzk0Nlhf TUFTVEVSX1ZPTFVNRTsKKwkJCX1lbHNleworCQkJCWlkeCA9IFNUQUM5NDZYX0xGX1ZPTFVNRSAt IDEgKyBpZDsKKwkJCX0KKwkJCW9sZCA9IHN0YWM5NDYwX2dldChpY2UsIGlkeCk7CisJCQluZXcg PSAofm11dGUgPDwgNyAmIDB4ODApIHwgKG9sZCAmIH4weDgwKTsKKwkJCWNoYW5nZSA9IChuZXcg IT0gb2xkKTsKKwkJCWlmIChjaGFuZ2UpeworCQkJCXN0YWM5NDYwX3B1dChpY2UsIGlkeCwgbmV3 KTsKKwkJCQkqY2hhbmdlX21hc2sgPSAqY2hhbmdlX21hc2sgfCAoMHgwMSA8PCBpZCk7CisJCQl9 ZWxzZXsKKwkJCQkqY2hhbmdlX21hc2sgPSAqY2hhbmdlX21hc2sgJiB+KDB4MDEgPDwgaWQpOwor CQkJfQorCQl9CisJfQorCisJLypzdGFjOTQ2MCAyKi8KKwlmb3IgKGlkID0gMDsgaWQgPCAzOyBp ZCsrKSB7CisJCWlmICgqY2hhbmdlX21hc2sgJiAoMHgwMSA8PCAoaWR4ICsgNykpKSB7CisgICAg ICAgICAgICAgICAgICAgICAgICBpZihpZCA9PSAwKXsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaWR4ID0gU1RBQzk0NlhfTUFTVEVSX1ZPTFVNRTsKKyAgICAgICAgICAgICAgICAg ICAgICAgIH1lbHNleworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZHggPSBTVEFD OTQ2WF9MRl9WT0xVTUUgLSAxICsgaWQ7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKwkJ CW9sZCA9IHN0YWM5NDYwXzJfZ2V0KGljZSwgaWR4KTsKKwkJCW5ldyA9ICh+bXV0ZSA8PCA3ICYg MHg4MCkgfCAob2xkICYgfjB4ODApOworCQkJY2hhbmdlID0gKG5ldyAhPSBvbGQpOworCQkJaWYg KGNoYW5nZSl7CisJCQkJc3RhYzk0NjBfMl9wdXQoaWNlLCBpZHgsIG5ldyk7CisJCQkJKmNoYW5n ZV9tYXNrID0gKmNoYW5nZV9tYXNrIHwgKDB4MDEgPDwgaWQpOworCQkJfWVsc2V7CisJCQkJKmNo YW5nZV9tYXNrID0gKmNoYW5nZV9tYXNrICYgfigweDAxIDw8IGlkKTsKKwkJCX0KKwkJfQorCX0K K30KKworCisKICNkZWZpbmUgc3RhYzk0NjBfZGFjX211dGVfaW5mbwkJc25kX2N0bF9ib29sZWFu X21vbm9faW5mbwogCiBzdGF0aWMgaW50IHN0YWM5NDYwX2RhY19tdXRlX2dldChzdHJ1Y3Qgc25k X2tjb250cm9sICprY29udHJvbCwKIAkJCQlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29u dHJvbCkKIHsKIAlzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSA9IHNuZF9rY29udHJvbF9jaGlwKGtj b250cm9sKTsKKwlzdHJ1Y3Qgd3RtX3NwZWMgKnNwZWMgPSBpY2UtPnNwZWM7CiAJdW5zaWduZWQg Y2hhciB2YWw7CiAJaW50IGlkeCwgaWQ7CiAKKwltdXRleF9sb2NrKCZzcGVjLT5tdXRlX211dGV4 KTsKKwogCWlmIChrY29udHJvbC0+cHJpdmF0ZV92YWx1ZSkgewogCQlpZHggPSBTVEFDOTQ2WF9N QVNURVJfVk9MVU1FOwogCQlpZCA9IDA7CkBAIC05MCw2ICsxNDksOCBAQCBzdGF0aWMgaW50IHN0 YWM5NDYwX2RhY19tdXRlX2dldChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwKIAllbHNl CiAJCXZhbCA9IHN0YWM5NDYwXzJfZ2V0KGljZSwgaWR4IC0gNik7CiAJdWNvbnRyb2wtPnZhbHVl LmludGVnZXIudmFsdWVbMF0gPSAofnZhbCA+PiA3KSAmIDB4MTsKKworCW11dGV4X3VubG9jaygm c3BlYy0+bXV0ZV9tdXRleCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTM5Nyw2ICs0NTgsNDQgQEAg c3RhdGljIGludCBzdGFjOTQ2MF9taWNfc3dfcHV0KHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250 cm9sLAogfQogCiAKKy8qCisgKiBIYW5kbGVyIGZvciBzZXR0aW5nIGNvcnJlY3QgY29kZWMgcmF0 ZSAtIGNhbGxlZCB3aGVuIHJhdGUgY2hhbmdlIGlzIGRldGVjdGVkCisgKi8KK3N0YXRpYyB2b2lk IHN0YWM5NDYwX3NldF9yYXRlX3ZhbChzdHJ1Y3Qgc25kX2ljZTE3MTIgKmljZSwgdW5zaWduZWQg aW50IHJhdGUpCit7CisJdW5zaWduZWQgY2hhciBvbGQsIG5ldzsKKwl1bnNpZ25lZCBzaG9ydCBp bnQgY2hhbmdlZDsKKwlzdHJ1Y3Qgd3RtX3NwZWMgKnNwZWMgPSBpY2UtPnNwZWM7CisKKwlpZiAo cmF0ZSA9PSAwKSAgLyogbm8gaGludCAtIFMvUERJRiBpbnB1dCBpcyBtYXN0ZXIsIHNpbXBseSBy ZXR1cm4gKi8KKwkJcmV0dXJuOworCWVsc2UgaWYgKHJhdGUgPD0gNDgwMDApCisJCW5ldyA9IDB4 MDg7ICAgICAvKiAyNTZ4LCBiYXNlIHJhdGUgbW9kZSAqLworCWVsc2UgaWYgKHJhdGUgPD0gOTYw MDApCisJCW5ldyA9IDB4MTE7ICAgICAvKiAyNTZ4LCBtaWQgcmF0ZSBtb2RlICovCisJZWxzZQor CQluZXcgPSAweDEyOyAgICAgLyogMTI4eCwgaGlnaCByYXRlIG1vZGUgKi8KKworCW9sZCA9IHN0 YWM5NDYwX2dldChpY2UsIFNUQUM5NDZYX01BU1RFUl9DTE9DS0lORyk7CisJaWYgKG9sZCA9PSBu ZXcpCisJCXJldHVybjsKKwkvKiBjaGFuZ2UgZGV0ZWN0ZWQsIHNldHRpbmcgbWFzdGVyIGNsb2Nr LCBtdXRpbmcgZmlyc3QgKi8KKwkvKiBkdWUgdG8gcG9zc2libGUgY29uZmxpY3RzIHdpdGggbXV0 ZSBjb250cm9scyAtIG11dGV4aW5nICovCisJbXV0ZXhfbG9jaygmc3BlYy0+bXV0ZV9tdXRleCk7 CisJLyogd2UgaGF2ZSB0byByZW1lbWJlciBjdXJyZW50IG11dGUgc3RhdHVzIGZvciBlYWNoIERB QyAqLworCWNoYW5nZWQgPSAweEZGRkY7CisJc3RhYzk0NjBfZGFjX211dGVfYWxsKGljZSwgMCwg JmNoYW5nZWQpOworCS8qcHJpbnRrKEtFUk5fREVCVUcgIlJhdGUgY2hhbmdlOiAlZCwgbmV3IE1D OiAweCUwMnhcbiIsIHJhdGUsIG5ldyk7Ki8KKwlzdGFjOTQ2MF9wdXQoaWNlLCBTVEFDOTQ2WF9N QVNURVJfQ0xPQ0tJTkcsIG5ldyk7CisJc3RhYzk0NjBfMl9wdXQoaWNlLCBTVEFDOTQ2WF9NQVNU RVJfQ0xPQ0tJTkcsIG5ldyk7CisJdWRlbGF5KDEwKTsKKwkvKiB1bm11dGluZyAtIG9ubHkgb3Jp Z2luYWxseSB1bm11dGVkIGRhY3MgLQorCSogaS5lLiB0aG9zZSBjaGFuZ2VkIHdoZW4gbXV0aW5n ICovCisJc3RhYzk0NjBfZGFjX211dGVfYWxsKGljZSwgMSwgJmNoYW5nZWQpOworCW11dGV4X3Vu bG9jaygmc3BlYy0+bXV0ZV9tdXRleCk7Cit9CisKKwogLypMaW1pdHMgdmFsdWUgaW4gZEIgZm9y IGZhZGVyKi8KIHN0YXRpYyBjb25zdCBERUNMQVJFX1RMVl9EQl9TQ0FMRShkYl9zY2FsZV9kYWMs IC0xOTEyNSwgNzUsIDApOwogc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKGRiX3Nj YWxlX2FkYywgMCwgMTUwLCAwKTsKQEAgLTQ5NiwyMSArNTk1LDMyIEBAIHN0YXRpYyBpbnQgd3Rt X2luaXQoc3RydWN0IHNuZF9pY2UxNzEyICppY2UpCiB7CiAJc3RhdGljIHVuc2lnbmVkIHNob3J0 IHN0YWNfaW5pdHNfd3RtW10gPSB7CiAJCVNUQUM5NDZYX1JFU0VULCAwLAorCQlTVEFDOTQ2WF9N QVNURVJfQ0xPQ0tJTkcsIDB4MTEsCiAJCSh1bnNpZ25lZCBzaG9ydCktMQogCX07CiAJdW5zaWdu ZWQgc2hvcnQgKnA7CisJc3RydWN0IHd0bV9zcGVjICpzcGVjOwogCiAJLypXVE0gMTkyTSovCiAJ aWNlLT5udW1fdG90YWxfZGFjcyA9IDg7CiAJaWNlLT5udW1fdG90YWxfYWRjcyA9IDQ7CiAJaWNl LT5mb3JjZV9yZG1hMSA9IDE7CiAKKwkvKmluaXQgbXV0ZXggZm9yIGRhYyBtdXRlIGNvbmZsaWN0 Ki8KKwlzcGVjID0ga3phbGxvYyhzaXplb2YoKnNwZWMpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXNw ZWMpCisJCXJldHVybiAtRU5PTUVNOworCWljZS0+c3BlYyA9IHNwZWM7CisJbXV0ZXhfaW5pdCgm c3BlYy0+bXV0ZV9tdXRleCk7CisKKwogCS8qaW5pdGlhbGl6ZSBjb2RlYyovCiAJcCA9IHN0YWNf aW5pdHNfd3RtOwogCWZvciAoOyAqcCAhPSAodW5zaWduZWQgc2hvcnQpLTE7IHAgKz0gMikgewog CQlzdGFjOTQ2MF9wdXQoaWNlLCBwWzBdLCBwWzFdKTsKIAkJc3RhYzk0NjBfMl9wdXQoaWNlLCBw WzBdLCBwWzFdKTsKIAl9CisJaWNlLT5ncGlvLnNldF9wcm9fcmF0ZSA9IHN0YWM5NDYwX3NldF9y YXRlX3ZhbDsKIAlyZXR1cm4gMDsKIH0KIAotLSAKMi4xLjQKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFsc2EtZGV2ZWwgbWFpbGluZyBsaXN0CkFsc2Et ZGV2ZWxAYWxzYS1wcm9qZWN0Lm9yZwpodHRwOi8vbWFpbG1hbi5hbHNhLXByb2plY3Qub3JnL21h aWxtYW4vbGlzdGluZm8vYWxzYS1kZXZlbAo=