mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-04 20:19:47 +08:00 
			
		
		
		
	drm/amd/display: For cursor P-State allow for SubVP
[Description] - Similar to FPO, SubVP should also force cursor P-State allow instead of relying on natural assertion - Implement code path to force and unforce cursor P-State allow for SubVP Reviewed-by: Samson Tam <samson.tam@amd.com> Acked-by: Hersen Wu <hersenxs.wu@amd.com> Signed-off-by: Alvin Lee <alvin.lee2@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
		
							parent
							
								
									e4c33fff2e
								
							
						
					
					
						commit
						ed6e2782e9
					
				| @ -615,12 +615,6 @@ void dcn32_update_force_pstate(struct dc *dc, struct dc_state *context) | |||||||
| 		    pipe->stream->fpo_in_use)) { | 		    pipe->stream->fpo_in_use)) { | ||||||
| 			if (hubp && hubp->funcs->hubp_update_force_pstate_disallow) | 			if (hubp && hubp->funcs->hubp_update_force_pstate_disallow) | ||||||
| 				hubp->funcs->hubp_update_force_pstate_disallow(hubp, false); | 				hubp->funcs->hubp_update_force_pstate_disallow(hubp, false); | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		/* Today only FPO uses cursor P-State force. Only clear cursor P-State force
 |  | ||||||
| 		 * if it's not FPO. |  | ||||||
| 		 */ |  | ||||||
| 		if (!pipe->stream || !pipe->stream->fpo_in_use) { |  | ||||||
| 			if (hubp && hubp->funcs->hubp_update_force_cursor_pstate_disallow) | 			if (hubp && hubp->funcs->hubp_update_force_cursor_pstate_disallow) | ||||||
| 				hubp->funcs->hubp_update_force_cursor_pstate_disallow(hubp, false); | 				hubp->funcs->hubp_update_force_cursor_pstate_disallow(hubp, false); | ||||||
| 		} | 		} | ||||||
| @ -632,17 +626,10 @@ void dcn32_update_force_pstate(struct dc *dc, struct dc_state *context) | |||||||
| 		struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i]; | 		struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i]; | ||||||
| 		struct hubp *hubp = pipe->plane_res.hubp; | 		struct hubp *hubp = pipe->plane_res.hubp; | ||||||
| 
 | 
 | ||||||
| 		if (pipe->stream && pipe->plane_state && pipe->stream->mall_stream_config.type == SUBVP_MAIN) { | 		if (pipe->stream && (pipe->stream->mall_stream_config.type == SUBVP_MAIN || | ||||||
|  | 				pipe->stream->fpo_in_use)) { | ||||||
| 			if (hubp && hubp->funcs->hubp_update_force_pstate_disallow) | 			if (hubp && hubp->funcs->hubp_update_force_pstate_disallow) | ||||||
| 				hubp->funcs->hubp_update_force_pstate_disallow(hubp, true); | 				hubp->funcs->hubp_update_force_pstate_disallow(hubp, true); | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		if (pipe->stream && pipe->stream->fpo_in_use) { |  | ||||||
| 			if (hubp && hubp->funcs->hubp_update_force_pstate_disallow) |  | ||||||
| 				hubp->funcs->hubp_update_force_pstate_disallow(hubp, true); |  | ||||||
| 			/* For now only force cursor p-state disallow for FPO
 |  | ||||||
| 			 * Needs to be added for subvp once FW side gets updated |  | ||||||
| 			 */ |  | ||||||
| 			if (hubp && hubp->funcs->hubp_update_force_cursor_pstate_disallow) | 			if (hubp && hubp->funcs->hubp_update_force_cursor_pstate_disallow) | ||||||
| 				hubp->funcs->hubp_update_force_cursor_pstate_disallow(hubp, true); | 				hubp->funcs->hubp_update_force_cursor_pstate_disallow(hubp, true); | ||||||
| 		} | 		} | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Alvin Lee
						Alvin Lee