Commit c0977e0d authored by Stephen Boyd's avatar Stephen Boyd Committed by Dmitry Baryshkov
Browse files

drm/msm/dp: Inline dp_link_parse_sink_count()



The function dp_link_parse_sink_count() is really just
drm_dp_read_sink_count(). It debug prints out the bit for content
protection (DP_SINK_CP_READY), but that is not useful beyond debug
because 'link->dp_link.sink_count' is overwritten to only contain the
sink_count in this same function. Just use drm_dp_read_sink_count() in
the one place this function is called to simplify.

Cc: Vinod Polimera <quic_vpolimer@quicinc.com>
Cc: Kuogee Hsieh <quic_khsieh@quicinc.com>
Signed-off-by: default avatarStephen Boyd <swboyd@chromium.org>
Tested-by: default avatarKuogee Hsieh <quic_khsieh@quicinc.com>
Reviewed-by: default avatarKuogee Hsieh <quic_khsieh@quicinc.com>
Reviewed-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/554987/
Link: https://lore.kernel.org/r/20230829184735.2841739-7-swboyd@chromium.org


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent 634e9da2
Loading
Loading
Loading
Loading
+3 −35
Original line number Diff line number Diff line
@@ -712,49 +712,17 @@ static int dp_link_parse_request(struct dp_link_private *link)
	return ret;
}

/**
 * dp_link_parse_sink_count() - parses the sink count
 * @dp_link: pointer to link module data
 *
 * Parses the DPCD to check if there is an update to the sink count
 * (Byte 0x200), and whether all the sink devices connected have Content
 * Protection enabled.
 */
static int dp_link_parse_sink_count(struct dp_link *dp_link)
{
	ssize_t rlen;
	bool cp_ready;

	struct dp_link_private *link = container_of(dp_link,
			struct dp_link_private, dp_link);

	rlen = drm_dp_dpcd_readb(link->aux, DP_SINK_COUNT,
				 &link->dp_link.sink_count);
	if (rlen < 0) {
		DRM_ERROR("sink count read failed. rlen=%zd\n", rlen);
		return rlen;
	}

	cp_ready = link->dp_link.sink_count & DP_SINK_CP_READY;

	link->dp_link.sink_count =
		DP_GET_SINK_COUNT(link->dp_link.sink_count);

	drm_dbg_dp(link->drm_dev, "sink_count = 0x%x, cp_ready = 0x%x\n",
				link->dp_link.sink_count, cp_ready);
	return 0;
}

static int dp_link_parse_sink_status_field(struct dp_link_private *link)
{
	int len = 0;
	int len;

	link->prev_sink_count = link->dp_link.sink_count;
	len = dp_link_parse_sink_count(&link->dp_link);
	len = drm_dp_read_sink_count(link->aux);
	if (len < 0) {
		DRM_ERROR("DP parse sink count failed\n");
		return len;
	}
	link->dp_link.sink_count = len;

	len = drm_dp_dpcd_read_link_status(link->aux,
		link->link_status);