From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CF126C88E72 for ; Thu, 17 Sep 2026 21:17:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=RNwIIYLWjIII+/aAIMMLI2IIvpwFDqduJaMnh7+SeAc=; b=bUUu3sw3vSCPbx lmyvShHh+IzyRUHu/gopdDviIRPaBQ2paPn+Dsj95V2m+btd5TEzxdySSWSbrWaMQ5BBqf1o1BMgw 53hm4N9pFyhO2JZk8XlhXDSVNsgNv8NwkIWfqSQLrpyiHWcmoBxmMNix+Wi+lqnQjZ63S6oilyQuV Zg8PGFkZvhWKzBuyklnMDOvUTfisLXeyLWFT1cTfMBz6zfWfitbmUfHp2277ZZDP8MnFvPwQmTu48 Cv4G9meoDey2AnS3xkX6Gwk4K2cCbUJcUUDIYwGB/HMcxKpLbr8xy5c0f/TqsJrZHOh3fZ7uVXB2f LnzCO5qmhUuhzSn+cDnQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x7JUC-0000000CYD5-0QYx; Thu, 17 Sep 2026 21:17:40 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1x7JUA-0000000CYCa-3cof for linux-amlogic@lists.infradead.org; Thu, 17 Sep 2026 21:17:38 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 40258600AA; Thu, 17 Sep 2026 21:17:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 93C071F000FF; Thu, 17 Sep 2026 21:17:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789679858; bh=iTBEy9S2EkfppEx41Jq8Ho2yXuKqkukNTzmGN6IIuSo=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=BiXtU79zRtFRCw/k9EkCui5E8qE7PkT8hM3lt6dWc6VvMGXLUwmmZgHyCZTFp2cTn K5QteXrHUi5y9/PPwmvUgGHuGrS5GuoNqt0k6kImWg7TXbKS2DXZQxTSz8/g9kZx68 UAkqLlvZS3W55q52/w+tYDfCBm2zbWdbQDYIYCwtT1aWpscVBGBwohP/sr/M7tHNrD itRqoU2kEdRbJqV3bl/3a8RVKdGyC3tDVXim/9c4cYT9AE5qHez3lkzaQ8x1qhy0TG J1XHMj/jSX9j2XG/Fcqn7KdZ3ugwx1sO28L6JqBv4+DgZ6Qq/L9ktGtUwPFYwrMIO3 GTvRO2BEdPPOg== From: sashiko-bot@kernel.org Subject: Re: [PATCH v2 3/6] ASoC: meson: add AUDIN driver To: "Valerio Setti" Cc: linux-amlogic@lists.infradead.org, conor+dt@kernel.org, neil.armstrong@linaro.org, devicetree@vger.kernel.org, robh@kernel.org In-Reply-To: <20260917-audin-v2-3-38de4bc1de34@baylibre.com> References: <20260917-audin-v2-0-38de4bc1de34@baylibre.com> <20260917-audin-v2-3-38de4bc1de34@baylibre.com> Date: Thu, 17 Sep 2026 21:17:37 +0000 Message-Id: <20260917211737.93C071F000FF@smtp.kernel.org> X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0gc291bmQvc29jL21l c29uOiBwZXJpb2QgZHJpZnQgaW4gdGltZXIgY2FsbGJhY2sgZHVlIHRvIGluY29ycmVjdCBsYXN0 X3BvcyB1cGRhdGUKLSBbTWVkaXVtXSBzb3VuZC9zb2MvbWVzb246IGdsb2JhbCBzdGF0ZSBwb2xs dXRpb24gZHVlIHRvIG11dGF0aW5nIHN0YXRpYyB3aWRnZXQgYXJyYXkKLSBbTWVkaXVtXSBzb3Vu ZC9zb2MvbWVzb246IHN0YWNrIG92ZXJmbG93IGluIHJlY3Vyc2l2ZSBEQVBNIGdyYXBoIHRyYXZl cnNhbCB3aXRob3V0IGN5Y2xlIGRldGVjdGlvbgotLQoKY29tbWl0IGNjMzAzZjI0NjAzYjMyOTAy MjdhZGE4MzUzZmQzNmE3NGNmMWE4M2UKQXV0aG9yOiBWYWxlcmlvIFNldHRpIDx2c2V0dGlAYmF5 bGlicmUuY29tPgoKQVNvQzogbWVzb246IGFkZCBBVURJTiBkcml2ZXIKCkFVRElOIHByb3ZpZGVz IGF1ZGlvIGlucHV0IHN1cHBvcnQgdG8gdGhlIEFtbG9naWMgR1ggYmFzZWQgcGxhdGZvcm1zCihH WEJCL0dYTCkuIEl0IGFkZHMgc3VwcG9ydCBmb3IgSTJTIGRhdGEgZm9ybWF0dGVyIHRocm91Z2gg YSB3aWRnZXQKYW5kIGluc3RhbnRpYXRlcyBlYWNoIG9mIHRoZSBGSUZPcyBhcyBjb21wb25lbnQn cyBEQUkuCgo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvbWVzb24vYXVkaW4tZmlmby5jIGIvc291 bmQvc29jL21lc29uL2F1ZGluLWZpZm8uYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg MDAwMDAwMDAwMDAwMC4uMzljYTY1ZTNjZWU5Ygo+IC0tLSAvZGV2L251bGwKPiArKysgYi9zb3Vu ZC9zb2MvbWVzb24vYXVkaW4tZmlmby5jCgpbIC4uLiBdCgo+ICtzdGF0aWMgZW51bSBocnRpbWVy X3Jlc3RhcnQgYXVkaW5fZmlmb190aW1lcl9jYihzdHJ1Y3QgaHJ0aW1lciAqdGltZXIpCj4gK3sK PiArCXN0cnVjdCBhdWRpbl9maWZvX2RhaV9kYXRhICpkYXRhID0KPiArCQljb250YWluZXJfb2Yo dGltZXIsIHN0cnVjdCBhdWRpbl9maWZvX2RhaV9kYXRhLCBwb2xsaW5nX3RpbWVyKTsKPiArCXN0 cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBkYXRhLT5zdWJzdHJlYW0tPnJ1bnRpbWU7 Cj4gKwl1bnNpZ25lZCBpbnQgY3Vycl9wb3MsIGRlbHRhLCBzbGVlcF90aW1lOwo+ICsKPiArCWlm ICghUkVBRF9PTkNFKGRhdGEtPnJ1bm5pbmcpKQo+ICsJCXJldHVybiBIUlRJTUVSX05PUkVTVEFS VDsKPiArCj4gKwljdXJyX3BvcyA9IGF1ZGluX2ZpZm9fcG9zKGRhdGEtPmRhaSwgcnVudGltZSk7 Cj4gKwlkZWx0YSA9IChjdXJyX3BvcyA+PSBkYXRhLT5sYXN0X3BvcykgPwo+ICsJCWN1cnJfcG9z IC0gZGF0YS0+bGFzdF9wb3MgOgo+ICsJCShydW50aW1lLT5kbWFfYnl0ZXMgLSBkYXRhLT5sYXN0 X3BvcykgKyBjdXJyX3BvczsKPiArCj4gKwkvKiBSZXBvcnQgb25seSB3aGVuIHRoZSBwZXJpb2Qg aXMgY29tcGxldGVkLiAqLwo+ICsJaWYgKGRlbHRhID49IGRhdGEtPnBlcmlvZF9ieXRlcykgewo+ ICsJCWRhdGEtPmxhc3RfcG9zID0gY3Vycl9wb3M7CgpbU2V2ZXJpdHk6IE1lZGl1bV0KRG9lcyBz ZXR0aW5nIGRhdGEtPmxhc3RfcG9zIGRpcmVjdGx5IHRvIGN1cnJfcG9zIGludHJvZHVjZSBjdW11 bGF0aXZlIHBlcmlvZCAKZHJpZnQ/IAoKQmVjYXVzZSB0aGUgaHJ0aW1lciBjYWxsYmFjayBtaWdo dCBiZSBkZWxheWVkLCBjdXJyX3BvcyBtaWdodCBiZSBwYXN0IHRoZQpleGFjdCBwZXJpb2QgYm91 bmRhcnkuIFVwZGF0aW5nIHRoZSBiYXNlIHRvIGN1cnJfcG9zIGxvY2tzIGluIHRoZXNlIApzY2hl ZHVsaW5nIGRlbGF5cywgd2hpY2ggY291bGQgY2F1c2UgdGhlIHJlcG9ydGVkIGh3X3B0ciB0byBk ZXN5bmNocm9uaXplIApmcm9tIGFjdHVhbCBoYXJkd2FyZSBETUEgYW5kIGxlYWQgdG8gYXVkaW8g c3R1dHRlcmluZyBvciB4cnVucy4KClNob3VsZCBkYXRhLT5sYXN0X3BvcyBiZSBpbmNyZW1lbnRl ZCBieSBleGFjdCBtdWx0aXBsZXMgb2YgZGF0YS0+cGVyaW9kX2J5dGVzIAppbnN0ZWFkPwoKPiAr CQlkZWx0YSA9IGRlbHRhICUgZGF0YS0+cGVyaW9kX2J5dGVzOwo+ICsJCXNuZF9wY21fcGVyaW9k X2VsYXBzZWQoZGF0YS0+c3Vic3RyZWFtKTsKPiArCX0KClsgLi4uIF0KCj4gZGlmZiAtLWdpdCBh L3NvdW5kL3NvYy9tZXNvbi9hdWRpbi1mb3JtYXR0ZXItaTJzLmMgYi9zb3VuZC9zb2MvbWVzb24v YXVkaW4tZm9ybWF0dGVyLWkycy5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAw MDAwMDAwMDAwLi44YmJiNWNkYjUyZGM4Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3NvdW5kL3Nv Yy9tZXNvbi9hdWRpbi1mb3JtYXR0ZXItaTJzLmMKClsgLi4uIF0KCj4gK3N0YXRpYyBzdHJ1Y3Qg c25kX3NvY19kYWkgKgo+ICthdWRpbl9mb3JtYXR0ZXJfaTJzX2dldF9iZShzdHJ1Y3Qgc25kX3Nv Y19kYXBtX3dpZGdldCAqdykKPiArewo+ICsJc3RydWN0IHNuZF9zb2NfZGFwbV9wYXRoICpwOwo+ ICsJc3RydWN0IHNuZF9zb2NfZGFpICpiZTsKPiArCj4gKwlzbmRfc29jX2RhcG1fd2lkZ2V0X2Zv cl9lYWNoX3NvdXJjZV9wYXRoKHcsIHApIHsKPiArCQlpZiAoIXAtPmNvbm5lY3QpCj4gKwkJCWNv bnRpbnVlOwo+ICsKPiArCQlpZiAocC0+c291cmNlLT5pZCA9PSBzbmRfc29jX2RhcG1fZGFpX291 dCkKPiArCQkJcmV0dXJuIChzdHJ1Y3Qgc25kX3NvY19kYWkgKilwLT5zb3VyY2UtPnByaXY7Cj4g Kwo+ICsJCWJlID0gYXVkaW5fZm9ybWF0dGVyX2kyc19nZXRfYmUocC0+c291cmNlKTsKCltTZXZl cml0eTogTWVkaXVtXQpDYW4gdGhpcyByZWN1cnNpdmUgY2FsbCBsZWFkIHRvIGEga2VybmVsIHN0 YWNrIG92ZXJmbG93IGlmIHRoZXJlIGlzIGEgY3ljbGUgCmluIHRoZSBEQVBNIGdyYXBoPwoKVGhl IHRyYXZlcnNhbCB1c2luZyBzbmRfc29jX2RhcG1fd2lkZ2V0X2Zvcl9lYWNoX3NvdXJjZV9wYXRo KCkgZG9lcyBub3QgCmFwcGVhciB0byB0cmFjayB2aXNpdGVkIG5vZGVzIG9yIGxpbWl0IHRoZSBy ZWN1cnNpb24gZGVwdGguIEEgbWFsZm9ybWVkIApkZXZpY2UgdHJlZSBhdWRpby1yb3V0aW5nIG9y IGFuIHVuZXhwZWN0ZWQgdXNlcnNwYWNlIG1peGVyIGNvbmZpZ3VyYXRpb24gdGhhdCAKY3JlYXRl cyBhIGN5Y2xlIGNvdWxkIHRyaWdnZXIgaW5maW5pdGUgcmVjdXJzaW9uIHdoZW4gZXZhbHVhdGlu ZyB0aGUgZ3JhcGguCgo+ICsJCWlmIChiZSkKPiArCQkJcmV0dXJuIGJlOwo+ICsJfQo+ICsKPiAr CXJldHVybiBOVUxMOwo+ICt9CgpbIC4uLiBdCgo+IGRpZmYgLS1naXQgYS9zb3VuZC9zb2MvbWVz b24vYXVkaW4uYyBiL3NvdW5kL3NvYy9tZXNvbi9hdWRpbi5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAwLi5lYzAyNDI2N2FjMjljCj4gLS0tIC9kZXYvbnVsbAo+ ICsrKyBiL3NvdW5kL3NvYy9tZXNvbi9hdWRpbi5jCgpbIC4uLiBdCgo+ICtzdGF0aWMgc3RydWN0 IHNuZF9zb2NfZGFwbV93aWRnZXQgYXVkaW5fZGFwbV93aWRnZXRzW10gPSB7Cj4gKwlbQVVESU5f V0lER0VUX0kyU19GT1JNQVRURVJdID0KPiArCQlTTkRfU09DX0RBUE1fUEdBX0UoIkkyUyBGb3Jt YXR0ZXIiLCBTTkRfU09DX05PUE0sIDAsIDAsIE5VTEwsIDAsCj4gKwkJCQkgICBneF9mb3JtYXR0 ZXJfZXZlbnQsCj4gKwkJCQkgICAoU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1f UFJFX1BNRCkpLAoKWyAuLi4gXQoKPiArc3RhdGljIGludCBhdWRpbl9wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQo+ICt7Cj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ ZGV2Owo+ICsJdm9pZCBfX2lvbWVtICptbWlvOwo+ICsJc3RydWN0IHJlZ21hcCAqcmVnbWFwOwo+ ICsJc3RydWN0IGNsayAqY2xrOwo+ICsJaW50IHJldDsKClsgLi4uIF0KCj4gKwlyZXQgPSBneF9m b3JtYXR0ZXJfY3JlYXRlKGRldiwgJmF1ZGluX2RhcG1fd2lkZ2V0c1tBVURJTl9XSURHRVRfSTJT X0ZPUk1BVFRFUl0sCj4gKwkJCQkgICZhdWRpbl9mb3JtYXR0ZXJfaTJzX2RydiwgcmVnbWFwKTsK CltTZXZlcml0eTogTWVkaXVtXQpJcyBpdCBzYWZlIHRvIG11dGF0ZSB0aGUgc3RhdGljIGdsb2Jh bCBhdWRpbl9kYXBtX3dpZGdldHMgYXJyYXkgZHVyaW5nIApkZXZpY2UgcHJvYmU/CgpMb29raW5n IGF0IGd4X2Zvcm1hdHRlcl9jcmVhdGUoKSwgaXQgYWxsb2NhdGVzIG1lbW9yeSB3aXRoIGRldm1f a3phbGxvYygpIAphbmQgYXNzaWducyBpdCB0byB0aGUgd2lkZ2V0J3MgcHJpdiBwb2ludGVyLiBJ ZiB0aGUgcHJvYmUgZGVmZXJzLCBmYWlscyAKbGF0ZXIsIG9yIGlmIHRoZSBkZXZpY2UgaXMgdW5i b3VuZCwgdGhlIGRldm0tbWFuYWdlZCBtZW1vcnkgaXMgZnJlZWQgYnV0IAp0aGUgc3RhdGljIGds b2JhbCB0ZW1wbGF0ZSByZXRhaW5zIGEgZGFuZ2xpbmcgcG9pbnRlci4KClRoaXMgY291bGQgbGVh ZCB0byBhIHVzZS1hZnRlci1mcmVlIG9yIG1lbW9yeSBjb3JydXB0aW9uIGlmIG11bHRpcGxlIGRl dmljZSAKaW5zdGFuY2VzIGFyZSBwcm9iZWQsIGFzIHRoZXkgd291bGQgYmUgc2hhcmluZyBhbmQg b3ZlcndyaXRpbmcgdGhlIHNhbWUgCnN0YXRpYyB3aWRnZXQgc3RhdGUuCgo+ICsJaWYgKHJldCkK PiArCQlyZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYsIHJldCwgIkZhaWxlZCB0byBhbGxvY2F0ZSBm b3JtYXR0ZXJcbiIpOwoKLS0gClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlrby5k ZXYvIy9wYXRjaHNldC8yMDI2MDkxNy1hdWRpbi12Mi0wLTM4ZGU0YmMxZGUzNEBiYXlsaWJyZS5j b20/cGFydD0zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1h bWxvZ2ljCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4CBE148CD7F for ; Thu, 17 Sep 2026 21:17:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789679859; cv=none; b=kH9EG7nzIeX4EzT3N3huu9p8FmhRdrSUT1VgTS4zSC6nWfOe8N21jCpYvGei+YWQFyfCefCv3md+O62+S0KY4jhS6cBONoVjn4rzPT7FQmeefBp4t1962IhZ1us/ogWrOJqgQVuq/DjVCUS6DXf5Xmz2hx3Nwg/h4/rhtYW9gpw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789679859; c=relaxed/simple; bh=UgqexmTq/6AOgsstydSAjImIjoS8+5ll+h+0LseqBSI=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=IosBhFQuiyBxI88u4u+xeV9S/64mPej9RiPS2aEGV1p+tItShLZPR51P68yWmY9uEcWHYi7unYYHmqXQe/LtCG3c5SR4TtxPUj2UhcmgaxHZtbAe3De1jdj9lVf2V7HQrcS2H1bKKsTZedmm+ojRUGhrHpsh/WKxNjR1dzYkoaU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BiXtU79z; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="BiXtU79z" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 93C071F000FF; Thu, 17 Sep 2026 21:17:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789679858; bh=iTBEy9S2EkfppEx41Jq8Ho2yXuKqkukNTzmGN6IIuSo=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=BiXtU79zRtFRCw/k9EkCui5E8qE7PkT8hM3lt6dWc6VvMGXLUwmmZgHyCZTFp2cTn K5QteXrHUi5y9/PPwmvUgGHuGrS5GuoNqt0k6kImWg7TXbKS2DXZQxTSz8/g9kZx68 UAkqLlvZS3W55q52/w+tYDfCBm2zbWdbQDYIYCwtT1aWpscVBGBwohP/sr/M7tHNrD itRqoU2kEdRbJqV3bl/3a8RVKdGyC3tDVXim/9c4cYT9AE5qHez3lkzaQ8x1qhy0TG J1XHMj/jSX9j2XG/Fcqn7KdZ3ugwx1sO28L6JqBv4+DgZ6Qq/L9ktGtUwPFYwrMIO3 GTvRO2BEdPPOg== From: sashiko-bot@kernel.org Subject: Re: [PATCH v2 3/6] ASoC: meson: add AUDIN driver Reply-To: sashiko-reviews@lists.linux.dev To: "Valerio Setti" Cc: linux-amlogic@lists.infradead.org, conor+dt@kernel.org, neil.armstrong@linaro.org, devicetree@vger.kernel.org, robh@kernel.org In-Reply-To: <20260917-audin-v2-3-38de4bc1de34@baylibre.com> References: <20260917-audin-v2-0-38de4bc1de34@baylibre.com> <20260917-audin-v2-3-38de4bc1de34@baylibre.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Thu, 17 Sep 2026 21:17:37 +0000 Message-Id: <20260917211737.93C071F000FF@smtp.kernel.org> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 3 potential issue(= s) to consider: - [Medium] sound/soc/meson: period drift in timer callback due to incorrect= last_pos update - [Medium] sound/soc/meson: global state pollution due to mutating static w= idget array - [Medium] sound/soc/meson: stack overflow in recursive DAPM graph traversa= l without cycle detection -- commit cc303f24603b3290227ada8353fd36a74cf1a83e Author: Valerio Setti ASoC: meson: add AUDIN driver AUDIN provides audio input support to the Amlogic GX based platforms (GXBB/GXL). It adds support for I2S data formatter through a widget and instantiates each of the FIFOs as component's DAI. > diff --git a/sound/soc/meson/audin-fifo.c b/sound/soc/meson/audin-fifo.c > new file mode 100644 > index 0000000000000..39ca65e3cee9b > --- /dev/null > +++ b/sound/soc/meson/audin-fifo.c [ ... ] > +static enum hrtimer_restart audin_fifo_timer_cb(struct hrtimer *timer) > +{ > + struct audin_fifo_dai_data *data =3D > + container_of(timer, struct audin_fifo_dai_data, polling_timer); > + struct snd_pcm_runtime *runtime =3D data->substream->runtime; > + unsigned int curr_pos, delta, sleep_time; > + > + if (!READ_ONCE(data->running)) > + return HRTIMER_NORESTART; > + > + curr_pos =3D audin_fifo_pos(data->dai, runtime); > + delta =3D (curr_pos >=3D data->last_pos) ? > + curr_pos - data->last_pos : > + (runtime->dma_bytes - data->last_pos) + curr_pos; > + > + /* Report only when the period is completed. */ > + if (delta >=3D data->period_bytes) { > + data->last_pos =3D curr_pos; [Severity: Medium] Does setting data->last_pos directly to curr_pos introduce cumulative perio= d=20 drift?=20 Because the hrtimer callback might be delayed, curr_pos might be past the exact period boundary. Updating the base to curr_pos locks in these=20 scheduling delays, which could cause the reported hw_ptr to desynchronize=20 from actual hardware DMA and lead to audio stuttering or xruns. Should data->last_pos be incremented by exact multiples of data->period_byt= es=20 instead? > + delta =3D delta % data->period_bytes; > + snd_pcm_period_elapsed(data->substream); > + } [ ... ] > diff --git a/sound/soc/meson/audin-formatter-i2s.c b/sound/soc/meson/audi= n-formatter-i2s.c > new file mode 100644 > index 0000000000000..8bbb5cdb52dc8 > --- /dev/null > +++ b/sound/soc/meson/audin-formatter-i2s.c [ ... ] > +static struct snd_soc_dai * > +audin_formatter_i2s_get_be(struct snd_soc_dapm_widget *w) > +{ > + struct snd_soc_dapm_path *p; > + struct snd_soc_dai *be; > + > + snd_soc_dapm_widget_for_each_source_path(w, p) { > + if (!p->connect) > + continue; > + > + if (p->source->id =3D=3D snd_soc_dapm_dai_out) > + return (struct snd_soc_dai *)p->source->priv; > + > + be =3D audin_formatter_i2s_get_be(p->source); [Severity: Medium] Can this recursive call lead to a kernel stack overflow if there is a cycle= =20 in the DAPM graph? The traversal using snd_soc_dapm_widget_for_each_source_path() does not=20 appear to track visited nodes or limit the recursion depth. A malformed=20 device tree audio-routing or an unexpected userspace mixer configuration th= at=20 creates a cycle could trigger infinite recursion when evaluating the graph. > + if (be) > + return be; > + } > + > + return NULL; > +} [ ... ] > diff --git a/sound/soc/meson/audin.c b/sound/soc/meson/audin.c > new file mode 100644 > index 0000000000000..ec024267ac29c > --- /dev/null > +++ b/sound/soc/meson/audin.c [ ... ] > +static struct snd_soc_dapm_widget audin_dapm_widgets[] =3D { > + [AUDIN_WIDGET_I2S_FORMATTER] =3D > + SND_SOC_DAPM_PGA_E("I2S Formatter", SND_SOC_NOPM, 0, 0, NULL, 0, > + gx_formatter_event, > + (SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_PRE_PMD)), [ ... ] > +static int audin_probe(struct platform_device *pdev) > +{ > + struct device *dev =3D &pdev->dev; > + void __iomem *mmio; > + struct regmap *regmap; > + struct clk *clk; > + int ret; [ ... ] > + ret =3D gx_formatter_create(dev, &audin_dapm_widgets[AUDIN_WIDGET_I2S_F= ORMATTER], > + &audin_formatter_i2s_drv, regmap); [Severity: Medium] Is it safe to mutate the static global audin_dapm_widgets array during=20 device probe? Looking at gx_formatter_create(), it allocates memory with devm_kzalloc()=20 and assigns it to the widget's priv pointer. If the probe defers, fails=20 later, or if the device is unbound, the devm-managed memory is freed but=20 the static global template retains a dangling pointer. This could lead to a use-after-free or memory corruption if multiple device= =20 instances are probed, as they would be sharing and overwriting the same=20 static widget state. > + if (ret) > + return dev_err_probe(dev, ret, "Failed to allocate formatter\n"); --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260917-audin-v2-0= -38de4bc1de34@baylibre.com?part=3D3