From: Johan Hovold <johan+linaro@kernel.org>
To: Bjorn Helgaas <bhelgaas@google.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: "Rob Herring" <robh+dt@kernel.org>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Stanimir Varbanov" <svarbanov@mm-sol.com>,
"Andy Gross" <agross@kernel.org>,
"Bjorn Andersson" <bjorn.andersson@linaro.org>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Dmitry Baryshkov" <dmitry.baryshkov@linaro.org>,
linux-arm-msm@vger.kernel.org, linux-pci@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
"Johan Hovold" <johan+linaro@kernel.org>
Subject: [PATCH 09/10] PCI: qcom: Clean up IP configurations
Date: Wed, 29 Jun 2022 16:09:59 +0200 [thread overview]
Message-ID: <20220629141000.18111-10-johan+linaro@kernel.org> (raw)
In-Reply-To: <20220629141000.18111-1-johan+linaro@kernel.org>
The various IP versions have different configurations that are encoded
in separate sets of operation callbacks. Currently, there is no need for
also maintaining corresponding sets of data parameters, but it is
conceivable that these may again be found useful (e.g. to implement
minor variations of the operation callbacks).
Rename the default configuration structures after the IP version they
apply to so that they can more easily be reused by different SoCs.
Note that SoC specific configurations can be added later if need arises
(e.g. cfg_sc8280xp).
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---
drivers/pci/controller/dwc/pcie-qcom.c | 85 ++++++++------------------
1 file changed, 27 insertions(+), 58 deletions(-)
diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c
index 1a564f624bb1..567601679465 100644
--- a/drivers/pci/controller/dwc/pcie-qcom.c
+++ b/drivers/pci/controller/dwc/pcie-qcom.c
@@ -1433,65 +1433,34 @@ static const struct qcom_pcie_ops ops_1_9_0 = {
.config_sid = qcom_pcie_config_sid_sm8250,
};
-static const struct qcom_pcie_cfg apq8084_cfg = {
+static const struct qcom_pcie_cfg cfg_1_0_0 = {
.ops = &ops_1_0_0,
};
-static const struct qcom_pcie_cfg ipq8064_cfg = {
+static const struct qcom_pcie_cfg cfg_1_9_0 = {
+ .ops = &ops_1_9_0,
+};
+
+static const struct qcom_pcie_cfg cfg_2_1_0 = {
.ops = &ops_2_1_0,
};
-static const struct qcom_pcie_cfg msm8996_cfg = {
+static const struct qcom_pcie_cfg cfg_2_3_2 = {
.ops = &ops_2_3_2,
};
-static const struct qcom_pcie_cfg ipq8074_cfg = {
+static const struct qcom_pcie_cfg cfg_2_3_3 = {
.ops = &ops_2_3_3,
};
-static const struct qcom_pcie_cfg ipq4019_cfg = {
+static const struct qcom_pcie_cfg cfg_2_4_0 = {
.ops = &ops_2_4_0,
};
-static const struct qcom_pcie_cfg sa8540p_cfg = {
- .ops = &ops_1_9_0,
-};
-
-static const struct qcom_pcie_cfg sc8280xp_cfg = {
- .ops = &ops_1_9_0,
-};
-
-static const struct qcom_pcie_cfg sdm845_cfg = {
+static const struct qcom_pcie_cfg cfg_2_7_0 = {
.ops = &ops_2_7_0,
};
-static const struct qcom_pcie_cfg sm8150_cfg = {
- /* sm8150 has qcom IP rev 1.5.0. However 1.5.0 ops are same as
- * 1.9.0, so reuse the same.
- */
- .ops = &ops_1_9_0,
-};
-
-static const struct qcom_pcie_cfg sm8250_cfg = {
- .ops = &ops_1_9_0,
-};
-
-static const struct qcom_pcie_cfg sm8450_pcie0_cfg = {
- .ops = &ops_1_9_0,
-};
-
-static const struct qcom_pcie_cfg sm8450_pcie1_cfg = {
- .ops = &ops_1_9_0,
-};
-
-static const struct qcom_pcie_cfg sc7280_cfg = {
- .ops = &ops_1_9_0,
-};
-
-static const struct qcom_pcie_cfg sc8180x_cfg = {
- .ops = &ops_1_9_0,
-};
-
static const struct dw_pcie_ops dw_pcie_ops = {
.link_up = qcom_pcie_link_up,
.start_link = qcom_pcie_start_link,
@@ -1603,23 +1572,23 @@ static int qcom_pcie_remove(struct platform_device *pdev)
}
static const struct of_device_id qcom_pcie_match[] = {
- { .compatible = "qcom,pcie-apq8084", .data = &apq8084_cfg },
- { .compatible = "qcom,pcie-ipq8064", .data = &ipq8064_cfg },
- { .compatible = "qcom,pcie-ipq8064-v2", .data = &ipq8064_cfg },
- { .compatible = "qcom,pcie-apq8064", .data = &ipq8064_cfg },
- { .compatible = "qcom,pcie-msm8996", .data = &msm8996_cfg },
- { .compatible = "qcom,pcie-ipq8074", .data = &ipq8074_cfg },
- { .compatible = "qcom,pcie-ipq4019", .data = &ipq4019_cfg },
- { .compatible = "qcom,pcie-qcs404", .data = &ipq4019_cfg },
- { .compatible = "qcom,pcie-sa8540p", .data = &sa8540p_cfg },
- { .compatible = "qcom,pcie-sdm845", .data = &sdm845_cfg },
- { .compatible = "qcom,pcie-sm8150", .data = &sm8150_cfg },
- { .compatible = "qcom,pcie-sm8250", .data = &sm8250_cfg },
- { .compatible = "qcom,pcie-sc8180x", .data = &sc8180x_cfg },
- { .compatible = "qcom,pcie-sc8280xp", .data = &sc8280xp_cfg },
- { .compatible = "qcom,pcie-sm8450-pcie0", .data = &sm8450_pcie0_cfg },
- { .compatible = "qcom,pcie-sm8450-pcie1", .data = &sm8450_pcie1_cfg },
- { .compatible = "qcom,pcie-sc7280", .data = &sc7280_cfg },
+ { .compatible = "qcom,pcie-apq8084", .data = &cfg_1_0_0 },
+ { .compatible = "qcom,pcie-ipq8064", .data = &cfg_2_1_0 },
+ { .compatible = "qcom,pcie-ipq8064-v2", .data = &cfg_2_1_0 },
+ { .compatible = "qcom,pcie-apq8064", .data = &cfg_2_1_0 },
+ { .compatible = "qcom,pcie-msm8996", .data = &cfg_2_3_2 },
+ { .compatible = "qcom,pcie-ipq8074", .data = &cfg_2_3_3 },
+ { .compatible = "qcom,pcie-ipq4019", .data = &cfg_2_4_0 },
+ { .compatible = "qcom,pcie-qcs404", .data = &cfg_2_4_0 },
+ { .compatible = "qcom,pcie-sa8540p", .data = &cfg_1_9_0 },
+ { .compatible = "qcom,pcie-sdm845", .data = &cfg_2_7_0 },
+ { .compatible = "qcom,pcie-sm8150", .data = &cfg_1_9_0 },
+ { .compatible = "qcom,pcie-sm8250", .data = &cfg_1_9_0 },
+ { .compatible = "qcom,pcie-sc8180x", .data = &cfg_1_9_0 },
+ { .compatible = "qcom,pcie-sc8280xp", .data = &cfg_1_9_0 },
+ { .compatible = "qcom,pcie-sm8450-pcie0", .data = &cfg_1_9_0 },
+ { .compatible = "qcom,pcie-sm8450-pcie1", .data = &cfg_1_9_0 },
+ { .compatible = "qcom,pcie-sc7280", .data = &cfg_1_9_0 },
{ }
};
MODULE_DEVICE_TABLE(of, qcom_pcie_match);
--
2.35.1
next prev parent reply other threads:[~2022-06-29 14:12 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-29 14:09 [PATCH 00/10] PCI: qcom: Add support for SC8280XP and SA8540P Johan Hovold
2022-06-29 14:09 ` [PATCH 01/10] dt-bindings: PCI: qcom: Fix reset conditional Johan Hovold
2022-06-29 14:37 ` Dmitry Baryshkov
2022-07-01 8:29 ` Krzysztof Kozlowski
2022-07-09 7:49 ` Manivannan Sadhasivam
2022-07-13 16:18 ` Bjorn Helgaas
2022-06-29 14:09 ` [PATCH 02/10] dt-bindings: PCI: qcom: Fix msi-interrupt conditional Johan Hovold
2022-06-29 14:37 ` Dmitry Baryshkov
2022-07-01 8:29 ` Krzysztof Kozlowski
2022-07-07 13:34 ` Dmitry Baryshkov
2022-07-07 13:41 ` Dmitry Baryshkov
2022-07-07 13:53 ` Johan Hovold
2022-07-09 7:50 ` Manivannan Sadhasivam
2022-06-29 14:09 ` [PATCH 03/10] dt-bindings: PCI: qcom: Enumerate platforms with single msi interrupt Johan Hovold
2022-07-01 8:33 ` Krzysztof Kozlowski
2022-07-01 8:38 ` Johan Hovold
2022-07-01 18:38 ` Rob Herring
2022-07-04 14:21 ` Johan Hovold
2022-07-01 8:35 ` Krzysztof Kozlowski
2022-07-09 7:58 ` Manivannan Sadhasivam
2022-06-29 14:09 ` [PATCH 04/10] dt-bindings: PCI: qcom: Add SC8280XP to binding Johan Hovold
2022-07-01 8:37 ` Krzysztof Kozlowski
2022-07-01 8:41 ` Johan Hovold
2022-07-09 8:00 ` Manivannan Sadhasivam
2022-07-11 9:36 ` Johan Hovold
2022-06-29 14:09 ` [PATCH 05/10] dt-bindings: PCI: qcom: Add SA8540P " Johan Hovold
2022-07-01 8:38 ` Krzysztof Kozlowski
2022-07-01 8:42 ` Johan Hovold
2022-07-09 8:02 ` Manivannan Sadhasivam
2022-07-11 9:38 ` Johan Hovold
2022-06-29 14:09 ` [PATCH 06/10] PCI: qcom: Add support for SC8280XP Johan Hovold
2022-07-01 18:29 ` Rob Herring
2022-07-04 14:10 ` Johan Hovold
2022-07-09 8:18 ` Manivannan Sadhasivam
2022-06-29 14:09 ` [PATCH 07/10] PCI: qcom: Add support for SA8540P Johan Hovold
2022-07-01 18:29 ` Rob Herring
2022-07-09 8:19 ` Manivannan Sadhasivam
2022-06-29 14:09 ` [PATCH 08/10] PCI: qcom: Make all optional clocks optional Johan Hovold
2022-07-01 18:34 ` Rob Herring
2022-07-09 8:23 ` Manivannan Sadhasivam
2022-06-29 14:09 ` Johan Hovold [this message]
2022-07-01 18:35 ` [PATCH 09/10] PCI: qcom: Clean up IP configurations Rob Herring
2022-07-09 8:25 ` Manivannan Sadhasivam
2022-06-29 14:10 ` [PATCH 10/10] PCI: qcom: Sort device-id table Johan Hovold
2022-07-01 8:40 ` Krzysztof Kozlowski
2022-07-01 8:46 ` Johan Hovold
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=20220629141000.18111-10-johan+linaro@kernel.org \
--to=johan+linaro@kernel.org \
--cc=agross@kernel.org \
--cc=bhelgaas@google.com \
--cc=bjorn.andersson@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kw@linux.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=robh+dt@kernel.org \
--cc=svarbanov@mm-sol.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 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).