aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0588-drm-amdgpu-atom-add-support-for-new-div32-opcodes-v3.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0588-drm-amdgpu-atom-add-support-for-new-div32-opcodes-v3.patch')
-rw-r--r--common/recipes-kernel/linux/files/0588-drm-amdgpu-atom-add-support-for-new-div32-opcodes-v3.patch80
1 files changed, 0 insertions, 80 deletions
diff --git a/common/recipes-kernel/linux/files/0588-drm-amdgpu-atom-add-support-for-new-div32-opcodes-v3.patch b/common/recipes-kernel/linux/files/0588-drm-amdgpu-atom-add-support-for-new-div32-opcodes-v3.patch
deleted file mode 100644
index b5e402c5..00000000
--- a/common/recipes-kernel/linux/files/0588-drm-amdgpu-atom-add-support-for-new-div32-opcodes-v3.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From c2fe16aa36d2bc976f7e79600d3a118fafdcc8dc Mon Sep 17 00:00:00 2001
-From: Alex Deucher <alexander.deucher@amd.com>
-Date: Fri, 2 Oct 2015 14:26:41 -0400
-Subject: [PATCH 0588/1565] drm/amdgpu/atom: add support for new div32 opcodes
- (v3)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Better precision than the regular div opcode.
-
-v2: drop 64 bit divide
-v3: fix op handling. This actually is a 64 bit divide.
-
-Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/atom.c | 25 ++++++++++++++++++++++++-
- drivers/gpu/drm/amd/amdgpu/atom.h | 2 +-
- 2 files changed, 25 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/atom.c b/drivers/gpu/drm/amd/amdgpu/atom.c
-index 474357d..1b50e6c 100644
---- a/drivers/gpu/drm/amd/amdgpu/atom.c
-+++ b/drivers/gpu/drm/amd/amdgpu/atom.c
-@@ -685,6 +685,27 @@ static void atom_op_div(atom_exec_context *ctx, int *ptr, int arg)
- }
- }
-
-+static void atom_op_div32(atom_exec_context *ctx, int *ptr, int arg)
-+{
-+ uint64_t val64;
-+ uint8_t attr = U8((*ptr)++);
-+ uint32_t dst, src;
-+ SDEBUG(" src1: ");
-+ dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
-+ SDEBUG(" src2: ");
-+ src = atom_get_src(ctx, attr, ptr);
-+ if (src != 0) {
-+ val64 = dst;
-+ val64 |= ((uint64_t)ctx->ctx->divmul[1]) << 32;
-+ do_div(val64, src);
-+ ctx->ctx->divmul[0] = lower_32_bits(val64);
-+ ctx->ctx->divmul[1] = upper_32_bits(val64);
-+ } else {
-+ ctx->ctx->divmul[0] = 0;
-+ ctx->ctx->divmul[1] = 0;
-+ }
-+}
-+
- static void atom_op_eot(atom_exec_context *ctx, int *ptr, int arg)
- {
- /* functionally, a nop */
-@@ -1176,7 +1197,9 @@ static struct {
- atom_op_debug, 0}, {
- atom_op_processds, 0}, {
- atom_op_mul32, ATOM_ARG_PS}, {
-- atom_op_mul32, ATOM_ARG_WS},
-+ atom_op_mul32, ATOM_ARG_WS}, {
-+ atom_op_div32, ATOM_ARG_PS}, {
-+ atom_op_div32, ATOM_ARG_WS},
- };
-
- static int amdgpu_atom_execute_table_locked(struct atom_context *ctx, int index, uint32_t * params)
-diff --git a/drivers/gpu/drm/amd/amdgpu/atom.h b/drivers/gpu/drm/amd/amdgpu/atom.h
-index a940eb3..fece8f4 100644
---- a/drivers/gpu/drm/amd/amdgpu/atom.h
-+++ b/drivers/gpu/drm/amd/amdgpu/atom.h
-@@ -60,7 +60,7 @@
- #define ATOM_CT_PS_MASK 0x7F
- #define ATOM_CT_CODE_PTR 6
-
--#define ATOM_OP_CNT 125
-+#define ATOM_OP_CNT 127
- #define ATOM_OP_EOT 91
-
- #define ATOM_CASE_MAGIC 0x63
---
-1.9.1
-