From: Wesley Chalmers <wesley.chalm...@amd.com>

Signed-off-by: Wesley Chalmers <wesley.chalm...@amd.com>
Acked-by: Harry Wentland <harry.wentl...@amd.com>
---
 drivers/gpu/drm/amd/dal/dc/dce100/dce100_resource.c            | 4 +++-
 drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.c           | 2 ++
 drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_bit_depth.c | 6 +++---
 drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c         | 2 +-
 drivers/gpu/drm/amd/dal/dc/dce112/dce112_resource.c            | 4 +++-
 drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.c             | 2 ++
 drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_bit_depth.c   | 2 +-
 drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h                  | 1 +
 8 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/amd/dal/dc/dce100/dce100_resource.c 
b/drivers/gpu/drm/amd/dal/dc/dce100/dce100_resource.c
index 0c1a9b8a9b5a..908bb297bd0f 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce100/dce100_resource.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce100/dce100_resource.c
@@ -491,8 +491,10 @@ static struct transform *dce100_transform_create(
        if (!transform)
                return NULL;
 
-       if (dce110_transform_construct(transform, ctx, inst, offsets))
+       if (dce110_transform_construct(transform, ctx, inst, offsets)) {
+               transform->base.lb_memory_size = 0x6B0; /*1712*/
                return &transform->base;
+       }
 
        BREAK_TO_DEBUGGER();
        dm_free(transform);
diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.c 
b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.c
index 3426210b7482..a8973795eeeb 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.c
@@ -116,6 +116,8 @@ bool dce110_transform_construct(
        xfm110->base.lb_bits_per_entry = LB_BITS_PER_ENTRY;
        xfm110->base.lb_total_entries_num = LB_TOTAL_NUMBER_OF_ENTRIES;
 
+       xfm110->base.lb_memory_size = 0x6B0; /*1712*/
+
        return true;
 }
 
diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_bit_depth.c 
b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_bit_depth.c
index 01168b46df84..48a10128a9c2 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_bit_depth.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_bit_depth.c
@@ -26,8 +26,8 @@
 #include "dm_services.h"
 
 /* include DCE11 register header files */
-#include "dce/dce_11_0_d.h"
-#include "dce/dce_11_0_sh_mask.h"
+#include "dce/dce_11_2_d.h"
+#include "dce/dce_11_2_sh_mask.h"
 
 #include "dce110_transform.h"
 #include "dce110_transform_v.h"
@@ -786,7 +786,7 @@ bool dce110_transform_power_up_line_buffer(struct transform 
*xfm)
        /*Use all three pieces of memory always*/
        set_reg_field_value(value, 0, LB_MEMORY_CTRL, LB_MEMORY_CONFIG);
        /*hard coded number DCE11 1712(0x6B0) Partitions: 720/960/1712*/
-       set_reg_field_value(value, LB_TOTAL_NUMBER_OF_ENTRIES, LB_MEMORY_CTRL,
+       set_reg_field_value(value, xfm110->base.lb_memory_size, LB_MEMORY_CTRL,
                        LB_MEMORY_SIZE);
 
        dm_write_reg(xfm110->base.ctx, LB_REG(mmLB_MEMORY_CTRL), value);
diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c 
b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c
index bcab405a1a33..b17929dc51ea 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c
@@ -800,7 +800,7 @@ static bool dce110_transform_v_power_up_line_buffer(struct 
transform *xfm)
        /*Use all three pieces of memory always*/
        set_reg_field_value(value, 0, LBV_MEMORY_CTRL, LB_MEMORY_CONFIG);
        /*hard coded number DCE11 1712(0x6B0) Partitions: 720/960/1712*/
-       set_reg_field_value(value, LB_TOTAL_NUMBER_OF_ENTRIES, LBV_MEMORY_CTRL,
+       set_reg_field_value(value, xfm110->base.lb_memory_size, LBV_MEMORY_CTRL,
                        LB_MEMORY_SIZE);
 
        dm_write_reg(xfm110->base.ctx, mmLBV_MEMORY_CTRL, value);
diff --git a/drivers/gpu/drm/amd/dal/dc/dce112/dce112_resource.c 
b/drivers/gpu/drm/amd/dal/dc/dce112/dce112_resource.c
index c1456483cbdb..7cd772dbd7ce 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce112/dce112_resource.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce112/dce112_resource.c
@@ -516,8 +516,10 @@ static struct transform *dce112_transform_create(
        if (!transform)
                return NULL;
 
-       if (dce110_transform_construct(transform, ctx, inst, offsets))
+       if (dce110_transform_construct(transform, ctx, inst, offsets)) {
+               transform->base.lb_memory_size = 0x1404; /*5124*/
                return &transform->base;
+       }
 
        BREAK_TO_DEBUGGER();
        dm_free(transform);
diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.c 
b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.c
index a37ecb842f74..48cbcbb28c77 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.c
@@ -105,6 +105,8 @@ bool dce80_transform_construct(
        xfm80->base.lb_bits_per_entry = LB_BITS_PER_ENTRY;
        xfm80->base.lb_total_entries_num = LB_TOTAL_NUMBER_OF_ENTRIES;
 
+       xfm80->base.lb_memory_size = 0x6B0; /*1712*/
+
        return true;
 }
 
diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_bit_depth.c 
b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_bit_depth.c
index 264d260320a6..cd310a99144c 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_bit_depth.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_bit_depth.c
@@ -732,7 +732,7 @@ bool dce80_transform_power_up_line_buffer(struct transform 
*xfm)
        /*Use all three pieces of memory always*/
        set_reg_field_value(value, 0, LB_MEMORY_CTRL, LB_MEMORY_CONFIG);
        /*hard coded number DCE8 1712(0x6B0) Partitions: 720/960/1712*/
-       set_reg_field_value(value, LB_TOTAL_NUMBER_OF_ENTRIES, LB_MEMORY_CTRL,
+       set_reg_field_value(value, xfm80->base.lb_memory_size, LB_MEMORY_CTRL,
                        LB_MEMORY_SIZE);
 
        dm_write_reg(xfm80->base.ctx, LB_REG(mmLB_MEMORY_CTRL), value);
diff --git a/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h 
b/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h
index 8053455ffdbf..31547406aa31 100644
--- a/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h
+++ b/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h
@@ -40,6 +40,7 @@ struct transform {
 
        int lb_total_entries_num;
        int lb_bits_per_entry;
+       unsigned int lb_memory_size;
 };
 
 enum lb_pixel_depth {
-- 
2.10.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to