Commit ad6b76cd authored by Alex Hung's avatar Alex Hung Committed by Alex Deucher
Browse files

drm/amd/display: print messages when programming shaper/3dlut fails



[WHAT & HOW]
Print error messages when programming shaper lut or 3dlut fails.

This fixes 5 UNUSED_VALUE issues reported by Coverity.

Reviewed-by: default avatarRodrigo Siqueira <rodrigo.siqueira@amd.com>
Signed-off-by: default avatarAlex Hung <alex.hung@amd.com>
Signed-off-by: default avatarRoman Li <roman.li@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 0fe33e11
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -245,6 +245,7 @@ static bool dcn30_set_mpc_shaper_3dlut(struct pipe_ctx *pipe_ctx,
{
	struct dpp *dpp_base = pipe_ctx->plane_res.dpp;
	int mpcc_id = pipe_ctx->plane_res.hubp->inst;
	struct dc *dc = pipe_ctx->stream->ctx->dc;
	struct mpc *mpc = pipe_ctx->stream_res.opp->ctx->dc->res_pool->mpc;
	bool result = false;
	int acquired_rmu = 0;
@@ -283,8 +284,14 @@ static bool dcn30_set_mpc_shaper_3dlut(struct pipe_ctx *pipe_ctx,

		result = mpc->funcs->program_3dlut(mpc, &stream->lut3d_func->lut_3d,
						   stream->lut3d_func->state.bits.rmu_mux_num);
		if (!result)
			DC_LOG_ERROR("%s: program_3dlut failed\n", __func__);

		result = mpc->funcs->program_shaper(mpc, shaper_lut,
						    stream->lut3d_func->state.bits.rmu_mux_num);
		if (!result)
			DC_LOG_ERROR("%s: program_shaper failed\n", __func__);

	} else {
		// loop through the available mux and release the requested mpcc_id
		mpc->funcs->release_rmu(mpc, mpcc_id);
+7 −6
Original line number Diff line number Diff line
@@ -439,6 +439,7 @@ bool dcn32_set_mpc_shaper_3dlut(
{
	struct dpp *dpp_base = pipe_ctx->plane_res.dpp;
	int mpcc_id = pipe_ctx->plane_res.hubp->inst;
	struct dc *dc = pipe_ctx->stream->ctx->dc;
	struct mpc *mpc = pipe_ctx->stream_res.opp->ctx->dc->res_pool->mpc;
	bool result = false;

@@ -458,13 +459,13 @@ bool dcn32_set_mpc_shaper_3dlut(
	if (stream->lut3d_func &&
		stream->lut3d_func->state.bits.initialized == 1) {

		result = mpc->funcs->program_3dlut(mpc,
								&stream->lut3d_func->lut_3d,
								mpcc_id);
		result = mpc->funcs->program_3dlut(mpc,	&stream->lut3d_func->lut_3d, mpcc_id);
		if (!result)
			DC_LOG_ERROR("%s: program_3dlut failed\n", __func__);

		result = mpc->funcs->program_shaper(mpc,
								shaper_lut,
								mpcc_id);
		result = mpc->funcs->program_shaper(mpc, shaper_lut, mpcc_id);
		if (!result)
			DC_LOG_ERROR("%s: program_shaper failed\n", __func__);
	}

	return result;
+11 −0
Original line number Diff line number Diff line
@@ -1107,9 +1107,13 @@ enum dc_status dpcd_set_link_settings(

	status = core_link_write_dpcd(link, DP_DOWNSPREAD_CTRL,
		&downspread.raw, sizeof(downspread));
	if (status != DC_OK)
		DC_LOG_ERROR("%s:%d: core_link_write_dpcd (DP_DOWNSPREAD_CTRL) failed\n", __func__, __LINE__);

	status = core_link_write_dpcd(link, DP_LANE_COUNT_SET,
		&lane_count_set.raw, 1);
	if (status != DC_OK)
		DC_LOG_ERROR("%s:%d: core_link_write_dpcd (DP_LANE_COUNT_SET) failed\n", __func__, __LINE__);

	if (link->dpcd_caps.dpcd_rev.raw >= DPCD_REV_13 &&
			lt_settings->link_settings.use_link_rate_set == true) {
@@ -1125,12 +1129,19 @@ enum dc_status dpcd_set_link_settings(
					supported_link_rates, sizeof(supported_link_rates));
		}
		status = core_link_write_dpcd(link, DP_LINK_BW_SET, &rate, 1);
		if (status != DC_OK)
			DC_LOG_ERROR("%s:%d: core_link_write_dpcd (DP_LINK_BW_SET) failed\n", __func__, __LINE__);

		status = core_link_write_dpcd(link, DP_LINK_RATE_SET,
				&lt_settings->link_settings.link_rate_set, 1);
		if (status != DC_OK)
			DC_LOG_ERROR("%s:%d: core_link_write_dpcd (DP_LINK_RATE_SET) failed\n", __func__, __LINE__);
	} else {
		rate = get_dpcd_link_rate(&lt_settings->link_settings);

		status = core_link_write_dpcd(link, DP_LINK_BW_SET, &rate, 1);
		if (status != DC_OK)
			DC_LOG_ERROR("%s:%d: core_link_write_dpcd (DP_LINK_BW_SET) failed\n", __func__, __LINE__);
	}

	if (rate) {