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 X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 16A49C433DB for ; Thu, 18 Feb 2021 02:00:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CCDF964E4B for ; Thu, 18 Feb 2021 02:00:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229745AbhBRCAX (ORCPT ); Wed, 17 Feb 2021 21:00:23 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:50207 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S229553AbhBRCAW (ORCPT ); Wed, 17 Feb 2021 21:00:22 -0500 X-UUID: 8cd2c95e1bff40d0aedca9387197c08c-20210218 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=YZYQMm57Fv4EFKstruSJa6i7mCgo3eCEf5swT5xmKoY=; b=eojwOA9Ja6Uo/icsbfNJC7/b70CfIQMW2Q9KvHOuxPDP9CTxcNfxkTTCp9ZlvdVCgLhNc7jaIM0yo61gceXaR01ifpyMRQmF6Yz+QQQZgnCoUMqjnoK2dWJ1TBViF6vESnLfwznw9wME5sDqu9ZVRhThWgZxrZThSZeoaCBxSQ0=; X-UUID: 8cd2c95e1bff40d0aedca9387197c08c-20210218 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 953206165; Thu, 18 Feb 2021 09:59:35 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 18 Feb 2021 09:59:33 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 18 Feb 2021 09:59:33 +0800 Message-ID: <1613613573.10714.27.camel@mtksdaap41> Subject: Re: [PATCH v6 10/22] clk: mediatek: Add MT8192 basic clocks support From: Weiyi Lu To: Matthias Brugger CC: Rob Herring , Stephen Boyd , "Nicolas Boichat" , , , , , , Date: Thu, 18 Feb 2021 09:59:33 +0800 In-Reply-To: References: <1608642587-15634-1-git-send-email-weiyi.lu@mediatek.com> <1608642587-15634-11-git-send-email-weiyi.lu@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-clk@vger.kernel.org T24gV2VkLCAyMDIxLTAyLTEwIGF0IDEzOjQ2ICswMTAwLCBNYXR0aGlhcyBCcnVnZ2VyIHdyb3Rl Og0KPiANCj4gT24gMjIvMTIvMjAyMCAxNDowOSwgV2VpeWkgTHUgd3JvdGU6DQo+ID4gQWRkIE1U ODE5MiBiYXNpYyBjbG9jayBwcm92aWRlcnMsIGluY2x1ZGUgdG9wY2tnZW4sIGFwbWl4ZWRzeXMs DQo+ID4gaW5mcmFjZmcgYW5kIHBlcmljZmcuDQo+ID4gDQo+ID4gU2lnbmVkLW9mZi1ieTogV2Vp eWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCj4gPiAtLS0NCj4gPiAgZHJpdmVycy9jbGsv bWVkaWF0ZWsvS2NvbmZpZyAgICAgIHwgICAgOCArDQo+ID4gIGRyaXZlcnMvY2xrL21lZGlhdGVr L01ha2VmaWxlICAgICB8ICAgIDEgKw0KPiA+ICBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4 MTkyLmMgfCAxMzI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAg ZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW11eC5oICAgIHwgICAxNSArDQo+ID4gIDQgZmlsZXMg Y2hhbmdlZCwgMTM1MCBpbnNlcnRpb25zKCspDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLmMNCj4gPiANCj4gDQo+IFsuLi5dDQo+IA0KPiA+ ICtzdGF0aWMgaW50IGNsa19tdDgxOTJfYXBtaXhlZF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqY2xrX2Rh dGE7DQo+ID4gKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsN Cj4gPiArCWludCByOw0KPiA+ICsNCj4gPiArCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRh KENMS19BUE1JWEVEX05SX0NMSyk7DQo+ID4gKwlpZiAoIWNsa19kYXRhKQ0KPiA+ICsJCXJldHVy biAtRU5PTUVNOw0KPiA+ICsNCj4gPiArCW10a19jbGtfcmVnaXN0ZXJfcGxscyhub2RlLCBwbGxz LCBBUlJBWV9TSVpFKHBsbHMpLCBjbGtfZGF0YSk7DQo+ID4gKwlyID0gbXRrX2Nsa19yZWdpc3Rl cl9nYXRlcyhub2RlLCBhcG1peGVkX2Nsa3MsIEFSUkFZX1NJWkUoYXBtaXhlZF9jbGtzKSwgY2xr X2RhdGEpOw0KPiA+ICsJaWYgKHIpDQo+ID4gKwkJcmV0dXJuIHI7DQo+ID4gKw0KPiA+ICsJcmV0 dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xr X2RhdGEpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rldmlj ZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyW10gPSB7DQo+ID4gKwl7DQo+ID4gKwkJLmNvbXBhdGli bGUgPSAibWVkaWF0ZWssbXQ4MTkyLWFwbWl4ZWRzeXMiLA0KPiA+ICsJCS5kYXRhID0gY2xrX210 ODE5Ml9hcG1peGVkX3Byb2JlLA0KPiA+ICsJfSwgew0KPiA+ICsJCS5jb21wYXRpYmxlID0gIm1l ZGlhdGVrLG10ODE5Mi10b3Bja2dlbiIsDQo+ID4gKwkJLmRhdGEgPSBjbGtfbXQ4MTkyX3RvcF9w cm9iZSwNCj4gPiArCX0sIHsNCj4gPiArCQkuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTIt aW5mcmFjZmciLA0KPiA+ICsJCS5kYXRhID0gY2xrX210ODE5Ml9pbmZyYV9wcm9iZSwNCj4gPiAr CX0sIHsNCj4gPiArCQkuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItcGVyaWNmZyIsDQo+ ID4gKwkJLmRhdGEgPSBjbGtfbXQ4MTkyX3BlcmlfcHJvYmUsDQo+ID4gKwl9LCB7DQo+ID4gKwkJ Lyogc2VudGluZWwgKi8NCj4gPiArCX0NCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQg Y2xrX210ODE5Ml9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiA+ICt7DQo+ ID4gKwlpbnQgKCpjbGtfcHJvYmUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOw0KPiA+ ICsJaW50IHI7DQo+ID4gKw0KPiA+ICsJY2xrX3Byb2JlID0gb2ZfZGV2aWNlX2dldF9tYXRjaF9k YXRhKCZwZGV2LT5kZXYpOw0KPiA+ICsJaWYgKCFjbGtfcHJvYmUpDQo+ID4gKwkJcmV0dXJuIC1F SU5WQUw7DQo+ID4gKw0KPiA+ICsJciA9IGNsa19wcm9iZShwZGV2KTsNCj4gPiArCWlmIChyKQ0K PiA+ICsJCWRldl9lcnIoJnBkZXYtPmRldiwgImNvdWxkIG5vdCByZWdpc3RlciBjbG9jayBwcm92 aWRlcjogJXM6ICVkXG4iLCBwZGV2LT5uYW1lLCByKTsNCj4gPiArDQo+ID4gKwlyZXR1cm4gcjsN Cj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgY2xrX210 ODE5Ml9kcnYgPSB7DQo+ID4gKwkucHJvYmUgPSBjbGtfbXQ4MTkyX3Byb2JlLA0KPiA+ICsJLmRy aXZlciA9IHsNCj4gPiArCQkubmFtZSA9ICJjbGstbXQ4MTkyIiwNCj4gPiArCQkub2ZfbWF0Y2hf dGFibGUgPSBvZl9tYXRjaF9jbGtfbXQ4MTkyLA0KPiA+ICsJfSwNCj4gPiArfTsNCj4gPiArDQo+ ID4gK3N0YXRpYyBpbnQgX19pbml0IGNsa19tdDgxOTJfaW5pdCh2b2lkKQ0KPiA+ICt7DQo+ID4g KwlyZXR1cm4gcGxhdGZvcm1fZHJpdmVyX3JlZ2lzdGVyKCZjbGtfbXQ4MTkyX2Rydik7DQo+ID4g K30NCj4gPiArDQo+ID4gK2FyY2hfaW5pdGNhbGwoY2xrX210ODE5Ml9pbml0KTsNCj4gDQo+IERv IHdlIHJlYWxseSBuZWVkIGFsbCB0aGVzZSBjbG9ja3MgdGhhdCBlYXJseT8NCj4gV2h5IGRvbid0 IHdlIHVzZSBDTEtfT0ZfREVDTEFSRV9EUklWRVIoKSB0aGVuIGFuZCB3aHkgZG8gd2UgaW5pdGlh bGl6ZSBzb21lDQo+IGNsb2NrcyBDTEtfT0ZfREVDTEFSRV9EUklWRVIgYW5kIG90aGVyIHdpdGgg YXJjaF9pbml0Y2FsbD8NCj4gDQo+IEkga25vdyB0aGF0IHRoaXMgaXMgaW4gb3RoZXIgZHJpdmVy cyBmb3IgTWVkaWFUZWsgU29DcywgYnV0IHRoYXQgZG9lcyBub3QgbWVhbg0KPiBpdCdzIHRoZSBy aWdodCBhcHByb2FjaC4NCj4gDQoNCkkgZ3Vlc3MgeW91IG1lYW4gQ0xLX09GX0RFQ0xBUkUoKSBi dXQgbm90IENMS19PRl9ERUNMQVJFX0RSSVZFUigpLCBhbSBJDQpjb3JyZWN0Pw0KSSBzYXcgdGhl cmUgaGFkIHNvbWUgZGlzY3Vzc2lvblsxXVsyXSBhYm91dCBpbml0aWFsaXppbmcgdGhlc2UgYmFz aWMNCmNsb2NrcyBieSBDTEtfT0ZfREVDTEFSRSgpIG9yIHRoZSBjdXJyZW50IGltcGxlbWVudGF0 aW9uIGJ5IGFyY2hfaW5pdCgpLg0KQ291bGQgSSBoYXZlIG1vcmUgb2YgeW91ciBvcGluaW9uIG9u IHRoaXMgZGlzY3Vzc2lvbj8NClsxXQ0KaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wcm9q ZWN0L2xpbnV4LW1lZGlhdGVrL3BhdGNoLzE0NTQ2NjUwNTAtMzc3NzYtNS1naXQtc2VuZC1lbWFp bC1qYW1lc2pqLmxpYW9AbWVkaWF0ZWsuY29tLw0KWzJdDQpodHRwczovL3BhdGNod29yay5rZXJu ZWwub3JnL3Byb2plY3QvbGludXgtbWVkaWF0ZWsvcGF0Y2gvMTQ2MDYyMTUxNC02NTE5MS01LWdp dC1zZW5kLWVtYWlsLWphbWVzamoubGlhb0BtZWRpYXRlay5jb20vDQoNCkFzIHRvIENMS19PRl9E RUNMQVJFX0RSSVZFUigpLCB3ZSBoYXZlIHRvIGluaXRpYWxpemUgdGhlIGNsb2NrcyBlYXJsaWVy DQpmb3IgdGltZXIoY2xvY2tzb3VyY2UpIGRyaXZlciBieSB0aGlzIHdheS4NCg0KPiANCj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW11eC5oIGIvZHJpdmVycy9jbGsv bWVkaWF0ZWsvY2xrLW11eC5oDQo+ID4gaW5kZXggZjU2MjVmNC4uYWZiYzdkZiAxMDA2NDQNCj4g PiAtLS0gYS9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXV4LmgNCj4gPiArKysgYi9kcml2ZXJz L2Nsay9tZWRpYXRlay9jbGstbXV4LmgNCj4gPiBAQCAtNzcsNiArNzcsMjEgQEAgc3RydWN0IG10 a19tdXggew0KPiA+ICAJCQlfd2lkdGgsIF9nYXRlLCBfdXBkX29mcywgX3VwZCwJCQlcDQo+ID4g IAkJCUNMS19TRVRfUkFURV9QQVJFTlQpDQo+ID4gIA0KPiA+ICsjZGVmaW5lIE1VWF9DTFJfU0VU X1VQRF9GTEFHUyhfaWQsIF9uYW1lLCBfcGFyZW50cywgX211eF9vZnMsCQlcDQo+ID4gKwkJCV9t dXhfc2V0X29mcywgX211eF9jbHJfb2ZzLCBfc2hpZnQsIF93aWR0aCwJXA0KPiA+ICsJCQlfdXBk X29mcywgX3VwZCwgX2ZsYWdzKQkJCQlcDQo+ID4gKwkJR0FURV9DTFJfU0VUX1VQRF9GTEFHUyhf aWQsIF9uYW1lLCBfcGFyZW50cywgX211eF9vZnMsCVwNCj4gPiArCQkJX211eF9zZXRfb2ZzLCBf bXV4X2Nscl9vZnMsIF9zaGlmdCwgX3dpZHRoLAlcDQo+ID4gKwkJCTAsIF91cGRfb2ZzLCBfdXBk LCBfZmxhZ3MsCQkJXA0KPiA+ICsJCQltdGtfbXV4X2Nscl9zZXRfdXBkX29wcykNCj4gPiArDQo+ ID4gKyNkZWZpbmUgTVVYX0NMUl9TRVRfVVBEKF9pZCwgX25hbWUsIF9wYXJlbnRzLCBfbXV4X29m cywJCQlcDQo+ID4gKwkJCV9tdXhfc2V0X29mcywgX211eF9jbHJfb2ZzLCBfc2hpZnQsIF93aWR0 aCwJXA0KPiA+ICsJCQlfdXBkX29mcywgX3VwZCkJCQkJCVwNCj4gPiArCQlNVVhfQ0xSX1NFVF9V UERfRkxBR1MoX2lkLCBfbmFtZSwgX3BhcmVudHMsCQlcDQo+ID4gKwkJCV9tdXhfb2ZzLCBfbXV4 X3NldF9vZnMsIF9tdXhfY2xyX29mcywgX3NoaWZ0LAlcDQo+ID4gKwkJCV93aWR0aCwgX3VwZF9v ZnMsIF91cGQsCUNMS19TRVRfUkFURV9QQVJFTlQpDQo+ID4gKw0KPiANCj4gV2h5IGNhbid0IHdl IGRvIHNvbWV0aGluZyBsaWtlOg0KPiANCj4gI2RlZmluZSBNVVhfQ0xSX1NFVF9VUEQoX2lkLCBf bmFtZSwgX3BhcmVudHMsIF9tdXhfb2ZzLAkJCVwNCj4gCQkJX211eF9zZXRfb2ZzLCBfbXV4X2Ns cl9vZnMsIF9zaGlmdCwgX3dpZHRoLAlcDQo+IAkJCV91cGRfb2ZzLCBfdXBkKQkJCQkJXA0KPiAJ CUdBVEVfQ0xSX1NFVF9VUERfRkxBR1MoX2lkLCBfbmFtZSwgX3BhcmVudHMsIF9tdXhfb2ZzLAlc DQo+IAkJCV9tdXhfc2V0X29mcywgX211eF9jbHJfb2ZzLCBfc2hpZnQsIF93aWR0aCwJXA0KPiAJ CQkwLCBfdXBkX29mcywgX3VwZCwgQ0xLX1NFVF9SQVRFX1BBUkVOVCwJCQlcDQo+IAkJCW10a19t dXhfY2xyX3NldF91cGRfb3BzKQ0KPiANCj4gPiAgc3RydWN0IGNsayAqbXRrX2Nsa19yZWdpc3Rl cl9tdXgoY29uc3Qgc3RydWN0IG10a19tdXggKm11eCwNCj4gPiAgCQkJCSBzdHJ1Y3QgcmVnbWFw ICpyZWdtYXAsDQo+ID4gIAkJCQkgc3BpbmxvY2tfdCAqbG9jayk7DQo+ID4gDQoNCkl0IGNvdWxk IGJlLCBzbyBJJ2xsIGZpeCBpbiBuZXh0IHBhdGNoLg0KDQo+IA0KPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBMaW51eC1tZWRpYXRlayBtYWlsaW5n IGxpc3QNCj4gTGludXgtbWVkaWF0ZWtAbGlzdHMuaW5mcmFkZWFkLm9yZw0KPiBodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW1lZGlhdGVrDQoNCg== 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 X-Spam-Level: X-Spam-Status: No, score=-15.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3197EC433E0 for ; Thu, 18 Feb 2021 02:00:07 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 9347D64E42 for ; Thu, 18 Feb 2021 02:00:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9347D64E42 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date:To:From: Subject:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=gOMC/Ine/6cOuWhyx+1LpOlyxs4HKpiJDBF7w4LZMik=; b=TLbg9+Ct6HnuU/pAQZsRG/3+5 ngDcPTY8npvFVM5jNJil9HieyB0dKJxbMdzwHHshPVTjbcd5cv5EKKYD8G0c3V4y6ha49Ne6ISiZw VF0pE7apuOC7EZnqnqi9mdVr18UjI1vqn+CpmBKcwrCeC3oO1+CVOKdChWKLmsniS2TB5ezrt6Any Io/w+QrblJqjYpnEb/8fvia04YO84PF2ayYlyf5MgbCP9R2vmpy/1HpJFU4m9z/WwmVAi9RY1Db/1 PslzCi0dn3JnP+WTNWuPKl5M7xQBBh/RWJCSjPBXWQ322XZyddW1qPd6dxxxbdC1ThMciLZhBieSA if13fgKCA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCYbX-0000uV-Ib; Thu, 18 Feb 2021 01:59:43 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCYbT-0000tg-Rf; Thu, 18 Feb 2021 01:59:41 +0000 X-UUID: dbd245e69d5c4e27914e8a4851b8f2d3-20210217 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=YZYQMm57Fv4EFKstruSJa6i7mCgo3eCEf5swT5xmKoY=; b=eojwOA9Ja6Uo/icsbfNJC7/b70CfIQMW2Q9KvHOuxPDP9CTxcNfxkTTCp9ZlvdVCgLhNc7jaIM0yo61gceXaR01ifpyMRQmF6Yz+QQQZgnCoUMqjnoK2dWJ1TBViF6vESnLfwznw9wME5sDqu9ZVRhThWgZxrZThSZeoaCBxSQ0=; X-UUID: dbd245e69d5c4e27914e8a4851b8f2d3-20210217 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1702726672; Wed, 17 Feb 2021 17:59:37 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 17 Feb 2021 17:59:35 -0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 18 Feb 2021 09:59:33 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 18 Feb 2021 09:59:33 +0800 Message-ID: <1613613573.10714.27.camel@mtksdaap41> Subject: Re: [PATCH v6 10/22] clk: mediatek: Add MT8192 basic clocks support From: Weiyi Lu To: Matthias Brugger Date: Thu, 18 Feb 2021 09:59:33 +0800 In-Reply-To: References: <1608642587-15634-1-git-send-email-weiyi.lu@mediatek.com> <1608642587-15634-11-git-send-email-weiyi.lu@mediatek.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210217_205940_129155_986ED8DE X-CRM114-Status: GOOD ( 29.17 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Rob Herring , Nicolas Boichat , srv_heupstream@mediatek.com, Stephen Boyd , linux-kernel@vger.kernel.org, Project_Global_Chrome_Upstream_Group@mediatek.com, linux-mediatek@lists.infradead.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Wed, 2021-02-10 at 13:46 +0100, Matthias Brugger wrote: > > On 22/12/2020 14:09, Weiyi Lu wrote: > > Add MT8192 basic clock providers, include topckgen, apmixedsys, > > infracfg and pericfg. > > > > Signed-off-by: Weiyi Lu > > --- > > drivers/clk/mediatek/Kconfig | 8 + > > drivers/clk/mediatek/Makefile | 1 + > > drivers/clk/mediatek/clk-mt8192.c | 1326 +++++++++++++++++++++++++++++++++++++ > > drivers/clk/mediatek/clk-mux.h | 15 + > > 4 files changed, 1350 insertions(+) > > create mode 100644 drivers/clk/mediatek/clk-mt8192.c > > > > [...] > > > +static int clk_mt8192_apmixed_probe(struct platform_device *pdev) > > +{ > > + struct clk_onecell_data *clk_data; > > + struct device_node *node = pdev->dev.of_node; > > + int r; > > + > > + clk_data = mtk_alloc_clk_data(CLK_APMIXED_NR_CLK); > > + if (!clk_data) > > + return -ENOMEM; > > + > > + mtk_clk_register_plls(node, plls, ARRAY_SIZE(plls), clk_data); > > + r = mtk_clk_register_gates(node, apmixed_clks, ARRAY_SIZE(apmixed_clks), clk_data); > > + if (r) > > + return r; > > + > > + return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data); > > +} > > + > > +static const struct of_device_id of_match_clk_mt8192[] = { > > + { > > + .compatible = "mediatek,mt8192-apmixedsys", > > + .data = clk_mt8192_apmixed_probe, > > + }, { > > + .compatible = "mediatek,mt8192-topckgen", > > + .data = clk_mt8192_top_probe, > > + }, { > > + .compatible = "mediatek,mt8192-infracfg", > > + .data = clk_mt8192_infra_probe, > > + }, { > > + .compatible = "mediatek,mt8192-pericfg", > > + .data = clk_mt8192_peri_probe, > > + }, { > > + /* sentinel */ > > + } > > +}; > > + > > +static int clk_mt8192_probe(struct platform_device *pdev) > > +{ > > + int (*clk_probe)(struct platform_device *pdev); > > + int r; > > + > > + clk_probe = of_device_get_match_data(&pdev->dev); > > + if (!clk_probe) > > + return -EINVAL; > > + > > + r = clk_probe(pdev); > > + if (r) > > + dev_err(&pdev->dev, "could not register clock provider: %s: %d\n", pdev->name, r); > > + > > + return r; > > +} > > + > > +static struct platform_driver clk_mt8192_drv = { > > + .probe = clk_mt8192_probe, > > + .driver = { > > + .name = "clk-mt8192", > > + .of_match_table = of_match_clk_mt8192, > > + }, > > +}; > > + > > +static int __init clk_mt8192_init(void) > > +{ > > + return platform_driver_register(&clk_mt8192_drv); > > +} > > + > > +arch_initcall(clk_mt8192_init); > > Do we really need all these clocks that early? > Why don't we use CLK_OF_DECLARE_DRIVER() then and why do we initialize some > clocks CLK_OF_DECLARE_DRIVER and other with arch_initcall? > > I know that this is in other drivers for MediaTek SoCs, but that does not mean > it's the right approach. > I guess you mean CLK_OF_DECLARE() but not CLK_OF_DECLARE_DRIVER(), am I correct? I saw there had some discussion[1][2] about initializing these basic clocks by CLK_OF_DECLARE() or the current implementation by arch_init(). Could I have more of your opinion on this discussion? [1] https://patchwork.kernel.org/project/linux-mediatek/patch/1454665050-37776-5-git-send-email-jamesjj.liao@mediatek.com/ [2] https://patchwork.kernel.org/project/linux-mediatek/patch/1460621514-65191-5-git-send-email-jamesjj.liao@mediatek.com/ As to CLK_OF_DECLARE_DRIVER(), we have to initialize the clocks earlier for timer(clocksource) driver by this way. > > > diff --git a/drivers/clk/mediatek/clk-mux.h b/drivers/clk/mediatek/clk-mux.h > > index f5625f4..afbc7df 100644 > > --- a/drivers/clk/mediatek/clk-mux.h > > +++ b/drivers/clk/mediatek/clk-mux.h > > @@ -77,6 +77,21 @@ struct mtk_mux { > > _width, _gate, _upd_ofs, _upd, \ > > CLK_SET_RATE_PARENT) > > > > +#define MUX_CLR_SET_UPD_FLAGS(_id, _name, _parents, _mux_ofs, \ > > + _mux_set_ofs, _mux_clr_ofs, _shift, _width, \ > > + _upd_ofs, _upd, _flags) \ > > + GATE_CLR_SET_UPD_FLAGS(_id, _name, _parents, _mux_ofs, \ > > + _mux_set_ofs, _mux_clr_ofs, _shift, _width, \ > > + 0, _upd_ofs, _upd, _flags, \ > > + mtk_mux_clr_set_upd_ops) > > + > > +#define MUX_CLR_SET_UPD(_id, _name, _parents, _mux_ofs, \ > > + _mux_set_ofs, _mux_clr_ofs, _shift, _width, \ > > + _upd_ofs, _upd) \ > > + MUX_CLR_SET_UPD_FLAGS(_id, _name, _parents, \ > > + _mux_ofs, _mux_set_ofs, _mux_clr_ofs, _shift, \ > > + _width, _upd_ofs, _upd, CLK_SET_RATE_PARENT) > > + > > Why can't we do something like: > > #define MUX_CLR_SET_UPD(_id, _name, _parents, _mux_ofs, \ > _mux_set_ofs, _mux_clr_ofs, _shift, _width, \ > _upd_ofs, _upd) \ > GATE_CLR_SET_UPD_FLAGS(_id, _name, _parents, _mux_ofs, \ > _mux_set_ofs, _mux_clr_ofs, _shift, _width, \ > 0, _upd_ofs, _upd, CLK_SET_RATE_PARENT, \ > mtk_mux_clr_set_upd_ops) > > > struct clk *mtk_clk_register_mux(const struct mtk_mux *mux, > > struct regmap *regmap, > > spinlock_t *lock); > > It could be, so I'll fix in next patch. > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek 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 X-Spam-Level: X-Spam-Status: No, score=-15.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71C86C433DB for ; Thu, 18 Feb 2021 02:02:08 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 150DC64E45 for ; Thu, 18 Feb 2021 02:02:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 150DC64E45 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date:To:From: Subject:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=qxvywPStiSY14P+iz3c4YyRq/0oIUiY/w/iHaJsp104=; b=EUWfs/UmhlVXDuCILUg0OjShS 0kD/zX+CctKydELwN6rYifQNyfHXvl5UQuwgRfFqhGH5QJ5v2vFayWRoHx5Hlw3JWdL0nF4PB+2OW B3ptN9YRXSxTl9zf+CNS5xWSZ2h/zYRiaHyKHpR5d0ltg4JqmHHQcknJQeredfpgpzkLC293a4ff6 xsRECjw1oZEq+R+ODU5dZqSHV2SP/CjTvNzU9J5LRceDK4b3dvuv06uN9UXt07bThABhxoac+IAou 4MHhq0F24MJHK7NpmG6UZtHniCqU0As+tJFkDFPsa0jTI9pYr1J2bp1lI/QVIGt0fEpPCWs6+04RP 6Nshsiw+w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCYbY-0000uc-Br; Thu, 18 Feb 2021 01:59:44 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCYbT-0000tg-Rf; Thu, 18 Feb 2021 01:59:41 +0000 X-UUID: dbd245e69d5c4e27914e8a4851b8f2d3-20210217 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=YZYQMm57Fv4EFKstruSJa6i7mCgo3eCEf5swT5xmKoY=; b=eojwOA9Ja6Uo/icsbfNJC7/b70CfIQMW2Q9KvHOuxPDP9CTxcNfxkTTCp9ZlvdVCgLhNc7jaIM0yo61gceXaR01ifpyMRQmF6Yz+QQQZgnCoUMqjnoK2dWJ1TBViF6vESnLfwznw9wME5sDqu9ZVRhThWgZxrZThSZeoaCBxSQ0=; X-UUID: dbd245e69d5c4e27914e8a4851b8f2d3-20210217 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1702726672; Wed, 17 Feb 2021 17:59:37 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 17 Feb 2021 17:59:35 -0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 18 Feb 2021 09:59:33 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 18 Feb 2021 09:59:33 +0800 Message-ID: <1613613573.10714.27.camel@mtksdaap41> Subject: Re: [PATCH v6 10/22] clk: mediatek: Add MT8192 basic clocks support From: Weiyi Lu To: Matthias Brugger Date: Thu, 18 Feb 2021 09:59:33 +0800 In-Reply-To: References: <1608642587-15634-1-git-send-email-weiyi.lu@mediatek.com> <1608642587-15634-11-git-send-email-weiyi.lu@mediatek.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210217_205940_129155_986ED8DE X-CRM114-Status: GOOD ( 29.17 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Rob Herring , Nicolas Boichat , srv_heupstream@mediatek.com, Stephen Boyd , linux-kernel@vger.kernel.org, Project_Global_Chrome_Upstream_Group@mediatek.com, linux-mediatek@lists.infradead.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, 2021-02-10 at 13:46 +0100, Matthias Brugger wrote: > > On 22/12/2020 14:09, Weiyi Lu wrote: > > Add MT8192 basic clock providers, include topckgen, apmixedsys, > > infracfg and pericfg. > > > > Signed-off-by: Weiyi Lu > > --- > > drivers/clk/mediatek/Kconfig | 8 + > > drivers/clk/mediatek/Makefile | 1 + > > drivers/clk/mediatek/clk-mt8192.c | 1326 +++++++++++++++++++++++++++++++++++++ > > drivers/clk/mediatek/clk-mux.h | 15 + > > 4 files changed, 1350 insertions(+) > > create mode 100644 drivers/clk/mediatek/clk-mt8192.c > > > > [...] > > > +static int clk_mt8192_apmixed_probe(struct platform_device *pdev) > > +{ > > + struct clk_onecell_data *clk_data; > > + struct device_node *node = pdev->dev.of_node; > > + int r; > > + > > + clk_data = mtk_alloc_clk_data(CLK_APMIXED_NR_CLK); > > + if (!clk_data) > > + return -ENOMEM; > > + > > + mtk_clk_register_plls(node, plls, ARRAY_SIZE(plls), clk_data); > > + r = mtk_clk_register_gates(node, apmixed_clks, ARRAY_SIZE(apmixed_clks), clk_data); > > + if (r) > > + return r; > > + > > + return of_clk_add_provider(node, of_clk_src_onecell_get, clk_data); > > +} > > + > > +static const struct of_device_id of_match_clk_mt8192[] = { > > + { > > + .compatible = "mediatek,mt8192-apmixedsys", > > + .data = clk_mt8192_apmixed_probe, > > + }, { > > + .compatible = "mediatek,mt8192-topckgen", > > + .data = clk_mt8192_top_probe, > > + }, { > > + .compatible = "mediatek,mt8192-infracfg", > > + .data = clk_mt8192_infra_probe, > > + }, { > > + .compatible = "mediatek,mt8192-pericfg", > > + .data = clk_mt8192_peri_probe, > > + }, { > > + /* sentinel */ > > + } > > +}; > > + > > +static int clk_mt8192_probe(struct platform_device *pdev) > > +{ > > + int (*clk_probe)(struct platform_device *pdev); > > + int r; > > + > > + clk_probe = of_device_get_match_data(&pdev->dev); > > + if (!clk_probe) > > + return -EINVAL; > > + > > + r = clk_probe(pdev); > > + if (r) > > + dev_err(&pdev->dev, "could not register clock provider: %s: %d\n", pdev->name, r); > > + > > + return r; > > +} > > + > > +static struct platform_driver clk_mt8192_drv = { > > + .probe = clk_mt8192_probe, > > + .driver = { > > + .name = "clk-mt8192", > > + .of_match_table = of_match_clk_mt8192, > > + }, > > +}; > > + > > +static int __init clk_mt8192_init(void) > > +{ > > + return platform_driver_register(&clk_mt8192_drv); > > +} > > + > > +arch_initcall(clk_mt8192_init); > > Do we really need all these clocks that early? > Why don't we use CLK_OF_DECLARE_DRIVER() then and why do we initialize some > clocks CLK_OF_DECLARE_DRIVER and other with arch_initcall? > > I know that this is in other drivers for MediaTek SoCs, but that does not mean > it's the right approach. > I guess you mean CLK_OF_DECLARE() but not CLK_OF_DECLARE_DRIVER(), am I correct? I saw there had some discussion[1][2] about initializing these basic clocks by CLK_OF_DECLARE() or the current implementation by arch_init(). Could I have more of your opinion on this discussion? [1] https://patchwork.kernel.org/project/linux-mediatek/patch/1454665050-37776-5-git-send-email-jamesjj.liao@mediatek.com/ [2] https://patchwork.kernel.org/project/linux-mediatek/patch/1460621514-65191-5-git-send-email-jamesjj.liao@mediatek.com/ As to CLK_OF_DECLARE_DRIVER(), we have to initialize the clocks earlier for timer(clocksource) driver by this way. > > > diff --git a/drivers/clk/mediatek/clk-mux.h b/drivers/clk/mediatek/clk-mux.h > > index f5625f4..afbc7df 100644 > > --- a/drivers/clk/mediatek/clk-mux.h > > +++ b/drivers/clk/mediatek/clk-mux.h > > @@ -77,6 +77,21 @@ struct mtk_mux { > > _width, _gate, _upd_ofs, _upd, \ > > CLK_SET_RATE_PARENT) > > > > +#define MUX_CLR_SET_UPD_FLAGS(_id, _name, _parents, _mux_ofs, \ > > + _mux_set_ofs, _mux_clr_ofs, _shift, _width, \ > > + _upd_ofs, _upd, _flags) \ > > + GATE_CLR_SET_UPD_FLAGS(_id, _name, _parents, _mux_ofs, \ > > + _mux_set_ofs, _mux_clr_ofs, _shift, _width, \ > > + 0, _upd_ofs, _upd, _flags, \ > > + mtk_mux_clr_set_upd_ops) > > + > > +#define MUX_CLR_SET_UPD(_id, _name, _parents, _mux_ofs, \ > > + _mux_set_ofs, _mux_clr_ofs, _shift, _width, \ > > + _upd_ofs, _upd) \ > > + MUX_CLR_SET_UPD_FLAGS(_id, _name, _parents, \ > > + _mux_ofs, _mux_set_ofs, _mux_clr_ofs, _shift, \ > > + _width, _upd_ofs, _upd, CLK_SET_RATE_PARENT) > > + > > Why can't we do something like: > > #define MUX_CLR_SET_UPD(_id, _name, _parents, _mux_ofs, \ > _mux_set_ofs, _mux_clr_ofs, _shift, _width, \ > _upd_ofs, _upd) \ > GATE_CLR_SET_UPD_FLAGS(_id, _name, _parents, _mux_ofs, \ > _mux_set_ofs, _mux_clr_ofs, _shift, _width, \ > 0, _upd_ofs, _upd, CLK_SET_RATE_PARENT, \ > mtk_mux_clr_set_upd_ops) > > > struct clk *mtk_clk_register_mux(const struct mtk_mux *mux, > > struct regmap *regmap, > > spinlock_t *lock); > > It could be, so I'll fix in next patch. > > _______________________________________________ > Linux-mediatek mailing list > Linux-mediatek@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-mediatek _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel