Re: [PATCH v2 01/10] phy: qcom-ufs: remove failure when rx/tx_iface_clk are absent

2016-10-29 Thread Vivek Gautam
Hi,


On Wed, Oct 19, 2016 at 10:50 PM, Vivek Gautam
 wrote:
> Hi,
>
>
> On Wed, Oct 19, 2016 at 2:48 AM, Stephen Boyd  wrote:
>> On 10/18/2016 07:28 AM, Vivek Gautam wrote:
>>> From: Yaniv Gardi 
>>>
>>> Since in future UFS Phy's the tx_iface_clk and rx_iface_clk
>>> are no longer exist, we should not fail when their initialization
>>> fail, but rather just report with debug message.
>>>
>>> Signed-off-by: Yaniv Gardi 
>>> Signed-off-by: Vivek Gautam 
>>> ---
>>
>> Shouldn't we have a different compatible string on future UFS phys so
>> that we know which number of clks and what clks are required? That's how
>> we typically handle clk configurations changing. Making them optional
>> should really only be needed when they're really optional, i.e. things
>> will work fine if they're there or not.
>
> Correct. It makes sense to have different compatible strings for different
> versions.
> I will gather more information about previous versions that required
> this clock, and update as suggested.

The tx/rx_face clocks are not available on some of the recent chips,
such as msm8996. Older chips with this 14nm ufs phy had handles
for tx/rx_iface clocks.
So, i will add new compatible string for msm8996 -
"qcom,msm8996-ufs-phy-qmp-14nm"
This can be used with chips further on that are going to use the same ufs phy.


Regards
Vivek

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 01/10] phy: qcom-ufs: remove failure when rx/tx_iface_clk are absent

2016-10-19 Thread Vivek Gautam
Hi,


On Wed, Oct 19, 2016 at 2:48 AM, Stephen Boyd  wrote:
> On 10/18/2016 07:28 AM, Vivek Gautam wrote:
>> From: Yaniv Gardi 
>>
>> Since in future UFS Phy's the tx_iface_clk and rx_iface_clk
>> are no longer exist, we should not fail when their initialization
>> fail, but rather just report with debug message.
>>
>> Signed-off-by: Yaniv Gardi 
>> Signed-off-by: Vivek Gautam 
>> ---
>
> Shouldn't we have a different compatible string on future UFS phys so
> that we know which number of clks and what clks are required? That's how
> we typically handle clk configurations changing. Making them optional
> should really only be needed when they're really optional, i.e. things
> will work fine if they're there or not.

Correct. It makes sense to have different compatible strings for different
versions.
I will gather more information about previous versions that required
this clock, and update as suggested.


Regards
Vivek


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 01/10] phy: qcom-ufs: remove failure when rx/tx_iface_clk are absent

2016-10-18 Thread Stephen Boyd
On 10/18/2016 07:28 AM, Vivek Gautam wrote:
> From: Yaniv Gardi 
>
> Since in future UFS Phy's the tx_iface_clk and rx_iface_clk
> are no longer exist, we should not fail when their initialization
> fail, but rather just report with debug message.
>
> Signed-off-by: Yaniv Gardi 
> Signed-off-by: Vivek Gautam 
> ---

Shouldn't we have a different compatible string on future UFS phys so
that we know which number of clks and what clks are required? That's how
we typically handle clk configurations changing. Making them optional
should really only be needed when they're really optional, i.e. things
will work fine if they're there or not.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 01/10] phy: qcom-ufs: remove failure when rx/tx_iface_clk are absent

2016-10-18 Thread Subhash Jadavani

On 2016-10-18 07:28, Vivek Gautam wrote:

From: Yaniv Gardi 

Since in future UFS Phy's the tx_iface_clk and rx_iface_clk
are no longer exist, we should not fail when their initialization
fail, but rather just report with debug message.


You may also want to update the device tree binding (documentation) to 
update these as optional properties.




Signed-off-by: Yaniv Gardi 
Signed-off-by: Vivek Gautam 
---

No change since v1.

 drivers/phy/phy-qcom-ufs.c | 15 +--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/phy/phy-qcom-ufs.c b/drivers/phy/phy-qcom-ufs.c
index 107cb57..183ec04 100644
--- a/drivers/phy/phy-qcom-ufs.c
+++ b/drivers/phy/phy-qcom-ufs.c
@@ -186,16 +186,27 @@ ufs_qcom_phy_init_clks(struct phy *generic_phy,
   struct ufs_qcom_phy *phy_common)
 {
int err;
+   struct ufs_qcom_phy *phy = get_ufs_qcom_phy(generic_phy);

err = ufs_qcom_phy_clk_get(generic_phy, "tx_iface_clk",
   _common->tx_iface_clk);
+   /*
+* tx_iface_clk does not exist in newer version of ufs-phy HW,
+* so don't return error if it is not found
+*/
if (err)
-   goto out;
+   dev_dbg(phy->dev, "%s: failed to get tx_iface_clk\n",
+   __func__);

err = ufs_qcom_phy_clk_get(generic_phy, "rx_iface_clk",
   _common->rx_iface_clk);
+   /*
+* rx_iface_clk does not exist in newer version of ufs-phy HW,
+* so don't return error if it is not found
+*/
if (err)
-   goto out;
+   dev_dbg(phy->dev, "%s: failed to get rx_iface_clk\n",
+   __func__);

err = ufs_qcom_phy_clk_get(generic_phy, "ref_clk_src",
   _common->ref_clk_src);


--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 01/10] phy: qcom-ufs: remove failure when rx/tx_iface_clk are absent

2016-10-18 Thread Vivek Gautam
From: Yaniv Gardi 

Since in future UFS Phy's the tx_iface_clk and rx_iface_clk
are no longer exist, we should not fail when their initialization
fail, but rather just report with debug message.

Signed-off-by: Yaniv Gardi 
Signed-off-by: Vivek Gautam 
---

No change since v1.

 drivers/phy/phy-qcom-ufs.c | 15 +--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/drivers/phy/phy-qcom-ufs.c b/drivers/phy/phy-qcom-ufs.c
index 107cb57..183ec04 100644
--- a/drivers/phy/phy-qcom-ufs.c
+++ b/drivers/phy/phy-qcom-ufs.c
@@ -186,16 +186,27 @@ ufs_qcom_phy_init_clks(struct phy *generic_phy,
   struct ufs_qcom_phy *phy_common)
 {
int err;
+   struct ufs_qcom_phy *phy = get_ufs_qcom_phy(generic_phy);
 
err = ufs_qcom_phy_clk_get(generic_phy, "tx_iface_clk",
   _common->tx_iface_clk);
+   /*
+* tx_iface_clk does not exist in newer version of ufs-phy HW,
+* so don't return error if it is not found
+*/
if (err)
-   goto out;
+   dev_dbg(phy->dev, "%s: failed to get tx_iface_clk\n",
+   __func__);
 
err = ufs_qcom_phy_clk_get(generic_phy, "rx_iface_clk",
   _common->rx_iface_clk);
+   /*
+* rx_iface_clk does not exist in newer version of ufs-phy HW,
+* so don't return error if it is not found
+*/
if (err)
-   goto out;
+   dev_dbg(phy->dev, "%s: failed to get rx_iface_clk\n",
+   __func__);
 
err = ufs_qcom_phy_clk_get(generic_phy, "ref_clk_src",
   _common->ref_clk_src);
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html