All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] media: sun4i-csi: Fix 'Unbalanced pm_runtime_enable!'
@ 2023-01-07  8:37 Oleg Verych
  2023-01-09 20:24 ` [PATCH] media: sun4i-csi: Use CSI_INT_STA_REG name, fix typo in a comment Oleg Verych
  2023-01-16 23:22 ` [PATCH] doc sunxi: update CCU wiki page link in clocks.rst Oleg Verych
  0 siblings, 2 replies; 5+ messages in thread
From: Oleg Verych @ 2023-01-07  8:37 UTC (permalink / raw)
  To: open list:ARM/Allwinner sunXi SoC support
  Cc: Oleg Verych, Maxime Ripard, Mauro Carvalho Chehab,
	open list:ALLWINNER A10 CSI DRIVER

When removing the module, balance PM runtime enable with
the corresponding disable call.

Signed-off-by: Oleg Verych <olecom@gmail.com>
---

dmesg:
```
[   32.570802] i2c-core: driver [ov5640] registered
[   32.585345] sun4i-csi 1c09000.csi: Device registered as video0
[  396.520467] random: crng init done
[ 1603.050944] ov5640 2-003c: remove
[ 1603.051878] i2c-core: driver [ov5640] unregistered
...
[ 1603.108832] i2c-core: driver [ov5640] registered
[ 1603.119400] sun4i-csi 1c09000.csi: Device registered as video0
[ 1603.119984] sun4i-csi 1c09000.csi: Unbalanced pm_runtime_enable!
```

 drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c b/drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
index 18e6c65f4..86c5235a0 100644
--- a/drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
+++ b/drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c
@@ -264,6 +264,7 @@ static int sun4i_csi_remove(struct platform_device *pdev)
 {
 	struct sun4i_csi *csi = platform_get_drvdata(pdev);
 
+	pm_runtime_disable(&pdev->dev);
 	v4l2_async_nf_unregister(&csi->notifier);
 	v4l2_async_nf_cleanup(&csi->notifier);
 	vb2_video_unregister_device(&csi->vdev);
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH] media: sun4i-csi: Use CSI_INT_STA_REG name, fix typo in a comment
  2023-01-07  8:37 [PATCH] media: sun4i-csi: Fix 'Unbalanced pm_runtime_enable!' Oleg Verych
@ 2023-01-09 20:24 ` Oleg Verych
  2023-01-16 19:07   ` Sakari Ailus
  2023-01-16 23:22 ` [PATCH] doc sunxi: update CCU wiki page link in clocks.rst Oleg Verych
  1 sibling, 1 reply; 5+ messages in thread
From: Oleg Verych @ 2023-01-09 20:24 UTC (permalink / raw)
  To: open list:ARM/Allwinner sunXi SoC support
  Cc: Oleg Verych, Maxime Ripard, Mauro Carvalho Chehab,
	open list:ALLWINNER A10 CSI DRIVER, linux-sunxi

---
 drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c b/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c
index a3e826a75..95b5633b7 100644
--- a/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c
+++ b/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c
@@ -245,7 +245,7 @@ static int sun4i_csi_start_streaming(struct vb2_queue *vq, unsigned int count)
 	 * We need a scratch buffer in case where we'll not have any
 	 * more buffer queued so that we don't error out. One of those
 	 * cases is when you end up at the last frame to capture, you
-	 * don't havea any buffer queued any more, and yet it doesn't
+	 * don't have any buffer queued any more, and yet it doesn't
 	 * really matter since you'll never reach the next buffer.
 	 *
 	 * Since we support the multi-planar API, we need to have a
@@ -311,7 +311,7 @@ static int sun4i_csi_start_streaming(struct vb2_queue *vq, unsigned int count)
 	writel(CSI_BUF_CTRL_DBE, csi->regs + CSI_BUF_CTRL_REG);
 
 	/* Clear the pending interrupts */
-	writel(CSI_INT_FRM_DONE, csi->regs + 0x34);
+	writel(CSI_INT_FRM_DONE, csi->regs + CSI_INT_STA_REG);
 
 	/* Enable frame done interrupt */
 	writel(CSI_INT_FRM_DONE, csi->regs + CSI_INT_EN_REG);
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] media: sun4i-csi: Use CSI_INT_STA_REG name, fix typo in a comment
  2023-01-09 20:24 ` [PATCH] media: sun4i-csi: Use CSI_INT_STA_REG name, fix typo in a comment Oleg Verych
@ 2023-01-16 19:07   ` Sakari Ailus
  2023-01-16 23:03     ` Oleg Verych
  0 siblings, 1 reply; 5+ messages in thread
From: Sakari Ailus @ 2023-01-16 19:07 UTC (permalink / raw)
  To: Oleg Verych
  Cc: open list:ARM/Allwinner sunXi SoC support, Maxime Ripard,
	Mauro Carvalho Chehab, open list:ALLWINNER A10 CSI DRIVER,
	linux-sunxi

Hi Oleg,

On Mon, Jan 09, 2023 at 11:24:56PM +0300, Oleg Verych wrote:

Please add a more elaborate description of the patch here. Looks good
otherwise.

> ---
>  drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c b/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c
> index a3e826a75..95b5633b7 100644
> --- a/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c
> +++ b/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c
> @@ -245,7 +245,7 @@ static int sun4i_csi_start_streaming(struct vb2_queue *vq, unsigned int count)
>  	 * We need a scratch buffer in case where we'll not have any
>  	 * more buffer queued so that we don't error out. One of those
>  	 * cases is when you end up at the last frame to capture, you
> -	 * don't havea any buffer queued any more, and yet it doesn't
> +	 * don't have any buffer queued any more, and yet it doesn't
>  	 * really matter since you'll never reach the next buffer.
>  	 *
>  	 * Since we support the multi-planar API, we need to have a
> @@ -311,7 +311,7 @@ static int sun4i_csi_start_streaming(struct vb2_queue *vq, unsigned int count)
>  	writel(CSI_BUF_CTRL_DBE, csi->regs + CSI_BUF_CTRL_REG);
>  
>  	/* Clear the pending interrupts */
> -	writel(CSI_INT_FRM_DONE, csi->regs + 0x34);
> +	writel(CSI_INT_FRM_DONE, csi->regs + CSI_INT_STA_REG);
>  
>  	/* Enable frame done interrupt */
>  	writel(CSI_INT_FRM_DONE, csi->regs + CSI_INT_EN_REG);

-- 
Kind regards,

Sakari Ailus

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] media: sun4i-csi: Use CSI_INT_STA_REG name, fix typo in a comment
  2023-01-16 19:07   ` Sakari Ailus
@ 2023-01-16 23:03     ` Oleg Verych
  0 siblings, 0 replies; 5+ messages in thread
From: Oleg Verych @ 2023-01-16 23:03 UTC (permalink / raw)
  To: open list:ARM/Allwinner sunXi SoC support
  Cc: Oleg Verych, Maxime Ripard, Mauro Carvalho Chehab, Sakari Ailus,
	open list:ALLWINNER A10 CSI DRIVER, linux-sunxi

Fix interrupt status register offset usage to be a defined name
CSI_INT_STA_REG (= 0x34) instead of a plain number.

Additionally fix a typo in a comment of the same file.

Signed-off-by: Oleg Verych <olecom@gmail.com>

---
 drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c b/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c
index a3e826a75..95b5633b7 100644
--- a/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c
+++ b/drivers/media/platform/sunxi/sun4i-csi/sun4i_dma.c
@@ -245,7 +245,7 @@ static int sun4i_csi_start_streaming(struct vb2_queue *vq, unsigned int count)
 	 * We need a scratch buffer in case where we'll not have any
 	 * more buffer queued so that we don't error out. One of those
 	 * cases is when you end up at the last frame to capture, you
-	 * don't havea any buffer queued any more, and yet it doesn't
+	 * don't have any buffer queued any more, and yet it doesn't
 	 * really matter since you'll never reach the next buffer.
 	 *
 	 * Since we support the multi-planar API, we need to have a
@@ -311,7 +311,7 @@ static int sun4i_csi_start_streaming(struct vb2_queue *vq, unsigned int count)
 	writel(CSI_BUF_CTRL_DBE, csi->regs + CSI_BUF_CTRL_REG);
 
 	/* Clear the pending interrupts */
-	writel(CSI_INT_FRM_DONE, csi->regs + 0x34);
+	writel(CSI_INT_FRM_DONE, csi->regs + CSI_INT_STA_REG);
 
 	/* Enable frame done interrupt */
 	writel(CSI_INT_FRM_DONE, csi->regs + CSI_INT_EN_REG);
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH] doc sunxi: update CCU wiki page link in clocks.rst
  2023-01-07  8:37 [PATCH] media: sun4i-csi: Fix 'Unbalanced pm_runtime_enable!' Oleg Verych
  2023-01-09 20:24 ` [PATCH] media: sun4i-csi: Use CSI_INT_STA_REG name, fix typo in a comment Oleg Verych
@ 2023-01-16 23:22 ` Oleg Verych
  1 sibling, 0 replies; 5+ messages in thread
From: Oleg Verych @ 2023-01-16 23:22 UTC (permalink / raw)
  To: open list:ARM/Allwinner sunXi SoC support
  Cc: Oleg Verych, Emilio López, Maxime Ripard, Chen-Yu Tsai,
	Jernej Skrabec, linux-sunxi

Update wiki page link to the Allwinner sunXi SoC Clock Control Module.

Signed-off-by: Oleg Verych <olecom@gmail.com> 
---
Hi!

Can I ask additional question to those in the file?

How is it possible to setup PLL7 to particular frequency and select
it as a source to CSI0 via CCM_CSI0_CLK[1]?

Is it possible to put such device tree example in documentation?

Thanks!

[1] https://linux-sunxi.org/Clock_Control_Module#CCM_CSI0_CLK

 Documentation/arm/sunxi/clocks.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/arm/sunxi/clocks.rst b/Documentation/arm/sunxi/clocks.rst
index 23bd03f3e..f435bdd70 100644
--- a/Documentation/arm/sunxi/clocks.rst
+++ b/Documentation/arm/sunxi/clocks.rst
@@ -49,7 +49,7 @@ Q: Were can I learn more about the sunxi clocks?
 A: The linux-sunxi wiki contains a page documenting the clock registers,
    you can find it at
 
-        http://linux-sunxi.org/A10/CCM
+        https://linux-sunxi.org/Clock_Control_Module
 
    The authoritative source for information at this time is the ccmu driver
    released by Allwinner, you can find it at
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-16 23:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-07  8:37 [PATCH] media: sun4i-csi: Fix 'Unbalanced pm_runtime_enable!' Oleg Verych
2023-01-09 20:24 ` [PATCH] media: sun4i-csi: Use CSI_INT_STA_REG name, fix typo in a comment Oleg Verych
2023-01-16 19:07   ` Sakari Ailus
2023-01-16 23:03     ` Oleg Verych
2023-01-16 23:22 ` [PATCH] doc sunxi: update CCU wiki page link in clocks.rst Oleg Verych

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.