From: Dmytro Laktyushkin <dmytro.laktyush...@amd.com>

- Underlay was missing default lb memory size
- Unify num_of_entries and memory size

Change-Id: I521ec6532dba4de55491c4fb164a44bf93250698
Signed-off-by: Dmytro Laktyushkin <dmytro.laktyush...@amd.com>
Reviewed-by: Reviewed-by: Jordan Lazare <jordan.laz...@amd.com>
Acked-by: Harry Wentland <harry.wentl...@amd.com>
---
 drivers/gpu/drm/amd/dal/dc/dce/dce_transform.c     | 24 ++++++++++------------
 drivers/gpu/drm/amd/dal/dc/dce/dce_transform.h     |  4 +++-
 .../gpu/drm/amd/dal/dc/dce100/dce100_resource.c    |  1 -
 .../gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c |  6 +++---
 .../gpu/drm/amd/dal/dc/dce112/dce112_resource.c    |  2 +-
 drivers/gpu/drm/amd/dal/dc/dce80/dce80_resource.c  |  1 -
 drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h      |  4 ----
 7 files changed, 18 insertions(+), 24 deletions(-)

diff --git a/drivers/gpu/drm/amd/dal/dc/dce/dce_transform.c 
b/drivers/gpu/drm/amd/dal/dc/dce/dce_transform.c
index 4659deadcc15..f47b6617f662 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce/dce_transform.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce/dce_transform.c
@@ -285,7 +285,7 @@ static void dce_transform_set_scaler(
        /*Use all three pieces of memory always*/
        REG_SET_2(LB_MEMORY_CTRL, 0,
                        LB_MEMORY_CONFIG, 0,
-                       LB_MEMORY_SIZE, xfm_dce->base.lb_memory_size);
+                       LB_MEMORY_SIZE, xfm_dce->lb_memory_size);
 
        /* 1. Program overscan */
        program_overscan(xfm_dce, data);
