Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp3076238pxb; Mon, 19 Apr 2021 23:18:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyJt15I0AIyfwwjk0aoWNSqDivCGz6sJ9MP5hbZQqE95gmIT8aj3q/WPlgLk36L46/LRiHl X-Received: by 2002:a17:902:8bc3:b029:e9:9639:be21 with SMTP id r3-20020a1709028bc3b02900e99639be21mr27272345plo.59.1618899511439; Mon, 19 Apr 2021 23:18:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618899511; cv=none; d=google.com; s=arc-20160816; b=rILxQ729+9P5weGGxiNoO/qv1tFzo9+Tkha8Km0VvVApBR8t6D7Ndg7+gpwCfiCHEb l04VoEfKNwtxJar6MqFOn5l/3pmnY3piqwMJc6BObaxAUqCn8RBRi1R1GNoojxbpF2eM OaPQS8Snzz0kS8OUXPbBBxMdkXCur03f9B4MfgeAXoIfyAYwnlxS56Cf0+bndO2nS827 o5Q5MqRqwsZOEtwhFBpCJJnN2O0PV04QV0tc1o95exZiZxpM5lakrXHf1HBzjyqfKtUW w+zTXBf6JqcLb8+he/D+6nTzdUHJvJKcK+AOEvmcInisWnUbAGUmTCIsX8Rjp3wGidqu 98QA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from; bh=M78VztZLdl1QxEHOxO8NedFxz381joMywJDXlVZxZPE=; b=uy/dUFhk0A5C8d3KFcPWfQ5q/qIYJ6i6EbLw6mHawADf5v3oSfvQRuHKuzTHs4hhJi 04pKNOIjAV6eKV81pHaaE4Fy2vwbJjkUDF2ULBwnKxSYjoyqiNH+39PnOnnsB4eu1dDh lqTDInHwZWEYCzC55JFF3is+bx7srdXZuuwT9uZCEjiY6NiZcQoJA23rcI5f0D3ofzuk JHxaakHhs84PrfXj9v7R5ZR1aSMHUKuLUDMNL1NjL9OalIkLRPE+caxt3Aed7GSu9VzR heL3LE7NZzIweZx1YuhiWNdrmhlui4fzTELWOl7zlWp6YqKdzBYDf9YHe/VCPZ175z1e khyQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y16si19988647plh.187.2021.04.19.23.18.19; Mon, 19 Apr 2021 23:18:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230018AbhDTGSQ (ORCPT + 99 others); Tue, 20 Apr 2021 02:18:16 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:56414 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S229577AbhDTGSQ (ORCPT ); Tue, 20 Apr 2021 02:18:16 -0400 X-UUID: e64997969f214ffe9c8521d07650a47c-20210420 X-UUID: e64997969f214ffe9c8521d07650a47c-20210420 Received: from mtkcas11.mediatek.inc [(172.21.101.40)] by mailgw02.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 1752252126; Tue, 20 Apr 2021 14:17:40 +0800 Received: from mtkcas10.mediatek.inc (172.21.101.39) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 20 Apr 2021 14:17:39 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas10.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 20 Apr 2021 14:17:38 +0800 From: Jianjun Wang To: Bjorn Helgaas , Rob Herring , Marc Zyngier , Lorenzo Pieralisi , Ryder Lee CC: Philipp Zabel , Matthias Brugger , , , , , , Jianjun Wang , , , , , , , , Krzysztof Wilczyski , =?UTF-8?q?Pali=20Roh=C3=A1r?= Subject: [PATCH v10 0/7] PCI: mediatek: Add new generation controller support Date: Tue, 20 Apr 2021 14:17:16 +0800 Message-ID: <20210420061723.989-1-jianjun.wang@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: mtk15901 These series patches add pcie-mediatek-gen3.c and dt-bindings file to support new generation PCIe controller. Changes in v10: 1. Fix the subject line format in commit message; 2. Use EXPORT_SYMBOL_GPL() to export pci_pio_to_address(). Changes in v9: 1. Use mtk_pcie_parse_port() to get the hw resources; 2. Remove unnecessary logs; 3. Add local IRQ enable status save/restore instead of the enable/disable callbacks; 4. Fix typos. Changes in v8: 1. Add irq_clock to protect IRQ register access; 2. Mask all INTx interrupt when startup port; 3. Remove activate/deactivate callbacks from bottom_domain_ops; 4. Add unmask/mask callbacks in mtk_msi_bottom_irq_chip; 5. Add property information for reg-names. Changes in v7: 1. Split the driver patch to core PCIe, INTx, MSI and PM patches; 2. Reshape MSI init and handle flow, use msi_bottom_domain to cover all sets; 3. Replace readl/writel with their relaxed version; 4. Add MSI description in binding document; 5. Add pl_250m clock in binding document. Changes in v6: 1. Export pci_pio_to_address() to support compiling as kernel module; 2. Replace usleep_range(100 * 1000, 120 * 1000) with msleep(100); 3. Replace dev_notice with dev_err; 4. Fix MSI get hwirq flow; 5. Fix warning for possible recursive locking in mtk_pcie_set_affinity. Changes in v5: 1. Remove unused macros 2. Modify the config read/write callbacks, set the config byte field in TLP header and use pci_generic_config_read32/write32 to access the config space 3. Fix the settings of translation window, both MEM and IO regions works properly 4. Fix typos Changes in v4: 1. Fix PCIe power up/down flow 2. Use "mac" and "phy" for reset names 3. Add clock names 4. Fix the variables type Changes in v3: 1. Remove standard property in binding document 2. Return error number when get_optional* API throws an error 3. Use the bulk clk APIs Changes in v2: 1. Fix the typo of dt-bindings patch 2. Remove the unnecessary properties in binding document 3. dispos the irq mappings of msi top domain when irq teardown Jianjun Wang (7): dt-bindings: PCI: mediatek-gen3: Add YAML schema PCI: Export pci_pio_to_address() for module use PCI: mediatek-gen3: Add MediaTek Gen3 driver for MT8192 PCI: mediatek-gen3: Add INTx support PCI: mediatek-gen3: Add MSI support PCI: mediatek-gen3: Add system PM support MAINTAINERS: Add Jianjun Wang as MediaTek PCI co-maintainer .../bindings/pci/mediatek-pcie-gen3.yaml | 181 +++ MAINTAINERS | 1 + drivers/pci/controller/Kconfig | 13 + drivers/pci/controller/Makefile | 1 + drivers/pci/controller/pcie-mediatek-gen3.c | 1025 +++++++++++++++++ drivers/pci/pci.c | 1 + 6 files changed, 1222 insertions(+) create mode 100644 Documentation/devicetree/bindings/pci/mediatek-pcie-gen3.yaml create mode 100644 drivers/pci/controller/pcie-mediatek-gen3.c -- 2.25.1