diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-01-19 12:45:29 -0500 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2010-01-20 17:20:28 -0500 |
commit | e2f8e87089427d3a203538dc73058b90e82b11f6 (patch) | |
tree | 0e86c59445979eeee01a18979b3505c0bbd39f34 /drivers | |
parent | 9f53e7931610cbd1715fd2d2c0f9a853e17f02d8 (diff) |
drm/radeon/kms/atom: upstream parser updates
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/radeon/atom.c | 8 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/atom.h | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c index 9a3378184e1b..cf3126108a48 100644 --- a/drivers/gpu/drm/radeon/atom.c +++ b/drivers/gpu/drm/radeon/atom.c | |||
@@ -246,6 +246,9 @@ static uint32_t atom_get_src_int(atom_exec_context *ctx, uint8_t attr, | |||
246 | case ATOM_WS_ATTRIBUTES: | 246 | case ATOM_WS_ATTRIBUTES: |
247 | val = gctx->io_attr; | 247 | val = gctx->io_attr; |
248 | break; | 248 | break; |
249 | case ATOM_WS_REGPTR: | ||
250 | val = gctx->reg_block; | ||
251 | break; | ||
249 | default: | 252 | default: |
250 | val = ctx->ws[idx]; | 253 | val = ctx->ws[idx]; |
251 | } | 254 | } |
@@ -508,6 +511,9 @@ static void atom_put_dst(atom_exec_context *ctx, int arg, uint8_t attr, | |||
508 | case ATOM_WS_ATTRIBUTES: | 511 | case ATOM_WS_ATTRIBUTES: |
509 | gctx->io_attr = val; | 512 | gctx->io_attr = val; |
510 | break; | 513 | break; |
514 | case ATOM_WS_REGPTR: | ||
515 | gctx->reg_block = val; | ||
516 | break; | ||
511 | default: | 517 | default: |
512 | ctx->ws[idx] = val; | 518 | ctx->ws[idx] = val; |
513 | } | 519 | } |
@@ -705,7 +711,7 @@ static void atom_op_mask(atom_exec_context *ctx, int *ptr, int arg) | |||
705 | SDEBUG(" src1: "); | 711 | SDEBUG(" src1: "); |
706 | src1 = atom_get_src_direct(ctx, ((attr >> 3) & 7), ptr); | 712 | src1 = atom_get_src_direct(ctx, ((attr >> 3) & 7), ptr); |
707 | SDEBUG(" src2: "); | 713 | SDEBUG(" src2: "); |
708 | src2 = atom_get_src_direct(ctx, ((attr >> 3) & 7), ptr); | 714 | src2 = atom_get_src(ctx, attr, ptr); |
709 | dst &= src1; | 715 | dst &= src1; |
710 | dst |= src2; | 716 | dst |= src2; |
711 | SDEBUG(" dst: "); | 717 | SDEBUG(" dst: "); |
diff --git a/drivers/gpu/drm/radeon/atom.h b/drivers/gpu/drm/radeon/atom.h index 47fd943f6d14..bc73781423a1 100644 --- a/drivers/gpu/drm/radeon/atom.h +++ b/drivers/gpu/drm/radeon/atom.h | |||
@@ -91,6 +91,7 @@ | |||
91 | #define ATOM_WS_AND_MASK 0x45 | 91 | #define ATOM_WS_AND_MASK 0x45 |
92 | #define ATOM_WS_FB_WINDOW 0x46 | 92 | #define ATOM_WS_FB_WINDOW 0x46 |
93 | #define ATOM_WS_ATTRIBUTES 0x47 | 93 | #define ATOM_WS_ATTRIBUTES 0x47 |
94 | #define ATOM_WS_REGPTR 0x48 | ||
94 | 95 | ||
95 | #define ATOM_IIO_NOP 0 | 96 | #define ATOM_IIO_NOP 0 |
96 | #define ATOM_IIO_START 1 | 97 | #define ATOM_IIO_START 1 |