aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/atom.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-01-19 12:45:29 -0500
committerDave Airlie <airlied@linux.ie>2010-01-20 17:20:28 -0500
commite2f8e87089427d3a203538dc73058b90e82b11f6 (patch)
tree0e86c59445979eeee01a18979b3505c0bbd39f34 /drivers/gpu/drm/radeon/atom.c
parent9f53e7931610cbd1715fd2d2c0f9a853e17f02d8 (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/gpu/drm/radeon/atom.c')
-rw-r--r--drivers/gpu/drm/radeon/atom.c8
1 files changed, 7 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: ");