From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: "Andy Gross" <agross@kernel.org>,
"Bjorn Andersson" <bjorn@kryo.se>,
"Konrad Dybcio" <konrad.dybcio@somainline.org>,
"Rob Herring" <robh+dt@kernel.org>,
"Jingoo Han" <jingoohan1@gmail.com>,
"Gustavo Pimentel" <gustavo.pimentel@synopsys.com>,
"Lorenzo Pieralisi" <lorenzo.pieralisi@arm.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Vinod Koul" <vkoul@kernel.org>,
"Kishon Vijay Abraham I" <kishon@ti.com>
Cc: Philipp Zabel <p.zabel@pengutronix.de>,
Johan Hovold <johan@kernel.org>,
linux-arm-msm@vger.kernel.org, linux-pci@vger.kernel.org,
linux-phy@lists.infradead.org
Subject: [PATCH v2 0/6] PCI: qcom: Support using the same PHY for both RC and EP
Date: Thu, 25 Aug 2022 13:50:38 +0300 [thread overview]
Message-ID: <20220825105044.636209-1-dmitry.baryshkov@linaro.org> (raw)
Programming of QMP PCIe PHYs slightly differs between RC and EP modes.
Currently both qcom and qcom-ep PCIe controllers setup the PHY in the
default mode, making it impossible to select at runtime whether the PHY
should be running in RC or in EP modes. Usually this is not an issue,
since for most devices only the RC mode is used. Some devices (SDX55)
currently support only the EP mode without supporting the RC mode (at
this moment).
Nevertheless some of the Qualcomm platforms (e.g. the aforementioned
SDX55) would still benefit from being able to switch between RC and EP
depending on the driver being used. While it is possible to use
different compat strings for the PHY depending on the mode, it seems
like an incorrect approach, since the PHY doesn't differ between
usecases. It's the PCIe controller, who should decide how to configure
the PHY.
This patch series implements the ability to select between RC and EP
modes, by allowing the PCIe QMP PHY driver to switch between
programming tables.
Note, there is no direct dependency between PCIe and PHY parts of these
series, so these patches can be merged into respective subsystem trees
separately.
Changes since v1:
- Split the if(table) removal to the separate patch
- Expanded commit messages and comments to provide additional details
- Fixed build error on pcie-qcom.c
- Added support for EP mode on sm8450 to demonstrate the usage of this
patchset
Changes since RFC:
- Fixed the compilation of PCIe EP driver,
- Changed pri/sec names to primary and secondary,
- Added comments regarding usage of secondary_rc/_ep fields.
Dmitry Baryshkov (6):
phy: qcom-qmp-pcie: drop if (table) conditions
phy: qcom-qmp-pcie: split register tables into primary and secondary
part
phy: qcom-qmp-pcie: support separate tables for EP mode
PCI: qcom: Setup PHY to work in RC mode
PCI: qcom-ep: Setup PHY to work in EP mode
phy: qcom-qmp-pcie: Support SM8450 PCIe1 PHY in EP mode
drivers/pci/controller/dwc/pcie-qcom-ep.c | 4 +
drivers/pci/controller/dwc/pcie-qcom.c | 4 +
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 261 ++++++++++++------
.../qualcomm/phy-qcom-qmp-pcs-pcie-v5_20.h | 1 +
4 files changed, 188 insertions(+), 82 deletions(-)
--
2.35.1
next reply other threads:[~2022-08-25 10:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-25 10:50 Dmitry Baryshkov [this message]
2022-08-25 10:50 ` [PATCH v2 1/6] phy: qcom-qmp-pcie: drop if (table) conditions Dmitry Baryshkov
2022-08-25 10:50 ` [PATCH v2 2/6] phy: qcom-qmp-pcie: split register tables into primary and secondary part Dmitry Baryshkov
2022-08-30 7:13 ` Vinod Koul
2022-08-30 7:18 ` Dmitry Baryshkov
2022-08-30 7:38 ` Johan Hovold
2022-08-30 9:29 ` Dmitry Baryshkov
2022-08-25 10:50 ` [PATCH v2 3/6] phy: qcom-qmp-pcie: support separate tables for EP mode Dmitry Baryshkov
2022-08-25 10:50 ` [PATCH v2 4/6] PCI: qcom: Setup PHY to work in RC mode Dmitry Baryshkov
2022-08-25 10:50 ` [PATCH v2 5/6] PCI: qcom-ep: Setup PHY to work in EP mode Dmitry Baryshkov
2022-08-30 7:17 ` Vinod Koul
2022-08-25 10:50 ` [PATCH v2 6/6] phy: qcom-qmp-pcie: Support SM8450 PCIe1 PHY " Dmitry Baryshkov
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=20220825105044.636209-1-dmitry.baryshkov@linaro.org \
--to=dmitry.baryshkov@linaro.org \
--cc=agross@kernel.org \
--cc=bhelgaas@google.com \
--cc=bjorn@kryo.se \
--cc=gustavo.pimentel@synopsys.com \
--cc=jingoohan1@gmail.com \
--cc=johan@kernel.org \
--cc=kishon@ti.com \
--cc=konrad.dybcio@somainline.org \
--cc=kw@linux.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=p.zabel@pengutronix.de \
--cc=robh+dt@kernel.org \
--cc=vkoul@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).