diff mbox

[RESEND] phy: exynos-mipi-video: simplify check for coupled phy status

Message ID 1478515712-650-1-git-send-email-m.szyprowski@samsung.com
State New
Headers show

Commit Message

Marek Szyprowski Nov. 7, 2016, 10:48 a.m. UTC
There is no need to access regmap of coupled phy to check its state - such
information is already in the phy device itself, so use it directly. This
let us to avoid possible access to registers of the device in the disabled
power domain if the coupled phy is already disabled.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

---
 drivers/phy/phy-exynos-mipi-video.c | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

-- 
1.9.1

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

Comments

Javier Martinez Canillas Nov. 7, 2016, 6:50 p.m. UTC | #1
Hello Marek,

On 11/07/2016 07:48 AM, Marek Szyprowski wrote:
> There is no need to access regmap of coupled phy to check its state - such

> information is already in the phy device itself, so use it directly. This

> let us to avoid possible access to registers of the device in the disabled

> power domain if the coupled phy is already disabled.

>


Do you think this patch needs also go to stable?

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

> ---


Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>


Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Marek Szyprowski Nov. 8, 2016, 6:27 a.m. UTC | #2
Hi Javier,


On 2016-11-07 19:50, Javier Martinez Canillas wrote:
> On 11/07/2016 07:48 AM, Marek Szyprowski wrote:

>> There is no need to access regmap of coupled phy to check its state - such

>> information is already in the phy device itself, so use it directly. This

>> let us to avoid possible access to registers of the device in the disabled

>> power domain if the coupled phy is already disabled.

>>

> Do you think this patch needs also go to stable?


Nope, there is no such need, because the problem with potential power domain
is specific for Exynos 5433, which is not yet merged to mainline.

>> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

>> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

>> ---

> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>


Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Javier Martinez Canillas Nov. 8, 2016, 11:33 a.m. UTC | #3
Hello Marek,

On 11/08/2016 03:27 AM, Marek Szyprowski wrote:
> Hi Javier,

> 

> 

> On 2016-11-07 19:50, Javier Martinez Canillas wrote:

>> On 11/07/2016 07:48 AM, Marek Szyprowski wrote:

>>> There is no need to access regmap of coupled phy to check its state - such

>>> information is already in the phy device itself, so use it directly. This

>>> let us to avoid possible access to registers of the device in the disabled

>>> power domain if the coupled phy is already disabled.

>>>

>> Do you think this patch needs also go to stable?

> 

> Nope, there is no such need, because the problem with potential power domain

> is specific for Exynos 5433, which is not yet merged to mainline.

>


Thanks for the clarification. It wasn't clear for me from the commit
message where did you face this issue.
 
>>> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

>>> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

>>> ---

>> Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>

> 

> Best regards


Best regards,
-- 
Javier Martinez Canillas
Open Source Group
Samsung Research America
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kishon Vijay Abraham I Nov. 15, 2016, 1:33 p.m. UTC | #4
On Monday 07 November 2016 04:18 PM, Marek Szyprowski wrote:
> There is no need to access regmap of coupled phy to check its state - such

> information is already in the phy device itself, so use it directly. This

> let us to avoid possible access to registers of the device in the disabled

> power domain if the coupled phy is already disabled.

> 

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>

> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>


merged to phy -next.

Thanks
Kishon
> ---

>  drivers/phy/phy-exynos-mipi-video.c | 15 +--------------

>  1 file changed, 1 insertion(+), 14 deletions(-)

> 

> diff --git a/drivers/phy/phy-exynos-mipi-video.c b/drivers/phy/phy-exynos-mipi-video.c

> index 8b851f7..6bee04c 100644

> --- a/drivers/phy/phy-exynos-mipi-video.c

> +++ b/drivers/phy/phy-exynos-mipi-video.c

> @@ -229,19 +229,6 @@ struct exynos_mipi_video_phy {

>  	spinlock_t slock;

>  };

>  

> -static inline int __is_running(const struct exynos_mipi_phy_desc *data,

> -			struct exynos_mipi_video_phy *state)

> -{

> -	u32 val;

> -	int ret;

> -

> -	ret = regmap_read(state->regmaps[data->resetn_map], data->resetn_reg, &val);

> -	if (ret)

> -		return 0;

> -

> -	return val & data->resetn_val;

> -}

> -

>  static int __set_phy_state(const struct exynos_mipi_phy_desc *data,

>  			   struct exynos_mipi_video_phy *state, unsigned int on)

>  {

> @@ -251,7 +238,7 @@ static int __set_phy_state(const struct exynos_mipi_phy_desc *data,

>  

>  	/* disable in PMU sysreg */

>  	if (!on && data->coupled_phy_id >= 0 &&

> -	    !__is_running(state->phys[data->coupled_phy_id].data, state)) {

> +	    state->phys[data->coupled_phy_id].phy->power_count == 0) {

>  		regmap_read(state->regmaps[data->enable_map], data->enable_reg,

>  			    &val);

>  		val &= ~data->enable_val;

> 

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

Patch

diff --git a/drivers/phy/phy-exynos-mipi-video.c b/drivers/phy/phy-exynos-mipi-video.c
index 8b851f7..6bee04c 100644
--- a/drivers/phy/phy-exynos-mipi-video.c
+++ b/drivers/phy/phy-exynos-mipi-video.c
@@ -229,19 +229,6 @@  struct exynos_mipi_video_phy {
 	spinlock_t slock;
 };
 
-static inline int __is_running(const struct exynos_mipi_phy_desc *data,
-			struct exynos_mipi_video_phy *state)
-{
-	u32 val;
-	int ret;
-
-	ret = regmap_read(state->regmaps[data->resetn_map], data->resetn_reg, &val);
-	if (ret)
-		return 0;
-
-	return val & data->resetn_val;
-}
-
 static int __set_phy_state(const struct exynos_mipi_phy_desc *data,
 			   struct exynos_mipi_video_phy *state, unsigned int on)
 {
@@ -251,7 +238,7 @@  static int __set_phy_state(const struct exynos_mipi_phy_desc *data,
 
 	/* disable in PMU sysreg */
 	if (!on && data->coupled_phy_id >= 0 &&
-	    !__is_running(state->phys[data->coupled_phy_id].data, state)) {
+	    state->phys[data->coupled_phy_id].phy->power_count == 0) {
 		regmap_read(state->regmaps[data->enable_map], data->enable_reg,
 			    &val);
 		val &= ~data->enable_val;