diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1028-drm-amd-display-program-fbc-for-scatter-gather.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1028-drm-amd-display-program-fbc-for-scatter-gather.patch | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1028-drm-amd-display-program-fbc-for-scatter-gather.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1028-drm-amd-display-program-fbc-for-scatter-gather.patch new file mode 100644 index 00000000..7bcc2d6d --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1028-drm-amd-display-program-fbc-for-scatter-gather.patch @@ -0,0 +1,55 @@ +From 5a411198e5d73cc6c690179c860ce699ff591b39 Mon Sep 17 00:00:00 2001 +From: Roman Li <Roman.Li@amd.com> +Date: Fri, 25 Aug 2017 16:44:20 -0400 +Subject: [PATCH 1028/4131] drm/amd/display: program fbc for scatter/gather + +Fixing screen flickering when FBC enabled on Stoney + +Change-Id: I14bb589ecc537b02ac62c710c852f3886156d15c +Signed-off-by: Roman Li <Roman.Li@amd.com> +Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> +--- + .../gpu/drm/amd/display/dc/dce110/dce110_compressor.c | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.c +index 2e97e57..f82c269 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.c ++++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_compressor.c +@@ -189,7 +189,7 @@ void dce110_compressor_enable_fbc( + (!dce110_compressor_is_fbc_enabled_in_hw(compressor, NULL))) { + + uint32_t addr; +- uint32_t value; ++ uint32_t value, misc_value; + + + addr = mmFBC_CNTL; +@@ -206,9 +206,23 @@ void dce110_compressor_enable_fbc( + compressor->attached_inst = params->inst; + cp110->offsets = reg_offsets[params->inst]; + +- /*Toggle it as there is bug in HW */ ++ /* Toggle it as there is bug in HW */ + set_reg_field_value(value, 0, FBC_CNTL, FBC_GRPH_COMP_EN); + dm_write_reg(compressor->ctx, addr, value); ++ ++ /* FBC usage with scatter & gather for dce110 */ ++ misc_value = dm_read_reg(compressor->ctx, mmFBC_MISC); ++ ++ set_reg_field_value(misc_value, 1, ++ FBC_MISC, FBC_INVALIDATE_ON_ERROR); ++ set_reg_field_value(misc_value, 1, ++ FBC_MISC, FBC_DECOMPRESS_ERROR_CLEAR); ++ set_reg_field_value(misc_value, 0x14, ++ FBC_MISC, FBC_SLOW_REQ_INTERVAL); ++ ++ dm_write_reg(compressor->ctx, mmFBC_MISC, misc_value); ++ ++ /* Enable FBC */ + set_reg_field_value(value, 1, FBC_CNTL, FBC_GRPH_COMP_EN); + dm_write_reg(compressor->ctx, addr, value); + +-- +2.7.4 + |