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=-11.4 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT 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 B8E6FC433E1 for ; Fri, 14 Aug 2020 07:13:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 95E0E2074D for ; Fri, 14 Aug 2020 07:13:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="KpJPSaXE" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726959AbgHNHNn (ORCPT ); Fri, 14 Aug 2020 03:13:43 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:8107 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726897AbgHNHNh (ORCPT ); Fri, 14 Aug 2020 03:13:37 -0400 X-UUID: 038f0abdb6264371a00993860a52ff9e-20200814 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=W1qgTHuECQUExdFStaa5wbGrDOOVm6HlT330o0LfR/0=; b=KpJPSaXEV8+TqHNH+0W7WTaygOwJjqARSzb2gC3HiGf4eXycCcu+KHEnudqsO1vOt3moGJCl8Bk/d4+qZh/KxiO1v6XyxYV+ul+XkVh44KkOOkCP7LNoWDlRIr557+5c00OniRGwsoXKS62P8zQyPfdrDoAzAvEHHBGbednowU4=; X-UUID: 038f0abdb6264371a00993860a52ff9e-20200814 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1899257700; Fri, 14 Aug 2020 15:13:33 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:30 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:29 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , Matthias Brugger , Rick Chang CC: , , , , , Marek Szyprowski , Tomasz Figa , , , , , , Xia Jiang Subject: [PATCH v12 23/29] media: platform: Change the call functions of getting/enable/disable the jpeg's clock Date: Fri, 14 Aug 2020 15:11:56 +0800 Message-ID: <20200814071202.25067-25-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VXNlIHRoZSBnZW5lcmljIGNsa19idWxrXyogaGVscGVycyB0byBlbmFibGUgYW5kIGRpc2FibGUg Y2xvY2tzLg0KDQpSZXZpZXdlZC1ieTogVG9tYXN6IEZpZ2EgPHRmaWdhQGNocm9taXVtLm9yZz4N ClNpZ25lZC1vZmYtYnk6IFhpYSBKaWFuZyA8eGlhLmppYW5nQG1lZGlhdGVrLmNvbT4NCi0tLQ0K djEyOiBubyBjaGFuZ2VzDQotLS0NCiAuLi4vbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pw ZWdfY29yZS5jICAgfCAyOCArKysrKysrKysrKysrLS0tLS0tDQogLi4uL21lZGlhL3BsYXRmb3Jt L210ay1qcGVnL210a19qcGVnX2NvcmUuaCAgIHwgIDggKysrLS0tDQogMiBmaWxlcyBjaGFuZ2Vk LCAyMyBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfY29yZS5jIGIvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19jb3JlLmMNCmluZGV4IDc4ODFlOWM5M2RmNy4u NDdkNTcwZjMyZTNmIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBl Zy9tdGtfanBlZ19jb3JlLmMNCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcv bXRrX2pwZWdfY29yZS5jDQpAQCAtNzgzLDE0ICs3ODMsMTUgQEAgc3RhdGljIHZvaWQgbXRrX2pw ZWdfY2xrX29uKHN0cnVjdCBtdGtfanBlZ19kZXYgKmpwZWcpDQogCXJldCA9IG10a19zbWlfbGFy Yl9nZXQoanBlZy0+bGFyYik7DQogCWlmIChyZXQpDQogCQlkZXZfZXJyKGpwZWctPmRldiwgIm10 a19zbWlfbGFyYl9nZXQgbGFyYnZkZWMgZmFpbCAlZFxuIiwgcmV0KTsNCi0JY2xrX3ByZXBhcmVf ZW5hYmxlKGpwZWctPmNsa19qZGVjX3NtaSk7DQotCWNsa19wcmVwYXJlX2VuYWJsZShqcGVnLT5j bGtfamRlYyk7DQorDQorCXJldCA9IGNsa19idWxrX3ByZXBhcmVfZW5hYmxlKGpwZWctPm51bV9j bGtzLCBqcGVnLT5jbGtzKTsNCisJaWYgKHJldCkNCisJCWRldl9lcnIoanBlZy0+ZGV2LCAiRmFp bGVkIHRvIG9wZW4ganBlZyBjbGs6ICVkXG4iLCByZXQpOw0KIH0NCiANCiBzdGF0aWMgdm9pZCBt dGtfanBlZ19jbGtfb2ZmKHN0cnVjdCBtdGtfanBlZ19kZXYgKmpwZWcpDQogew0KLQljbGtfZGlz YWJsZV91bnByZXBhcmUoanBlZy0+Y2xrX2pkZWMpOw0KLQljbGtfZGlzYWJsZV91bnByZXBhcmUo anBlZy0+Y2xrX2pkZWNfc21pKTsNCisJY2xrX2J1bGtfZGlzYWJsZV91bnByZXBhcmUoanBlZy0+ bnVtX2Nsa3MsIGpwZWctPmNsa3MpOw0KIAltdGtfc21pX2xhcmJfcHV0KGpwZWctPmxhcmIpOw0K IH0NCiANCkBAIC05MzUsMTAgKzkzNiwxNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHY0bDJfZmls ZV9vcGVyYXRpb25zIG10a19qcGVnX2ZvcHMgPSB7DQogCS5tbWFwICAgICAgICAgICA9IHY0bDJf bTJtX2ZvcF9tbWFwLA0KIH07DQogDQorc3RhdGljIHN0cnVjdCBjbGtfYnVsa19kYXRhIG10ODE3 M19qcGVnX2RlY19jbG9ja3NbXSA9IHsNCisJeyAuaWQgPSAianBnZGVjLXNtaSIgfSwNCisJeyAu aWQgPSAianBnZGVjIiB9LA0KK307DQorDQogc3RhdGljIGludCBtdGtfanBlZ19jbGtfaW5pdChz dHJ1Y3QgbXRrX2pwZWdfZGV2ICpqcGVnKQ0KIHsNCiAJc3RydWN0IGRldmljZV9ub2RlICpub2Rl Ow0KIAlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2Ow0KKwlpbnQgcmV0Ow0KIA0KIAlub2Rl ID0gb2ZfcGFyc2VfcGhhbmRsZShqcGVnLT5kZXYtPm9mX25vZGUsICJtZWRpYXRlayxsYXJiIiwg MCk7DQogCWlmICghbm9kZSkNCkBAIC05NTIsMTIgKzk1OSwxNSBAQCBzdGF0aWMgaW50IG10a19q cGVnX2Nsa19pbml0KHN0cnVjdCBtdGtfanBlZ19kZXYgKmpwZWcpDQogDQogCWpwZWctPmxhcmIg PSAmcGRldi0+ZGV2Ow0KIA0KLQlqcGVnLT5jbGtfamRlYyA9IGRldm1fY2xrX2dldChqcGVnLT5k ZXYsICJqcGdkZWMiKTsNCi0JaWYgKElTX0VSUihqcGVnLT5jbGtfamRlYykpDQotCQlyZXR1cm4g UFRSX0VSUihqcGVnLT5jbGtfamRlYyk7DQorCWpwZWctPmNsa3MgPSBtdDgxNzNfanBlZ19kZWNf Y2xvY2tzOw0KKwlqcGVnLT5udW1fY2xrcyA9IEFSUkFZX1NJWkUobXQ4MTczX2pwZWdfZGVjX2Ns b2Nrcyk7DQorCXJldCA9IGRldm1fY2xrX2J1bGtfZ2V0KGpwZWctPmRldiwganBlZy0+bnVtX2Ns a3MsIGpwZWctPmNsa3MpOw0KKwlpZiAocmV0KSB7DQorCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJm YWlsZWQgdG8gZ2V0IGpwZWcgY2xvY2s6JWRcbiIsIHJldCk7DQorCQlyZXR1cm4gcmV0Ow0KKwl9 DQogDQotCWpwZWctPmNsa19qZGVjX3NtaSA9IGRldm1fY2xrX2dldChqcGVnLT5kZXYsICJqcGdk ZWMtc21pIik7DQotCXJldHVybiBQVFJfRVJSX09SX1pFUk8oanBlZy0+Y2xrX2pkZWNfc21pKTsN CisJcmV0dXJuIDA7DQogfQ0KIA0KIHN0YXRpYyB2b2lkIG10a19qcGVnX2pvYl90aW1lb3V0X3dv cmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdfY29yZS5oIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9tdGstanBlZy9tdGtfanBlZ19jb3JlLmgNCmluZGV4IDRjNzZhOWRjYzRiNy4uYTU0ZTFlODJl NjU1IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBl Z19jb3JlLmgNCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWpwZWcvbXRrX2pwZWdf Y29yZS5oDQpAQCAtNTIsOCArNTIsOCBAQCBlbnVtIG10a19qcGVnX2N0eF9zdGF0ZSB7DQogICog QGFsbG9jX2N0eDoJCXZpZGVvYnVmMiBtZW1vcnkgYWxsb2NhdG9yJ3MgY29udGV4dA0KICAqIEBk ZWNfdmRldjoJCXZpZGVvIGRldmljZSBub2RlIGZvciBkZWNvZGVyIG1lbTJtZW0gbW9kZQ0KICAq IEBkZWNfcmVnX2Jhc2U6CUpQRUcgcmVnaXN0ZXJzIG1hcHBpbmcNCi0gKiBAY2xrX2pkZWM6CQlK UEVHIGh3IHdvcmtpbmcgY2xvY2sNCi0gKiBAY2xrX2pkZWNfc21pOglKUEVHIFNNSSBidXMgY2xv Y2sNCisgKiBAY2xrczoJCWNsb2NrIG5hbWVzDQorICogQG51bV9jbGtzOgkJbnVtYmVycyBvZiBj bG9jaw0KICAqIEBsYXJiOgkJU01JIGRldmljZQ0KICAqIEBqb2JfdGltZW91dF93b3JrOglJUlEg dGltZW91dCBzdHJ1Y3R1cmUNCiAgKi8NCkBAIC02Nyw4ICs2Nyw4IEBAIHN0cnVjdCBtdGtfanBl Z19kZXYgew0KIAl2b2lkCQkJKmFsbG9jX2N0eDsNCiAJc3RydWN0IHZpZGVvX2RldmljZQkqZGVj X3ZkZXY7DQogCXZvaWQgX19pb21lbQkJKmRlY19yZWdfYmFzZTsNCi0Jc3RydWN0IGNsawkJKmNs a19qZGVjOw0KLQlzdHJ1Y3QgY2xrCQkqY2xrX2pkZWNfc21pOw0KKwlzdHJ1Y3QgY2xrX2J1bGtf ZGF0YSAqY2xrczsNCisJaW50IG51bV9jbGtzOw0KIAlzdHJ1Y3QgZGV2aWNlCQkqbGFyYjsNCiAJ c3RydWN0IGRlbGF5ZWRfd29yayBqb2JfdGltZW91dF93b3JrOw0KIH07DQotLSANCjIuMTguMA0K 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=-13.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_GIT 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 5FD21C433DF for ; Fri, 14 Aug 2020 07:23:37 +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 29A9520639 for ; Fri, 14 Aug 2020 07:23:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="IpeTwUKv"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="prkErh4o" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 29A9520639 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:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=b4fR4Yg4VzXAIOSZne3lKQF2tMJjW+AHoq8xBZiVAno=; b=IpeTwUKvq4xu8wF0zUdjEkCNm unX7he1j1HkywxIgoL1e75Yr0ZOtlmNuBlaow7lmBcq2trIPe2M+mTNtf9igzrwTkvCBzXmPv+sRx n32m0btInRDpbD9eSVslBra/1c7iQ+OSgxBRsL+o8nBX1oOzjG6Yd2neCB6dC5pZPsr+yHGx8UN4G /XJWZfBsQE2Bu+LV2gj8upgGKxGkJqLZthlKQjwqrmxlsb/5DxOaNvolM2LiCGHKwTVXFctkTwKwj nwsa5Af2oSo78D7/z/IBfPpO3/SgpP80N/wocUgeqZXc3FvSOsAmStrGr2soRqyhj0JVLhfewILUe hCUmtrE+A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U3e-0003Ri-Es; Fri, 14 Aug 2020 07:23:22 +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 1k6U3Y-0003N2-0M; Fri, 14 Aug 2020 07:23:17 +0000 X-UUID: 6521fc08f7c54a6fa204aeb71b8c7010-20200813 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=W1qgTHuECQUExdFStaa5wbGrDOOVm6HlT330o0LfR/0=; b=prkErh4owDwOlDBRYYbgh+nRQQu9C4dgkjrTtjHETVpJvtiA1/GJYr7kGUAaXX6GquQ2wl1+QvWxxcOmvTQZqCvZ/Zs0ClwN8ARopTGUAuuPGNe8OwroEChUkuZpfhjmzyjtErenObH2Xzj/7D2jgp3K4uKKwSCEFfKh+wYuk2c=; X-UUID: 6521fc08f7c54a6fa204aeb71b8c7010-20200813 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 347387323; Thu, 13 Aug 2020 23:23:11 -0800 Received: from MTKMBS07N2.mediatek.inc (172.21.101.141) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 00:13:35 -0700 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:30 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:29 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , "Matthias Brugger" , Rick Chang Subject: [PATCH v12 23/29] media: platform: Change the call functions of getting/enable/disable the jpeg's clock Date: Fri, 14 Aug 2020 15:11:56 +0800 Message-ID: <20200814071202.25067-25-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200814_032316_299049_9AF31F44 X-CRM114-Status: GOOD ( 18.76 ) 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: maoguang.meng@mediatek.com, devicetree@vger.kernel.org, mojahsu@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Tomasz Figa , senozhatsky@chromium.org, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, Xia Jiang , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marek Szyprowski 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 Use the generic clk_bulk_* helpers to enable and disable clocks. Reviewed-by: Tomasz Figa Signed-off-by: Xia Jiang --- v12: no changes --- .../media/platform/mtk-jpeg/mtk_jpeg_core.c | 28 +++++++++++++------ .../media/platform/mtk-jpeg/mtk_jpeg_core.h | 8 +++--- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c index 7881e9c93df7..47d570f32e3f 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c @@ -783,14 +783,15 @@ static void mtk_jpeg_clk_on(struct mtk_jpeg_dev *jpeg) ret = mtk_smi_larb_get(jpeg->larb); if (ret) dev_err(jpeg->dev, "mtk_smi_larb_get larbvdec fail %d\n", ret); - clk_prepare_enable(jpeg->clk_jdec_smi); - clk_prepare_enable(jpeg->clk_jdec); + + ret = clk_bulk_prepare_enable(jpeg->num_clks, jpeg->clks); + if (ret) + dev_err(jpeg->dev, "Failed to open jpeg clk: %d\n", ret); } static void mtk_jpeg_clk_off(struct mtk_jpeg_dev *jpeg) { - clk_disable_unprepare(jpeg->clk_jdec); - clk_disable_unprepare(jpeg->clk_jdec_smi); + clk_bulk_disable_unprepare(jpeg->num_clks, jpeg->clks); mtk_smi_larb_put(jpeg->larb); } @@ -935,10 +936,16 @@ static const struct v4l2_file_operations mtk_jpeg_fops = { .mmap = v4l2_m2m_fop_mmap, }; +static struct clk_bulk_data mt8173_jpeg_dec_clocks[] = { + { .id = "jpgdec-smi" }, + { .id = "jpgdec" }, +}; + static int mtk_jpeg_clk_init(struct mtk_jpeg_dev *jpeg) { struct device_node *node; struct platform_device *pdev; + int ret; node = of_parse_phandle(jpeg->dev->of_node, "mediatek,larb", 0); if (!node) @@ -952,12 +959,15 @@ static int mtk_jpeg_clk_init(struct mtk_jpeg_dev *jpeg) jpeg->larb = &pdev->dev; - jpeg->clk_jdec = devm_clk_get(jpeg->dev, "jpgdec"); - if (IS_ERR(jpeg->clk_jdec)) - return PTR_ERR(jpeg->clk_jdec); + jpeg->clks = mt8173_jpeg_dec_clocks; + jpeg->num_clks = ARRAY_SIZE(mt8173_jpeg_dec_clocks); + ret = devm_clk_bulk_get(jpeg->dev, jpeg->num_clks, jpeg->clks); + if (ret) { + dev_err(&pdev->dev, "failed to get jpeg clock:%d\n", ret); + return ret; + } - jpeg->clk_jdec_smi = devm_clk_get(jpeg->dev, "jpgdec-smi"); - return PTR_ERR_OR_ZERO(jpeg->clk_jdec_smi); + return 0; } static void mtk_jpeg_job_timeout_work(struct work_struct *work) diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h index 4c76a9dcc4b7..a54e1e82e655 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h @@ -52,8 +52,8 @@ enum mtk_jpeg_ctx_state { * @alloc_ctx: videobuf2 memory allocator's context * @dec_vdev: video device node for decoder mem2mem mode * @dec_reg_base: JPEG registers mapping - * @clk_jdec: JPEG hw working clock - * @clk_jdec_smi: JPEG SMI bus clock + * @clks: clock names + * @num_clks: numbers of clock * @larb: SMI device * @job_timeout_work: IRQ timeout structure */ @@ -67,8 +67,8 @@ struct mtk_jpeg_dev { void *alloc_ctx; struct video_device *dec_vdev; void __iomem *dec_reg_base; - struct clk *clk_jdec; - struct clk *clk_jdec_smi; + struct clk_bulk_data *clks; + int num_clks; struct device *larb; struct delayed_work job_timeout_work; }; -- 2.18.0 _______________________________________________ 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=-13.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_GIT 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 1F63FC433DF for ; Fri, 14 Aug 2020 07:25:11 +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 DF8852074D for ; Fri, 14 Aug 2020 07:25:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="COydep1+"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="prkErh4o" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DF8852074D 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:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=c9HlZJixhdJZFTJ7ZpN8x+2ix39UCxnBY3Qf06Crbj8=; b=COydep1+OB1nadzboQcwf5+SL V1pkru5axDhvJZ1Bs+YX9ysLQp1/vzs9zJDyaDaVt64YT82pPLuzOKWi4Gqolwj8NNGExdK8DU3wr tjRaEgkCRNUwx/D1UAGCVXUr+EQwTcGAirFDbgClqaj9n7mT0ilsYWsU1mwPRYisUhjvQrs1Qn96o b4Dblcd0adnFGwR397saVu7tDUEj2ZTGtlGjbLBL+awbRy9HImBCYw6gansXk1g9BXx80j2hW5W17 J8s/NojIGpLTScEcDaeGbXo6djkQCGmTzAi1G6jflaewpkZmSwVqkBce4Gr0tbbqJTdGl47O281yi mG99gEUrQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k6U3t-0003ZD-Sg; Fri, 14 Aug 2020 07:23:37 +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 1k6U3Y-0003N2-0M; Fri, 14 Aug 2020 07:23:17 +0000 X-UUID: 6521fc08f7c54a6fa204aeb71b8c7010-20200813 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=W1qgTHuECQUExdFStaa5wbGrDOOVm6HlT330o0LfR/0=; b=prkErh4owDwOlDBRYYbgh+nRQQu9C4dgkjrTtjHETVpJvtiA1/GJYr7kGUAaXX6GquQ2wl1+QvWxxcOmvTQZqCvZ/Zs0ClwN8ARopTGUAuuPGNe8OwroEChUkuZpfhjmzyjtErenObH2Xzj/7D2jgp3K4uKKwSCEFfKh+wYuk2c=; X-UUID: 6521fc08f7c54a6fa204aeb71b8c7010-20200813 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 347387323; Thu, 13 Aug 2020 23:23:11 -0800 Received: from MTKMBS07N2.mediatek.inc (172.21.101.141) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 00:13:35 -0700 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n2.mediatek.inc (172.21.101.141) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 15:13:30 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 15:13:29 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , "Matthias Brugger" , Rick Chang Subject: [PATCH v12 23/29] media: platform: Change the call functions of getting/enable/disable the jpeg's clock Date: Fri, 14 Aug 2020 15:11:56 +0800 Message-ID: <20200814071202.25067-25-xia.jiang@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200814071202.25067-1-xia.jiang@mediatek.com> References: <20200814071202.25067-1-xia.jiang@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200814_032316_299049_9AF31F44 X-CRM114-Status: GOOD ( 18.76 ) 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: maoguang.meng@mediatek.com, devicetree@vger.kernel.org, mojahsu@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Tomasz Figa , senozhatsky@chromium.org, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, Xia Jiang , linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marek Szyprowski 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 Use the generic clk_bulk_* helpers to enable and disable clocks. Reviewed-by: Tomasz Figa Signed-off-by: Xia Jiang --- v12: no changes --- .../media/platform/mtk-jpeg/mtk_jpeg_core.c | 28 +++++++++++++------ .../media/platform/mtk-jpeg/mtk_jpeg_core.h | 8 +++--- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c index 7881e9c93df7..47d570f32e3f 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.c @@ -783,14 +783,15 @@ static void mtk_jpeg_clk_on(struct mtk_jpeg_dev *jpeg) ret = mtk_smi_larb_get(jpeg->larb); if (ret) dev_err(jpeg->dev, "mtk_smi_larb_get larbvdec fail %d\n", ret); - clk_prepare_enable(jpeg->clk_jdec_smi); - clk_prepare_enable(jpeg->clk_jdec); + + ret = clk_bulk_prepare_enable(jpeg->num_clks, jpeg->clks); + if (ret) + dev_err(jpeg->dev, "Failed to open jpeg clk: %d\n", ret); } static void mtk_jpeg_clk_off(struct mtk_jpeg_dev *jpeg) { - clk_disable_unprepare(jpeg->clk_jdec); - clk_disable_unprepare(jpeg->clk_jdec_smi); + clk_bulk_disable_unprepare(jpeg->num_clks, jpeg->clks); mtk_smi_larb_put(jpeg->larb); } @@ -935,10 +936,16 @@ static const struct v4l2_file_operations mtk_jpeg_fops = { .mmap = v4l2_m2m_fop_mmap, }; +static struct clk_bulk_data mt8173_jpeg_dec_clocks[] = { + { .id = "jpgdec-smi" }, + { .id = "jpgdec" }, +}; + static int mtk_jpeg_clk_init(struct mtk_jpeg_dev *jpeg) { struct device_node *node; struct platform_device *pdev; + int ret; node = of_parse_phandle(jpeg->dev->of_node, "mediatek,larb", 0); if (!node) @@ -952,12 +959,15 @@ static int mtk_jpeg_clk_init(struct mtk_jpeg_dev *jpeg) jpeg->larb = &pdev->dev; - jpeg->clk_jdec = devm_clk_get(jpeg->dev, "jpgdec"); - if (IS_ERR(jpeg->clk_jdec)) - return PTR_ERR(jpeg->clk_jdec); + jpeg->clks = mt8173_jpeg_dec_clocks; + jpeg->num_clks = ARRAY_SIZE(mt8173_jpeg_dec_clocks); + ret = devm_clk_bulk_get(jpeg->dev, jpeg->num_clks, jpeg->clks); + if (ret) { + dev_err(&pdev->dev, "failed to get jpeg clock:%d\n", ret); + return ret; + } - jpeg->clk_jdec_smi = devm_clk_get(jpeg->dev, "jpgdec-smi"); - return PTR_ERR_OR_ZERO(jpeg->clk_jdec_smi); + return 0; } static void mtk_jpeg_job_timeout_work(struct work_struct *work) diff --git a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h index 4c76a9dcc4b7..a54e1e82e655 100644 --- a/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h +++ b/drivers/media/platform/mtk-jpeg/mtk_jpeg_core.h @@ -52,8 +52,8 @@ enum mtk_jpeg_ctx_state { * @alloc_ctx: videobuf2 memory allocator's context * @dec_vdev: video device node for decoder mem2mem mode * @dec_reg_base: JPEG registers mapping - * @clk_jdec: JPEG hw working clock - * @clk_jdec_smi: JPEG SMI bus clock + * @clks: clock names + * @num_clks: numbers of clock * @larb: SMI device * @job_timeout_work: IRQ timeout structure */ @@ -67,8 +67,8 @@ struct mtk_jpeg_dev { void *alloc_ctx; struct video_device *dec_vdev; void __iomem *dec_reg_base; - struct clk *clk_jdec; - struct clk *clk_jdec_smi; + struct clk_bulk_data *clks; + int num_clks; struct device *larb; struct delayed_work job_timeout_work; }; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel