diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4898-drm-amd-display-fix-bug-where-we-are-creating-bogus-.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/4898-drm-amd-display-fix-bug-where-we-are-creating-bogus-.patch | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4898-drm-amd-display-fix-bug-where-we-are-creating-bogus-.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4898-drm-amd-display-fix-bug-where-we-are-creating-bogus-.patch new file mode 100644 index 00000000..155882fc --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4898-drm-amd-display-fix-bug-where-we-are-creating-bogus-.patch @@ -0,0 +1,126 @@ +From 37a8f4093a6d92b6b4940e008781c11a8c5025ba Mon Sep 17 00:00:00 2001 +From: Tony Cheng <tony.cheng@amd.com> +Date: Fri, 15 Jun 2018 17:53:35 -0400 +Subject: [PATCH 4898/5725] drm/amd/display: fix bug where we are creating + bogus i2c aux + +[WHY] +we were using 6 instances based on i2caux_dce110.c + +[HOW] +pass in how many instances to ctor + +Signed-off-by: Tony Cheng <tony.cheng@amd.com> +Reviewed-by: Yongqiang Sun <yongqiang.sun@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c | 1 + + drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c | 6 ++++-- + drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h | 1 + + drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c | 1 + + drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c | 1 + + drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c | 1 + + 6 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c +index e8d3781..8b704ab 100644 +--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c ++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce100/i2caux_dce100.c +@@ -97,6 +97,7 @@ struct i2caux *dal_i2caux_dce100_create( + + dal_i2caux_dce110_construct(i2caux_dce110, + ctx, ++ ARRAY_SIZE(dce100_aux_regs), + dce100_aux_regs, + dce100_hw_engine_regs, + &i2c_shift, +diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c +index 2a047f8..e0557d3 100644 +--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c ++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.c +@@ -199,6 +199,7 @@ static const struct dce110_i2c_hw_engine_mask i2c_mask = { + void dal_i2caux_dce110_construct( + struct i2caux_dce110 *i2caux_dce110, + struct dc_context *ctx, ++ unsigned int num_i2caux_inst, + const struct dce110_aux_registers aux_regs[], + const struct dce110_i2c_hw_engine_registers i2c_hw_engine_regs[], + const struct dce110_i2c_hw_engine_shift *i2c_shift, +@@ -251,7 +252,7 @@ void dal_i2caux_dce110_construct( + dal_i2c_hw_engine_dce110_create(&hw_arg_dce110); + + ++i; +- } while (i < ARRAY_SIZE(hw_ddc_lines)); ++ } while (i < num_i2caux_inst); + + /* Create AUX engines for all lines which has assisted HW AUX + * 'i' (loop counter) used as DDC/AUX engine_id */ +@@ -272,7 +273,7 @@ void dal_i2caux_dce110_construct( + dal_aux_engine_dce110_create(&aux_init_data); + + ++i; +- } while (i < ARRAY_SIZE(hw_aux_lines)); ++ } while (i < num_i2caux_inst); + + /*TODO Generic I2C SW and HW*/ + } +@@ -303,6 +304,7 @@ struct i2caux *dal_i2caux_dce110_create( + + dal_i2caux_dce110_construct(i2caux_dce110, + ctx, ++ ARRAY_SIZE(dce110_aux_regs), + dce110_aux_regs, + i2c_hw_engine_regs, + &i2c_shift, +diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h +index 1b1f71c..d3d8cc5 100644 +--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h ++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce110/i2caux_dce110.h +@@ -45,6 +45,7 @@ struct i2caux *dal_i2caux_dce110_create( + void dal_i2caux_dce110_construct( + struct i2caux_dce110 *i2caux_dce110, + struct dc_context *ctx, ++ unsigned int num_i2caux_inst, + const struct dce110_aux_registers *aux_regs, + const struct dce110_i2c_hw_engine_registers *i2c_hw_engine_regs, + const struct dce110_i2c_hw_engine_shift *i2c_shift, +diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c +index dafc1a7..a9db047 100644 +--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c ++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce112/i2caux_dce112.c +@@ -93,6 +93,7 @@ static void construct( + { + dal_i2caux_dce110_construct(i2caux_dce110, + ctx, ++ ARRAY_SIZE(dce112_aux_regs), + dce112_aux_regs, + dce112_hw_engine_regs, + &i2c_shift, +diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c b/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c +index 0e7b182..6a4f344 100644 +--- a/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c ++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dce120/i2caux_dce120.c +@@ -111,6 +111,7 @@ struct i2caux *dal_i2caux_dce120_create( + + dal_i2caux_dce110_construct(i2caux_dce110, + ctx, ++ ARRAY_SIZE(dce120_aux_regs), + dce120_aux_regs, + dce120_hw_engine_regs, + &i2c_shift, +diff --git a/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c b/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c +index e44a890..a59c1f5 100644 +--- a/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c ++++ b/drivers/gpu/drm/amd/display/dc/i2caux/dcn10/i2caux_dcn10.c +@@ -111,6 +111,7 @@ struct i2caux *dal_i2caux_dcn10_create( + + dal_i2caux_dce110_construct(i2caux_dce110, + ctx, ++ ARRAY_SIZE(dcn10_aux_regs), + dcn10_aux_regs, + dcn10_hw_engine_regs, + &i2c_shift, +-- +2.7.4 + |