Message ID | 1425009057.12126.1.camel@phoenix (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 27/02/15 04:50, Axel Lin wrote: > he state->regmap is initialized by devm_regmap_init_mmio(). > So it's fine to use spin_lock rather than mutex to protct state->regmap rmw > operations. > > Signed-off-by: Axel Lin <axel.lin@ingics.com> > --- > Hi Sylwester, > I don't have this hardware handy, so can you test if this patch works. > This patch is on top of my previous patch (phy: exynos-mipi-video: Fixup > the test for state->regmap) Thanks for the patch, it looks good to me. I somehow missed the syscon already uses a spinlock for regmap protection. v4.0-rc1 seems devastated as far as exynos4 is concerned, it may take some time until I get around and fix all the issues so I tested your patch on v3.19. It all works well as expected. Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Tested-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Hi, On Friday 27 February 2015 06:57 PM, Sylwester Nawrocki wrote: > On 27/02/15 04:50, Axel Lin wrote: >> he state->regmap is initialized by devm_regmap_init_mmio(). >> So it's fine to use spin_lock rather than mutex to protct state->regmap rmw >> operations. >> >> Signed-off-by: Axel Lin <axel.lin@ingics.com> >> --- >> Hi Sylwester, >> I don't have this hardware handy, so can you test if this patch works. >> This patch is on top of my previous patch (phy: exynos-mipi-video: Fixup >> the test for state->regmap) > > Thanks for the patch, it looks good to me. I somehow missed the syscon > already uses a spinlock for regmap protection. > > v4.0-rc1 seems devastated as far as exynos4 is concerned, it may take > some time until I get around and fix all the issues so I tested your > patch on v3.19. It all works well as expected. > > Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> > Tested-by: Sylwester Nawrocki <s.nawrocki@samsung.com> This patch doesn't apply on 4.0-rc1. Can to refresh it to mainline latest? Cheers Kishon -- 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, On 04/03/15 13:24, Kishon Vijay Abraham I wrote: > This patch doesn't apply on 4.0-rc1. Can to refresh it to mainline > latest? It depends on Axel's previous patch: "phy: exynos-mipi-video: Fixup the test for state->regmap". Are there any issues even with that patch applied ?
On Wednesday 04 March 2015 06:17 PM, Sylwester Nawrocki wrote: > Hi, > > On 04/03/15 13:24, Kishon Vijay Abraham I wrote: >> This patch doesn't apply on 4.0-rc1. Can to refresh it to mainline >> latest? > > It depends on Axel's previous patch: "phy: exynos-mipi-video: Fixup > the test for state->regmap". Are there any issues even with that patch > applied ? no. okay I'll apply in that order. Cheers kishon -- 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 d196493..8d6d117 100644 --- a/drivers/phy/phy-exynos-mipi-video.c +++ b/drivers/phy/phy-exynos-mipi-video.c @@ -43,7 +43,6 @@ struct exynos_mipi_video_phy { } phys[EXYNOS_MIPI_PHYS_NUM]; spinlock_t slock; void __iomem *regs; - struct mutex mutex; struct regmap *regmap; }; @@ -59,8 +58,9 @@ static int __set_phy_state(struct exynos_mipi_video_phy *state, else reset = EXYNOS4_MIPI_PHY_SRESETN; + spin_lock(&state->slock); + if (!IS_ERR(state->regmap)) { - mutex_lock(&state->mutex); regmap_read(state->regmap, offset, &val); if (on) val |= reset; @@ -72,7 +72,6 @@ static int __set_phy_state(struct exynos_mipi_video_phy *state, else if (!(val & EXYNOS4_MIPI_PHY_RESET_MASK)) val &= ~EXYNOS4_MIPI_PHY_ENABLE; regmap_write(state->regmap, offset, val); - mutex_unlock(&state->mutex); } else { addr = state->regs + EXYNOS_MIPI_PHY_CONTROL(id / 2); @@ -90,9 +89,9 @@ static int __set_phy_state(struct exynos_mipi_video_phy *state, val &= ~EXYNOS4_MIPI_PHY_ENABLE; writel(val, addr); - spin_unlock(&state->slock); } + spin_unlock(&state->slock); return 0; } @@ -158,7 +157,6 @@ static int exynos_mipi_video_phy_probe(struct platform_device *pdev) dev_set_drvdata(dev, state); spin_lock_init(&state->slock); - mutex_init(&state->mutex); for (i = 0; i < EXYNOS_MIPI_PHYS_NUM; i++) { struct phy *phy = devm_phy_create(dev, NULL,
The state->regmap is initialized by devm_regmap_init_mmio(). So it's fine to use spin_lock rather than mutex to protct state->regmap rmw operations. Signed-off-by: Axel Lin <axel.lin@ingics.com> --- Hi Sylwester, I don't have this hardware handy, so can you test if this patch works. This patch is on top of my previous patch (phy: exynos-mipi-video: Fixup the test for state->regmap) Thanks, Axel drivers/phy/phy-exynos-mipi-video.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)