 c06fb25d1f
			
		
	
	c06fb25d1f
	
	
		
			
	
		
	
	
		
			Some checks failed
		
		
	
	Build Kernel / Build all affected Kernels (push) Has been cancelled
				
			Build all core packages / Build all core packages for selected target (push) Has been cancelled
				
			Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
				
			Build Toolchains / Build Toolchains for each target (push) Has been cancelled
				
			Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
				
			Coverity scan build / Coverity x86/64 build (push) Has been cancelled
				
			
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 65ac92600898d2508375e3b68103aa3b056dfcdd Mon Sep 17 00:00:00 2001
 | |
| From: Maxime Ripard <maxime@cerno.tech>
 | |
| Date: Wed, 29 Mar 2023 15:26:52 +0100
 | |
| Subject: [PATCH 0578/1085] drm/vc4: hdmi: Enable the audio clock
 | |
| 
 | |
| The audio clock is used by the HDMI controller driver and we were using
 | |
| it to get its audio rate and compute the dividers needed to reach a
 | |
| given audio sample rate.
 | |
| 
 | |
| However, we were never enabling it, which was resulting in lockups on
 | |
| the BCM2712.
 | |
| 
 | |
| Fixes: 632ee3aa8786 ("drm/vc4: hdmi: Add audio-related callbacks")
 | |
| Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | |
| ---
 | |
|  drivers/gpu/drm/vc4/vc4_hdmi.c | 5 +++++
 | |
|  1 file changed, 5 insertions(+)
 | |
| 
 | |
| --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
 | |
| +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
 | |
| @@ -3599,6 +3599,7 @@ static int vc4_hdmi_runtime_suspend(stru
 | |
|  {
 | |
|  	struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev);
 | |
|  
 | |
| +	clk_disable_unprepare(vc4_hdmi->audio_clock);
 | |
|  	clk_disable_unprepare(vc4_hdmi->hsm_clock);
 | |
|  
 | |
|  	return 0;
 | |
| @@ -3631,6 +3632,10 @@ static int vc4_hdmi_runtime_resume(struc
 | |
|  		goto err_disable_clk;
 | |
|  	}
 | |
|  
 | |
| +	ret = clk_prepare_enable(vc4_hdmi->audio_clock);
 | |
| +	if (ret)
 | |
| +		goto err_disable_clk;
 | |
| +
 | |
|  	if (vc4_hdmi->variant->reset)
 | |
|  		vc4_hdmi->variant->reset(vc4_hdmi);
 | |
|  
 |