summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward O'Callaghan <funfunctor@folklore1984.net>2017-05-02 17:26:21 +1000
committerEdward O'Callaghan <funfunctor@folklore1984.net>2017-05-02 21:47:08 +1000
commit81e5acaecb4fdd72017905a3570a748011dba239 (patch)
tree3f96aa32aee14643b1e5e8ca18551409141b36e0
parente51ec30f68020c79d31f5eb20dd91f07d93862b6 (diff)
drm/amdgpu: Fix native dp_aux_transfer impl registers&&offsets
Signed-off-by: Edward O'Callaghan <funfunctor@folklore1984.net> Tested-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_dp_auxch.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_dp_auxch.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_dp_auxch.c
index 596020421c3d..27dddad869f4 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_dp_auxch.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_dp_auxch.c
@@ -26,9 +26,12 @@
#include <drm/drmP.h>
#include <drm/amdgpu_drm.h>
#include "amdgpu.h"
+#include "dce/dce_11_0_d.h"
-/* extracted from: 'drivers/gpu/drm/radeon/nid.h' */
-#define AUX_CONTROL 0x6200
+/* extracted from: 'drivers/gpu/drm/radeon/nid.h', where
+ * registers and offsets were adjusted as-per 'dce/dce_11_0_d.h'.
+ */
+#define AUX_CONTROL mmAUX_CONTROL
#define AUX_EN (1 << 0)
#define AUX_LS_READ_EN (1 << 8)
#define AUX_LS_UPDATE_DISABLE(x) (((x) & 0x1) << 12)
@@ -38,19 +41,19 @@
#define AUX_IMPCAL_REQ_EN (1 << 24)
#define AUX_TEST_MODE (1 << 28)
#define AUX_DEGLITCH_EN (1 << 29)
-#define AUX_SW_CONTROL 0x6204
+#define AUX_SW_CONTROL mmAUX_SW_CONTROL
#define AUX_SW_GO (1 << 0)
#define AUX_LS_READ_TRIG (1 << 2)
#define AUX_SW_START_DELAY(x) (((x) & 0xf) << 4)
#define AUX_SW_WR_BYTES(x) (((x) & 0x1f) << 16)
-#define AUX_SW_INTERRUPT_CONTROL 0x620c
+#define AUX_SW_INTERRUPT_CONTROL mmAUX_INTERRUPT_CONTROL
#define AUX_SW_DONE_INT (1 << 0)
#define AUX_SW_DONE_ACK (1 << 1)
#define AUX_SW_DONE_MASK (1 << 2)
#define AUX_SW_LS_DONE_INT (1 << 4)
#define AUX_SW_LS_DONE_MASK (1 << 6)
-#define AUX_SW_STATUS 0x6210
+#define AUX_SW_STATUS mmAUX_SW_STATUS
#define AUX_SW_DONE (1 << 0)
#define AUX_SW_REQ (1 << 1)
#define AUX_SW_RX_TIMEOUT_STATE(x) (((x) & 0x7) << 4)
@@ -68,7 +71,7 @@
#define AUX_SW_RX_RECV_INVALID_H (1 << 22)
#define AUX_SW_RX_RECV_INVALID_V (1 << 23)
-#define AUX_SW_DATA 0x6218
+#define AUX_SW_DATA mmAUX_SW_DATA
#define AUX_SW_DATA_RW (1 << 0)
#define AUX_SW_DATA_MASK(x) (((x) & 0xff) << 8)
#define AUX_SW_DATA_INDEX(x) (((x) & 0x1f) << 16)
@@ -96,14 +99,13 @@
* It is given in number of 32-bit registers, so it needs to be multiplied by
* 4 before converting it to an address offset.
*/
-static const u32 aux_offset[] =
-{
- 0x6200 - 0x6200,
- 0x6250 - 0x6200,
- 0x62a0 - 0x6200,
- 0x6300 - 0x6200,
- 0x6350 - 0x6200,
- 0x63a0 - 0x6200,
+static const u32 aux_offset[] = {
+ mmDP_AUX0_AUX_CONTROL - mmAUX_CONTROL,
+ mmDP_AUX1_AUX_CONTROL - mmAUX_CONTROL,
+ mmDP_AUX2_AUX_CONTROL - mmAUX_CONTROL,
+ mmDP_AUX3_AUX_CONTROL - mmAUX_CONTROL,
+ mmDP_AUX4_AUX_CONTROL - mmAUX_CONTROL,
+ mmDP_AUX5_AUX_CONTROL - mmAUX_CONTROL
};
ssize_t