aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/gma500
diff options
context:
space:
mode:
authorThierry Reding <thierry.reding@gmail.com>2013-12-16 11:01:29 -0500
committerDave Airlie <airlied@redhat.com>2013-12-17 20:08:51 -0500
commit6b27f7f0e97b2819f5e272ffc2dda24881caebd6 (patch)
treef12c9b372bdc68c4941a68b99f0e126e5be3af90 /drivers/gpu/drm/gma500
parent05f51722a154e73019434bd020e50ddb941046c5 (diff)
drm/dp: Use AUX constants from specification
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: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/gma500')
-rw-r--r--drivers/gpu/drm/gma500/cdv_intel_dp.c37
1 files changed, 19 insertions, 18 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,
483 483
484 if (send_bytes > 16) 484 if (send_bytes > 16)
485 return -1; 485 return -1;
486 msg[0] = AUX_NATIVE_WRITE << 4; 486 msg[0] = DP_AUX_NATIVE_WRITE << 4;
487 msg[1] = address >> 8; 487 msg[1] = address >> 8;
488 msg[2] = address & 0xff; 488 msg[2] = address & 0xff;
489 msg[3] = send_bytes - 1; 489 msg[3] = send_bytes - 1;
@@ -493,9 +493,10 @@ cdv_intel_dp_aux_native_write(struct gma_encoder *encoder,
493 ret = cdv_intel_dp_aux_ch(encoder, msg, msg_bytes, &ack, 1); 493 ret = cdv_intel_dp_aux_ch(encoder, msg, msg_bytes, &ack, 1);
494 if (ret < 0) 494 if (ret < 0)
495 return ret; 495 return ret;
496 if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) 496 ack >>= 4;
497 if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK)
497 break; 498 break;
498 else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER) 499 else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
499 udelay(100); 500 udelay(100);
500 else 501 else
501 return -EIO; 502 return -EIO;
@@ -523,7 +524,7 @@ cdv_intel_dp_aux_native_read(struct gma_encoder *encoder,
523 uint8_t ack; 524 uint8_t ack;
524 int ret; 525 int ret;
525 526
526 msg[0] = AUX_NATIVE_READ << 4; 527 msg[0] = DP_AUX_NATIVE_READ << 4;
527 msg[1] = address >> 8; 528 msg[1] = address >> 8;
528 msg[2] = address & 0xff; 529 msg[2] = address & 0xff;
529 msg[3] = recv_bytes - 1; 530 msg[3] = recv_bytes - 1;
@@ -538,12 +539,12 @@ cdv_intel_dp_aux_native_read(struct gma_encoder *encoder,
538 return -EPROTO; 539 return -EPROTO;
539 if (ret < 0) 540 if (ret < 0)
540 return ret; 541 return ret;
541 ack = reply[0]; 542 ack = reply[0] >> 4;
542 if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_ACK) { 543 if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_ACK) {
543 memcpy(recv, reply + 1, ret - 1); 544 memcpy(recv, reply + 1, ret - 1);
544 return ret - 1; 545 return ret - 1;
545 } 546 }
546 else if ((ack & AUX_NATIVE_REPLY_MASK) == AUX_NATIVE_REPLY_DEFER) 547 else if ((ack & DP_AUX_NATIVE_REPLY_MASK) == DP_AUX_NATIVE_REPLY_DEFER)
547 udelay(100); 548 udelay(100);
548 else 549 else
549 return -EIO; 550 return -EIO;
@@ -569,12 +570,12 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
569 570
570 /* Set up the command byte */ 571 /* Set up the command byte */
571 if (mode & MODE_I2C_READ) 572 if (mode & MODE_I2C_READ)
572 msg[0] = AUX_I2C_READ << 4; 573 msg[0] = DP_AUX_I2C_READ << 4;
573 else 574 else
574 msg[0] = AUX_I2C_WRITE << 4; 575 msg[0] = DP_AUX_I2C_WRITE << 4;
575 576
576 if (!(mode & MODE_I2C_STOP)) 577 if (!(mode & MODE_I2C_STOP))
577 msg[0] |= AUX_I2C_MOT << 4; 578 msg[0] |= DP_AUX_I2C_MOT << 4;
578 579
579 msg[1] = address >> 8; 580 msg[1] = address >> 8;
580 msg[2] = address; 581 msg[2] = address;
@@ -606,16 +607,16 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
606 return ret; 607 return ret;
607 } 608 }
608 609
609 switch (reply[0] & AUX_NATIVE_REPLY_MASK) { 610 switch ((reply[0] >> 4) & DP_AUX_NATIVE_REPLY_MASK) {
610 case AUX_NATIVE_REPLY_ACK: 611 case DP_AUX_NATIVE_REPLY_ACK:
611 /* I2C-over-AUX Reply field is only valid 612 /* I2C-over-AUX Reply field is only valid
612 * when paired with AUX ACK. 613 * when paired with AUX ACK.
613 */ 614 */
614 break; 615 break;
615 case AUX_NATIVE_REPLY_NACK: 616 case DP_AUX_NATIVE_REPLY_NACK:
616 DRM_DEBUG_KMS("aux_ch native nack\n"); 617 DRM_DEBUG_KMS("aux_ch native nack\n");
617 return -EREMOTEIO; 618 return -EREMOTEIO;
618 case AUX_NATIVE_REPLY_DEFER: 619 case DP_AUX_NATIVE_REPLY_DEFER:
619 udelay(100); 620 udelay(100);
620 continue; 621 continue;
621 default: 622 default:
@@ -624,16 +625,16 @@ cdv_intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
624 return -EREMOTEIO; 625 return -EREMOTEIO;
625 } 626 }
626 627
627 switch (reply[0] & AUX_I2C_REPLY_MASK) { 628 switch ((reply[0] >> 4) & DP_AUX_I2C_REPLY_MASK) {
628 case AUX_I2C_REPLY_ACK: 629 case DP_AUX_I2C_REPLY_ACK:
629 if (mode == MODE_I2C_READ) { 630 if (mode == MODE_I2C_READ) {
630 *read_byte = reply[1]; 631 *read_byte = reply[1];
631 } 632 }
632 return reply_bytes - 1; 633 return reply_bytes - 1;
633 case AUX_I2C_REPLY_NACK: 634 case DP_AUX_I2C_REPLY_NACK:
634 DRM_DEBUG_KMS("aux_i2c nack\n"); 635 DRM_DEBUG_KMS("aux_i2c nack\n");
635 return -EREMOTEIO; 636 return -EREMOTEIO;
636 case AUX_I2C_REPLY_DEFER: 637 case DP_AUX_I2C_REPLY_DEFER:
637 DRM_DEBUG_KMS("aux_i2c defer\n"); 638 DRM_DEBUG_KMS("aux_i2c defer\n");
638 udelay(100); 639 udelay(100);
639 break; 640 break;