diff options
| author | Jani Nikula <jani.nikula@intel.com> | 2014-04-07 05:37:25 -0400 |
|---|---|---|
| committer | Christian König <christian.koenig@amd.com> | 2014-04-08 10:12:37 -0400 |
| commit | a6c8aff022d4d06e4b41455ae9b2a5d3d503bf76 (patch) | |
| tree | 946b20aac20bef14af46b26d1ccb343d53673ced | |
| parent | 1ca2030563534bc0b057df9fddd30fb6257826cb (diff) | |
drm/i915: support address only i2c-over-aux transactions
To support bare address requests used by the drm dp helpers.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
| -rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index a0dad1a2f819..d2a55884ad52 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
| @@ -575,7 +575,8 @@ out: | |||
| 575 | return ret; | 575 | return ret; |
| 576 | } | 576 | } |
| 577 | 577 | ||
| 578 | #define HEADER_SIZE 4 | 578 | #define BARE_ADDRESS_SIZE 3 |
| 579 | #define HEADER_SIZE (BARE_ADDRESS_SIZE + 1) | ||
| 579 | static ssize_t | 580 | static ssize_t |
| 580 | intel_dp_aux_transfer(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg) | 581 | intel_dp_aux_transfer(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg) |
| 581 | { | 582 | { |
| @@ -592,7 +593,7 @@ intel_dp_aux_transfer(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg) | |||
| 592 | switch (msg->request & ~DP_AUX_I2C_MOT) { | 593 | switch (msg->request & ~DP_AUX_I2C_MOT) { |
| 593 | case DP_AUX_NATIVE_WRITE: | 594 | case DP_AUX_NATIVE_WRITE: |
| 594 | case DP_AUX_I2C_WRITE: | 595 | case DP_AUX_I2C_WRITE: |
| 595 | txsize = HEADER_SIZE + msg->size; | 596 | txsize = msg->size ? HEADER_SIZE + msg->size : BARE_ADDRESS_SIZE; |
| 596 | rxsize = 1; | 597 | rxsize = 1; |
| 597 | 598 | ||
| 598 | if (WARN_ON(txsize > 20)) | 599 | if (WARN_ON(txsize > 20)) |
| @@ -611,7 +612,7 @@ intel_dp_aux_transfer(struct drm_dp_aux *aux, struct drm_dp_aux_msg *msg) | |||
| 611 | 612 | ||
| 612 | case DP_AUX_NATIVE_READ: | 613 | case DP_AUX_NATIVE_READ: |
| 613 | case DP_AUX_I2C_READ: | 614 | case DP_AUX_I2C_READ: |
| 614 | txsize = HEADER_SIZE; | 615 | txsize = msg->size ? HEADER_SIZE : BARE_ADDRESS_SIZE; |
| 615 | rxsize = msg->size + 1; | 616 | rxsize = msg->size + 1; |
| 616 | 617 | ||
| 617 | if (WARN_ON(rxsize > 20)) | 618 | if (WARN_ON(rxsize > 20)) |
