diff mbox

drm/dp: Use AUX constants from specification

Message ID 1387209689-10661-1-git-send-email-treding@nvidia.com (mailing list archive)
State Accepted
Headers show

Commit Message

Thierry Reding Dec. 16, 2013, 4:01 p.m. UTC
The current values seem to be defined in a format that's specific to the
i915, gma500 and radeon drivers. To make this more generally useful, use
the values as defined in the specification.

While at it, prefix the constants with DP_ for improved namespacing.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 drivers/gpu/drm/gma500/cdv_intel_dp.c | 37 ++++++++++++++++++-----------------
 drivers/gpu/drm/i915/intel_dp.c       | 37 ++++++++++++++++++-----------------
 drivers/gpu/drm/radeon/atombios_dp.c  | 36 ++++++++++++++++++----------------
 include/drm/drm_dp_helper.h           | 32 +++++++++++++++---------------
 4 files changed, 73 insertions(+), 69 deletions(-)

Comments

Daniel Vetter Dec. 16, 2013, 8:01 p.m. UTC | #1
On Mon, Dec 16, 2013 at 05:01:29PM +0100, Thierry Reding wrote:
> The current values seem to be defined in a format that's specific to the
> i915, gma500 and radeon drivers. To make this more generally useful, use
> the values as defined in the specification.
> 
> While at it, prefix the constants with DP_ for improved namespacing.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>

I've suggested this in the lengthy discussion with Thierry about his dp
aux helpers last week. The idea is to use these spec values int the dp aux
cmd and aux reply fields in the ->transfer function. Patch looks good, so

Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>



> ---
>  drivers/gpu/drm/gma500/cdv_intel_dp.c | 37 ++++++++++++++++++-----------------
>  drivers/gpu/drm/i915/intel_dp.c       | 37 ++++++++++++++++++-----------------
>  drivers/gpu/drm/radeon/atombios_dp.c  | 36 ++++++++++++++++++----------------
>  include/drm/drm_dp_helper.h           | 32 +++++++++++++++---------------
>  4 files changed, 73 insertions(+), 69 deletions(-)
> 
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> index f88a1815d87c..6a7c2481d4ab 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> @@ -483,7 +483,7 @@ cdv_intel_dp_aux_native_write(struct gma_encoder *encoder,
>  
>  	if (send_bytes > 16)
>  		return -1;
> -	msg[0] = AUX_NATIVE_WRITE << 4;
> +	msg[0] = DP_AUX_NATIVE_WRITE << 4;
>  	msg[1] = address >> 8;
>  	msg[2] = address & 0xff;
>  	msg[3] = send_bytes - 1;
> @@ -493,9 +493,10 @@ cdv_intel_dp_aux_native_write(struct gma_encoder *encoder,
>  		ret = cdv_intel_dp_aux_ch(encoder, msg, msg_bytes, &ack, 1);
>  		if (ret < 0)
>  			return ret;
> -		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +		ack >>= 4;
> +		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>  			break;
> -		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>  			udelay(100);
>  		else
>  			return -EIO;
> @@ -523,7 +524,7 @@ cdv_intel_dp_aux_native_read(struct gma_encoder *encoder,
>  	uint8_t ack;
>  	int ret;
>  
> -	msg[0] = AUX_NATIVE_READ << 4;
> +	msg[0] = DP_AUX_NATIVE_READ << 4;
>  	msg[1] = address >> 8;
>  	msg[2] = address & 0xff;
>  	msg[3] = recv_bytes - 1;
> @@ -538,12 +539,12 @@ cdv_intel_dp_aux_native_read(struct gma_encoder *encoder,
>  			return -EPROTO;
>  		if (ret < 0)
>  			return ret;
> -		ack = reply[0];
> -		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) {
> +		ack = reply[0] >> 4;
> +		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK) {
>  			memcpy(recv, reply + 1, ret - 1);
>  			return ret - 1;
>  		}
> -		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>  			udelay(100);
>  		else
>  			return -EIO;
> @@ -569,12 +570,12 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>  
>  	/* Set up the command byte */
>  	if (mode & MODE_I2C_READ)
> -		msg[0] = AUX_I2C_READ << 4;
> +		msg[0] = DP_AUX_I2C_READ << 4;
>  	else
> -		msg[0] = AUX_I2C_WRITE << 4;
> +		msg[0] = DP_AUX_I2C_WRITE << 4;
>  
>  	if (!(mode & MODE_I2C_STOP))
> -		msg[0] |= AUX_I2C_MOT << 4;
> +		msg[0] |= DP_AUX_I2C_MOT << 4;
>  
>  	msg[1] = address >> 8;
>  	msg[2] = address;
> @@ -606,16 +607,16 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>  			return ret;
>  		}
>  
> -		switch (reply[0] & AUX_NATIVE_REPLY_MASK) {
> -		case AUX_NATIVE_REPLY_ACK:
> +		switch ((reply[0] >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
> +		case DP_AUX_NATIVE_REPLY_ACK:
>  			/* I2C-over-AUX Reply field is only valid
>  			 * when paired with AUX ACK.
>  			 */
>  			break;
> -		case AUX_NATIVE_REPLY_NACK:
> +		case DP_AUX_NATIVE_REPLY_NACK:
>  			DRM_DEBUG_KMS("aux_ch native nack\n");
>  			return -EREMOTEIO;
> -		case AUX_NATIVE_REPLY_DEFER:
> +		case DP_AUX_NATIVE_REPLY_DEFER:
>  			udelay(100);
>  			continue;
>  		default:
> @@ -624,16 +625,16 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>  			return -EREMOTEIO;
>  		}
>  
> -		switch (reply[0] & AUX_I2C_REPLY_MASK) {
> -		case AUX_I2C_REPLY_ACK:
> +		switch ((reply[0] >> 4) & DP_AUX_I2C_REPLY_MASK) {
> +		case DP_AUX_I2C_REPLY_ACK:
>  			if (mode == MODE_I2C_READ) {
>  				*read_byte = reply[1];
>  			}
>  			return reply_bytes - 1;
> -		case AUX_I2C_REPLY_NACK:
> +		case DP_AUX_I2C_REPLY_NACK:
>  			DRM_DEBUG_KMS("aux_i2c nack\n");
>  			return -EREMOTEIO;
> -		case AUX_I2C_REPLY_DEFER:
> +		case DP_AUX_I2C_REPLY_DEFER:
>  			DRM_DEBUG_KMS("aux_i2c defer\n");
>  			udelay(100);
>  			break;
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 9b40113f4fa1..7df5085973e9 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -542,7 +542,7 @@ intel_dp_aux_native_write(struct intel_dp *intel_dp,
>  		return -E2BIG;
>  
>  	intel_dp_check_edp(intel_dp);
> -	msg[0] = AUX_NATIVE_WRITE << 4;
> +	msg[0] = DP_AUX_NATIVE_WRITE << 4;
>  	msg[1] = address >> 8;
>  	msg[2] = address & 0xff;
>  	msg[3] = send_bytes - 1;
> @@ -552,9 +552,10 @@ intel_dp_aux_native_write(struct intel_dp *intel_dp,
>  		ret = intel_dp_aux_ch(intel_dp, msg, msg_bytes, &ack, 1);
>  		if (ret < 0)
>  			return ret;
> -		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +		ack >>= 4;
> +		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>  			break;
> -		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>  			udelay(100);
>  		else
>  			return -EIO;
> @@ -586,7 +587,7 @@ intel_dp_aux_native_read(struct intel_dp *intel_dp,
>  		return -E2BIG;
>  
>  	intel_dp_check_edp(intel_dp);
> -	msg[0] = AUX_NATIVE_READ << 4;
> +	msg[0] = DP_AUX_NATIVE_READ << 4;
>  	msg[1] = address >> 8;
>  	msg[2] = address & 0xff;
>  	msg[3] = recv_bytes - 1;
> @@ -601,12 +602,12 @@ intel_dp_aux_native_read(struct intel_dp *intel_dp,
>  			return -EPROTO;
>  		if (ret < 0)
>  			return ret;
> -		ack = reply[0];
> -		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) {
> +		ack = reply[0] >> 4;
> +		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK) {
>  			memcpy(recv, reply + 1, ret - 1);
>  			return ret - 1;
>  		}
> -		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>  			udelay(100);
>  		else
>  			return -EIO;
> @@ -633,12 +634,12 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>  	intel_dp_check_edp(intel_dp);
>  	/* Set up the command byte */
>  	if (mode & MODE_I2C_READ)
> -		msg[0] = AUX_I2C_READ << 4;
> +		msg[0] = DP_AUX_I2C_READ << 4;
>  	else
> -		msg[0] = AUX_I2C_WRITE << 4;
> +		msg[0] = DP_AUX_I2C_WRITE << 4;
>  
>  	if (!(mode & MODE_I2C_STOP))
> -		msg[0] |= AUX_I2C_MOT << 4;
> +		msg[0] |= DP_AUX_I2C_MOT << 4;
>  
>  	msg[1] = address >> 8;
>  	msg[2] = address;
> @@ -675,17 +676,17 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>  			goto out;
>  		}
>  
> -		switch (reply[0] & AUX_NATIVE_REPLY_MASK) {
> -		case AUX_NATIVE_REPLY_ACK:
> +		switch ((reply[0] >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
> +		case DP_AUX_NATIVE_REPLY_ACK:
>  			/* I2C-over-AUX Reply field is only valid
>  			 * when paired with AUX ACK.
>  			 */
>  			break;
> -		case AUX_NATIVE_REPLY_NACK:
> +		case DP_AUX_NATIVE_REPLY_NACK:
>  			DRM_DEBUG_KMS("aux_ch native nack\n");
>  			ret = -EREMOTEIO;
>  			goto out;
> -		case AUX_NATIVE_REPLY_DEFER:
> +		case DP_AUX_NATIVE_REPLY_DEFER:
>  			/*
>  			 * For now, just give more slack to branch devices. We
>  			 * could check the DPCD for I2C bit rate capabilities,
> @@ -706,18 +707,18 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>  			goto out;
>  		}
>  
> -		switch (reply[0] & AUX_I2C_REPLY_MASK) {
> -		case AUX_I2C_REPLY_ACK:
> +		switch ((reply[0] >> 4) & DP_AUX_I2C_REPLY_MASK) {
> +		case DP_AUX_I2C_REPLY_ACK:
>  			if (mode == MODE_I2C_READ) {
>  				*read_byte = reply[1];
>  			}
>  			ret = reply_bytes - 1;
>  			goto out;
> -		case AUX_I2C_REPLY_NACK:
> +		case DP_AUX_I2C_REPLY_NACK:
>  			DRM_DEBUG_KMS("aux_i2c nack\n");
>  			ret = -EREMOTEIO;
>  			goto out;
> -		case AUX_I2C_REPLY_DEFER:
> +		case DP_AUX_I2C_REPLY_DEFER:
>  			DRM_DEBUG_KMS("aux_i2c defer\n");
>  			udelay(100);
>  			break;
> diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c
> index fb3ae07a1469..37289f67f965 100644
> --- a/drivers/gpu/drm/radeon/atombios_dp.c
> +++ b/drivers/gpu/drm/radeon/atombios_dp.c
> @@ -157,7 +157,7 @@ static int radeon_dp_aux_native_write(struct radeon_connector *radeon_connector,
>  
>  	msg[0] = address;
>  	msg[1] = address >> 8;
> -	msg[2] = AUX_NATIVE_WRITE << 4;
> +	msg[2] = DP_AUX_NATIVE_WRITE << 4;
>  	msg[3] = (msg_bytes << 4) | (send_bytes - 1);
>  	memcpy(&msg[4], send, send_bytes);
>  
> @@ -168,9 +168,10 @@ static int radeon_dp_aux_native_write(struct radeon_connector *radeon_connector,
>  			continue;
>  		else if (ret < 0)
>  			return ret;
> -		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +		ack >>= 4;
> +		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>  			return send_bytes;
> -		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>  			udelay(400);
>  		else
>  			return -EIO;
> @@ -191,7 +192,7 @@ static int radeon_dp_aux_native_read(struct radeon_connector *radeon_connector,
>  
>  	msg[0] = address;
>  	msg[1] = address >> 8;
> -	msg[2] = AUX_NATIVE_READ << 4;
> +	msg[2] = DP_AUX_NATIVE_READ << 4;
>  	msg[3] = (msg_bytes << 4) | (recv_bytes - 1);
>  
>  	for (retry = 0; retry < 4; retry++) {
> @@ -201,9 +202,10 @@ static int radeon_dp_aux_native_read(struct radeon_connector *radeon_connector,
>  			continue;
>  		else if (ret < 0)
>  			return ret;
> -		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +		ack >>= 4;
> +		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>  			return ret;
> -		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>  			udelay(400);
>  		else if (ret == 0)
>  			return -EPROTO;
> @@ -246,12 +248,12 @@ int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>  
>  	/* Set up the command byte */
>  	if (mode & MODE_I2C_READ)
> -		msg[2] = AUX_I2C_READ << 4;
> +		msg[2] = DP_AUX_I2C_READ << 4;
>  	else
> -		msg[2] = AUX_I2C_WRITE << 4;
> +		msg[2] = DP_AUX_I2C_WRITE << 4;
>  
>  	if (!(mode & MODE_I2C_STOP))
> -		msg[2] |= AUX_I2C_MOT << 4;
> +		msg[2] |= DP_AUX_I2C_MOT << 4;
>  
>  	msg[0] = address;
>  	msg[1] = address >> 8;
> @@ -282,16 +284,16 @@ int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>  			return ret;
>  		}
>  
> -		switch (ack & AUX_NATIVE_REPLY_MASK) {
> -		case AUX_NATIVE_REPLY_ACK:
> +		switch ((ack >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
> +		case DP_AUX_NATIVE_REPLY_ACK:
>  			/* I2C-over-AUX Reply field is only valid
>  			 * when paired with AUX ACK.
>  			 */
>  			break;
> -		case AUX_NATIVE_REPLY_NACK:
> +		case DP_AUX_NATIVE_REPLY_NACK:
>  			DRM_DEBUG_KMS("aux_ch native nack\n");
>  			return -EREMOTEIO;
> -		case AUX_NATIVE_REPLY_DEFER:
> +		case DP_AUX_NATIVE_REPLY_DEFER:
>  			DRM_DEBUG_KMS("aux_ch native defer\n");
>  			udelay(400);
>  			continue;
> @@ -300,15 +302,15 @@ int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>  			return -EREMOTEIO;
>  		}
>  
> -		switch (ack & AUX_I2C_REPLY_MASK) {
> -		case AUX_I2C_REPLY_ACK:
> +		switch ((ack >> 4) & DP_AUX_I2C_REPLY_MASK) {
> +		case DP_AUX_I2C_REPLY_ACK:
>  			if (mode == MODE_I2C_READ)
>  				*read_byte = reply[0];
>  			return ret;
> -		case AUX_I2C_REPLY_NACK:
> +		case DP_AUX_I2C_REPLY_NACK:
>  			DRM_DEBUG_KMS("aux_i2c nack\n");
>  			return -EREMOTEIO;
> -		case AUX_I2C_REPLY_DEFER:
> +		case DP_AUX_I2C_REPLY_DEFER:
>  			DRM_DEBUG_KMS("aux_i2c defer\n");
>  			udelay(400);
>  			break;
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index 8b0f6c44251e..b5bf8de7afaa 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -41,22 +41,22 @@
>   * 1.2 formally includes both eDP and DPI definitions.
>   */
>  
> -#define AUX_NATIVE_WRITE	0x8
> -#define AUX_NATIVE_READ		0x9
> -#define AUX_I2C_WRITE		0x0
> -#define AUX_I2C_READ		0x1
> -#define AUX_I2C_STATUS		0x2
> -#define AUX_I2C_MOT		0x4
> -
> -#define AUX_NATIVE_REPLY_ACK	(0x0 << 4)
> -#define AUX_NATIVE_REPLY_NACK	(0x1 << 4)
> -#define AUX_NATIVE_REPLY_DEFER	(0x2 << 4)
> -#define AUX_NATIVE_REPLY_MASK	(0x3 << 4)
> -
> -#define AUX_I2C_REPLY_ACK	(0x0 << 6)
> -#define AUX_I2C_REPLY_NACK	(0x1 << 6)
> -#define AUX_I2C_REPLY_DEFER	(0x2 << 6)
> -#define AUX_I2C_REPLY_MASK	(0x3 << 6)
> +#define DP_AUX_I2C_WRITE		0x0
> +#define DP_AUX_I2C_READ			0x1
> +#define DP_AUX_I2C_STATUS		0x2
> +#define DP_AUX_I2C_MOT			0x4
> +#define DP_AUX_NATIVE_WRITE		0x8
> +#define DP_AUX_NATIVE_READ		0x9
> +
> +#define DP_AUX_NATIVE_REPLY_ACK		(0x0 << 0)
> +#define DP_AUX_NATIVE_REPLY_NACK	(0x1 << 0)
> +#define DP_AUX_NATIVE_REPLY_DEFER	(0x2 << 0)
> +#define DP_AUX_NATIVE_REPLY_MASK	(0x3 << 0)
> +
> +#define DP_AUX_I2C_REPLY_ACK		(0x0 << 2)
> +#define DP_AUX_I2C_REPLY_NACK		(0x1 << 2)
> +#define DP_AUX_I2C_REPLY_DEFER		(0x2 << 2)
> +#define DP_AUX_I2C_REPLY_MASK		(0x3 << 2)
>  
>  /* AUX CH addresses */
>  /* DPCD */
> -- 
> 1.8.4.2
>
Alex Deucher Dec. 16, 2013, 11:49 p.m. UTC | #2
On Mon, Dec 16, 2013 at 11:01 AM, Thierry Reding
<thierry.reding@gmail.com> wrote:
> The current values seem to be defined in a format that's specific to the
> i915, gma500 and radeon drivers. To make this more generally useful, use
> the values as defined in the specification.
>
> While at it, prefix the constants with DP_ for improved namespacing.
>
> Signed-off-by: Thierry Reding <treding@nvidia.com>

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/gma500/cdv_intel_dp.c | 37 ++++++++++++++++++-----------------
>  drivers/gpu/drm/i915/intel_dp.c       | 37 ++++++++++++++++++-----------------
>  drivers/gpu/drm/radeon/atombios_dp.c  | 36 ++++++++++++++++++----------------
>  include/drm/drm_dp_helper.h           | 32 +++++++++++++++---------------
>  4 files changed, 73 insertions(+), 69 deletions(-)
>
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> index f88a1815d87c..6a7c2481d4ab 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> @@ -483,7 +483,7 @@ cdv_intel_dp_aux_native_write(struct gma_encoder *encoder,
>
>         if (send_bytes > 16)
>                 return -1;
> -       msg[0] = AUX_NATIVE_WRITE << 4;
> +       msg[0] = DP_AUX_NATIVE_WRITE << 4;
>         msg[1] = address >> 8;
>         msg[2] = address & 0xff;
>         msg[3] = send_bytes - 1;
> @@ -493,9 +493,10 @@ cdv_intel_dp_aux_native_write(struct gma_encoder *encoder,
>                 ret = cdv_intel_dp_aux_ch(encoder, msg, msg_bytes, &ack, 1);
>                 if (ret < 0)
>                         return ret;
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +               ack >>= 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>                         break;
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(100);
>                 else
>                         return -EIO;
> @@ -523,7 +524,7 @@ cdv_intel_dp_aux_native_read(struct gma_encoder *encoder,
>         uint8_t ack;
>         int ret;
>
> -       msg[0] = AUX_NATIVE_READ << 4;
> +       msg[0] = DP_AUX_NATIVE_READ << 4;
>         msg[1] = address >> 8;
>         msg[2] = address & 0xff;
>         msg[3] = recv_bytes - 1;
> @@ -538,12 +539,12 @@ cdv_intel_dp_aux_native_read(struct gma_encoder *encoder,
>                         return -EPROTO;
>                 if (ret < 0)
>                         return ret;
> -               ack = reply[0];
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) {
> +               ack = reply[0] >> 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK) {
>                         memcpy(recv, reply + 1, ret - 1);
>                         return ret - 1;
>                 }
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(100);
>                 else
>                         return -EIO;
> @@ -569,12 +570,12 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>
>         /* Set up the command byte */
>         if (mode & MODE_I2C_READ)
> -               msg[0] = AUX_I2C_READ << 4;
> +               msg[0] = DP_AUX_I2C_READ << 4;
>         else
> -               msg[0] = AUX_I2C_WRITE << 4;
> +               msg[0] = DP_AUX_I2C_WRITE << 4;
>
>         if (!(mode & MODE_I2C_STOP))
> -               msg[0] |= AUX_I2C_MOT << 4;
> +               msg[0] |= DP_AUX_I2C_MOT << 4;
>
>         msg[1] = address >> 8;
>         msg[2] = address;
> @@ -606,16 +607,16 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         return ret;
>                 }
>
> -               switch (reply[0] & AUX_NATIVE_REPLY_MASK) {
> -               case AUX_NATIVE_REPLY_ACK:
> +               switch ((reply[0] >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
> +               case DP_AUX_NATIVE_REPLY_ACK:
>                         /* I2C-over-AUX Reply field is only valid
>                          * when paired with AUX ACK.
>                          */
>                         break;
> -               case AUX_NATIVE_REPLY_NACK:
> +               case DP_AUX_NATIVE_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_ch native nack\n");
>                         return -EREMOTEIO;
> -               case AUX_NATIVE_REPLY_DEFER:
> +               case DP_AUX_NATIVE_REPLY_DEFER:
>                         udelay(100);
>                         continue;
>                 default:
> @@ -624,16 +625,16 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         return -EREMOTEIO;
>                 }
>
> -               switch (reply[0] & AUX_I2C_REPLY_MASK) {
> -               case AUX_I2C_REPLY_ACK:
> +               switch ((reply[0] >> 4) & DP_AUX_I2C_REPLY_MASK) {
> +               case DP_AUX_I2C_REPLY_ACK:
>                         if (mode == MODE_I2C_READ) {
>                                 *read_byte = reply[1];
>                         }
>                         return reply_bytes - 1;
> -               case AUX_I2C_REPLY_NACK:
> +               case DP_AUX_I2C_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_i2c nack\n");
>                         return -EREMOTEIO;
> -               case AUX_I2C_REPLY_DEFER:
> +               case DP_AUX_I2C_REPLY_DEFER:
>                         DRM_DEBUG_KMS("aux_i2c defer\n");
>                         udelay(100);
>                         break;
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 9b40113f4fa1..7df5085973e9 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -542,7 +542,7 @@ intel_dp_aux_native_write(struct intel_dp *intel_dp,
>                 return -E2BIG;
>
>         intel_dp_check_edp(intel_dp);
> -       msg[0] = AUX_NATIVE_WRITE << 4;
> +       msg[0] = DP_AUX_NATIVE_WRITE << 4;
>         msg[1] = address >> 8;
>         msg[2] = address & 0xff;
>         msg[3] = send_bytes - 1;
> @@ -552,9 +552,10 @@ intel_dp_aux_native_write(struct intel_dp *intel_dp,
>                 ret = intel_dp_aux_ch(intel_dp, msg, msg_bytes, &ack, 1);
>                 if (ret < 0)
>                         return ret;
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +               ack >>= 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>                         break;
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(100);
>                 else
>                         return -EIO;
> @@ -586,7 +587,7 @@ intel_dp_aux_native_read(struct intel_dp *intel_dp,
>                 return -E2BIG;
>
>         intel_dp_check_edp(intel_dp);
> -       msg[0] = AUX_NATIVE_READ << 4;
> +       msg[0] = DP_AUX_NATIVE_READ << 4;
>         msg[1] = address >> 8;
>         msg[2] = address & 0xff;
>         msg[3] = recv_bytes - 1;
> @@ -601,12 +602,12 @@ intel_dp_aux_native_read(struct intel_dp *intel_dp,
>                         return -EPROTO;
>                 if (ret < 0)
>                         return ret;
> -               ack = reply[0];
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) {
> +               ack = reply[0] >> 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK) {
>                         memcpy(recv, reply + 1, ret - 1);
>                         return ret - 1;
>                 }
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(100);
>                 else
>                         return -EIO;
> @@ -633,12 +634,12 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>         intel_dp_check_edp(intel_dp);
>         /* Set up the command byte */
>         if (mode & MODE_I2C_READ)
> -               msg[0] = AUX_I2C_READ << 4;
> +               msg[0] = DP_AUX_I2C_READ << 4;
>         else
> -               msg[0] = AUX_I2C_WRITE << 4;
> +               msg[0] = DP_AUX_I2C_WRITE << 4;
>
>         if (!(mode & MODE_I2C_STOP))
> -               msg[0] |= AUX_I2C_MOT << 4;
> +               msg[0] |= DP_AUX_I2C_MOT << 4;
>
>         msg[1] = address >> 8;
>         msg[2] = address;
> @@ -675,17 +676,17 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         goto out;
>                 }
>
> -               switch (reply[0] & AUX_NATIVE_REPLY_MASK) {
> -               case AUX_NATIVE_REPLY_ACK:
> +               switch ((reply[0] >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
> +               case DP_AUX_NATIVE_REPLY_ACK:
>                         /* I2C-over-AUX Reply field is only valid
>                          * when paired with AUX ACK.
>                          */
>                         break;
> -               case AUX_NATIVE_REPLY_NACK:
> +               case DP_AUX_NATIVE_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_ch native nack\n");
>                         ret = -EREMOTEIO;
>                         goto out;
> -               case AUX_NATIVE_REPLY_DEFER:
> +               case DP_AUX_NATIVE_REPLY_DEFER:
>                         /*
>                          * For now, just give more slack to branch devices. We
>                          * could check the DPCD for I2C bit rate capabilities,
> @@ -706,18 +707,18 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         goto out;
>                 }
>
> -               switch (reply[0] & AUX_I2C_REPLY_MASK) {
> -               case AUX_I2C_REPLY_ACK:
> +               switch ((reply[0] >> 4) & DP_AUX_I2C_REPLY_MASK) {
> +               case DP_AUX_I2C_REPLY_ACK:
>                         if (mode == MODE_I2C_READ) {
>                                 *read_byte = reply[1];
>                         }
>                         ret = reply_bytes - 1;
>                         goto out;
> -               case AUX_I2C_REPLY_NACK:
> +               case DP_AUX_I2C_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_i2c nack\n");
>                         ret = -EREMOTEIO;
>                         goto out;
> -               case AUX_I2C_REPLY_DEFER:
> +               case DP_AUX_I2C_REPLY_DEFER:
>                         DRM_DEBUG_KMS("aux_i2c defer\n");
>                         udelay(100);
>                         break;
> diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c
> index fb3ae07a1469..37289f67f965 100644
> --- a/drivers/gpu/drm/radeon/atombios_dp.c
> +++ b/drivers/gpu/drm/radeon/atombios_dp.c
> @@ -157,7 +157,7 @@ static int radeon_dp_aux_native_write(struct radeon_connector *radeon_connector,
>
>         msg[0] = address;
>         msg[1] = address >> 8;
> -       msg[2] = AUX_NATIVE_WRITE << 4;
> +       msg[2] = DP_AUX_NATIVE_WRITE << 4;
>         msg[3] = (msg_bytes << 4) | (send_bytes - 1);
>         memcpy(&msg[4], send, send_bytes);
>
> @@ -168,9 +168,10 @@ static int radeon_dp_aux_native_write(struct radeon_connector *radeon_connector,
>                         continue;
>                 else if (ret < 0)
>                         return ret;
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +               ack >>= 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>                         return send_bytes;
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(400);
>                 else
>                         return -EIO;
> @@ -191,7 +192,7 @@ static int radeon_dp_aux_native_read(struct radeon_connector *radeon_connector,
>
>         msg[0] = address;
>         msg[1] = address >> 8;
> -       msg[2] = AUX_NATIVE_READ << 4;
> +       msg[2] = DP_AUX_NATIVE_READ << 4;
>         msg[3] = (msg_bytes << 4) | (recv_bytes - 1);
>
>         for (retry = 0; retry < 4; retry++) {
> @@ -201,9 +202,10 @@ static int radeon_dp_aux_native_read(struct radeon_connector *radeon_connector,
>                         continue;
>                 else if (ret < 0)
>                         return ret;
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +               ack >>= 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>                         return ret;
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(400);
>                 else if (ret == 0)
>                         return -EPROTO;
> @@ -246,12 +248,12 @@ int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>
>         /* Set up the command byte */
>         if (mode & MODE_I2C_READ)
> -               msg[2] = AUX_I2C_READ << 4;
> +               msg[2] = DP_AUX_I2C_READ << 4;
>         else
> -               msg[2] = AUX_I2C_WRITE << 4;
> +               msg[2] = DP_AUX_I2C_WRITE << 4;
>
>         if (!(mode & MODE_I2C_STOP))
> -               msg[2] |= AUX_I2C_MOT << 4;
> +               msg[2] |= DP_AUX_I2C_MOT << 4;
>
>         msg[0] = address;
>         msg[1] = address >> 8;
> @@ -282,16 +284,16 @@ int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         return ret;
>                 }
>
> -               switch (ack & AUX_NATIVE_REPLY_MASK) {
> -               case AUX_NATIVE_REPLY_ACK:
> +               switch ((ack >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
> +               case DP_AUX_NATIVE_REPLY_ACK:
>                         /* I2C-over-AUX Reply field is only valid
>                          * when paired with AUX ACK.
>                          */
>                         break;
> -               case AUX_NATIVE_REPLY_NACK:
> +               case DP_AUX_NATIVE_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_ch native nack\n");
>                         return -EREMOTEIO;
> -               case AUX_NATIVE_REPLY_DEFER:
> +               case DP_AUX_NATIVE_REPLY_DEFER:
>                         DRM_DEBUG_KMS("aux_ch native defer\n");
>                         udelay(400);
>                         continue;
> @@ -300,15 +302,15 @@ int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         return -EREMOTEIO;
>                 }
>
> -               switch (ack & AUX_I2C_REPLY_MASK) {
> -               case AUX_I2C_REPLY_ACK:
> +               switch ((ack >> 4) & DP_AUX_I2C_REPLY_MASK) {
> +               case DP_AUX_I2C_REPLY_ACK:
>                         if (mode == MODE_I2C_READ)
>                                 *read_byte = reply[0];
>                         return ret;
> -               case AUX_I2C_REPLY_NACK:
> +               case DP_AUX_I2C_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_i2c nack\n");
>                         return -EREMOTEIO;
> -               case AUX_I2C_REPLY_DEFER:
> +               case DP_AUX_I2C_REPLY_DEFER:
>                         DRM_DEBUG_KMS("aux_i2c defer\n");
>                         udelay(400);
>                         break;
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index 8b0f6c44251e..b5bf8de7afaa 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -41,22 +41,22 @@
>   * 1.2 formally includes both eDP and DPI definitions.
>   */
>
> -#define AUX_NATIVE_WRITE       0x8
> -#define AUX_NATIVE_READ                0x9
> -#define AUX_I2C_WRITE          0x0
> -#define AUX_I2C_READ           0x1
> -#define AUX_I2C_STATUS         0x2
> -#define AUX_I2C_MOT            0x4
> -
> -#define AUX_NATIVE_REPLY_ACK   (0x0 << 4)
> -#define AUX_NATIVE_REPLY_NACK  (0x1 << 4)
> -#define AUX_NATIVE_REPLY_DEFER (0x2 << 4)
> -#define AUX_NATIVE_REPLY_MASK  (0x3 << 4)
> -
> -#define AUX_I2C_REPLY_ACK      (0x0 << 6)
> -#define AUX_I2C_REPLY_NACK     (0x1 << 6)
> -#define AUX_I2C_REPLY_DEFER    (0x2 << 6)
> -#define AUX_I2C_REPLY_MASK     (0x3 << 6)
> +#define DP_AUX_I2C_WRITE               0x0
> +#define DP_AUX_I2C_READ                        0x1
> +#define DP_AUX_I2C_STATUS              0x2
> +#define DP_AUX_I2C_MOT                 0x4
> +#define DP_AUX_NATIVE_WRITE            0x8
> +#define DP_AUX_NATIVE_READ             0x9
> +
> +#define DP_AUX_NATIVE_REPLY_ACK                (0x0 << 0)
> +#define DP_AUX_NATIVE_REPLY_NACK       (0x1 << 0)
> +#define DP_AUX_NATIVE_REPLY_DEFER      (0x2 << 0)
> +#define DP_AUX_NATIVE_REPLY_MASK       (0x3 << 0)
> +
> +#define DP_AUX_I2C_REPLY_ACK           (0x0 << 2)
> +#define DP_AUX_I2C_REPLY_NACK          (0x1 << 2)
> +#define DP_AUX_I2C_REPLY_DEFER         (0x2 << 2)
> +#define DP_AUX_I2C_REPLY_MASK          (0x3 << 2)
>
>  /* AUX CH addresses */
>  /* DPCD */
> --
> 1.8.4.2
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
Patrik Jakobsson Dec. 19, 2013, 3:24 p.m. UTC | #3
On Mon, Dec 16, 2013 at 5:01 PM, Thierry Reding
<thierry.reding@gmail.com> wrote:
> The current values seem to be defined in a format that's specific to the
> i915, gma500 and radeon drivers. To make this more generally useful, use
> the values as defined in the specification.
>
> While at it, prefix the constants with DP_ for improved namespacing.
>
> Signed-off-by: Thierry Reding <treding@nvidia.com>

Sorry if I'm late to the party. Seems good to me.

Perhaps all that shifting is a little unintuitive but I don't wanna
nitpick this.

Reviewed-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>

> ---
>  drivers/gpu/drm/gma500/cdv_intel_dp.c | 37 ++++++++++++++++++-----------------
>  drivers/gpu/drm/i915/intel_dp.c       | 37 ++++++++++++++++++-----------------
>  drivers/gpu/drm/radeon/atombios_dp.c  | 36 ++++++++++++++++++----------------
>  include/drm/drm_dp_helper.h           | 32 +++++++++++++++---------------
>  4 files changed, 73 insertions(+), 69 deletions(-)
>
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> index f88a1815d87c..6a7c2481d4ab 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> @@ -483,7 +483,7 @@ cdv_intel_dp_aux_native_write(struct gma_encoder *encoder,
>
>         if (send_bytes > 16)
>                 return -1;
> -       msg[0] = AUX_NATIVE_WRITE << 4;
> +       msg[0] = DP_AUX_NATIVE_WRITE << 4;
>         msg[1] = address >> 8;
>         msg[2] = address & 0xff;
>         msg[3] = send_bytes - 1;
> @@ -493,9 +493,10 @@ cdv_intel_dp_aux_native_write(struct gma_encoder *encoder,
>                 ret = cdv_intel_dp_aux_ch(encoder, msg, msg_bytes, &ack, 1);
>                 if (ret < 0)
>                         return ret;
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +               ack >>= 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>                         break;
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(100);
>                 else
>                         return -EIO;
> @@ -523,7 +524,7 @@ cdv_intel_dp_aux_native_read(struct gma_encoder *encoder,
>         uint8_t ack;
>         int ret;
>
> -       msg[0] = AUX_NATIVE_READ << 4;
> +       msg[0] = DP_AUX_NATIVE_READ << 4;
>         msg[1] = address >> 8;
>         msg[2] = address & 0xff;
>         msg[3] = recv_bytes - 1;
> @@ -538,12 +539,12 @@ cdv_intel_dp_aux_native_read(struct gma_encoder *encoder,
>                         return -EPROTO;
>                 if (ret < 0)
>                         return ret;
> -               ack = reply[0];
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) {
> +               ack = reply[0] >> 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK) {
>                         memcpy(recv, reply + 1, ret - 1);
>                         return ret - 1;
>                 }
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(100);
>                 else
>                         return -EIO;
> @@ -569,12 +570,12 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>
>         /* Set up the command byte */
>         if (mode & MODE_I2C_READ)
> -               msg[0] = AUX_I2C_READ << 4;
> +               msg[0] = DP_AUX_I2C_READ << 4;
>         else
> -               msg[0] = AUX_I2C_WRITE << 4;
> +               msg[0] = DP_AUX_I2C_WRITE << 4;
>
>         if (!(mode & MODE_I2C_STOP))
> -               msg[0] |= AUX_I2C_MOT << 4;
> +               msg[0] |= DP_AUX_I2C_MOT << 4;
>
>         msg[1] = address >> 8;
>         msg[2] = address;
> @@ -606,16 +607,16 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         return ret;
>                 }
>
> -               switch (reply[0] & AUX_NATIVE_REPLY_MASK) {
> -               case AUX_NATIVE_REPLY_ACK:
> +               switch ((reply[0] >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
> +               case DP_AUX_NATIVE_REPLY_ACK:
>                         /* I2C-over-AUX Reply field is only valid
>                          * when paired with AUX ACK.
>                          */
>                         break;
> -               case AUX_NATIVE_REPLY_NACK:
> +               case DP_AUX_NATIVE_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_ch native nack\n");
>                         return -EREMOTEIO;
> -               case AUX_NATIVE_REPLY_DEFER:
> +               case DP_AUX_NATIVE_REPLY_DEFER:
>                         udelay(100);
>                         continue;
>                 default:
> @@ -624,16 +625,16 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         return -EREMOTEIO;
>                 }
>
> -               switch (reply[0] & AUX_I2C_REPLY_MASK) {
> -               case AUX_I2C_REPLY_ACK:
> +               switch ((reply[0] >> 4) & DP_AUX_I2C_REPLY_MASK) {
> +               case DP_AUX_I2C_REPLY_ACK:
>                         if (mode == MODE_I2C_READ) {
>                                 *read_byte = reply[1];
>                         }
>                         return reply_bytes - 1;
> -               case AUX_I2C_REPLY_NACK:
> +               case DP_AUX_I2C_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_i2c nack\n");
>                         return -EREMOTEIO;
> -               case AUX_I2C_REPLY_DEFER:
> +               case DP_AUX_I2C_REPLY_DEFER:
>                         DRM_DEBUG_KMS("aux_i2c defer\n");
>                         udelay(100);
>                         break;
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 9b40113f4fa1..7df5085973e9 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -542,7 +542,7 @@ intel_dp_aux_native_write(struct intel_dp *intel_dp,
>                 return -E2BIG;
>
>         intel_dp_check_edp(intel_dp);
> -       msg[0] = AUX_NATIVE_WRITE << 4;
> +       msg[0] = DP_AUX_NATIVE_WRITE << 4;
>         msg[1] = address >> 8;
>         msg[2] = address & 0xff;
>         msg[3] = send_bytes - 1;
> @@ -552,9 +552,10 @@ intel_dp_aux_native_write(struct intel_dp *intel_dp,
>                 ret = intel_dp_aux_ch(intel_dp, msg, msg_bytes, &ack, 1);
>                 if (ret < 0)
>                         return ret;
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +               ack >>= 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>                         break;
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(100);
>                 else
>                         return -EIO;
> @@ -586,7 +587,7 @@ intel_dp_aux_native_read(struct intel_dp *intel_dp,
>                 return -E2BIG;
>
>         intel_dp_check_edp(intel_dp);
> -       msg[0] = AUX_NATIVE_READ << 4;
> +       msg[0] = DP_AUX_NATIVE_READ << 4;
>         msg[1] = address >> 8;
>         msg[2] = address & 0xff;
>         msg[3] = recv_bytes - 1;
> @@ -601,12 +602,12 @@ intel_dp_aux_native_read(struct intel_dp *intel_dp,
>                         return -EPROTO;
>                 if (ret < 0)
>                         return ret;
> -               ack = reply[0];
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) {
> +               ack = reply[0] >> 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK) {
>                         memcpy(recv, reply + 1, ret - 1);
>                         return ret - 1;
>                 }
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(100);
>                 else
>                         return -EIO;
> @@ -633,12 +634,12 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>         intel_dp_check_edp(intel_dp);
>         /* Set up the command byte */
>         if (mode & MODE_I2C_READ)
> -               msg[0] = AUX_I2C_READ << 4;
> +               msg[0] = DP_AUX_I2C_READ << 4;
>         else
> -               msg[0] = AUX_I2C_WRITE << 4;
> +               msg[0] = DP_AUX_I2C_WRITE << 4;
>
>         if (!(mode & MODE_I2C_STOP))
> -               msg[0] |= AUX_I2C_MOT << 4;
> +               msg[0] |= DP_AUX_I2C_MOT << 4;
>
>         msg[1] = address >> 8;
>         msg[2] = address;
> @@ -675,17 +676,17 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         goto out;
>                 }
>
> -               switch (reply[0] & AUX_NATIVE_REPLY_MASK) {
> -               case AUX_NATIVE_REPLY_ACK:
> +               switch ((reply[0] >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
> +               case DP_AUX_NATIVE_REPLY_ACK:
>                         /* I2C-over-AUX Reply field is only valid
>                          * when paired with AUX ACK.
>                          */
>                         break;
> -               case AUX_NATIVE_REPLY_NACK:
> +               case DP_AUX_NATIVE_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_ch native nack\n");
>                         ret = -EREMOTEIO;
>                         goto out;
> -               case AUX_NATIVE_REPLY_DEFER:
> +               case DP_AUX_NATIVE_REPLY_DEFER:
>                         /*
>                          * For now, just give more slack to branch devices. We
>                          * could check the DPCD for I2C bit rate capabilities,
> @@ -706,18 +707,18 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         goto out;
>                 }
>
> -               switch (reply[0] & AUX_I2C_REPLY_MASK) {
> -               case AUX_I2C_REPLY_ACK:
> +               switch ((reply[0] >> 4) & DP_AUX_I2C_REPLY_MASK) {
> +               case DP_AUX_I2C_REPLY_ACK:
>                         if (mode == MODE_I2C_READ) {
>                                 *read_byte = reply[1];
>                         }
>                         ret = reply_bytes - 1;
>                         goto out;
> -               case AUX_I2C_REPLY_NACK:
> +               case DP_AUX_I2C_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_i2c nack\n");
>                         ret = -EREMOTEIO;
>                         goto out;
> -               case AUX_I2C_REPLY_DEFER:
> +               case DP_AUX_I2C_REPLY_DEFER:
>                         DRM_DEBUG_KMS("aux_i2c defer\n");
>                         udelay(100);
>                         break;
> diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c
> index fb3ae07a1469..37289f67f965 100644
> --- a/drivers/gpu/drm/radeon/atombios_dp.c
> +++ b/drivers/gpu/drm/radeon/atombios_dp.c
> @@ -157,7 +157,7 @@ static int radeon_dp_aux_native_write(struct radeon_connector *radeon_connector,
>
>         msg[0] = address;
>         msg[1] = address >> 8;
> -       msg[2] = AUX_NATIVE_WRITE << 4;
> +       msg[2] = DP_AUX_NATIVE_WRITE << 4;
>         msg[3] = (msg_bytes << 4) | (send_bytes - 1);
>         memcpy(&msg[4], send, send_bytes);
>
> @@ -168,9 +168,10 @@ static int radeon_dp_aux_native_write(struct radeon_connector *radeon_connector,
>                         continue;
>                 else if (ret < 0)
>                         return ret;
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +               ack >>= 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>                         return send_bytes;
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(400);
>                 else
>                         return -EIO;
> @@ -191,7 +192,7 @@ static int radeon_dp_aux_native_read(struct radeon_connector *radeon_connector,
>
>         msg[0] = address;
>         msg[1] = address >> 8;
> -       msg[2] = AUX_NATIVE_READ << 4;
> +       msg[2] = DP_AUX_NATIVE_READ << 4;
>         msg[3] = (msg_bytes << 4) | (recv_bytes - 1);
>
>         for (retry = 0; retry < 4; retry++) {
> @@ -201,9 +202,10 @@ static int radeon_dp_aux_native_read(struct radeon_connector *radeon_connector,
>                         continue;
>                 else if (ret < 0)
>                         return ret;
> -               if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
> +               ack >>= 4;
> +               if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
>                         return ret;
> -               else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
> +               else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
>                         udelay(400);
>                 else if (ret == 0)
>                         return -EPROTO;
> @@ -246,12 +248,12 @@ int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>
>         /* Set up the command byte */
>         if (mode & MODE_I2C_READ)
> -               msg[2] = AUX_I2C_READ << 4;
> +               msg[2] = DP_AUX_I2C_READ << 4;
>         else
> -               msg[2] = AUX_I2C_WRITE << 4;
> +               msg[2] = DP_AUX_I2C_WRITE << 4;
>
>         if (!(mode & MODE_I2C_STOP))
> -               msg[2] |= AUX_I2C_MOT << 4;
> +               msg[2] |= DP_AUX_I2C_MOT << 4;
>
>         msg[0] = address;
>         msg[1] = address >> 8;
> @@ -282,16 +284,16 @@ int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         return ret;
>                 }
>
> -               switch (ack & AUX_NATIVE_REPLY_MASK) {
> -               case AUX_NATIVE_REPLY_ACK:
> +               switch ((ack >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
> +               case DP_AUX_NATIVE_REPLY_ACK:
>                         /* I2C-over-AUX Reply field is only valid
>                          * when paired with AUX ACK.
>                          */
>                         break;
> -               case AUX_NATIVE_REPLY_NACK:
> +               case DP_AUX_NATIVE_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_ch native nack\n");
>                         return -EREMOTEIO;
> -               case AUX_NATIVE_REPLY_DEFER:
> +               case DP_AUX_NATIVE_REPLY_DEFER:
>                         DRM_DEBUG_KMS("aux_ch native defer\n");
>                         udelay(400);
>                         continue;
> @@ -300,15 +302,15 @@ int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>                         return -EREMOTEIO;
>                 }
>
> -               switch (ack & AUX_I2C_REPLY_MASK) {
> -               case AUX_I2C_REPLY_ACK:
> +               switch ((ack >> 4) & DP_AUX_I2C_REPLY_MASK) {
> +               case DP_AUX_I2C_REPLY_ACK:
>                         if (mode == MODE_I2C_READ)
>                                 *read_byte = reply[0];
>                         return ret;
> -               case AUX_I2C_REPLY_NACK:
> +               case DP_AUX_I2C_REPLY_NACK:
>                         DRM_DEBUG_KMS("aux_i2c nack\n");
>                         return -EREMOTEIO;
> -               case AUX_I2C_REPLY_DEFER:
> +               case DP_AUX_I2C_REPLY_DEFER:
>                         DRM_DEBUG_KMS("aux_i2c defer\n");
>                         udelay(400);
>                         break;
> diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
> index 8b0f6c44251e..b5bf8de7afaa 100644
> --- a/include/drm/drm_dp_helper.h
> +++ b/include/drm/drm_dp_helper.h
> @@ -41,22 +41,22 @@
>   * 1.2 formally includes both eDP and DPI definitions.
>   */
>
> -#define AUX_NATIVE_WRITE       0x8
> -#define AUX_NATIVE_READ                0x9
> -#define AUX_I2C_WRITE          0x0
> -#define AUX_I2C_READ           0x1
> -#define AUX_I2C_STATUS         0x2
> -#define AUX_I2C_MOT            0x4
> -
> -#define AUX_NATIVE_REPLY_ACK   (0x0 << 4)
> -#define AUX_NATIVE_REPLY_NACK  (0x1 << 4)
> -#define AUX_NATIVE_REPLY_DEFER (0x2 << 4)
> -#define AUX_NATIVE_REPLY_MASK  (0x3 << 4)
> -
> -#define AUX_I2C_REPLY_ACK      (0x0 << 6)
> -#define AUX_I2C_REPLY_NACK     (0x1 << 6)
> -#define AUX_I2C_REPLY_DEFER    (0x2 << 6)
> -#define AUX_I2C_REPLY_MASK     (0x3 << 6)
> +#define DP_AUX_I2C_WRITE               0x0
> +#define DP_AUX_I2C_READ                        0x1
> +#define DP_AUX_I2C_STATUS              0x2
> +#define DP_AUX_I2C_MOT                 0x4
> +#define DP_AUX_NATIVE_WRITE            0x8
> +#define DP_AUX_NATIVE_READ             0x9
> +
> +#define DP_AUX_NATIVE_REPLY_ACK                (0x0 << 0)
> +#define DP_AUX_NATIVE_REPLY_NACK       (0x1 << 0)
> +#define DP_AUX_NATIVE_REPLY_DEFER      (0x2 << 0)
> +#define DP_AUX_NATIVE_REPLY_MASK       (0x3 << 0)
> +
> +#define DP_AUX_I2C_REPLY_ACK           (0x0 << 2)
> +#define DP_AUX_I2C_REPLY_NACK          (0x1 << 2)
> +#define DP_AUX_I2C_REPLY_DEFER         (0x2 << 2)
> +#define DP_AUX_I2C_REPLY_MASK          (0x3 << 2)
>
>  /* AUX CH addresses */
>  /* DPCD */
> --
> 1.8.4.2
>
diff mbox

Patch

diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c
index f88a1815d87c..6a7c2481d4ab 100644
--- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
+++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
@@ -483,7 +483,7 @@  cdv_intel_dp_aux_native_write(struct gma_encoder *encoder,
 
 	if (send_bytes > 16)
 		return -1;
-	msg[0] = AUX_NATIVE_WRITE << 4;
+	msg[0] = DP_AUX_NATIVE_WRITE << 4;
 	msg[1] = address >> 8;
 	msg[2] = address & 0xff;
 	msg[3] = send_bytes - 1;
@@ -493,9 +493,10 @@  cdv_intel_dp_aux_native_write(struct gma_encoder *encoder,
 		ret = cdv_intel_dp_aux_ch(encoder, msg, msg_bytes, &ack, 1);
 		if (ret < 0)
 			return ret;
-		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
+		ack >>= 4;
+		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
 			break;
-		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
+		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
 			udelay(100);
 		else
 			return -EIO;
@@ -523,7 +524,7 @@  cdv_intel_dp_aux_native_read(struct gma_encoder *encoder,
 	uint8_t ack;
 	int ret;
 
-	msg[0] = AUX_NATIVE_READ << 4;
+	msg[0] = DP_AUX_NATIVE_READ << 4;
 	msg[1] = address >> 8;
 	msg[2] = address & 0xff;
 	msg[3] = recv_bytes - 1;
@@ -538,12 +539,12 @@  cdv_intel_dp_aux_native_read(struct gma_encoder *encoder,
 			return -EPROTO;
 		if (ret < 0)
 			return ret;
-		ack = reply[0];
-		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) {
+		ack = reply[0] >> 4;
+		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK) {
 			memcpy(recv, reply + 1, ret - 1);
 			return ret - 1;
 		}
-		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
+		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
 			udelay(100);
 		else
 			return -EIO;
@@ -569,12 +570,12 @@  cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
 
 	/* Set up the command byte */
 	if (mode & MODE_I2C_READ)
-		msg[0] = AUX_I2C_READ << 4;
+		msg[0] = DP_AUX_I2C_READ << 4;
 	else
-		msg[0] = AUX_I2C_WRITE << 4;
+		msg[0] = DP_AUX_I2C_WRITE << 4;
 
 	if (!(mode & MODE_I2C_STOP))
-		msg[0] |= AUX_I2C_MOT << 4;
+		msg[0] |= DP_AUX_I2C_MOT << 4;
 
 	msg[1] = address >> 8;
 	msg[2] = address;
@@ -606,16 +607,16 @@  cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
 			return ret;
 		}
 
-		switch (reply[0] & AUX_NATIVE_REPLY_MASK) {
-		case AUX_NATIVE_REPLY_ACK:
+		switch ((reply[0] >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
+		case DP_AUX_NATIVE_REPLY_ACK:
 			/* I2C-over-AUX Reply field is only valid
 			 * when paired with AUX ACK.
 			 */
 			break;
-		case AUX_NATIVE_REPLY_NACK:
+		case DP_AUX_NATIVE_REPLY_NACK:
 			DRM_DEBUG_KMS("aux_ch native nack\n");
 			return -EREMOTEIO;
-		case AUX_NATIVE_REPLY_DEFER:
+		case DP_AUX_NATIVE_REPLY_DEFER:
 			udelay(100);
 			continue;
 		default:
@@ -624,16 +625,16 @@  cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
 			return -EREMOTEIO;
 		}
 
-		switch (reply[0] & AUX_I2C_REPLY_MASK) {
-		case AUX_I2C_REPLY_ACK:
+		switch ((reply[0] >> 4) & DP_AUX_I2C_REPLY_MASK) {
+		case DP_AUX_I2C_REPLY_ACK:
 			if (mode == MODE_I2C_READ) {
 				*read_byte = reply[1];
 			}
 			return reply_bytes - 1;
-		case AUX_I2C_REPLY_NACK:
+		case DP_AUX_I2C_REPLY_NACK:
 			DRM_DEBUG_KMS("aux_i2c nack\n");
 			return -EREMOTEIO;
-		case AUX_I2C_REPLY_DEFER:
+		case DP_AUX_I2C_REPLY_DEFER:
 			DRM_DEBUG_KMS("aux_i2c defer\n");
 			udelay(100);
 			break;
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 9b40113f4fa1..7df5085973e9 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -542,7 +542,7 @@  intel_dp_aux_native_write(struct intel_dp *intel_dp,
 		return -E2BIG;
 
 	intel_dp_check_edp(intel_dp);
-	msg[0] = AUX_NATIVE_WRITE << 4;
+	msg[0] = DP_AUX_NATIVE_WRITE << 4;
 	msg[1] = address >> 8;
 	msg[2] = address & 0xff;
 	msg[3] = send_bytes - 1;
@@ -552,9 +552,10 @@  intel_dp_aux_native_write(struct intel_dp *intel_dp,
 		ret = intel_dp_aux_ch(intel_dp, msg, msg_bytes, &ack, 1);
 		if (ret < 0)
 			return ret;
-		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
+		ack >>= 4;
+		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
 			break;
-		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
+		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
 			udelay(100);
 		else
 			return -EIO;
@@ -586,7 +587,7 @@  intel_dp_aux_native_read(struct intel_dp *intel_dp,
 		return -E2BIG;
 
 	intel_dp_check_edp(intel_dp);
-	msg[0] = AUX_NATIVE_READ << 4;
+	msg[0] = DP_AUX_NATIVE_READ << 4;
 	msg[1] = address >> 8;
 	msg[2] = address & 0xff;
 	msg[3] = recv_bytes - 1;
@@ -601,12 +602,12 @@  intel_dp_aux_native_read(struct intel_dp *intel_dp,
 			return -EPROTO;
 		if (ret < 0)
 			return ret;
-		ack = reply[0];
-		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) {
+		ack = reply[0] >> 4;
+		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK) {
 			memcpy(recv, reply + 1, ret - 1);
 			return ret - 1;
 		}
-		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
+		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
 			udelay(100);
 		else
 			return -EIO;
@@ -633,12 +634,12 @@  intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
 	intel_dp_check_edp(intel_dp);
 	/* Set up the command byte */
 	if (mode & MODE_I2C_READ)
-		msg[0] = AUX_I2C_READ << 4;
+		msg[0] = DP_AUX_I2C_READ << 4;
 	else
-		msg[0] = AUX_I2C_WRITE << 4;
+		msg[0] = DP_AUX_I2C_WRITE << 4;
 
 	if (!(mode & MODE_I2C_STOP))
-		msg[0] |= AUX_I2C_MOT << 4;
+		msg[0] |= DP_AUX_I2C_MOT << 4;
 
 	msg[1] = address >> 8;
 	msg[2] = address;
@@ -675,17 +676,17 @@  intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
 			goto out;
 		}
 
-		switch (reply[0] & AUX_NATIVE_REPLY_MASK) {
-		case AUX_NATIVE_REPLY_ACK:
+		switch ((reply[0] >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
+		case DP_AUX_NATIVE_REPLY_ACK:
 			/* I2C-over-AUX Reply field is only valid
 			 * when paired with AUX ACK.
 			 */
 			break;
-		case AUX_NATIVE_REPLY_NACK:
+		case DP_AUX_NATIVE_REPLY_NACK:
 			DRM_DEBUG_KMS("aux_ch native nack\n");
 			ret = -EREMOTEIO;
 			goto out;
-		case AUX_NATIVE_REPLY_DEFER:
+		case DP_AUX_NATIVE_REPLY_DEFER:
 			/*
 			 * For now, just give more slack to branch devices. We
 			 * could check the DPCD for I2C bit rate capabilities,
@@ -706,18 +707,18 @@  intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
 			goto out;
 		}
 
-		switch (reply[0] & AUX_I2C_REPLY_MASK) {
-		case AUX_I2C_REPLY_ACK:
+		switch ((reply[0] >> 4) & DP_AUX_I2C_REPLY_MASK) {
+		case DP_AUX_I2C_REPLY_ACK:
 			if (mode == MODE_I2C_READ) {
 				*read_byte = reply[1];
 			}
 			ret = reply_bytes - 1;
 			goto out;
-		case AUX_I2C_REPLY_NACK:
+		case DP_AUX_I2C_REPLY_NACK:
 			DRM_DEBUG_KMS("aux_i2c nack\n");
 			ret = -EREMOTEIO;
 			goto out;
-		case AUX_I2C_REPLY_DEFER:
+		case DP_AUX_I2C_REPLY_DEFER:
 			DRM_DEBUG_KMS("aux_i2c defer\n");
 			udelay(100);
 			break;
diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c
index fb3ae07a1469..37289f67f965 100644
--- a/drivers/gpu/drm/radeon/atombios_dp.c
+++ b/drivers/gpu/drm/radeon/atombios_dp.c
@@ -157,7 +157,7 @@  static int radeon_dp_aux_native_write(struct radeon_connector *radeon_connector,
 
 	msg[0] = address;
 	msg[1] = address >> 8;
-	msg[2] = AUX_NATIVE_WRITE << 4;
+	msg[2] = DP_AUX_NATIVE_WRITE << 4;
 	msg[3] = (msg_bytes << 4) | (send_bytes - 1);
 	memcpy(&msg[4], send, send_bytes);
 
@@ -168,9 +168,10 @@  static int radeon_dp_aux_native_write(struct radeon_connector *radeon_connector,
 			continue;
 		else if (ret < 0)
 			return ret;
-		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
+		ack >>= 4;
+		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
 			return send_bytes;
-		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
+		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
 			udelay(400);
 		else
 			return -EIO;
@@ -191,7 +192,7 @@  static int radeon_dp_aux_native_read(struct radeon_connector *radeon_connector,
 
 	msg[0] = address;
 	msg[1] = address >> 8;
-	msg[2] = AUX_NATIVE_READ << 4;
+	msg[2] = DP_AUX_NATIVE_READ << 4;
 	msg[3] = (msg_bytes << 4) | (recv_bytes - 1);
 
 	for (retry = 0; retry < 4; retry++) {
@@ -201,9 +202,10 @@  static int radeon_dp_aux_native_read(struct radeon_connector *radeon_connector,
 			continue;
 		else if (ret < 0)
 			return ret;
-		if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK)
+		ack >>= 4;
+		if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
 			return ret;
-		else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER)
+		else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
 			udelay(400);
 		else if (ret == 0)
 			return -EPROTO;
@@ -246,12 +248,12 @@  int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
 
 	/* Set up the command byte */
 	if (mode & MODE_I2C_READ)
-		msg[2] = AUX_I2C_READ << 4;
+		msg[2] = DP_AUX_I2C_READ << 4;
 	else
-		msg[2] = AUX_I2C_WRITE << 4;
+		msg[2] = DP_AUX_I2C_WRITE << 4;
 
 	if (!(mode & MODE_I2C_STOP))
-		msg[2] |= AUX_I2C_MOT << 4;
+		msg[2] |= DP_AUX_I2C_MOT << 4;
 
 	msg[0] = address;
 	msg[1] = address >> 8;
@@ -282,16 +284,16 @@  int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
 			return ret;
 		}
 
-		switch (ack & AUX_NATIVE_REPLY_MASK) {
-		case AUX_NATIVE_REPLY_ACK:
+		switch ((ack >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
+		case DP_AUX_NATIVE_REPLY_ACK:
 			/* I2C-over-AUX Reply field is only valid
 			 * when paired with AUX ACK.
 			 */
 			break;
-		case AUX_NATIVE_REPLY_NACK:
+		case DP_AUX_NATIVE_REPLY_NACK:
 			DRM_DEBUG_KMS("aux_ch native nack\n");
 			return -EREMOTEIO;
-		case AUX_NATIVE_REPLY_DEFER:
+		case DP_AUX_NATIVE_REPLY_DEFER:
 			DRM_DEBUG_KMS("aux_ch native defer\n");
 			udelay(400);
 			continue;
@@ -300,15 +302,15 @@  int radeon_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
 			return -EREMOTEIO;
 		}
 
-		switch (ack & AUX_I2C_REPLY_MASK) {
-		case AUX_I2C_REPLY_ACK:
+		switch ((ack >> 4) & DP_AUX_I2C_REPLY_MASK) {
+		case DP_AUX_I2C_REPLY_ACK:
 			if (mode == MODE_I2C_READ)
 				*read_byte = reply[0];
 			return ret;
-		case AUX_I2C_REPLY_NACK:
+		case DP_AUX_I2C_REPLY_NACK:
 			DRM_DEBUG_KMS("aux_i2c nack\n");
 			return -EREMOTEIO;
-		case AUX_I2C_REPLY_DEFER:
+		case DP_AUX_I2C_REPLY_DEFER:
 			DRM_DEBUG_KMS("aux_i2c defer\n");
 			udelay(400);
 			break;
diff --git a/include/drm/drm_dp_helper.h b/include/drm/drm_dp_helper.h
index 8b0f6c44251e..b5bf8de7afaa 100644
--- a/include/drm/drm_dp_helper.h
+++ b/include/drm/drm_dp_helper.h
@@ -41,22 +41,22 @@ 
  * 1.2 formally includes both eDP and DPI definitions.
  */
 
-#define AUX_NATIVE_WRITE	0x8
-#define AUX_NATIVE_READ		0x9
-#define AUX_I2C_WRITE		0x0
-#define AUX_I2C_READ		0x1
-#define AUX_I2C_STATUS		0x2
-#define AUX_I2C_MOT		0x4
-
-#define AUX_NATIVE_REPLY_ACK	(0x0 << 4)
-#define AUX_NATIVE_REPLY_NACK	(0x1 << 4)
-#define AUX_NATIVE_REPLY_DEFER	(0x2 << 4)
-#define AUX_NATIVE_REPLY_MASK	(0x3 << 4)
-
-#define AUX_I2C_REPLY_ACK	(0x0 << 6)
-#define AUX_I2C_REPLY_NACK	(0x1 << 6)
-#define AUX_I2C_REPLY_DEFER	(0x2 << 6)
-#define AUX_I2C_REPLY_MASK	(0x3 << 6)
+#define DP_AUX_I2C_WRITE		0x0
+#define DP_AUX_I2C_READ			0x1
+#define DP_AUX_I2C_STATUS		0x2
+#define DP_AUX_I2C_MOT			0x4
+#define DP_AUX_NATIVE_WRITE		0x8
+#define DP_AUX_NATIVE_READ		0x9
+
+#define DP_AUX_NATIVE_REPLY_ACK		(0x0 << 0)
+#define DP_AUX_NATIVE_REPLY_NACK	(0x1 << 0)
+#define DP_AUX_NATIVE_REPLY_DEFER	(0x2 << 0)
+#define DP_AUX_NATIVE_REPLY_MASK	(0x3 << 0)
+
+#define DP_AUX_I2C_REPLY_ACK		(0x0 << 2)
+#define DP_AUX_I2C_REPLY_NACK		(0x1 << 2)
+#define DP_AUX_I2C_REPLY_DEFER		(0x2 << 2)
+#define DP_AUX_I2C_REPLY_MASK		(0x3 << 2)
 
 /* AUX CH addresses */
 /* DPCD */