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=-9.8 required=3.0 tests=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, 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 95B25C2D0C3 for ; Wed, 18 Dec 2019 08:31:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5C2FE20717 for ; Wed, 18 Dec 2019 08:31:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="qnQw/WnX" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726880AbfLRIbN (ORCPT ); Wed, 18 Dec 2019 03:31:13 -0500 Received: from mailgw02.mediatek.com ([210.61.82.184]:22872 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726613AbfLRIbG (ORCPT ); Wed, 18 Dec 2019 03:31:06 -0500 X-UUID: c4e1d17c0980438eb24ca22c00642f4a-20191218 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=QEwyqIJvggztCyvb4YrJ/CReIcLAWVSBtZR8Bp8ykRI=; b=qnQw/WnXcHnUlAALBFUZAuC9bkyedqubU1KzHWQw35UhG623xw2rFO00o/2Zw1Svj9ZvNhiQb8EbT0FiAyhVitNMwwygcWJR/lVgXHOPWOfFSYnHikcTnrfhdOcR4l2O/OT+ybTPtMry3zFmfFp00p9pEDDjsed/EUkbx0fHtRU=; X-UUID: c4e1d17c0980438eb24ca22c00642f4a-20191218 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 321146330; Wed, 18 Dec 2019 16:30:59 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs02n2.mediatek.inc (172.21.101.101) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 18 Dec 2019 16:30:26 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 18 Dec 2019 16:30:29 +0800 From: Weiyi Lu To: Nicolas Boichat , Matthias Brugger , Rob Herring , Sascha Hauer CC: James Liao , Fan Chen , , , , , Weiyi Lu Subject: [PATCH v10 06/12] soc: mediatek: Use bp_table for all compatibles Date: Wed, 18 Dec 2019 16:30:42 +0800 Message-ID: <1576657848-14711-7-git-send-email-weiyi.lu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1576657848-14711-1-git-send-email-weiyi.lu@mediatek.com> References: <1576657848-14711-1-git-send-email-weiyi.lu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: 6C553B17E6A1331978AA3535826A05B4688E53478A7B699D0D07CDDF55E4A8212000:8 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 T25seSB1c2UgYnBfdGFibGUgZm9yIGJ1cyBwcm90ZWN0aW9uIG9mIGFsbCBjb21wYXRpYmxlcywN Cmluc3RlYWQgb2YgbWl4aW5nIGJ1c19wcm90X21hc2sgYW5kIGJ1c19wcm90X3JlZ191cGRhdGUu DQoNClNpZ25lZC1vZmYtYnk6IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRlay5jb20+DQotLS0N CiBkcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstc2Nwc3lzLmMgfCA5NCArKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0NCiAxIGZpbGUgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygr KSwgNDYgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL3NvYy9tZWRpYXRlay9t dGstc2Nwc3lzLmMgYi9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstc2Nwc3lzLmMNCmluZGV4IDU2 OTlkOWYuLmM0MzhjNTMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstc2Nw c3lzLmMNCisrKyBiL2RyaXZlcnMvc29jL21lZGlhdGVrL210ay1zY3BzeXMuYw0KQEAgLTExLDcg KzExLDYgQEANCiAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQogI2luY2x1ZGUg PGxpbnV4L3BtX2RvbWFpbi5oPg0KICNpbmNsdWRlIDxsaW51eC9yZWd1bGF0b3IvY29uc3VtZXIu aD4NCi0jaW5jbHVkZSA8bGludXgvc29jL21lZGlhdGVrL2luZnJhY2ZnLmg+DQogI2luY2x1ZGUg PGxpbnV4L3NvYy9tZWRpYXRlay9zY3BzeXMtZXh0Lmg+DQogDQogI2luY2x1ZGUgPGR0LWJpbmRp bmdzL3Bvd2VyL210MjcwMS1wb3dlci5oPg0KQEAgLTg4LDcgKzg3LDYgQEANCiAgKiBAY3RsX29m ZnM6IFRoZSBvZmZzZXQgZm9yIG1haW4gcG93ZXIgY29udHJvbCByZWdpc3Rlci4NCiAgKiBAc3Jh bV9wZG5fYml0czogVGhlIG1hc2sgZm9yIHNyYW0gcG93ZXIgY29udHJvbCBiaXRzLg0KICAqIEBz cmFtX3Bkbl9hY2tfYml0czogVGhlIG1hc2sgZm9yIHNyYW0gcG93ZXIgY29udHJvbCBhY2tlZCBi aXRzLg0KLSAqIEBidXNfcHJvdF9tYXNrOiBUaGUgbWFzayBmb3Igc2luZ2xlIHN0ZXAgYnVzIHBy b3RlY3Rpb24uDQogICogQGJhc2ljX2Nsa19uYW1lOiBUaGUgYmFzaWMgY2xvY2tzIHJlcXVpcmVk IGJ5IHRoaXMgcG93ZXIgZG9tYWluLg0KICAqIEBjYXBzOiBUaGUgZmxhZyBmb3IgYWN0aXZlIHdh a2UtdXAgYWN0aW9uLg0KICAqIEBicF90YWJsZTogVGhlIG1hc2sgdGFibGUgZm9yIG11bHRpcGxl IHN0ZXAgYnVzIHByb3RlY3Rpb24uDQpAQCAtOTksNyArOTcsNiBAQCBzdHJ1Y3Qgc2NwX2RvbWFp bl9kYXRhIHsNCiAJaW50IGN0bF9vZmZzOw0KIAl1MzIgc3JhbV9wZG5fYml0czsNCiAJdTMyIHNy YW1fcGRuX2Fja19iaXRzOw0KLQl1MzIgYnVzX3Byb3RfbWFzazsNCiAJY29uc3QgY2hhciAqYmFz aWNfY2xrX25hbWVbTUFYX0NMS1NdOw0KIAl1OCBjYXBzOw0KIAlzdHJ1Y3QgYnVzX3Byb3QgYnBf dGFibGVbTUFYX1NURVBTXTsNCkBAIC0xMjgsNyArMTI1LDYgQEAgc3RydWN0IHNjcCB7DQogCXN0 cnVjdCByZWdtYXAgKmluZnJhY2ZnOw0KIAlzdHJ1Y3QgcmVnbWFwICpzbWlfY29tbW9uOw0KIAlz dHJ1Y3Qgc2NwX2N0cmxfcmVnIGN0cmxfcmVnOw0KLQlib29sIGJ1c19wcm90X3JlZ191cGRhdGU7 DQogfTsNCiANCiBzdHJ1Y3Qgc2NwX3N1YmRvbWFpbiB7DQpAQCAtMTQyLDcgKzEzOCw2IEBAIHN0 cnVjdCBzY3Bfc29jX2RhdGEgew0KIAljb25zdCBzdHJ1Y3Qgc2NwX3N1YmRvbWFpbiAqc3ViZG9t YWluczsNCiAJaW50IG51bV9zdWJkb21haW5zOw0KIAljb25zdCBzdHJ1Y3Qgc2NwX2N0cmxfcmVn IHJlZ3M7DQotCWJvb2wgYnVzX3Byb3RfcmVnX3VwZGF0ZTsNCiB9Ow0KIA0KIHN0YXRpYyBpbnQg c2Nwc3lzX2RvbWFpbl9pc19vbihzdHJ1Y3Qgc2NwX2RvbWFpbiAqc2NwZCkNCkBAIC0yNTYsMTIg KzI1MSw2IEBAIHN0YXRpYyBpbnQgc2Nwc3lzX2J1c19wcm90ZWN0X2VuYWJsZShzdHJ1Y3Qgc2Nw X2RvbWFpbiAqc2NwZCkNCiB7DQogCXN0cnVjdCBzY3AgKnNjcCA9IHNjcGQtPnNjcDsNCiANCi0J aWYgKHNjcGQtPmRhdGEtPmJ1c19wcm90X21hc2spIHsNCi0JCXJldHVybiBtdGtfaW5mcmFjZmdf c2V0X2J1c19wcm90ZWN0aW9uKHNjcC0+aW5mcmFjZmcsDQotCQkJCXNjcGQtPmRhdGEtPmJ1c19w cm90X21hc2ssDQotCQkJCXNjcC0+YnVzX3Byb3RfcmVnX3VwZGF0ZSk7DQotCX0NCi0NCiAJcmV0 dXJuIG10a19zY3BzeXNfZXh0X3NldF9idXNfcHJvdGVjdGlvbihzY3BkLT5kYXRhLT5icF90YWJs ZSwNCiAJCQlzY3AtPmluZnJhY2ZnLCBzY3AtPnNtaV9jb21tb24pOw0KIH0NCkBAIC0yNzAsMTIg KzI1OSw2IEBAIHN0YXRpYyBpbnQgc2Nwc3lzX2J1c19wcm90ZWN0X2Rpc2FibGUoc3RydWN0IHNj cF9kb21haW4gKnNjcGQpDQogew0KIAlzdHJ1Y3Qgc2NwICpzY3AgPSBzY3BkLT5zY3A7DQogDQot CWlmIChzY3BkLT5kYXRhLT5idXNfcHJvdF9tYXNrKSB7DQotCQlyZXR1cm4gbXRrX2luZnJhY2Zn X2NsZWFyX2J1c19wcm90ZWN0aW9uKHNjcC0+aW5mcmFjZmcsDQotCQkJCXNjcGQtPmRhdGEtPmJ1 c19wcm90X21hc2ssDQotCQkJCXNjcC0+YnVzX3Byb3RfcmVnX3VwZGF0ZSk7DQotCX0NCi0NCiAJ cmV0dXJuIG10a19zY3BzeXNfZXh0X2NsZWFyX2J1c19wcm90ZWN0aW9uKHNjcGQtPmRhdGEtPmJw X3RhYmxlLA0KIAkJCXNjcC0+aW5mcmFjZmcsIHNjcC0+c21pX2NvbW1vbik7DQogfQ0KQEAgLTQx Miw4ICszOTUsNyBAQCBzdGF0aWMgaW50IGluaXRfYmFzaWNfY2xrcyhzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2LCBzdHJ1Y3QgY2xrICoqY2xrLA0KIA0KIHN0YXRpYyBzdHJ1Y3Qgc2NwICpp bml0X3NjcChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LA0KIAkJCWNvbnN0IHN0cnVjdCBz Y3BfZG9tYWluX2RhdGEgKnNjcF9kb21haW5fZGF0YSwgaW50IG51bSwNCi0JCQljb25zdCBzdHJ1 Y3Qgc2NwX2N0cmxfcmVnICpzY3BfY3RybF9yZWcsDQotCQkJYm9vbCBidXNfcHJvdF9yZWdfdXBk YXRlKQ0KKwkJCWNvbnN0IHN0cnVjdCBzY3BfY3RybF9yZWcgKnNjcF9jdHJsX3JlZykNCiB7DQog CXN0cnVjdCBnZW5wZF9vbmVjZWxsX2RhdGEgKnBkX2RhdGE7DQogCXN0cnVjdCByZXNvdXJjZSAq cmVzOw0KQEAgLTQyNyw4ICs0MDksNiBAQCBzdGF0aWMgc3RydWN0IHNjcCAqaW5pdF9zY3Aoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwNCiAJc2NwLT5jdHJsX3JlZy5wd3Jfc3RhX29mZnMg PSBzY3BfY3RybF9yZWctPnB3cl9zdGFfb2ZmczsNCiAJc2NwLT5jdHJsX3JlZy5wd3Jfc3RhMm5k X29mZnMgPSBzY3BfY3RybF9yZWctPnB3cl9zdGEybmRfb2ZmczsNCiANCi0Jc2NwLT5idXNfcHJv dF9yZWdfdXBkYXRlID0gYnVzX3Byb3RfcmVnX3VwZGF0ZTsNCi0NCiAJc2NwLT5kZXYgPSAmcGRl di0+ZGV2Ow0KIA0KIAlyZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJD RV9NRU0sIDApOw0KQEAgLTU0OSw4ICs1MjksMTAgQEAgc3RhdGljIHZvaWQgbXRrX3JlZ2lzdGVy X3Bvd2VyX2RvbWFpbnMoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwNCiAJCS5uYW1lID0g ImNvbm4iLA0KIAkJLnN0YV9tYXNrID0gUFdSX1NUQVRVU19DT05OLA0KIAkJLmN0bF9vZmZzID0g U1BNX0NPTk5fUFdSX0NPTiwNCi0JCS5idXNfcHJvdF9tYXNrID0gTVQyNzAxX1RPUF9BWElfUFJP VF9FTl9DT05OX00gfA0KLQkJCQkgTVQyNzAxX1RPUF9BWElfUFJPVF9FTl9DT05OX1MsDQorCQku YnBfdGFibGUgPSB7DQorCQkJQlVTX1BST1QoSUZSX1RZUEUsIDAsIDAsIDB4MjIwLCAweDIyOCwN CisJCQkJQklUKDIpIHwgQklUKDgpLCBCSVQoMikgfCBCSVQoOCkpLA0KKwkJfSwNCiAJCS5jYXBz ID0gTVRLX1NDUERfQUNUSVZFX1dBS0VVUCwNCiAJfSwNCiAJW01UMjcwMV9QT1dFUl9ET01BSU5f RElTUF0gPSB7DQpAQCAtNTU5LDcgKzU0MSwxMCBAQCBzdGF0aWMgdm9pZCBtdGtfcmVnaXN0ZXJf cG93ZXJfZG9tYWlucyhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LA0KIAkJLmN0bF9vZmZz ID0gU1BNX0RJU19QV1JfQ09OLA0KIAkJLnNyYW1fcGRuX2JpdHMgPSBHRU5NQVNLKDExLCA4KSwN CiAJCS5iYXNpY19jbGtfbmFtZSA9IHsibW0ifSwNCi0JCS5idXNfcHJvdF9tYXNrID0gTVQyNzAx X1RPUF9BWElfUFJPVF9FTl9NTV9NMCwNCisJCS5icF90YWJsZSA9IHsNCisJCQlCVVNfUFJPVChJ RlJfVFlQRSwgMCwgMCwgMHgyMjAsIDB4MjI4LA0KKwkJCQlCSVQoMSksIEJJVCgxKSksDQorCQl9 LA0KIAkJLmNhcHMgPSBNVEtfU0NQRF9BQ1RJVkVfV0FLRVVQLA0KIAl9LA0KIAlbTVQyNzAxX1BP V0VSX0RPTUFJTl9NRkddID0gew0KQEAgLTY5NCw3ICs2NzksMTEgQEAgc3RhdGljIHZvaWQgbXRr X3JlZ2lzdGVyX3Bvd2VyX2RvbWFpbnMoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwNCiAJ CS5zcmFtX3Bkbl9iaXRzID0gR0VOTUFTSyg4LCA4KSwNCiAJCS5zcmFtX3Bkbl9hY2tfYml0cyA9 IEdFTk1BU0soMTYsIDE2KSwNCiAJCS5iYXNpY19jbGtfbmFtZSA9IHsibWZnIn0sDQotCQkuYnVz X3Byb3RfbWFzayA9IEJJVCgxNCkgfCBCSVQoMjEpIHwgQklUKDIzKSwNCisJCS5icF90YWJsZSA9 IHsNCisJCQlCVVNfUFJPVChJRlJfVFlQRSwgMHgyNjAsIDB4MjY0LCAweDIyMCwgMHgyMjgsDQor CQkJCUJJVCgxNCkgfCBCSVQoMjEpIHwgQklUKDIzKSwNCisJCQkJQklUKDE0KSB8IEJJVCgyMSkg fCBCSVQoMjMpKSwNCisJCX0sDQogCQkuY2FwcyA9IE1US19TQ1BEX0FDVElWRV9XQUtFVVAsDQog CX0sDQogCVtNVDI3MTJfUE9XRVJfRE9NQUlOX01GR19TQzFdID0gew0KQEAgLTc2Niw3ICs3NTUs MTAgQEAgc3RhdGljIHZvaWQgbXRrX3JlZ2lzdGVyX3Bvd2VyX2RvbWFpbnMoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldiwNCiAJCS5zcmFtX3Bkbl9iaXRzID0gR0VOTUFTSyg4LCA4KSwNCiAJ CS5zcmFtX3Bkbl9hY2tfYml0cyA9IEdFTk1BU0soMTIsIDEyKSwNCiAJCS5iYXNpY19jbGtfbmFt ZSA9IHsibW0ifSwNCi0JCS5idXNfcHJvdF9tYXNrID0gKEJJVCgxKSB8IEJJVCgyKSksDQorCQku YnBfdGFibGUgPSB7DQorCQkJQlVTX1BST1QoSUZSX1RZUEUsIDAsIDAsIDB4MjIwLCAweDIyOCwN CisJCQkJQklUKDEpIHwgQklUKDIpLCBCSVQoMSkgfCBCSVQoMikpLA0KKwkJfSwNCiAJfSwNCiAJ W01UNjc5N19QT1dFUl9ET01BSU5fQVVESU9dID0gew0KIAkJLm5hbWUgPSAiYXVkaW8iLA0KQEAg LTgxMyw3ICs4MDUsMTAgQEAgc3RhdGljIHZvaWQgbXRrX3JlZ2lzdGVyX3Bvd2VyX2RvbWFpbnMo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwNCiAJCS5jdGxfb2ZmcyA9IFNQTV9FVEhTWVNf UFdSX0NPTiwNCiAJCS5zcmFtX3Bkbl9iaXRzID0gR0VOTUFTSygxMSwgOCksDQogCQkuc3JhbV9w ZG5fYWNrX2JpdHMgPSBHRU5NQVNLKDE1LCAxMiksDQotCQkuYnVzX3Byb3RfbWFzayA9IE1UNzYy Ml9UT1BfQVhJX1BST1RfRU5fRVRIU1lTLA0KKwkJLmJwX3RhYmxlID0gew0KKwkJCUJVU19QUk9U KElGUl9UWVBFLCAwLCAwLCAweDIyMCwgMHgyMjgsDQorCQkJCUJJVCgzKSB8IEJJVCgxNyksIEJJ VCgzKSB8IEJJVCgxNykpLA0KKwkJfSwNCiAJCS5jYXBzID0gTVRLX1NDUERfQUNUSVZFX1dBS0VV UCwNCiAJfSwNCiAJW01UNzYyMl9QT1dFUl9ET01BSU5fSElGMF0gPSB7DQpAQCAtODIzLDcgKzgx OCwxMCBAQCBzdGF0aWMgdm9pZCBtdGtfcmVnaXN0ZXJfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2LA0KIAkJLnNyYW1fcGRuX2JpdHMgPSBHRU5NQVNLKDExLCA4KSwN CiAJCS5zcmFtX3Bkbl9hY2tfYml0cyA9IEdFTk1BU0soMTUsIDEyKSwNCiAJCS5iYXNpY19jbGtf bmFtZSA9IHsiaGlmX3NlbCJ9LA0KLQkJLmJ1c19wcm90X21hc2sgPSBNVDc2MjJfVE9QX0FYSV9Q Uk9UX0VOX0hJRjAsDQorCQkuYnBfdGFibGUgPSB7DQorCQkJQlVTX1BST1QoSUZSX1RZUEUsIDAs IDAsIDB4MjIwLCAweDIyOCwNCisJCQkJQklUKDI0KSB8IEJJVCgyNSksIEJJVCgyNCkgfCBCSVQo MjUpKSwNCisJCX0sDQogCQkuY2FwcyA9IE1US19TQ1BEX0FDVElWRV9XQUtFVVAsDQogCX0sDQog CVtNVDc2MjJfUE9XRVJfRE9NQUlOX0hJRjFdID0gew0KQEAgLTgzMyw3ICs4MzEsMTAgQEAgc3Rh dGljIHZvaWQgbXRrX3JlZ2lzdGVyX3Bvd2VyX2RvbWFpbnMoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldiwNCiAJCS5zcmFtX3Bkbl9iaXRzID0gR0VOTUFTSygxMSwgOCksDQogCQkuc3JhbV9w ZG5fYWNrX2JpdHMgPSBHRU5NQVNLKDE1LCAxMiksDQogCQkuYmFzaWNfY2xrX25hbWUgPSB7Imhp Zl9zZWwifSwNCi0JCS5idXNfcHJvdF9tYXNrID0gTVQ3NjIyX1RPUF9BWElfUFJPVF9FTl9ISUYx LA0KKwkJLmJwX3RhYmxlID0gew0KKwkJCUJVU19QUk9UKElGUl9UWVBFLCAwLCAwLCAweDIyMCwg MHgyMjgsDQorCQkJCUdFTk1BU0soMjgsIDI2KSwgR0VOTUFTSygyOCwgMjYpKSwNCisJCX0sDQog CQkuY2FwcyA9IE1US19TQ1BEX0FDVElWRV9XQUtFVVAsDQogCX0sDQogCVtNVDc2MjJfUE9XRVJf RE9NQUlOX1dCXSA9IHsNCkBAIC04NDIsNyArODQzLDEwIEBAIHN0YXRpYyB2b2lkIG10a19yZWdp c3Rlcl9wb3dlcl9kb21haW5zKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsDQogCQkuY3Rs X29mZnMgPSBTUE1fV0JfUFdSX0NPTiwNCiAJCS5zcmFtX3Bkbl9iaXRzID0gMCwNCiAJCS5zcmFt X3Bkbl9hY2tfYml0cyA9IDAsDQotCQkuYnVzX3Byb3RfbWFzayA9IE1UNzYyMl9UT1BfQVhJX1BS T1RfRU5fV0IsDQorCQkuYnBfdGFibGUgPSB7DQorCQkJQlVTX1BST1QoSUZSX1RZUEUsIDAsIDAs IDB4MjIwLCAweDIyOCwNCisJCQkJQklUKDIpIHwgR0VOTUFTSyg4LCA2KSwgQklUKDIpIHwgR0VO TUFTSyg4LCA2KSksDQorCQl9LA0KIAkJLmNhcHMgPSBNVEtfU0NQRF9BQ1RJVkVfV0FLRVVQIHwg TVRLX1NDUERfRldBSVRfU1JBTSwNCiAJfSwNCiB9Ow0KQEAgLTg1Niw4ICs4NjAsMTAgQEAgc3Rh dGljIHZvaWQgbXRrX3JlZ2lzdGVyX3Bvd2VyX2RvbWFpbnMoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldiwNCiAJCS5uYW1lID0gImNvbm4iLA0KIAkJLnN0YV9tYXNrID0gUFdSX1NUQVRVU19D T05OLA0KIAkJLmN0bF9vZmZzID0gU1BNX0NPTk5fUFdSX0NPTiwNCi0JCS5idXNfcHJvdF9tYXNr ID0gTVQyNzAxX1RPUF9BWElfUFJPVF9FTl9DT05OX00gfA0KLQkJCQkgTVQyNzAxX1RPUF9BWElf UFJPVF9FTl9DT05OX1MsDQorCQkuYnBfdGFibGUgPSB7DQorCQkJQlVTX1BST1QoSUZSX1RZUEUs IDAsIDAsIDB4MjIwLCAweDIyOCwNCisJCQkJQklUKDIpIHwgQklUKDgpLCBCSVQoMikgfCBCSVQo OCkpLA0KKwkJfSwNCiAJCS5jYXBzID0gTVRLX1NDUERfQUNUSVZFX1dBS0VVUCwNCiAJfSwNCiAJ W01UNzYyM0FfUE9XRVJfRE9NQUlOX0VUSF0gPSB7DQpAQCAtOTIyLDggKzkyOCwxMCBAQCBzdGF0 aWMgdm9pZCBtdGtfcmVnaXN0ZXJfcG93ZXJfZG9tYWlucyhzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2LA0KIAkJLnNyYW1fcGRuX2JpdHMgPSBHRU5NQVNLKDExLCA4KSwNCiAJCS5zcmFtX3Bk bl9hY2tfYml0cyA9IEdFTk1BU0soMTIsIDEyKSwNCiAJCS5iYXNpY19jbGtfbmFtZSA9IHsibW0i fSwNCi0JCS5idXNfcHJvdF9tYXNrID0gTVQ4MTczX1RPUF9BWElfUFJPVF9FTl9NTV9NMCB8DQot CQkJTVQ4MTczX1RPUF9BWElfUFJPVF9FTl9NTV9NMSwNCisJCS5icF90YWJsZSA9IHsNCisJCQlC VVNfUFJPVChJRlJfVFlQRSwgMCwgMCwgMHgyMjAsIDB4MjI4LA0KKwkJCQlCSVQoMSkgfCBCSVQo MiksIEJJVCgxKSB8IEJJVCgyKSksDQorCQl9LA0KIAl9LA0KIAlbTVQ4MTczX1BPV0VSX0RPTUFJ Tl9WRU5DX0xUXSA9IHsNCiAJCS5uYW1lID0gInZlbmNfbHQiLA0KQEAgLTk2OSwxMCArOTc3LDEx IEBAIHN0YXRpYyB2b2lkIG10a19yZWdpc3Rlcl9wb3dlcl9kb21haW5zKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYsDQogCQkuY3RsX29mZnMgPSBTUE1fTUZHX1BXUl9DT04sDQogCQkuc3Jh bV9wZG5fYml0cyA9IEdFTk1BU0soMTMsIDgpLA0KIAkJLnNyYW1fcGRuX2Fja19iaXRzID0gR0VO TUFTSygyMSwgMTYpLA0KLQkJLmJ1c19wcm90X21hc2sgPSBNVDgxNzNfVE9QX0FYSV9QUk9UX0VO X01GR19TIHwNCi0JCQlNVDgxNzNfVE9QX0FYSV9QUk9UX0VOX01GR19NMCB8DQotCQkJTVQ4MTcz X1RPUF9BWElfUFJPVF9FTl9NRkdfTTEgfA0KLQkJCU1UODE3M19UT1BfQVhJX1BST1RfRU5fTUZH X1NOT09QX09VVCwNCisJCS5icF90YWJsZSA9IHsNCisJCQlCVVNfUFJPVChJRlJfVFlQRSwgMCwg MCwgMHgyMjAsIDB4MjI4LA0KKwkJCQlCSVQoMTQpIHwgR0VOTUFTSygyMywgMjEpLA0KKwkJCQlC SVQoMTQpIHwgR0VOTUFTSygyMywgMjEpKSwNCisJCX0sDQogCX0sDQogfTsNCiANCkBAIC05ODgs NyArOTk3LDYgQEAgc3RhdGljIHZvaWQgbXRrX3JlZ2lzdGVyX3Bvd2VyX2RvbWFpbnMoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldiwNCiAJCS5wd3Jfc3RhX29mZnMgPSBTUE1fUFdSX1NUQVRV UywNCiAJCS5wd3Jfc3RhMm5kX29mZnMgPSBTUE1fUFdSX1NUQVRVU18yTkQNCiAJfSwNCi0JLmJ1 c19wcm90X3JlZ191cGRhdGUgPSB0cnVlLA0KIH07DQogDQogc3RhdGljIGNvbnN0IHN0cnVjdCBz Y3Bfc29jX2RhdGEgbXQyNzEyX2RhdGEgPSB7DQpAQCAtMTAwMCw3ICsxMDA4LDYgQEAgc3RhdGlj IHZvaWQgbXRrX3JlZ2lzdGVyX3Bvd2VyX2RvbWFpbnMoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldiwNCiAJCS5wd3Jfc3RhX29mZnMgPSBTUE1fUFdSX1NUQVRVUywNCiAJCS5wd3Jfc3RhMm5k X29mZnMgPSBTUE1fUFdSX1NUQVRVU18yTkQNCiAJfSwNCi0JLmJ1c19wcm90X3JlZ191cGRhdGUg PSBmYWxzZSwNCiB9Ow0KIA0KIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2NwX3NvY19kYXRhIG10Njc5 N19kYXRhID0gew0KQEAgLTEwMTIsNyArMTAxOSw2IEBAIHN0YXRpYyB2b2lkIG10a19yZWdpc3Rl cl9wb3dlcl9kb21haW5zKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsDQogCQkucHdyX3N0 YV9vZmZzID0gU1BNX1BXUl9TVEFUVVNfTVQ2Nzk3LA0KIAkJLnB3cl9zdGEybmRfb2ZmcyA9IFNQ TV9QV1JfU1RBVFVTXzJORF9NVDY3OTcNCiAJfSwNCi0JLmJ1c19wcm90X3JlZ191cGRhdGUgPSB0 cnVlLA0KIH07DQogDQogc3RhdGljIGNvbnN0IHN0cnVjdCBzY3Bfc29jX2RhdGEgbXQ3NjIyX2Rh dGEgPSB7DQpAQCAtMTAyMiw3ICsxMDI4LDYgQEAgc3RhdGljIHZvaWQgbXRrX3JlZ2lzdGVyX3Bv d2VyX2RvbWFpbnMoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwNCiAJCS5wd3Jfc3RhX29m ZnMgPSBTUE1fUFdSX1NUQVRVUywNCiAJCS5wd3Jfc3RhMm5kX29mZnMgPSBTUE1fUFdSX1NUQVRV U18yTkQNCiAJfSwNCi0JLmJ1c19wcm90X3JlZ191cGRhdGUgPSB0cnVlLA0KIH07DQogDQogc3Rh dGljIGNvbnN0IHN0cnVjdCBzY3Bfc29jX2RhdGEgbXQ3NjIzYV9kYXRhID0gew0KQEAgLTEwMzIs NyArMTAzNyw2IEBAIHN0YXRpYyB2b2lkIG10a19yZWdpc3Rlcl9wb3dlcl9kb21haW5zKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsDQogCQkucHdyX3N0YV9vZmZzID0gU1BNX1BXUl9TVEFU VVMsDQogCQkucHdyX3N0YTJuZF9vZmZzID0gU1BNX1BXUl9TVEFUVVNfMk5EDQogCX0sDQotCS5i dXNfcHJvdF9yZWdfdXBkYXRlID0gdHJ1ZSwNCiB9Ow0KIA0KIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg c2NwX3NvY19kYXRhIG10ODE3M19kYXRhID0gew0KQEAgLTEwNDQsNyArMTA0OCw2IEBAIHN0YXRp YyB2b2lkIG10a19yZWdpc3Rlcl9wb3dlcl9kb21haW5zKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYsDQogCQkucHdyX3N0YV9vZmZzID0gU1BNX1BXUl9TVEFUVVMsDQogCQkucHdyX3N0YTJu ZF9vZmZzID0gU1BNX1BXUl9TVEFUVVNfMk5EDQogCX0sDQotCS5idXNfcHJvdF9yZWdfdXBkYXRl ID0gdHJ1ZSwNCiB9Ow0KIA0KIC8qDQpAQCAtMTA4NSw4ICsxMDg4LDcgQEAgc3RhdGljIGludCBz Y3BzeXNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCiANCiAJc29jID0gb2Zf ZGV2aWNlX2dldF9tYXRjaF9kYXRhKCZwZGV2LT5kZXYpOw0KIA0KLQlzY3AgPSBpbml0X3NjcChw ZGV2LCBzb2MtPmRvbWFpbnMsIHNvYy0+bnVtX2RvbWFpbnMsICZzb2MtPnJlZ3MsDQotCQkJc29j LT5idXNfcHJvdF9yZWdfdXBkYXRlKTsNCisJc2NwID0gaW5pdF9zY3AocGRldiwgc29jLT5kb21h aW5zLCBzb2MtPm51bV9kb21haW5zLCAmc29jLT5yZWdzKTsNCiAJaWYgKElTX0VSUihzY3ApKQ0K IAkJcmV0dXJuIFBUUl9FUlIoc2NwKTsNCiANCi0tIA0KMS44LjEuMS5kaXJ0eQ0K 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=-9.8 required=3.0 tests=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 56B1BC2D0CD for ; Wed, 18 Dec 2019 08:31:21 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 25F5B20717 for ; Wed, 18 Dec 2019 08:31:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="KZvp0LhE"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="qnQw/WnX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 25F5B20717 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=bombadil.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=LU6FULHPh6p0LrjspsRMoWdWKIILhDdJD9IDRdPMtfY=; b=KZvp0LhEyNpx5x 0MqAE8A6UzA3a4jbQ9/wwRGgjtD15jArG75Id5vvpyjvX6X6d0aGlyMLxIpvemz62B5Qro0Mbp8af ACcv6tpfRWQEIcK+Q2R7yf50YOoFMPuYUirSfg049O2OVFxFnB1cTuBIL6JBVOC6rMhQKGBnDG5gG C5/GJMoUVo4LYxAY/6J15/o9fCQGkMWRsm6h/Qfslgtl2MB3KkxhXjxwVJ2rWTz/WYBprXbLtVduQ D3VQgvVn3LS0qARywQ0vRb4gwa2K2xNSDmBGw+vW3LrsMIET9EWA57N4YMkfO3d5oPaVC4m1RPe+S LzV6t+raVE158g80YXqg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ihUjo-0000Q3-NF; Wed, 18 Dec 2019 08:31:20 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ihUja-00009I-70; Wed, 18 Dec 2019 08:31:07 +0000 X-UUID: a7c491fccfee41bab635293ccfa5b797-20191218 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=QEwyqIJvggztCyvb4YrJ/CReIcLAWVSBtZR8Bp8ykRI=; b=qnQw/WnXcHnUlAALBFUZAuC9bkyedqubU1KzHWQw35UhG623xw2rFO00o/2Zw1Svj9ZvNhiQb8EbT0FiAyhVitNMwwygcWJR/lVgXHOPWOfFSYnHikcTnrfhdOcR4l2O/OT+ybTPtMry3zFmfFp00p9pEDDjsed/EUkbx0fHtRU=; X-UUID: a7c491fccfee41bab635293ccfa5b797-20191218 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1883483215; Wed, 18 Dec 2019 00:31:01 -0800 Received: from MTKMBS02N2.mediatek.inc (172.21.101.101) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 18 Dec 2019 00:31:12 -0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs02n2.mediatek.inc (172.21.101.101) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 18 Dec 2019 16:30:26 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 18 Dec 2019 16:30:29 +0800 From: Weiyi Lu To: Nicolas Boichat , Matthias Brugger , Rob Herring , Sascha Hauer Subject: [PATCH v10 06/12] soc: mediatek: Use bp_table for all compatibles Date: Wed, 18 Dec 2019 16:30:42 +0800 Message-ID: <1576657848-14711-7-git-send-email-weiyi.lu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1576657848-14711-1-git-send-email-weiyi.lu@mediatek.com> References: <1576657848-14711-1-git-send-email-weiyi.lu@mediatek.com> MIME-Version: 1.0 X-TM-SNTS-SMTP: 6C553B17E6A1331978AA3535826A05B4688E53478A7B699D0D07CDDF55E4A8212000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191218_003106_260193_C57C2C36 X-CRM114-Status: GOOD ( 12.53 ) 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: James Liao , Weiyi Lu , srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Fan Chen , linux-mediatek@lists.infradead.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 Only use bp_table for bus protection of all compatibles, instead of mixing bus_prot_mask and bus_prot_reg_update. Signed-off-by: Weiyi Lu --- drivers/soc/mediatek/mtk-scpsys.c | 94 ++++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 46 deletions(-) diff --git a/drivers/soc/mediatek/mtk-scpsys.c b/drivers/soc/mediatek/mtk-scpsys.c index 5699d9f..c438c53 100644 --- a/drivers/soc/mediatek/mtk-scpsys.c +++ b/drivers/soc/mediatek/mtk-scpsys.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include @@ -88,7 +87,6 @@ * @ctl_offs: The offset for main power control register. * @sram_pdn_bits: The mask for sram power control bits. * @sram_pdn_ack_bits: The mask for sram power control acked bits. - * @bus_prot_mask: The mask for single step bus protection. * @basic_clk_name: The basic clocks required by this power domain. * @caps: The flag for active wake-up action. * @bp_table: The mask table for multiple step bus protection. @@ -99,7 +97,6 @@ struct scp_domain_data { int ctl_offs; u32 sram_pdn_bits; u32 sram_pdn_ack_bits; - u32 bus_prot_mask; const char *basic_clk_name[MAX_CLKS]; u8 caps; struct bus_prot bp_table[MAX_STEPS]; @@ -128,7 +125,6 @@ struct scp { struct regmap *infracfg; struct regmap *smi_common; struct scp_ctrl_reg ctrl_reg; - bool bus_prot_reg_update; }; struct scp_subdomain { @@ -142,7 +138,6 @@ struct scp_soc_data { const struct scp_subdomain *subdomains; int num_subdomains; const struct scp_ctrl_reg regs; - bool bus_prot_reg_update; }; static int scpsys_domain_is_on(struct scp_domain *scpd) @@ -256,12 +251,6 @@ static int scpsys_bus_protect_enable(struct scp_domain *scpd) { struct scp *scp = scpd->scp; - if (scpd->data->bus_prot_mask) { - return mtk_infracfg_set_bus_protection(scp->infracfg, - scpd->data->bus_prot_mask, - scp->bus_prot_reg_update); - } - return mtk_scpsys_ext_set_bus_protection(scpd->data->bp_table, scp->infracfg, scp->smi_common); } @@ -270,12 +259,6 @@ static int scpsys_bus_protect_disable(struct scp_domain *scpd) { struct scp *scp = scpd->scp; - if (scpd->data->bus_prot_mask) { - return mtk_infracfg_clear_bus_protection(scp->infracfg, - scpd->data->bus_prot_mask, - scp->bus_prot_reg_update); - } - return mtk_scpsys_ext_clear_bus_protection(scpd->data->bp_table, scp->infracfg, scp->smi_common); } @@ -412,8 +395,7 @@ static int init_basic_clks(struct platform_device *pdev, struct clk **clk, static struct scp *init_scp(struct platform_device *pdev, const struct scp_domain_data *scp_domain_data, int num, - const struct scp_ctrl_reg *scp_ctrl_reg, - bool bus_prot_reg_update) + const struct scp_ctrl_reg *scp_ctrl_reg) { struct genpd_onecell_data *pd_data; struct resource *res; @@ -427,8 +409,6 @@ static struct scp *init_scp(struct platform_device *pdev, scp->ctrl_reg.pwr_sta_offs = scp_ctrl_reg->pwr_sta_offs; scp->ctrl_reg.pwr_sta2nd_offs = scp_ctrl_reg->pwr_sta2nd_offs; - scp->bus_prot_reg_update = bus_prot_reg_update; - scp->dev = &pdev->dev; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); @@ -549,8 +529,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .name = "conn", .sta_mask = PWR_STATUS_CONN, .ctl_offs = SPM_CONN_PWR_CON, - .bus_prot_mask = MT2701_TOP_AXI_PROT_EN_CONN_M | - MT2701_TOP_AXI_PROT_EN_CONN_S, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(2) | BIT(8), BIT(2) | BIT(8)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT2701_POWER_DOMAIN_DISP] = { @@ -559,7 +541,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .ctl_offs = SPM_DIS_PWR_CON, .sram_pdn_bits = GENMASK(11, 8), .basic_clk_name = {"mm"}, - .bus_prot_mask = MT2701_TOP_AXI_PROT_EN_MM_M0, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(1), BIT(1)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT2701_POWER_DOMAIN_MFG] = { @@ -694,7 +679,11 @@ static void mtk_register_power_domains(struct platform_device *pdev, .sram_pdn_bits = GENMASK(8, 8), .sram_pdn_ack_bits = GENMASK(16, 16), .basic_clk_name = {"mfg"}, - .bus_prot_mask = BIT(14) | BIT(21) | BIT(23), + .bp_table = { + BUS_PROT(IFR_TYPE, 0x260, 0x264, 0x220, 0x228, + BIT(14) | BIT(21) | BIT(23), + BIT(14) | BIT(21) | BIT(23)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT2712_POWER_DOMAIN_MFG_SC1] = { @@ -766,7 +755,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .sram_pdn_bits = GENMASK(8, 8), .sram_pdn_ack_bits = GENMASK(12, 12), .basic_clk_name = {"mm"}, - .bus_prot_mask = (BIT(1) | BIT(2)), + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(1) | BIT(2), BIT(1) | BIT(2)), + }, }, [MT6797_POWER_DOMAIN_AUDIO] = { .name = "audio", @@ -813,7 +805,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .ctl_offs = SPM_ETHSYS_PWR_CON, .sram_pdn_bits = GENMASK(11, 8), .sram_pdn_ack_bits = GENMASK(15, 12), - .bus_prot_mask = MT7622_TOP_AXI_PROT_EN_ETHSYS, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(3) | BIT(17), BIT(3) | BIT(17)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT7622_POWER_DOMAIN_HIF0] = { @@ -823,7 +818,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .sram_pdn_bits = GENMASK(11, 8), .sram_pdn_ack_bits = GENMASK(15, 12), .basic_clk_name = {"hif_sel"}, - .bus_prot_mask = MT7622_TOP_AXI_PROT_EN_HIF0, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(24) | BIT(25), BIT(24) | BIT(25)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT7622_POWER_DOMAIN_HIF1] = { @@ -833,7 +831,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .sram_pdn_bits = GENMASK(11, 8), .sram_pdn_ack_bits = GENMASK(15, 12), .basic_clk_name = {"hif_sel"}, - .bus_prot_mask = MT7622_TOP_AXI_PROT_EN_HIF1, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + GENMASK(28, 26), GENMASK(28, 26)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT7622_POWER_DOMAIN_WB] = { @@ -842,7 +843,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .ctl_offs = SPM_WB_PWR_CON, .sram_pdn_bits = 0, .sram_pdn_ack_bits = 0, - .bus_prot_mask = MT7622_TOP_AXI_PROT_EN_WB, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(2) | GENMASK(8, 6), BIT(2) | GENMASK(8, 6)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP | MTK_SCPD_FWAIT_SRAM, }, }; @@ -856,8 +860,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .name = "conn", .sta_mask = PWR_STATUS_CONN, .ctl_offs = SPM_CONN_PWR_CON, - .bus_prot_mask = MT2701_TOP_AXI_PROT_EN_CONN_M | - MT2701_TOP_AXI_PROT_EN_CONN_S, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(2) | BIT(8), BIT(2) | BIT(8)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT7623A_POWER_DOMAIN_ETH] = { @@ -922,8 +928,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .sram_pdn_bits = GENMASK(11, 8), .sram_pdn_ack_bits = GENMASK(12, 12), .basic_clk_name = {"mm"}, - .bus_prot_mask = MT8173_TOP_AXI_PROT_EN_MM_M0 | - MT8173_TOP_AXI_PROT_EN_MM_M1, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(1) | BIT(2), BIT(1) | BIT(2)), + }, }, [MT8173_POWER_DOMAIN_VENC_LT] = { .name = "venc_lt", @@ -969,10 +977,11 @@ static void mtk_register_power_domains(struct platform_device *pdev, .ctl_offs = SPM_MFG_PWR_CON, .sram_pdn_bits = GENMASK(13, 8), .sram_pdn_ack_bits = GENMASK(21, 16), - .bus_prot_mask = MT8173_TOP_AXI_PROT_EN_MFG_S | - MT8173_TOP_AXI_PROT_EN_MFG_M0 | - MT8173_TOP_AXI_PROT_EN_MFG_M1 | - MT8173_TOP_AXI_PROT_EN_MFG_SNOOP_OUT, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(14) | GENMASK(23, 21), + BIT(14) | GENMASK(23, 21)), + }, }, }; @@ -988,7 +997,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND }, - .bus_prot_reg_update = true, }; static const struct scp_soc_data mt2712_data = { @@ -1000,7 +1008,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND }, - .bus_prot_reg_update = false, }; static const struct scp_soc_data mt6797_data = { @@ -1012,7 +1019,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS_MT6797, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND_MT6797 }, - .bus_prot_reg_update = true, }; static const struct scp_soc_data mt7622_data = { @@ -1022,7 +1028,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND }, - .bus_prot_reg_update = true, }; static const struct scp_soc_data mt7623a_data = { @@ -1032,7 +1037,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND }, - .bus_prot_reg_update = true, }; static const struct scp_soc_data mt8173_data = { @@ -1044,7 +1048,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND }, - .bus_prot_reg_update = true, }; /* @@ -1085,8 +1088,7 @@ static int scpsys_probe(struct platform_device *pdev) soc = of_device_get_match_data(&pdev->dev); - scp = init_scp(pdev, soc->domains, soc->num_domains, &soc->regs, - soc->bus_prot_reg_update); + scp = init_scp(pdev, soc->domains, soc->num_domains, &soc->regs); if (IS_ERR(scp)) return PTR_ERR(scp); -- 1.8.1.1.dirty _______________________________________________ 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=-9.8 required=3.0 tests=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=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 7EE7BC2D0CD for ; Wed, 18 Dec 2019 08:31:32 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 47D5224672 for ; Wed, 18 Dec 2019 08:31:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="kOWz8zUU"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="qnQw/WnX" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 47D5224672 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+infradead-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=bombadil.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=eK2JvIo8xfMNLJI0tfd1gOvk4eLWeXLJH3zkUen29JQ=; b=kOWz8zUUUeqJ0J l5xJ97+8elYhY+S8GxYoE6IJsMq9QMFPjuV8gl9f0Z3A+0Wxsdrqhnj/zcGH3Z6L+mQPOxAycRKHA EWaZUEZB8EK0XdLX1Zuy3uLMiI8XwwXYcb+SfGajKSGWZ2npxFDcmZvrf9xDhDmJSyKs0tf1zaOJ0 5a1sgOOqwjTcs0GWevFM8NQQnVsvtnB627tyq13TeTs0vksKnGeeVEoZRuXnpmsXsRrGqi1aB1ylo L+rQe9z3Nxs50M5wTjqfjiO7oEp+CssHqx56VfsRwpaan2XPCRh3/RrcQvonTOGiijAigCmt7vmYe jDqXW52u8bicAfbX/Xkw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ihUjq-0000SC-DS; Wed, 18 Dec 2019 08:31:22 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ihUja-00009I-70; Wed, 18 Dec 2019 08:31:07 +0000 X-UUID: a7c491fccfee41bab635293ccfa5b797-20191218 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=QEwyqIJvggztCyvb4YrJ/CReIcLAWVSBtZR8Bp8ykRI=; b=qnQw/WnXcHnUlAALBFUZAuC9bkyedqubU1KzHWQw35UhG623xw2rFO00o/2Zw1Svj9ZvNhiQb8EbT0FiAyhVitNMwwygcWJR/lVgXHOPWOfFSYnHikcTnrfhdOcR4l2O/OT+ybTPtMry3zFmfFp00p9pEDDjsed/EUkbx0fHtRU=; X-UUID: a7c491fccfee41bab635293ccfa5b797-20191218 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1883483215; Wed, 18 Dec 2019 00:31:01 -0800 Received: from MTKMBS02N2.mediatek.inc (172.21.101.101) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 18 Dec 2019 00:31:12 -0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs02n2.mediatek.inc (172.21.101.101) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 18 Dec 2019 16:30:26 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 18 Dec 2019 16:30:29 +0800 From: Weiyi Lu To: Nicolas Boichat , Matthias Brugger , Rob Herring , Sascha Hauer Subject: [PATCH v10 06/12] soc: mediatek: Use bp_table for all compatibles Date: Wed, 18 Dec 2019 16:30:42 +0800 Message-ID: <1576657848-14711-7-git-send-email-weiyi.lu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1576657848-14711-1-git-send-email-weiyi.lu@mediatek.com> References: <1576657848-14711-1-git-send-email-weiyi.lu@mediatek.com> MIME-Version: 1.0 X-TM-SNTS-SMTP: 6C553B17E6A1331978AA3535826A05B4688E53478A7B699D0D07CDDF55E4A8212000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191218_003106_260193_C57C2C36 X-CRM114-Status: GOOD ( 12.53 ) 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: James Liao , Weiyi Lu , srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Fan Chen , linux-mediatek@lists.infradead.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+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Only use bp_table for bus protection of all compatibles, instead of mixing bus_prot_mask and bus_prot_reg_update. Signed-off-by: Weiyi Lu --- drivers/soc/mediatek/mtk-scpsys.c | 94 ++++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 46 deletions(-) diff --git a/drivers/soc/mediatek/mtk-scpsys.c b/drivers/soc/mediatek/mtk-scpsys.c index 5699d9f..c438c53 100644 --- a/drivers/soc/mediatek/mtk-scpsys.c +++ b/drivers/soc/mediatek/mtk-scpsys.c @@ -11,7 +11,6 @@ #include #include #include -#include #include #include @@ -88,7 +87,6 @@ * @ctl_offs: The offset for main power control register. * @sram_pdn_bits: The mask for sram power control bits. * @sram_pdn_ack_bits: The mask for sram power control acked bits. - * @bus_prot_mask: The mask for single step bus protection. * @basic_clk_name: The basic clocks required by this power domain. * @caps: The flag for active wake-up action. * @bp_table: The mask table for multiple step bus protection. @@ -99,7 +97,6 @@ struct scp_domain_data { int ctl_offs; u32 sram_pdn_bits; u32 sram_pdn_ack_bits; - u32 bus_prot_mask; const char *basic_clk_name[MAX_CLKS]; u8 caps; struct bus_prot bp_table[MAX_STEPS]; @@ -128,7 +125,6 @@ struct scp { struct regmap *infracfg; struct regmap *smi_common; struct scp_ctrl_reg ctrl_reg; - bool bus_prot_reg_update; }; struct scp_subdomain { @@ -142,7 +138,6 @@ struct scp_soc_data { const struct scp_subdomain *subdomains; int num_subdomains; const struct scp_ctrl_reg regs; - bool bus_prot_reg_update; }; static int scpsys_domain_is_on(struct scp_domain *scpd) @@ -256,12 +251,6 @@ static int scpsys_bus_protect_enable(struct scp_domain *scpd) { struct scp *scp = scpd->scp; - if (scpd->data->bus_prot_mask) { - return mtk_infracfg_set_bus_protection(scp->infracfg, - scpd->data->bus_prot_mask, - scp->bus_prot_reg_update); - } - return mtk_scpsys_ext_set_bus_protection(scpd->data->bp_table, scp->infracfg, scp->smi_common); } @@ -270,12 +259,6 @@ static int scpsys_bus_protect_disable(struct scp_domain *scpd) { struct scp *scp = scpd->scp; - if (scpd->data->bus_prot_mask) { - return mtk_infracfg_clear_bus_protection(scp->infracfg, - scpd->data->bus_prot_mask, - scp->bus_prot_reg_update); - } - return mtk_scpsys_ext_clear_bus_protection(scpd->data->bp_table, scp->infracfg, scp->smi_common); } @@ -412,8 +395,7 @@ static int init_basic_clks(struct platform_device *pdev, struct clk **clk, static struct scp *init_scp(struct platform_device *pdev, const struct scp_domain_data *scp_domain_data, int num, - const struct scp_ctrl_reg *scp_ctrl_reg, - bool bus_prot_reg_update) + const struct scp_ctrl_reg *scp_ctrl_reg) { struct genpd_onecell_data *pd_data; struct resource *res; @@ -427,8 +409,6 @@ static struct scp *init_scp(struct platform_device *pdev, scp->ctrl_reg.pwr_sta_offs = scp_ctrl_reg->pwr_sta_offs; scp->ctrl_reg.pwr_sta2nd_offs = scp_ctrl_reg->pwr_sta2nd_offs; - scp->bus_prot_reg_update = bus_prot_reg_update; - scp->dev = &pdev->dev; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); @@ -549,8 +529,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .name = "conn", .sta_mask = PWR_STATUS_CONN, .ctl_offs = SPM_CONN_PWR_CON, - .bus_prot_mask = MT2701_TOP_AXI_PROT_EN_CONN_M | - MT2701_TOP_AXI_PROT_EN_CONN_S, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(2) | BIT(8), BIT(2) | BIT(8)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT2701_POWER_DOMAIN_DISP] = { @@ -559,7 +541,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .ctl_offs = SPM_DIS_PWR_CON, .sram_pdn_bits = GENMASK(11, 8), .basic_clk_name = {"mm"}, - .bus_prot_mask = MT2701_TOP_AXI_PROT_EN_MM_M0, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(1), BIT(1)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT2701_POWER_DOMAIN_MFG] = { @@ -694,7 +679,11 @@ static void mtk_register_power_domains(struct platform_device *pdev, .sram_pdn_bits = GENMASK(8, 8), .sram_pdn_ack_bits = GENMASK(16, 16), .basic_clk_name = {"mfg"}, - .bus_prot_mask = BIT(14) | BIT(21) | BIT(23), + .bp_table = { + BUS_PROT(IFR_TYPE, 0x260, 0x264, 0x220, 0x228, + BIT(14) | BIT(21) | BIT(23), + BIT(14) | BIT(21) | BIT(23)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT2712_POWER_DOMAIN_MFG_SC1] = { @@ -766,7 +755,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .sram_pdn_bits = GENMASK(8, 8), .sram_pdn_ack_bits = GENMASK(12, 12), .basic_clk_name = {"mm"}, - .bus_prot_mask = (BIT(1) | BIT(2)), + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(1) | BIT(2), BIT(1) | BIT(2)), + }, }, [MT6797_POWER_DOMAIN_AUDIO] = { .name = "audio", @@ -813,7 +805,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .ctl_offs = SPM_ETHSYS_PWR_CON, .sram_pdn_bits = GENMASK(11, 8), .sram_pdn_ack_bits = GENMASK(15, 12), - .bus_prot_mask = MT7622_TOP_AXI_PROT_EN_ETHSYS, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(3) | BIT(17), BIT(3) | BIT(17)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT7622_POWER_DOMAIN_HIF0] = { @@ -823,7 +818,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .sram_pdn_bits = GENMASK(11, 8), .sram_pdn_ack_bits = GENMASK(15, 12), .basic_clk_name = {"hif_sel"}, - .bus_prot_mask = MT7622_TOP_AXI_PROT_EN_HIF0, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(24) | BIT(25), BIT(24) | BIT(25)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT7622_POWER_DOMAIN_HIF1] = { @@ -833,7 +831,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .sram_pdn_bits = GENMASK(11, 8), .sram_pdn_ack_bits = GENMASK(15, 12), .basic_clk_name = {"hif_sel"}, - .bus_prot_mask = MT7622_TOP_AXI_PROT_EN_HIF1, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + GENMASK(28, 26), GENMASK(28, 26)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT7622_POWER_DOMAIN_WB] = { @@ -842,7 +843,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .ctl_offs = SPM_WB_PWR_CON, .sram_pdn_bits = 0, .sram_pdn_ack_bits = 0, - .bus_prot_mask = MT7622_TOP_AXI_PROT_EN_WB, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(2) | GENMASK(8, 6), BIT(2) | GENMASK(8, 6)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP | MTK_SCPD_FWAIT_SRAM, }, }; @@ -856,8 +860,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .name = "conn", .sta_mask = PWR_STATUS_CONN, .ctl_offs = SPM_CONN_PWR_CON, - .bus_prot_mask = MT2701_TOP_AXI_PROT_EN_CONN_M | - MT2701_TOP_AXI_PROT_EN_CONN_S, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(2) | BIT(8), BIT(2) | BIT(8)), + }, .caps = MTK_SCPD_ACTIVE_WAKEUP, }, [MT7623A_POWER_DOMAIN_ETH] = { @@ -922,8 +928,10 @@ static void mtk_register_power_domains(struct platform_device *pdev, .sram_pdn_bits = GENMASK(11, 8), .sram_pdn_ack_bits = GENMASK(12, 12), .basic_clk_name = {"mm"}, - .bus_prot_mask = MT8173_TOP_AXI_PROT_EN_MM_M0 | - MT8173_TOP_AXI_PROT_EN_MM_M1, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(1) | BIT(2), BIT(1) | BIT(2)), + }, }, [MT8173_POWER_DOMAIN_VENC_LT] = { .name = "venc_lt", @@ -969,10 +977,11 @@ static void mtk_register_power_domains(struct platform_device *pdev, .ctl_offs = SPM_MFG_PWR_CON, .sram_pdn_bits = GENMASK(13, 8), .sram_pdn_ack_bits = GENMASK(21, 16), - .bus_prot_mask = MT8173_TOP_AXI_PROT_EN_MFG_S | - MT8173_TOP_AXI_PROT_EN_MFG_M0 | - MT8173_TOP_AXI_PROT_EN_MFG_M1 | - MT8173_TOP_AXI_PROT_EN_MFG_SNOOP_OUT, + .bp_table = { + BUS_PROT(IFR_TYPE, 0, 0, 0x220, 0x228, + BIT(14) | GENMASK(23, 21), + BIT(14) | GENMASK(23, 21)), + }, }, }; @@ -988,7 +997,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND }, - .bus_prot_reg_update = true, }; static const struct scp_soc_data mt2712_data = { @@ -1000,7 +1008,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND }, - .bus_prot_reg_update = false, }; static const struct scp_soc_data mt6797_data = { @@ -1012,7 +1019,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS_MT6797, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND_MT6797 }, - .bus_prot_reg_update = true, }; static const struct scp_soc_data mt7622_data = { @@ -1022,7 +1028,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND }, - .bus_prot_reg_update = true, }; static const struct scp_soc_data mt7623a_data = { @@ -1032,7 +1037,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND }, - .bus_prot_reg_update = true, }; static const struct scp_soc_data mt8173_data = { @@ -1044,7 +1048,6 @@ static void mtk_register_power_domains(struct platform_device *pdev, .pwr_sta_offs = SPM_PWR_STATUS, .pwr_sta2nd_offs = SPM_PWR_STATUS_2ND }, - .bus_prot_reg_update = true, }; /* @@ -1085,8 +1088,7 @@ static int scpsys_probe(struct platform_device *pdev) soc = of_device_get_match_data(&pdev->dev); - scp = init_scp(pdev, soc->domains, soc->num_domains, &soc->regs, - soc->bus_prot_reg_update); + scp = init_scp(pdev, soc->domains, soc->num_domains, &soc->regs); if (IS_ERR(scp)) return PTR_ERR(scp); -- 1.8.1.1.dirty _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel