* [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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox