Commit 6a8a2d70 authored by Alex Deucher's avatar Alex Deucher Committed by Dave Airlie

drm/radeon/kms/atom: fix shr/shl ops

The whole attribute table is valid for
shr/shl ops.

Fixes fdo bug 26668
Signed-off-by: default avatarAlex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 172e91f5
...@@ -878,8 +878,6 @@ static void atom_op_shl(atom_exec_context *ctx, int *ptr, int arg) ...@@ -878,8 +878,6 @@ static void atom_op_shl(atom_exec_context *ctx, int *ptr, int arg)
uint8_t attr = U8((*ptr)++), shift; uint8_t attr = U8((*ptr)++), shift;
uint32_t saved, dst; uint32_t saved, dst;
int dptr = *ptr; int dptr = *ptr;
attr &= 0x38;
attr |= atom_def_dst[attr >> 3] << 6;
SDEBUG(" dst: "); SDEBUG(" dst: ");
dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
shift = atom_get_src(ctx, attr, ptr); shift = atom_get_src(ctx, attr, ptr);
...@@ -894,8 +892,6 @@ static void atom_op_shr(atom_exec_context *ctx, int *ptr, int arg) ...@@ -894,8 +892,6 @@ static void atom_op_shr(atom_exec_context *ctx, int *ptr, int arg)
uint8_t attr = U8((*ptr)++), shift; uint8_t attr = U8((*ptr)++), shift;
uint32_t saved, dst; uint32_t saved, dst;
int dptr = *ptr; int dptr = *ptr;
attr &= 0x38;
attr |= atom_def_dst[attr >> 3] << 6;
SDEBUG(" dst: "); SDEBUG(" dst: ");
dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
shift = atom_get_src(ctx, attr, ptr); shift = atom_get_src(ctx, attr, ptr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment