drivers/media/platform/aspeed/aspeed-video.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
When stopping clocks for Video Capture and Video Engine in
aspeed_video_off() the order is reversed.
Occasionally during screen blanking hard lock-ups occur on AST2500,
accompanied by the heart beat LED stopping.
Stopping Video Capture clock before Video Engine seems logical and fixes
the random lock-ups.
Fixes: 3536169f8531 ("media: aspeed: fix clock handling logic")
Signed-off-by: Phil Eichinger <phil@zankapfel.net>
---
drivers/media/platform/aspeed/aspeed-video.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/platform/aspeed/aspeed-video.c b/drivers/media/platform/aspeed/aspeed-video.c
index fc6050e3be0d..8f1f3c847162 100644
--- a/drivers/media/platform/aspeed/aspeed-video.c
+++ b/drivers/media/platform/aspeed/aspeed-video.c
@@ -661,8 +661,8 @@ static void aspeed_video_off(struct aspeed_video *video)
aspeed_video_write(video, VE_INTERRUPT_STATUS, 0xffffffff);
/* Turn off the relevant clocks */
- clk_disable(video->eclk);
clk_disable(video->vclk);
+ clk_disable(video->eclk);
clear_bit(VIDEO_CLOCKS_ON, &video->flags);
}
--
2.39.2
+Jammy Huang
Jammy,
Can you review this patch? It looks OK to me, but I wonder if in aspeed_video_on
the order of the clocks should be reversed as well to match the new video_off
sequence.
Regards,
Hans
On 19/07/2024 11:40, Phil Eichinger wrote:
> When stopping clocks for Video Capture and Video Engine in
> aspeed_video_off() the order is reversed.
>
> Occasionally during screen blanking hard lock-ups occur on AST2500,
> accompanied by the heart beat LED stopping.
>
> Stopping Video Capture clock before Video Engine seems logical and fixes
> the random lock-ups.
>
> Fixes: 3536169f8531 ("media: aspeed: fix clock handling logic")
> Signed-off-by: Phil Eichinger <phil@zankapfel.net>
> ---
> drivers/media/platform/aspeed/aspeed-video.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/aspeed/aspeed-video.c b/drivers/media/platform/aspeed/aspeed-video.c
> index fc6050e3be0d..8f1f3c847162 100644
> --- a/drivers/media/platform/aspeed/aspeed-video.c
> +++ b/drivers/media/platform/aspeed/aspeed-video.c
> @@ -661,8 +661,8 @@ static void aspeed_video_off(struct aspeed_video *video)
> aspeed_video_write(video, VE_INTERRUPT_STATUS, 0xffffffff);
>
> /* Turn off the relevant clocks */
> - clk_disable(video->eclk);
> clk_disable(video->vclk);
> + clk_disable(video->eclk);
>
> clear_bit(VIDEO_CLOCKS_ON, &video->flags);
> }
© 2016 - 2025 Red Hat, Inc.