Message ID | 20211208171442.1327689-6-dmitry.baryshkov@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | qcom: add support for PCIe0 on SM8450 platform | expand |
On Wed, Dec 08, 2021 at 08:14:37PM +0300, Dmitry Baryshkov wrote: > Qualcomm PCIe driver uses compatible string to check if the ddrss_sf_tbu > clock should be used. Since sc7280 support has added flags, switch to > the new mechanism to check if this clock should be used. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > --- > drivers/pci/controller/dwc/pcie-qcom.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c > index 51a0475173fb..803d3ac18c56 100644 > --- a/drivers/pci/controller/dwc/pcie-qcom.c > +++ b/drivers/pci/controller/dwc/pcie-qcom.c > @@ -194,7 +194,9 @@ struct qcom_pcie_ops { > > struct qcom_pcie_cfg { > const struct qcom_pcie_ops *ops; > + /* flags for ops 2.7.0 and 1.9.0 */ No need of this comment. > unsigned int pipe_clk_need_muxing:1; This should be added in the previous patch. > + unsigned int has_ddrss_sf_tbu_clk:1; Wondering if we could make both the flags "bool" as the values passed to it are of boolean type. I don't think we could save a significant amount of memory using bitfields. Thanks, Mani > }; > > struct qcom_pcie { > @@ -1164,7 +1166,7 @@ static int qcom_pcie_get_resources_2_7_0(struct qcom_pcie *pcie) > res->clks[3].id = "bus_slave"; > res->clks[4].id = "slave_q2a"; > res->clks[5].id = "tbu"; > - if (of_device_is_compatible(dev->of_node, "qcom,pcie-sm8250")) { > + if (pcie->cfg->has_ddrss_sf_tbu_clk) { > res->clks[6].id = "ddrss_sf_tbu"; > res->num_clks = 7; > } else { > @@ -1512,6 +1514,7 @@ static const struct qcom_pcie_cfg sdm845_cfg = { > > static const struct qcom_pcie_cfg sm8250_cfg = { > .ops = &ops_1_9_0, > + .has_ddrss_sf_tbu_clk = true, > }; > > static const struct qcom_pcie_cfg sc7280_cfg = { > -- > 2.33.0 >
On 10/12/2021 14:22, Manivannan Sadhasivam wrote: > On Wed, Dec 08, 2021 at 08:14:37PM +0300, Dmitry Baryshkov wrote: >> Qualcomm PCIe driver uses compatible string to check if the ddrss_sf_tbu >> clock should be used. Since sc7280 support has added flags, switch to >> the new mechanism to check if this clock should be used. >> >> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> >> --- >> drivers/pci/controller/dwc/pcie-qcom.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c >> index 51a0475173fb..803d3ac18c56 100644 >> --- a/drivers/pci/controller/dwc/pcie-qcom.c >> +++ b/drivers/pci/controller/dwc/pcie-qcom.c >> @@ -194,7 +194,9 @@ struct qcom_pcie_ops { >> >> struct qcom_pcie_cfg { >> const struct qcom_pcie_ops *ops; >> + /* flags for ops 2.7.0 and 1.9.0 */ > > No need of this comment. Dropping it > >> unsigned int pipe_clk_need_muxing:1; > > This should be added in the previous patch. It exists already > >> + unsigned int has_ddrss_sf_tbu_clk:1; > > Wondering if we could make both the flags "bool" as the values passed to it > are of boolean type. I don't think we could save a significant amount of > memory using bitfields. I followed the existing pipe_clk_need_muxing. I have no strong preference here, so let's see what Bjorn will prefer. > > Thanks, > Mani >> }; >> >> struct qcom_pcie { >> @@ -1164,7 +1166,7 @@ static int qcom_pcie_get_resources_2_7_0(struct qcom_pcie *pcie) >> res->clks[3].id = "bus_slave"; >> res->clks[4].id = "slave_q2a"; >> res->clks[5].id = "tbu"; >> - if (of_device_is_compatible(dev->of_node, "qcom,pcie-sm8250")) { >> + if (pcie->cfg->has_ddrss_sf_tbu_clk) { >> res->clks[6].id = "ddrss_sf_tbu"; >> res->num_clks = 7; >> } else { >> @@ -1512,6 +1514,7 @@ static const struct qcom_pcie_cfg sdm845_cfg = { >> >> static const struct qcom_pcie_cfg sm8250_cfg = { >> .ops = &ops_1_9_0, >> + .has_ddrss_sf_tbu_clk = true, >> }; >> >> static const struct qcom_pcie_cfg sc7280_cfg = { >> -- >> 2.33.0 >>
On Sat, Dec 11, 2021 at 04:59:05AM +0300, Dmitry Baryshkov wrote: > On 10/12/2021 14:22, Manivannan Sadhasivam wrote: > > On Wed, Dec 08, 2021 at 08:14:37PM +0300, Dmitry Baryshkov wrote: > > > Qualcomm PCIe driver uses compatible string to check if the ddrss_sf_tbu > > > clock should be used. Since sc7280 support has added flags, switch to > > > the new mechanism to check if this clock should be used. > > > > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> > > > --- > > > drivers/pci/controller/dwc/pcie-qcom.c | 5 ++++- > > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > > > diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c > > > index 51a0475173fb..803d3ac18c56 100644 > > > --- a/drivers/pci/controller/dwc/pcie-qcom.c > > > +++ b/drivers/pci/controller/dwc/pcie-qcom.c > > > @@ -194,7 +194,9 @@ struct qcom_pcie_ops { > > > struct qcom_pcie_cfg { > > > const struct qcom_pcie_ops *ops; > > > + /* flags for ops 2.7.0 and 1.9.0 */ > > > > No need of this comment. > > Dropping it > > > > > > unsigned int pipe_clk_need_muxing:1; > > > > This should be added in the previous patch. > > It exists already > Ah, my tree was outdated. I do see it in -rc4. > > > > > + unsigned int has_ddrss_sf_tbu_clk:1; > > > > Wondering if we could make both the flags "bool" as the values passed to it > > are of boolean type. I don't think we could save a significant amount of > > memory using bitfields. > > I followed the existing pipe_clk_need_muxing. I have no strong preference > here, so let's see what Bjorn will prefer. > Okay. Thanks, Mani > > > > Thanks, > > Mani > > > }; > > > struct qcom_pcie { > > > @@ -1164,7 +1166,7 @@ static int qcom_pcie_get_resources_2_7_0(struct qcom_pcie *pcie) > > > res->clks[3].id = "bus_slave"; > > > res->clks[4].id = "slave_q2a"; > > > res->clks[5].id = "tbu"; > > > - if (of_device_is_compatible(dev->of_node, "qcom,pcie-sm8250")) { > > > + if (pcie->cfg->has_ddrss_sf_tbu_clk) { > > > res->clks[6].id = "ddrss_sf_tbu"; > > > res->num_clks = 7; > > > } else { > > > @@ -1512,6 +1514,7 @@ static const struct qcom_pcie_cfg sdm845_cfg = { > > > static const struct qcom_pcie_cfg sm8250_cfg = { > > > .ops = &ops_1_9_0, > > > + .has_ddrss_sf_tbu_clk = true, > > > }; > > > static const struct qcom_pcie_cfg sc7280_cfg = { > > > -- > > > 2.33.0 > > > > > > -- > With best wishes > Dmitry
diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c index 51a0475173fb..803d3ac18c56 100644 --- a/drivers/pci/controller/dwc/pcie-qcom.c +++ b/drivers/pci/controller/dwc/pcie-qcom.c @@ -194,7 +194,9 @@ struct qcom_pcie_ops { struct qcom_pcie_cfg { const struct qcom_pcie_ops *ops; + /* flags for ops 2.7.0 and 1.9.0 */ unsigned int pipe_clk_need_muxing:1; + unsigned int has_ddrss_sf_tbu_clk:1; }; struct qcom_pcie { @@ -1164,7 +1166,7 @@ static int qcom_pcie_get_resources_2_7_0(struct qcom_pcie *pcie) res->clks[3].id = "bus_slave"; res->clks[4].id = "slave_q2a"; res->clks[5].id = "tbu"; - if (of_device_is_compatible(dev->of_node, "qcom,pcie-sm8250")) { + if (pcie->cfg->has_ddrss_sf_tbu_clk) { res->clks[6].id = "ddrss_sf_tbu"; res->num_clks = 7; } else { @@ -1512,6 +1514,7 @@ static const struct qcom_pcie_cfg sdm845_cfg = { static const struct qcom_pcie_cfg sm8250_cfg = { .ops = &ops_1_9_0, + .has_ddrss_sf_tbu_clk = true, }; static const struct qcom_pcie_cfg sc7280_cfg = {
Qualcomm PCIe driver uses compatible string to check if the ddrss_sf_tbu clock should be used. Since sc7280 support has added flags, switch to the new mechanism to check if this clock should be used. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- drivers/pci/controller/dwc/pcie-qcom.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)