Thread (16 messages) 16 messages, 6 authors, 2013-07-01

Re: [PATCH v3 1/5] phy: Add driver for Exynos MIPI CSIS/DSIM DPHYs

From: Hui Wang <hidden>
Date: 2013-06-28 08:17:28
Also in: linux-arm-kernel, linux-devicetree, linux-media, linux-samsung-soc

On 06/26/2013 11:02 PM, Sylwester Nawrocki wrote:
Add a PHY provider driver for the Samsung S5P/Exynos SoC MIPI CSI-2
receiver and MIPI DSI transmitter DPHYs.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
Changes since v2:
  - adapted to the generic PHY API v9: use phy_set/get_drvdata(),
  - fixed of_xlate callback to return ERR_PTR() instead of NULL,
  - namespace cleanup, put "GPL v2" as MODULE_LICENSE, removed pr_debug,
  - removed phy id check in __set_phy_state().
---
[...]
+
+	if (IS_EXYNOS_MIPI_DSIM_PHY_ID(id))
+		reset = EXYNOS_MIPI_PHY_MRESETN;
+	else
+		reset = EXYNOS_MIPI_PHY_SRESETN;
+
+	spin_lock_irqsave(&state->slock, flags);
Sorry for one stupid question here, why do you use spin_lock_irqsave() 
rather than spin_lock(),
I don't see the irq handler will use this spinlock anywhere in this c file.


Regards,
Hui.
+	reg = readl(addr);
+	if (on)
+		reg |= reset;
+	else
+		reg &= ~reset;
+	writel(reg, addr);
+
+	/* Clear ENABLE bit only if MRESETN, SRESETN bits are not set. */
+	if (on)
+		reg |= EXYNOS_MIPI_PHY_ENABLE;
+	else if (!(reg & EXYNOS_MIPI_PHY_RESET_MASK))
+		reg &= ~EXYNOS_MIPI_PHY_ENABLE;
+
+	writel(reg, addr);
+	spin_unlock_irqrestore(&state->slock, flags);
+	return 0;
+}
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help