From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: linuxarm@huawei.com, mauro.chehab@huawei.com,
"Mauro Carvalho Chehab" <mchehab+huawei@kernel.org>,
"Songxiaowei (Kirin_DRV)" <songxiaowei@hisilicon.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Alex Dewar" <alex.dewar90@gmail.com>,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Binghui Wang" <wangbinghui@hisilicon.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Jaehoon Chung" <jh80.chung@samsung.com>,
"Jingoo Han" <jingoohan1@gmail.com>,
"Luca Ceresoli" <luca@lucaceresoli.net>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Nobuhiro Iwamatsu" <nobuhiro1.iwamatsu@toshiba.co.jp>,
"Paul Walmsley" <paul.walmsley@sifive.com>,
"Rob Herring" <robh@kernel.org>, "Simon Xue" <xxm@rock-chips.com>,
"Srikanth Thokala" <srikanth.thokala@intel.com>,
"Wesley Sheng" <wesley.sheng@amd.com>,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org
Subject: [PATCH v14 00/11] Add support for Hikey 970 PCIe
Date: Tue, 19 Oct 2021 07:06:37 +0100 [thread overview]
Message-ID: <cover.1634622716.git.mchehab+huawei@kernel.org> (raw)
Hi Lorenzo,
I addressed the issues you pointed on this review.
The pcie-kirin PCIe driver contains internally a PHY interface for
Kirin 960, but it misses support for Kirin 970. A new PHY driver
for it was added at drivers/phy/hisilicon/phy-hi3670-pcie.c
(already merged via PHY tree).
Add support for Kirin 970 PHY driver at the pcie-kirin.c.
While here, also add the needed logic to compile it as module and
to allow to dynamically remove the driver in runtime.
Tested on HiKey970:
# lspci -D -PP
0000:00:00.0 PCI bridge: Huawei Technologies Co., Ltd. Device 3670 (rev 01)
0000:00:00.0/01:00.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0000:00:00.0/01:00.0/02:01.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0000:00:00.0/01:00.0/02:04.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0000:00:00.0/01:00.0/02:05.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0000:00:00.0/01:00.0/02:07.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0000:00:00.0/01:00.0/02:09.0 PCI bridge: PLX Technology, Inc. PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch (rev ba)
0000:00:00.0/01:00.0/02:01.0/03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a809
0000:00:00.0/01:00.0/02:07.0/06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 07)
Tested on HiKey960:
# lspci -D
0000:00:00.0 PCI bridge: Huawei Technologies Co., Ltd. Device 3660 (rev 01)
---
Diff from v13:
@@ -455,7 +455,7 @@ static long kirin_pcie_get_resource(struct kirin_pcie *kirin_pcie,
struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
- struct device_node *node = dev->of_node, *child;
+ struct device_node *child, *node = dev->of_node;
void __iomem *apb_base;
int ret;
@@ -687,9 +687,8 @@ static int kirin_pcie_power_off(struct kirin_pcie *kirin_pcie)
if (kirin_pcie->type == PCIE_KIRIN_INTERNAL_PHY)
return hi3660_pcie_phy_power_off(kirin_pcie);
- for (i = 0; i < kirin_pcie->n_gpio_clkreq; i++) {
+ for (i = 0; i < kirin_pcie->n_gpio_clkreq; i++)
gpio_direction_output(kirin_pcie->gpio_id_clkreq[i], 1);
- }
phy_power_off(kirin_pcie->phy);
phy_exit(kirin_pcie->phy);
@@ -790,7 +789,7 @@ static int kirin_pcie_probe(struct platform_device *pdev)
return -EINVAL;
}
- phy_type = (enum pcie_kirin_phy_type)of_id->data;
+ phy_type = (long)of_id->data;
kirin_pcie = devm_kzalloc(dev, sizeof(struct kirin_pcie), GFP_KERNEL);
if (!kirin_pcie)
v14:
- Split a timeout logic from patch 4, placing it on a separate patch;
- Added fixes: and cc: tags to the power_off fixup patch;
- change a typecast from of_data to long, in order to avoid a warning on
some randconfigs;
- removed uneeded brackets at the power_off patch;
- reordered struct device pointers at kirin_pcie_get_resource();
- added a c/c to kishon at the PHY-related patches.
v13:
- Added Xiaowei's ack for the series.
v12:
- Change a comment at patch 1 to not use c99 style.
v11:
- patch 5 changed to use the right PCIe topology
- all other patches are identical to v10.
v10:
- patch 1: dropped magic numbers from PHY driver
- patch 5: allow pcie child nodes without reset-gpios
- all other patches are identical to v9.
v9:
- Did some cleanups at patches 1 and 5
Mauro Carvalho Chehab (11):
PCI: kirin: Reorganize the PHY logic inside the driver
PCI: kirin: Add support for a PHY layer
PCI: kirin: Use regmap for APB registers
PCI: kirin: Add support for bridge slot DT schema
PCI: kirin: give more time for PERST# reset to finish
PCI: kirin: Add Kirin 970 compatible
PCI: kirin: Add MODULE_* macros
PCI: kirin: Allow building it as a module
PCI: kirin: Add power_off support for Kirin 960 PHY
PCI: kirin: fix poweroff sequence
PCI: kirin: Allow removing the driver
drivers/pci/controller/dwc/Kconfig | 2 +-
drivers/pci/controller/dwc/pcie-kirin.c | 643 ++++++++++++++++++------
2 files changed, 497 insertions(+), 148 deletions(-)
--
2.31.1
next reply other threads:[~2021-10-19 6:07 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-19 6:06 Mauro Carvalho Chehab [this message]
2021-10-19 6:06 ` [PATCH v14 01/11] PCI: kirin: Reorganize the PHY logic inside the driver Mauro Carvalho Chehab
2021-10-19 6:06 ` [PATCH v14 02/11] PCI: kirin: Add support for a PHY layer Mauro Carvalho Chehab
2021-10-19 6:06 ` [PATCH v14 03/11] PCI: kirin: Use regmap for APB registers Mauro Carvalho Chehab
2021-10-19 6:06 ` [PATCH v14 04/11] PCI: kirin: Add support for bridge slot DT schema Mauro Carvalho Chehab
2022-05-24 17:19 ` Bjorn Helgaas
2022-05-24 18:59 ` Bjorn Helgaas
2022-05-24 19:55 ` Mauro Carvalho Chehab
2022-05-24 21:29 ` Bjorn Helgaas
2021-10-19 6:06 ` [PATCH v14 05/11] PCI: kirin: give more time for PERST# reset to finish Mauro Carvalho Chehab
2021-10-21 12:27 ` Lorenzo Pieralisi
2021-10-21 12:40 ` Mauro Carvalho Chehab
2021-10-22 15:16 ` Pali Rohár
2021-10-23 9:30 ` Mauro Carvalho Chehab
2021-10-23 10:40 ` Pali Rohár
2021-10-23 13:45 ` Mauro Carvalho Chehab
2021-10-23 14:55 ` Pali Rohár
2021-10-25 10:25 ` Lorenzo Pieralisi
2021-10-25 10:40 ` Mauro Carvalho Chehab
2021-10-26 17:06 ` Lorenzo Pieralisi
2021-10-19 6:06 ` [PATCH v14 06/11] PCI: kirin: Add Kirin 970 compatible Mauro Carvalho Chehab
2021-10-19 6:06 ` [PATCH v14 07/11] PCI: kirin: Add MODULE_* macros Mauro Carvalho Chehab
2021-10-19 6:06 ` [PATCH v14 08/11] PCI: kirin: Allow building it as a module Mauro Carvalho Chehab
2021-10-19 6:06 ` [PATCH v14 09/11] PCI: kirin: Add power_off support for Kirin 960 PHY Mauro Carvalho Chehab
2021-10-19 6:06 ` [PATCH v14 10/11] PCI: kirin: fix poweroff sequence Mauro Carvalho Chehab
2021-10-19 6:06 ` [PATCH v14 11/11] PCI: kirin: Allow removing the driver Mauro Carvalho Chehab
2021-10-19 19:27 ` [PATCH v14 00/11] Add support for Hikey 970 PCIe Bjorn Helgaas
2021-10-20 5:41 ` Mauro Carvalho Chehab
2021-10-20 19:02 ` Bjorn Helgaas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1634622716.git.mchehab+huawei@kernel.org \
--to=mchehab+huawei@kernel.org \
--cc=alex.dewar90@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=jh80.chung@samsung.com \
--cc=jingoohan1@gmail.com \
--cc=kw@linux.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=lorenzo.pieralisi@arm.com \
--cc=luca@lucaceresoli.net \
--cc=mani@kernel.org \
--cc=mauro.chehab@huawei.com \
--cc=nobuhiro1.iwamatsu@toshiba.co.jp \
--cc=paul.walmsley@sifive.com \
--cc=robh@kernel.org \
--cc=songxiaowei@hisilicon.com \
--cc=srikanth.thokala@intel.com \
--cc=wangbinghui@hisilicon.com \
--cc=wesley.sheng@amd.com \
--cc=xxm@rock-chips.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.