@@ -649,7 +649,7 @@ static void program_bit_depth_reduction(
 }
 
 static int dce_transform_get_max_num_of_supported_lines(
-       struct transform *xfm,
+       struct dce_transform *xfm_dce,
        enum lb_pixel_depth depth,
        int pixel_width)
 {
@@ -663,23 +663,23 @@ static int dce_transform_get_max_num_of_supported_lines(
         * across multiple entries. */
        switch (depth) {
        case LB_PIXEL_DEPTH_18BPP:
-               pixels_per_entries = xfm->lb_bits_per_entry / 18;
+               pixels_per_entries = xfm_dce->lb_bits_per_entry / 18;
                break;
 
        case LB_PIXEL_DEPTH_24BPP:
-               pixels_per_entries = xfm->lb_bits_per_entry / 24;
+               pixels_per_entries = xfm_dce->lb_bits_per_entry / 24;
                break;
 
        case LB_PIXEL_DEPTH_30BPP:
-               pixels_per_entries = xfm->lb_bits_per_entry / 30;
+               pixels_per_entries = xfm_dce->lb_bits_per_entry / 30;
                break;
 
        case LB_PIXEL_DEPTH_36BPP:
-               pixels_per_entries = xfm->lb_bits_per_entry / 36;
+               pixels_per_entries = xfm_dce->lb_bits_per_entry / 36;
                break;
 
        default:
-               dm_logger_write(xfm->ctx->logger, LOG_WARNING,
+               dm_logger_write(xfm_dce->base.ctx->logger, LOG_WARNING,
                        "%s: Invalid LB pixel depth",
                        __func__);
                BREAK_TO_DEBUGGER();
@@ -690,7 +690,7 @@ static int dce_transform_get_max_num_of_supported_lines(
 
        max_pixels_supports =
                        pixels_per_entries *
-                       xfm->lb_total_entries_num;
+                       xfm_dce->lb_memory_size;
 
        return (max_pixels_supports / pixel_width);
 }
@@ -899,7 +899,7 @@ bool dce_transform_get_optimal_number_of_taps(
                pixel_width = scl_data->recout.width;
 
        max_num_of_lines = dce_transform_get_max_num_of_supported_lines(
-               xfm,
+               xfm_dce,
                scl_data->lb_params.depth,
                pixel_width);
 
@@ -995,10 +995,8 @@ bool dce_transform_construct(
                        LB_PIXEL_DEPTH_24BPP |
                        LB_PIXEL_DEPTH_30BPP;
 
-       xfm_dce->base.lb_bits_per_entry = LB_BITS_PER_ENTRY;
-       xfm_dce->base.lb_total_entries_num = LB_TOTAL_NUMBER_OF_ENTRIES;
-
-       xfm_dce->base.lb_memory_size = 0x6B0; /*1712*/
+       xfm_dce->lb_bits_per_entry = LB_BITS_PER_ENTRY;
+       xfm_dce->lb_memory_size = LB_TOTAL_NUMBER_OF_ENTRIES; /*0x6B0*/
 
        return true;
 }
diff --git a/drivers/gpu/drm/amd/dal/dc/dce/dce_transform.h 
b/drivers/gpu/drm/amd/dal/dc/dce/dce_transform.h
index b793ddda4783..897645e2889f 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce/dce_transform.h
+++ b/drivers/gpu/drm/amd/dal/dc/dce/dce_transform.h
@@ -291,7 +291,9 @@ struct dce_transform {
        const uint16_t *filter_h;
        const uint16_t *filter_v_c;
        const uint16_t *filter_h_c;
-       uint32_t lb_pixel_depth_supported;
+       int lb_pixel_depth_supported;
+       int lb_memory_size;
+       int lb_bits_per_entry;
        bool prescaler_on;
 };
 
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 08e0ca11a48d..fafc976e5209 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce100/dce100_resource.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce100/dce100_resource.c
@@ -541,7 +541,6 @@ static struct transform *dce100_transform_create(
 
        if (dce_transform_construct(transform, ctx, inst,
                        &xfm_regs[inst], &xfm_shift, &xfm_mask)) {
-               transform->base.lb_memory_size = 0x6B0; /*1712*/
                return &transform->base;
        }
 
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 4f2aa7722961..7d8cf7a58f46 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
@@ -503,7 +503,7 @@ static bool dce110_xfmv_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, xfm_dce->base.lb_memory_size, 
LBV_MEMORY_CTRL,
+       set_reg_field_value(value, xfm_dce->lb_memory_size, LBV_MEMORY_CTRL,
                        LB_MEMORY_SIZE);
 
        dm_write_reg(xfm_dce->base.ctx, mmLBV_MEMORY_CTRL, value);
@@ -697,8 +697,8 @@ bool dce110_transform_v_construct(
                        LB_PIXEL_DEPTH_30BPP;
 
        xfm_dce->prescaler_on = true;
-       xfm_dce->base.lb_bits_per_entry = LB_BITS_PER_ENTRY;
-       xfm_dce->base.lb_total_entries_num = LB_TOTAL_NUMBER_OF_ENTRIES;
+       xfm_dce->lb_bits_per_entry = LB_BITS_PER_ENTRY;
+       xfm_dce->lb_memory_size = LB_TOTAL_NUMBER_OF_ENTRIES; /*0x6B0*/
 
        return true;
 }
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 a9991aa28666..c0d7ecc89374 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce112/dce112_resource.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce112/dce112_resource.c
@@ -555,7 +555,7 @@ static struct transform *dce112_transform_create(
 
        if (dce_transform_construct(transform, ctx, inst,
                        &xfm_regs[inst], &xfm_shift, &xfm_mask)) {
-               transform->base.lb_memory_size = 0x1404; /*5124*/
+               transform->lb_memory_size = 0x1404; /*5124*/
                return &transform->base;
        }
 
diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_resource.c 
b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_resource.c
index 738201b15722..7dc0e9f6165e 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_resource.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_resource.c
@@ -524,7 +524,6 @@ static struct transform *dce80_transform_create(
        if (dce_transform_construct(transform, ctx, inst,
                        &xfm_regs[inst], &xfm_shift, &xfm_mask)) {
                transform->prescaler_on = false;
-               transform->base.lb_memory_size = 0x6B0; /*1712*/
                return &transform->base;
        }
 
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 7f88272f8290..ef743b70b3e9 100644
--- a/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h
+++ b/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h
@@ -37,10 +37,6 @@ struct transform {
        const struct transform_funcs *funcs;
        struct dc_context *ctx;
        int inst;
-
-       int lb_total_entries_num;
-       int lb_bits_per_entry;
-       unsigned int lb_memory_size;
 };
 
 /* Colorimetry */
-- 
2.10.1

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

Reply via email to