Message ID | 1478515712-650-1-git-send-email-m.szyprowski@samsung.com |
---|---|
State | New |
Headers | show |
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
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
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
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 --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;