[PATCH 38/76] drm/amd/dal: Hard-coded LB_MEMORY_SIZE

Harry Wentland harry.wentland at amd.com
Mon Nov 21 23:00:58 UTC 2016


From: Wesley Chalmers <Wesley.Chalmers at amd.com>

Signed-off-by: Wesley Chalmers <Wesley.Chalmers at amd.com>
Acked-by: Harry Wentland <harry.wentland at 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



More information about the amd-gfx mailing list