From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Subject: Re: [PATCH v4 1/3] ASoC: uda1380: make driver more powersave-friendly Date: Sun, 29 Aug 2010 21:11:51 +0200 Message-ID: <201008292111.51406.marek.vasut@gmail.com> References: <1283101872-6410-1-git-send-email-anarsoul@gmail.com> <201008291937.03205.marek.vasut@gmail.com> <201008292113.21777.anarsoul@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-fx0-f51.google.com (mail-fx0-f51.google.com [209.85.161.51]) by alsa0.perex.cz (Postfix) with ESMTP id 4D827103801 for ; Sun, 29 Aug 2010 21:12:35 +0200 (CEST) Received: by fxm11 with SMTP id 11so2964189fxm.38 for ; Sun, 29 Aug 2010 12:12:35 -0700 (PDT) In-Reply-To: <201008292113.21777.anarsoul@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: Vasily Khoruzhick Cc: alsa-devel@alsa-project.org, Mark Brown , Ben Dooks , Philipp Zabel , Liam Girdwood List-Id: alsa-devel@alsa-project.org RG5lIE5lIDI5LiBzcnBuYSAyMDEwIDIwOjEzOjA3IFZhc2lseSBLaG9ydXpoaWNrIG5hcHNhbChh KToKPiDQkiDRgdC+0L7QsdGJ0LXQvdC40Lgg0L7RgiAyOSDQsNCy0LPRg9GB0YLQsCAyMDEwIDIw OjM3OjAzINCw0LLRgtC+0YAgTWFyZWsgVmFzdXQg0L3QsNC/0LjRgdCw0Ls6Cj4gID4gPiArCXZv aWQgKmNvbnRyb2xfZGF0YTsKPiA+IAo+ID4gSXQncyBhbHJlYWR5IGluIGNvZGVjLT5jb250cm9s X2RhdGEsIGlzbid0IGl0ID8KPiAKPiBJJ20gdXNpbmcgcHJpdi0+Y29udHJvbF9kYXRhIGFzIHRl bXBvcmFyeSBzdG9yYWdlIHRvIGluaXRpYWxpemUgY29kZWMtCj4gCj4gPmNvbnRyb2xfZGF0YSBs YXRlciwgYXMgdGhlcmUncyBubyBzbmRfc29jX2NvZGVjIGluIGkyY19wcm9iZQoKTm93IEkga25v dywgbmV2ZXJtaW5kLgoKPiA+Cj4gPiA+IEBAIC0xNDUsNyArMTg1LDYgQEAgc3RhdGljIHZvaWQg dWRhMTM4MF9mbHVzaF93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdAo+ID4gPiAqd29yaykgdWRhMTM4 MF9yZWFkX3JlZ19jYWNoZSh1ZGExMzgwX2NvZGVjLCByZWcpKTsKPiA+ID4gCj4gPiA+ICAJCWNs ZWFyX2JpdChiaXQsICZ1ZGExMzgwX2NhY2hlX2RpcnR5KTsKPiA+ID4gIAkKPiA+ID4gIAl9Cj4g PiA+IAo+ID4gPiAtCj4gPiAKPiA+IFJlbW92ZQo+IAo+IEl0IGltcHJvdmVzIGNvZGUgZm9ybWF0 dGluZy4KCkl0J3MgdW5yZWxhdGVkIHRvIHRoaXMgcGF0Y2ggdGhvdWdoIC4uLiBtYXliZSBzb21l IGdlbmVyYWwgImZvcm1hdGluZyBmaXhlcyIgCnBhdGNoIHdvdWxkIGJlIGFwcHJvcHJpYXRlLgo+ IAo+ID4gPiBAQCAtNTYwLDE4ICs1OTksNDAgQEAgc3RhdGljIGludCB1ZGExMzgwX3NldF9iaWFz X2xldmVsKHN0cnVjdAo+ID4gPiBzbmRfc29jX2NvZGVjICpjb2RlYywgZW51bSBzbmRfc29jX2Jp YXNfbGV2ZWwgbGV2ZWwpCj4gPiA+IAo+ID4gPiAgewo+ID4gPiAgCj4gPiA+ICAJaW50IHBtID0g dWRhMTM4MF9yZWFkX3JlZ19jYWNoZShjb2RlYywgVURBMTM4MF9QTSk7Cj4gPiA+IAo+ID4gPiAr CXN0cnVjdCB1ZGExMzgwX3BsYXRmb3JtX2RhdGEgKnBkYXRhID0gY29kZWMtPmRldi0+cGxhdGZv cm1fZGF0YTsKPiA+ID4gKwo+ID4gPiArCWlmIChjb2RlYy0+Ymlhc19sZXZlbCA9PSBsZXZlbCkK PiA+ID4gKwkJcmV0dXJuIDA7Cj4gPiA+IAo+ID4gPiAgCXN3aXRjaCAobGV2ZWwpIHsKPiA+ID4g IAljYXNlIFNORF9TT0NfQklBU19PTjoKPiA+ID4gCj4gPiA+ICAJY2FzZSBTTkRfU09DX0JJQVNf UFJFUEFSRToKPiA+ID4gKwkJLyogQURDLCBEQUMgb24gKi8KPiA+ID4gCj4gPiA+ICAJCXVkYTEz ODBfd3JpdGUoY29kZWMsIFVEQTEzODBfUE0sIFIwMl9QT05fQklBUyB8IHBtKTsKPiA+ID4gIAkJ YnJlYWs7Cj4gPiA+ICAJCj4gPiA+ICAJY2FzZSBTTkRfU09DX0JJQVNfU1RBTkRCWToKPiA+ID4g LQkJdWRhMTM4MF93cml0ZShjb2RlYywgVURBMTM4MF9QTSwgUjAyX1BPTl9CSUFTKTsKPiA+ID4g LQkJYnJlYWs7Cj4gPiA+IC0JY2FzZSBTTkRfU09DX0JJQVNfT0ZGOgo+ID4gPiArCQlpZiAoY29k ZWMtPmJpYXNfbGV2ZWwgPT0gU05EX1NPQ19CSUFTX09GRikgewo+ID4gPiArCQkJaWYgKHBkYXRh LT5ncGlvX3Bvd2VyICE9IC1FSU5WQUwpIHsKPiA+ID4gKwkJCQlncGlvX3NldF92YWx1ZShwZGF0 YS0+Z3Bpb19wb3dlciwgMSk7Cj4gPiA+ICsJCQkJdWRhMTM4MF9yZXNldChjb2RlYyk7Cj4gPiA+ ICsJCQl9Cj4gPiA+ICsKPiA+ID4gKwkJCXVkYTEzODBfc3luY19jYWNoZShjb2RlYyk7Cj4gPiA+ ICsJCX0KPiA+ID4gCj4gPiA+ICAJCXVkYTEzODBfd3JpdGUoY29kZWMsIFVEQTEzODBfUE0sIDB4 MCk7Cj4gPiAKPiA+IE1heWJlIHNvbWUgY29tbWVudCB3b24ndCBodXJ0IGhlcmUgYWJvdXQgd2hh dCB0aGF0IDB4MCBkb2VzLgo+IAo+IFdlbGwsIGNvZGUgZXhwbGFpbiBpdCBwcmV0dHkgd2VsbCwg aXQgcHV0cyBjb2RlYyBpbnRvIHN0YW5kLWJ5IG1vZGUgOikKCi8qIFdyaXRpbmcgMHgwIHRvIFVE QTEzODBfUE0gcmVnaXN0ZXIgcHV0cyBjb2RlYyBpbnRvIHNsZWVwIG1vZGUgKi8KCj4gCj4gPiA+ ICAJCWJyZWFrOwo+ID4gPiAKPiA+ID4gKwljYXNlIFNORF9TT0NfQklBU19PRkY6Cj4gPiBpZiAo cGRhdGEtPmdwaW9fcG93ZXIgPT0gLUVJTlZBTCkKPiA+IAo+ID4gCWJyZWFrOwo+ID4gCj4gPiAu Li5jb2RlLi4uCj4gPiAKPiA+IG1pZ2h0IGhlbHAgeW91ciBhbGlnbm1lbnQgYmVsb3cuCj4gCj4g T2sKPiAKPiA+ID4gKwkJaWYgKHBkYXRhLT5ncGlvX3Bvd2VyICE9IC1FSU5WQUwpIHsKPiA+ID4g KwkJCWludCByZWc7Cj4gPiA+ICsJCQlncGlvX3NldF92YWx1ZShwZGF0YS0+Z3Bpb19wb3dlciwg MCk7Cj4gPiA+ICsKPiA+ID4gKwkJCS8qIE1hcmsgbWl4ZXIgcmVncyBjYWNoZSBkaXJ0eSB0byBz eW5jIHRoZW0gd2l0aAo+ID4gPiArCQkJICogY29kZWMgcmVncyBvbiBwb3dlciBvbi4KPiA+ID4g KwkJCSAqLwo+ID4gPiArCQkJZm9yIChyZWcgPSBVREExMzgwX01WT0w7IHJlZyA8IFVEQTEzODBf Q0FDSEVSRUdOVU07Cj4gPiA+ICsJCQkJcmVnKyspCj4gPiA+ICsJCQkJc2V0X2JpdChyZWcgLSAw eDEwLCAmdWRhMTM4MF9jYWNoZV9kaXJ0eSk7Cj4gPiA+ICsJCX0KPiA+ID4gCj4gPiA+ICAJfQo+ ID4gPiAgCWNvZGVjLT5iaWFzX2xldmVsID0gbGV2ZWw7Cj4gPiA+ICAJcmV0dXJuIDA7Cj4gPiA+ IAo+ID4gPiBAQCAtNjUxLDE2ICs3MTIsNiBAQCBzdGF0aWMgaW50IHVkYTEzODBfc3VzcGVuZChz dHJ1Y3Qgc25kX3NvY19jb2RlYwo+ID4gPiAqY29kZWMsIHBtX21lc3NhZ2VfdCBzdGF0ZSkKPiA+ ID4gCj4gPiA+ICBzdGF0aWMgaW50IHVkYTEzODBfcmVzdW1lKHN0cnVjdCBzbmRfc29jX2NvZGVj ICpjb2RlYykKPiA+ID4gIHsKPiA+ID4gCj4gPiA+IC0JaW50IGk7Cj4gPiA+IC0JdTggZGF0YVsy XTsKPiA+ID4gLQl1MTYgKmNhY2hlID0gY29kZWMtPnJlZ19jYWNoZTsKPiA+ID4gLQo+ID4gPiAt CS8qIFN5bmMgcmVnX2NhY2hlIHdpdGggdGhlIGhhcmR3YXJlICovCj4gPiA+IC0JZm9yIChpID0g MDsgaSA8IEFSUkFZX1NJWkUodWRhMTM4MF9yZWcpOyBpKyspIHsKPiA+ID4gLQkJZGF0YVswXSA9 IChpIDw8IDEpIHwgKChjYWNoZVtpXSA+PiA4KSAmIDB4MDAwMSk7Cj4gPiA+IC0JCWRhdGFbMV0g PSBjYWNoZVtpXSAmIDB4MDBmZjsKPiA+ID4gLQkJY29kZWMtPmh3X3dyaXRlKGNvZGVjLT5jb250 cm9sX2RhdGEsIGRhdGEsIDIpOwo+ID4gPiAtCX0KPiA+ID4gCj4gPiA+ICAJdWRhMTM4MF9zZXRf Ymlhc19sZXZlbChjb2RlYywgU05EX1NPQ19CSUFTX1NUQU5EQlkpOwo+ID4gPiAgCXJldHVybiAw Owo+ID4gPiAgCj4gPiA+ICB9Cj4gPiA+IAo+ID4gPiBAQCAtNjcxLDI5ICs3MjIsMzIgQEAgc3Rh dGljIGludCB1ZGExMzgwX3Byb2JlKHN0cnVjdCBzbmRfc29jX2NvZGVjCj4gPiA+ICpjb2RlYykK PiA+ID4gCj4gPiA+ICAJc3RydWN0IHVkYTEzODBfcHJpdiAqdWRhMTM4MCA9IHNuZF9zb2NfY29k ZWNfZ2V0X2RydmRhdGEoY29kZWMpOwo+ID4gPiAgCWludCByZXQ7Cj4gPiA+IAo+ID4gPiArCXVk YTEzODAtPmNvZGVjID0gY29kZWM7Cj4gPiA+ICsKPiA+ID4gCj4gPiA+ICAJY29kZWMtPmh3X3dy aXRlID0gKGh3X3dyaXRlX3QpaTJjX21hc3Rlcl9zZW5kOwo+ID4gPiAKPiA+ID4gKwljb2RlYy0+ Y29udHJvbF9kYXRhID0gdWRhMTM4MC0+Y29udHJvbF9kYXRhOwo+ID4gPiAKPiA+ID4gLQlpZiAo IXBkYXRhIHx8ICFwZGF0YS0+Z3Bpb19wb3dlciB8fCAhcGRhdGEtPmdwaW9fcmVzZXQpCj4gPiA+ ICsJaWYgKCFwZGF0YSkKPiA+ID4gCj4gPiA+ICAJCXJldHVybiAtRUlOVkFMOwo+ID4gPiAKPiA+ ID4gLQlyZXQgPSBncGlvX3JlcXVlc3QocGRhdGEtPmdwaW9fcG93ZXIsICJ1ZGExMzgwIHBvd2Vy Iik7Cj4gPiA+IC0JaWYgKHJldCkKPiA+ID4gLQkJcmV0dXJuIHJldDsKPiA+ID4gLQlyZXQgPSBn cGlvX3JlcXVlc3QocGRhdGEtPmdwaW9fcmVzZXQsICJ1ZGExMzgwIHJlc2V0Iik7Cj4gPiA+IC0J aWYgKHJldCkKPiA+ID4gLQkJZ290byBlcnJfZ3BpbzsKPiA+ID4gLQo+ID4gPiAtCWdwaW9fZGly ZWN0aW9uX291dHB1dChwZGF0YS0+Z3Bpb19wb3dlciwgMSk7Cj4gPiA+IC0KPiA+ID4gLQkvKiB3 ZSBtYXkgbmVlZCB0byBoYXZlIHRoZSBjbG9jayBydW5uaW5nIGhlcmUgLSBwSDUgKi8KPiA+ID4g LQlncGlvX2RpcmVjdGlvbl9vdXRwdXQocGRhdGEtPmdwaW9fcmVzZXQsIDEpOwo+ID4gPiAtCXVk ZWxheSg1KTsKPiA+ID4gLQlncGlvX3NldF92YWx1ZShwZGF0YS0+Z3Bpb19yZXNldCwgMCk7Cj4g PiAKPiA+IGlmIChncGlvX2lzX3ZhbGlkKC4uLmdwaW8uLi4pKSB7Cj4gPiAKPiA+IH0KPiAKPiBX aWxsIG5vdCB3b3JrIGZvciBzM2MyNHh4Ogo+IAo+IHN0YXRpYyBpbmxpbmUgaW50IGdwaW9faXNf dmFsaWQoaW50IG51bWJlcikKPiB7Cj4gICAgICAgICAvKiBvbmx5IHNvbWUgbm9uLW5lZ2F0aXZl IG51bWJlcnMgYXJlIHZhbGlkICovCj4gICAgICAgICByZXR1cm4gKCh1bnNpZ25lZCludW1iZXIp IDwgQVJDSF9OUl9HUElPUzsKPiB9Cj4gCldoeSB3b24ndCBpdCB3b3JrPyBZb3UgaGF2ZSBzb21l IG5lZ2F0aXZlIHZhbHVlcyBvZiBHUElPIHBpbnMgdGhlcmU/Cgo+ID4gPiArCWlmIChwZGF0YS0+ Z3Bpb19yZXNldCAhPSAtRUlOVkFMKSB7Cj4gPiA+ICsJCXJldCA9IGdwaW9fcmVxdWVzdChwZGF0 YS0+Z3Bpb19yZXNldCwgInVkYTEzODAgcmVzZXQiKTsKPiA+ID4gKwkJaWYgKHJldCkKPiA+ID4g KwkJCWdvdG8gZXJyX291dDsKPiA+ID4gKwkJZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KHBkYXRhLT5n cGlvX3Jlc2V0LCAwKTsKPiA+IAo+ID4gSGFuZGxlIHJldHVybiB2YWx1ZSBhbmQgZG9udCBkZXBl bmQgb24gdGhpcyBzZXR0aW5nIHRoZSBHUElPIHZhbHVlLCB1c2UKPiA+IGdwaW9fc2V0X3ZhbHVl KCkgdG9vIHBsZWFzZS4KPiAKPiBUaGlzIGNvZGUgaGFuZGxlcyByZXNldC1sZXNzIG1hY2hpbmVz IChmb3IgZXhhbXBsZSwgaDE5NDApLgo+IGdwaW9fZGlyZWN0aW9uX291dHB1dCBpcyBuZWNjZXNz YXJ5IGhlcmUgdG8gZW5zdXJlIHRoYXQgcGluIGlzIGluIG91dHB1dAo+IG1vZGUuCj4gCnJldCA9 IGdwaW9fZGlyZWN0aW9uX291dHB1dChwZGF0YS0+Z3Bpb19yZXNldCwgMCk7CmlmIChyZXQpIHsK CWRldl9lcnIoKTsKCWdvdG8gZXJyOwp9CmdwaW9fc2V0X3ZhbHVlKCk7CgouLi4KCmVycjoKCWdw aW9fZnJlZSgpOwoKU3R1ZmYgbGlrZSB0aGlzLgo+ID4gPiArCX0KPiA+ID4gCj4gPiA+IC0JcmV0 ID0gdWRhMTM4MF9yZXNldChjb2RlYyk7Cj4gPiA+IC0JaWYgKHJldCA8IDApIHsKPiA+ID4gLQkJ ZGV2X2Vycihjb2RlYy0+ZGV2LCAiRmFpbGVkIHRvIGlzc3VlIHJlc2V0XG4iKTsKPiA+ID4gLQkJ Z290byBlcnJfcmVzZXQ7Cj4gPiA+ICsJaWYgKHBkYXRhLT5ncGlvX3Bvd2VyICE9IC1FSU5WQUwp IHsKPiA+ID4gKwkJcmV0ID0gZ3Bpb19yZXF1ZXN0KHBkYXRhLT5ncGlvX3Bvd2VyLCAidWRhMTM4 MCBwb3dlciIpOwo+ID4gPiArCQlpZiAocmV0KQo+ID4gPiArCQkJZ290byBlcnJfZ3BpbzsKPiA+ ID4gKwkJZ3Bpb19kaXJlY3Rpb25fb3V0cHV0KHBkYXRhLT5ncGlvX3Bvd2VyLCAwKTsKCkhFUkUs IHNlZSBiZWxvdy4KCj4gPiA+ICsJfSBlbHNlIHsKPiA+ID4gKwkJcmV0ID0gdWRhMTM4MF9yZXNl dChjb2RlYyk7Cj4gPiA+ICsJCWlmIChyZXQpIHsKPiA+ID4gKwkJCWRldl9lcnIoY29kZWMtPmRl diwgIkZhaWxlZCB0byBpc3N1ZSByZXNldFxuIik7Cj4gPiA+ICsJCQlnb3RvIGVycl9yZXNldDsK PiA+ID4gKwkJfQo+ID4gPiAKPiA+ID4gIAl9Cj4gPiAKPiA+IERpdHRvLgo+IAo+IEhhbmRsaW5n IGhlcmUgbWFjaGluZSB3aGljaCBsYWNrcyBwb3dlciBwaW4uCgpUaGlzIHNob3VsZCBoYXZlIGJl ZW4gLi4uIHNjcm9sbCB0byBteSBwcmV2aW91cyBjb21tZW50IHN0YXJ0aW5nIHdpdGggSEVSRS4K PiAKPiA+ID4gKwl1ZGExMzgwLT5jb250cm9sX2RhdGEgPSBpMmM7Cj4gPiAKPiA+IFNvIGlzIHRo aXMgbmVlZGVkID8gQ2FuJ3QgeW91IGFjY2VzcyBjb2RlYy0+Y29udHJvbF9kYXRhID8KPiAKPiBT ZWUgY29tbWVudCBhYm92ZS4KClNlZSBjb21tZW50IGFib3ZlLiA6KQo+IAo+ID4gPiAgCQlrZnJl ZSh1ZGExMzgwKTsKPiA+ID4gCj4gPiA+ICsKPiA+IAo+ID4gUmVtb3ZlCj4gCj4gSXQgaW1wcm92 ZXMgZm9ybWF0dGluZy4KClNlZSBjb21tZW50IGFib3ZlLiA6KQo+IAo+ID4gPiAgCXJldHVybiBy ZXQ7Cj4gPiA+ICAKPiA+ID4gIH0KPiA+IAo+ID4gQ2hlZXJzCj4gCj4gdGhhbmtzLAo+IAo+IFJl Z2FyZHMKPiBWYXNpbHkKCkNoZWVycwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpBbHNhLWRldmVsIG1haWxpbmcgbGlzdApBbHNhLWRldmVsQGFsc2EtcHJv amVjdC5vcmcKaHR0cDovL21haWxtYW4uYWxzYS1wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L2Fsc2EtZGV2ZWwK