Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 729c0029 authored by Padmanabhan Komanduru's avatar Padmanabhan Komanduru Committed by Gerrit - the friendly Code Review server
Browse files

drm/msm/dp: avoid sending segment_address command for segment-0



Some non-compliant monitors report DP_AUX_ERR_ADDR errors on
sending segment_address AUX write command for segment-0. Hence,
avoid sending this command since the default segment for EDID read
is segment-0 even though it is not specified.

Change-Id: I0777a6f1579456316630e08d836ce5f3f6bbf47b
Signed-off-by: default avatarPadmanabhan Komanduru <pkomandu@codeaurora.org>
parent 76913944
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -330,17 +330,19 @@ static void dp_aux_transfer_helper(struct dp_aux_private *aux,
	aux->no_send_stop = true;

	/*
	 * Send the segment address for every i2c read in which the
	 * middle-of-tranaction flag is set. This is required to support EDID
	 * reads of more than 2 blocks as the segment address is reset to 0
	 * Send the segment address for i2c reads for segment > 0 and for which
	 * the middle-of-transaction flag is set. This is required to support
	 * EDID reads of more than 2 blocks as the segment address is reset to 0
	 * since we are overriding the middle-of-transaction flag for read
	 * transactions.
	 */
	if (aux->segment) {
		memset(&helper_msg, 0, sizeof(helper_msg));
		helper_msg.address = segment_address;
		helper_msg.buffer = &aux->segment;
		helper_msg.size = 1;
		dp_aux_cmd_fifo_tx(aux, &helper_msg);
	}

	/*
	 * Send the offset address for every i2c read in which the