[PATCH 22/76] drm/amd/dal: remove AS dependency from i2c_aux
Harry Wentland
harry.wentland at amd.com
Mon Nov 21 23:00:42 UTC 2016
From: Tony Cheng <tony.cheng at amd.com>
- remove dal_adapter_service_get_firmware_info. call bios directly
- remove dal_adapter_service_get_i2caux. get i2caux from dc_ctx
- remove FEATURE_RESTORE_USAGE_I2C_SW_ENGINE. always 0
Signed-off-by: Tony Cheng <tony.cheng at amd.com>
Acked-by: Harry Wentland <harry.wentland at amd.com>
---
.../gpu/drm/amd/dal/dc/adapter/adapter_service.c | 26 +-----------------
drivers/gpu/drm/amd/dal/dc/core/dc.c | 2 +-
drivers/gpu/drm/amd/dal/dc/dc_types.h | 6 ++++-
.../gpu/drm/amd/dal/dc/dce100/dce100_resource.c | 2 +-
.../gpu/drm/amd/dal/dc/dce110/dce110_resource.c | 2 +-
drivers/gpu/drm/amd/dal/dc/dce80/dce80_resource.c | 2 +-
.../amd/dal/dc/gpu/dce110/display_clock_dce110.c | 3 ++-
.../drm/amd/dal/dc/gpu/dce80/display_clock_dce80.c | 3 ++-
.../drm/amd/dal/dc/i2caux/dce100/i2caux_dce100.c | 2 --
.../drm/amd/dal/dc/i2caux/dce100/i2caux_dce100.h | 1 -
.../drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c | 10 ++-----
.../drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.h | 2 --
.../drm/amd/dal/dc/i2caux/dce112/i2caux_dce112.c | 5 +---
.../drm/amd/dal/dc/i2caux/dce112/i2caux_dce112.h | 1 -
.../gpu/drm/amd/dal/dc/i2caux/dce80/i2caux_dce80.c | 8 +++---
.../gpu/drm/amd/dal/dc/i2caux/dce80/i2caux_dce80.h | 1 -
.../amd/dal/dc/i2caux/diagnostics/i2caux_diag.c | 6 ++---
.../amd/dal/dc/i2caux/diagnostics/i2caux_diag.h | 1 -
drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.c | 31 +++++++---------------
drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.h | 3 +--
.../amd/dal/include/adapter_service_interface.h | 6 -----
drivers/gpu/drm/amd/dal/include/i2caux_interface.h | 1 -
22 files changed, 32 insertions(+), 92 deletions(-)
diff --git a/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c b/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c
index d25f9da35b07..328cc8a41770 100644
--- a/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c
+++ b/drivers/gpu/drm/amd/dal/dc/adapter/adapter_service.c
@@ -86,16 +86,6 @@ static const struct feature_source_entry feature_entry_table[] = {
{FEATURE_MAXIMIZE_URGENCY_WATERMARKS, false, true},
{FEATURE_MAXIMIZE_STUTTER_MARKS, false, true},
{FEATURE_MAXIMIZE_NBP_MARKS, false, true},
- /*
- * We meet HW I2C issue when test S3 resume on KB.
- * An EPR is created for debug the issue.
- * Make Test has already been implemented
- * with HW I2C. The work load for revert back to SW I2C in make test
- * is big. Below is workaround for this issue.
- * Driver uses SW I2C.
- * Make Test uses HW I2C.
- */
- {FEATURE_RESTORE_USAGE_I2C_SW_ENGINE, false, true},
{FEATURE_USE_MAX_DISPLAY_CLK, false, true},
{FEATURE_ALLOW_EDP_RESOURCE_SHARING, false, true},
{FEATURE_SUPPORT_DP_YUV, false, true},
@@ -672,7 +662,7 @@ static bool adapter_service_construct(
dcb = as->ctx->dc_bios;
/* Create I2C AUX */
- as->i2caux = dal_i2caux_create(as, as->ctx);
+ as->i2caux = dal_i2caux_create(as->ctx);
if (!as->i2caux) {
ASSERT_CRITICAL(false);
@@ -943,20 +933,6 @@ struct dal_asic_runtime_flags dal_adapter_service_get_asic_runtime_flags(
}
/*
- * dal_adapter_service_get_firmware_info
- *
- * Get firmware information from BIOS
- */
-bool dal_adapter_service_get_firmware_info(
- struct adapter_service *as,
- struct firmware_info *info)
-{
- struct dc_bios *dcb = as->ctx->dc_bios;
-
- return dcb->funcs->get_firmware_info(dcb, info) == BP_RESULT_OK;
-}
-
-/*
* dal_adapter_service_get_feature_value
*
* Get the cached value of a given feature. This value can be a boolean, int,
diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc.c b/drivers/gpu/drm/amd/dal/dc/core/dc.c
index a65950bf771b..ec33cf9a7fd0 100644
--- a/drivers/gpu/drm/amd/dal/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/dal/dc/core/dc.c
@@ -518,8 +518,8 @@ static bool construct(struct core_dc *dc,
dc->ctx = dc_ctx;
dc->ctx->dce_environment = init_params->dce_environment;
-
dc_version = resource_parse_asic_id(init_params->asic_id);
+ dc->ctx->dce_version = dc_version;
/* Resource should construct all asic specific resources.
* This should be the only place where we need to parse the asic id
diff --git a/drivers/gpu/drm/amd/dal/dc/dc_types.h b/drivers/gpu/drm/amd/dal/dc/dc_types.h
index 38ca365da1ad..b30dfbf7281e 100644
--- a/drivers/gpu/drm/amd/dal/dc/dc_types.h
+++ b/drivers/gpu/drm/amd/dal/dc/dc_types.h
@@ -30,7 +30,7 @@
#include "irq_types.h"
#include "dc_dp_types.h"
#include "dc_hw_types.h"
-#include "signal_types.h"
+#include "dal_types.h"
/* forward declarations */
struct dc_surface;
@@ -73,6 +73,10 @@ struct dc_context {
enum dce_environment dce_environment;
+ /* todo: below should probably move to dc. to facilitate removal
+ * of AS we will store these here
+ */
+ enum dce_version dce_version;
struct dc_bios *dc_bios;
bool created_bios;
struct gpio_service *gpio_service;
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 c8c83e86eb53..d1587fe3b854 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce100/dce100_resource.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce100/dce100_resource.c
@@ -880,7 +880,7 @@ static bool construct(
bp = ctx->dc_bios;
- if (dal_adapter_service_get_firmware_info(as, &info) &&
+ if ((bp->funcs->get_firmware_info(bp, &info) == BP_RESULT_OK) &&
info.external_clock_source_frequency_for_dp != 0) {
pool->base.dp_clock_source =
dce100_clock_source_create(ctx, bp, CLOCK_SOURCE_ID_EXTERNAL, NULL, true);
diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c
index 82cdcb5c2eb1..33f4455e80f6 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c
@@ -1211,7 +1211,7 @@ static bool construct(
bp = ctx->dc_bios;
- if (dal_adapter_service_get_firmware_info(as, &info) &&
+ if ((bp->funcs->get_firmware_info(bp, &info) == BP_RESULT_OK) &&
info.external_clock_source_frequency_for_dp != 0) {
pool->base.dp_clock_source =
dce110_clock_source_create(ctx, bp, CLOCK_SOURCE_ID_EXTERNAL, NULL, true);
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 705c69a8a5c4..932f37559da9 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_resource.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_resource.c
@@ -886,7 +886,7 @@ static bool construct(
bp = ctx->dc_bios;
- if (dal_adapter_service_get_firmware_info(as, &info) &&
+ if ((bp->funcs->get_firmware_info(bp, &info) == BP_RESULT_OK) &&
info.external_clock_source_frequency_for_dp != 0) {
pool->base.dp_clock_source =
dce80_clock_source_create(ctx, bp, CLOCK_SOURCE_ID_EXTERNAL, NULL, true);
diff --git a/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c b/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c
index d422294715ce..8b9d984f3bb9 100644
--- a/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c
+++ b/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c
@@ -670,6 +670,7 @@ static bool display_clock_integrated_info_construct(
struct display_clock_dce110 *disp_clk,
struct adapter_service *as)
{
+ struct dc_bios *bp = disp_clk->disp_clk_base.ctx->dc_bios;
struct integrated_info info;
struct firmware_info fw_info;
uint32_t i;
@@ -683,7 +684,7 @@ static bool display_clock_integrated_info_construct(
disp_clk->dentist_vco_freq_khz = info.dentist_vco_freq;
if (disp_clk->dentist_vco_freq_khz == 0) {
- dal_adapter_service_get_firmware_info(as, &fw_info);
+ bp->funcs->get_firmware_info(bp, &fw_info);
disp_clk->dentist_vco_freq_khz =
fw_info.smu_gpu_pll_output_freq;
if (disp_clk->dentist_vco_freq_khz == 0)
diff --git a/drivers/gpu/drm/amd/dal/dc/gpu/dce80/display_clock_dce80.c b/drivers/gpu/drm/amd/dal/dc/gpu/dce80/display_clock_dce80.c
index e37b397bbd9f..b69e40493e27 100644
--- a/drivers/gpu/drm/amd/dal/dc/gpu/dce80/display_clock_dce80.c
+++ b/drivers/gpu/drm/amd/dal/dc/gpu/dce80/display_clock_dce80.c
@@ -753,6 +753,7 @@ static bool display_clock_integrated_info_construct(
struct display_clock_dce80 *disp_clk,
struct adapter_service *as)
{
+ struct dc_bios *bp = disp_clk->disp_clk.ctx->dc_bios;
struct integrated_info info = { { { 0 } } };
struct firmware_info fw_info = { { 0 } };
uint32_t i;
@@ -761,7 +762,7 @@ static bool display_clock_integrated_info_construct(
disp_clk->dentist_vco_freq_khz = info.dentist_vco_freq;
if (disp_clk->dentist_vco_freq_khz == 0) {
- dal_adapter_service_get_firmware_info(as, &fw_info);
+ bp->funcs->get_firmware_info(bp, &fw_info);
disp_clk->dentist_vco_freq_khz =
fw_info.smu_gpu_pll_output_freq;
if (disp_clk->dentist_vco_freq_khz == 0)
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/dce100/i2caux_dce100.c b/drivers/gpu/drm/amd/dal/dc/i2caux/dce100/i2caux_dce100.c
index e3ababdfe7aa..ab138464aaa2 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/dce100/i2caux_dce100.c
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/dce100/i2caux_dce100.c
@@ -77,7 +77,6 @@ static const struct dce110_i2c_hw_engine_registers dce100_hw_engine_regs[] = {
};
struct i2caux *dal_i2caux_dce100_create(
- struct adapter_service *as,
struct dc_context *ctx)
{
struct i2caux_dce110 *i2caux_dce110 =
@@ -90,7 +89,6 @@ struct i2caux *dal_i2caux_dce100_create(
if (dal_i2caux_dce110_construct(
i2caux_dce110,
- as,
ctx,
dce100_aux_regs,
dce100_hw_engine_regs))
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/dce100/i2caux_dce100.h b/drivers/gpu/drm/amd/dal/dc/i2caux/dce100/i2caux_dce100.h
index b2902c65d645..2b508d3e0ef4 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/dce100/i2caux_dce100.h
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/dce100/i2caux_dce100.h
@@ -27,7 +27,6 @@
#define __DAL_I2C_AUX_DCE100_H__
struct i2caux *dal_i2caux_dce100_create(
- struct adapter_service *as,
struct dc_context *ctx);
#endif /* __DAL_I2C_AUX_DCE100_H__ */
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c b/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c
index 566056b6782f..a66c365edfac 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.c
@@ -190,7 +190,6 @@ static const struct dce110_i2c_hw_engine_registers i2c_hw_engine_regs[] = {
bool dal_i2caux_dce110_construct(
struct i2caux_dce110 *i2caux_dce110,
- struct adapter_service *as,
struct dc_context *ctx,
const struct dce110_aux_registers aux_regs[],
const struct dce110_i2c_hw_engine_registers i2c_hw_engine_regs[])
@@ -204,14 +203,11 @@ bool dal_i2caux_dce110_construct(
* Some BIOS setting incorrect cause this
* For production, we always get value from BIOS*/
reference_frequency =
- dal_i2caux_get_reference_clock(as) >> 1;
-
- use_i2c_sw_engine = dal_adapter_service_is_feature_supported(as,
- FEATURE_RESTORE_USAGE_I2C_SW_ENGINE);
+ dal_i2caux_get_reference_clock(ctx->dc_bios) >> 1;
base = &i2caux_dce110->base;
- if (!dal_i2caux_construct(base, as, ctx)) {
+ if (!dal_i2caux_construct(base, ctx)) {
ASSERT_CRITICAL(false);
return false;
}
@@ -288,7 +284,6 @@ bool dal_i2caux_dce110_construct(
* pointer to the base struct of DCE11 I2CAUX
*/
struct i2caux *dal_i2caux_dce110_create(
- struct adapter_service *as,
struct dc_context *ctx)
{
struct i2caux_dce110 *i2caux_dce110 =
@@ -301,7 +296,6 @@ struct i2caux *dal_i2caux_dce110_create(
if (dal_i2caux_dce110_construct(
i2caux_dce110,
- as,
ctx,
dce110_aux_regs,
i2c_hw_engine_regs))
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.h b/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.h
index d26eec0ff12c..4d544f4e6289 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.h
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/dce110/i2caux_dce110.h
@@ -38,12 +38,10 @@ struct dce110_aux_registers;
struct dce110_i2c_hw_engine_registers;
struct i2caux *dal_i2caux_dce110_create(
- struct adapter_service *as,
struct dc_context *ctx);
bool dal_i2caux_dce110_construct(
struct i2caux_dce110 *i2caux_dce110,
- struct adapter_service *as,
struct dc_context *ctx,
const struct dce110_aux_registers *aux_regs,
const struct dce110_i2c_hw_engine_registers *i2c_hw_engine_regs);
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/dce112/i2caux_dce112.c b/drivers/gpu/drm/amd/dal/dc/i2caux/dce112/i2caux_dce112.c
index 748f0c4c3968..2b1456e3d367 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/dce112/i2caux_dce112.c
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/dce112/i2caux_dce112.c
@@ -81,12 +81,10 @@ static const struct dce110_i2c_hw_engine_registers dce112_hw_engine_regs[] = {
static bool construct(
struct i2caux_dce110 *i2caux_dce110,
- struct adapter_service *as,
struct dc_context *ctx)
{
if (!dal_i2caux_dce110_construct(
i2caux_dce110,
- as,
ctx,
dce112_aux_regs,
dce112_hw_engine_regs)) {
@@ -111,7 +109,6 @@ static bool construct(
* pointer to the base struct of DCE11 I2CAUX
*/
struct i2caux *dal_i2caux_dce112_create(
- struct adapter_service *as,
struct dc_context *ctx)
{
struct i2caux_dce110 *i2caux_dce110 =
@@ -122,7 +119,7 @@ struct i2caux *dal_i2caux_dce112_create(
return NULL;
}
- if (construct(i2caux_dce110, as, ctx))
+ if (construct(i2caux_dce110, ctx))
return &i2caux_dce110->base;
ASSERT_CRITICAL(false);
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/dce112/i2caux_dce112.h b/drivers/gpu/drm/amd/dal/dc/i2caux/dce112/i2caux_dce112.h
index 06a530c7c996..8d35453c25b6 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/dce112/i2caux_dce112.h
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/dce112/i2caux_dce112.h
@@ -27,7 +27,6 @@
#define __DAL_I2C_AUX_DCE112_H__
struct i2caux *dal_i2caux_dce112_create(
- struct adapter_service *as,
struct dc_context *ctx);
#endif /* __DAL_I2C_AUX_DCE112_H__ */
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/dce80/i2caux_dce80.c b/drivers/gpu/drm/amd/dal/dc/i2caux/dce80/i2caux_dce80.c
index be1d26408d97..5e71450c44e0 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/dce80/i2caux_dce80.c
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/dce80/i2caux_dce80.c
@@ -189,7 +189,6 @@ static const struct i2caux_funcs i2caux_funcs = {
static bool construct(
struct i2caux_dce80 *i2caux_dce80,
- struct adapter_service *as,
struct dc_context *ctx)
{
/* Entire family have I2C engine reference clock frequency
@@ -198,7 +197,7 @@ static bool construct(
struct i2caux *base = &i2caux_dce80->base;
uint32_t reference_frequency =
- dal_i2caux_get_reference_clock(as) >> 1;
+ dal_i2caux_get_reference_clock(ctx->dc_bios) >> 1;
/*bool use_i2c_sw_engine = dal_adapter_service_is_feature_supported(as,
FEATURE_RESTORE_USAGE_I2C_SW_ENGINE);*/
@@ -208,7 +207,7 @@ static bool construct(
uint32_t i;
- if (!dal_i2caux_construct(base, as, ctx)) {
+ if (!dal_i2caux_construct(base, ctx)) {
BREAK_TO_DEBUGGER();
return false;
}
@@ -275,7 +274,6 @@ static bool construct(
}
struct i2caux *dal_i2caux_dce80_create(
- struct adapter_service *as,
struct dc_context *ctx)
{
struct i2caux_dce80 *i2caux_dce80 =
@@ -286,7 +284,7 @@ struct i2caux *dal_i2caux_dce80_create(
return NULL;
}
- if (construct(i2caux_dce80, as, ctx))
+ if (construct(i2caux_dce80, ctx))
return &i2caux_dce80->base;
BREAK_TO_DEBUGGER();
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/dce80/i2caux_dce80.h b/drivers/gpu/drm/amd/dal/dc/i2caux/dce80/i2caux_dce80.h
index 85417a896279..21908629e973 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/dce80/i2caux_dce80.h
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/dce80/i2caux_dce80.h
@@ -33,7 +33,6 @@ struct i2caux_dce80 {
};
struct i2caux *dal_i2caux_dce80_create(
- struct adapter_service *as,
struct dc_context *ctx);
#endif
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/diagnostics/i2caux_diag.c b/drivers/gpu/drm/amd/dal/dc/i2caux/diagnostics/i2caux_diag.c
index 027b207654d2..029bf735036c 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/diagnostics/i2caux_diag.c
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/diagnostics/i2caux_diag.c
@@ -75,10 +75,9 @@ static const struct i2caux_funcs i2caux_funcs = {
static bool construct(
struct i2caux *i2caux,
- struct adapter_service *as,
struct dc_context *ctx)
{
- if (!dal_i2caux_construct(i2caux, as, ctx)) {
+ if (!dal_i2caux_construct(i2caux, ctx)) {
ASSERT_CRITICAL(false);
return false;
}
@@ -89,7 +88,6 @@ static bool construct(
}
struct i2caux *dal_i2caux_diag_fpga_create(
- struct adapter_service *as,
struct dc_context *ctx)
{
struct i2caux *i2caux = dm_alloc(sizeof(struct i2caux));
@@ -99,7 +97,7 @@ struct i2caux *dal_i2caux_diag_fpga_create(
return NULL;
}
- if (construct(i2caux, as, ctx))
+ if (construct(i2caux, ctx))
return i2caux;
ASSERT_CRITICAL(false);
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/diagnostics/i2caux_diag.h b/drivers/gpu/drm/amd/dal/dc/i2caux/diagnostics/i2caux_diag.h
index 3de250bd7660..a83eeb748283 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/diagnostics/i2caux_diag.h
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/diagnostics/i2caux_diag.h
@@ -27,7 +27,6 @@
#define __DAL_I2C_AUX_DIAG_FPGA_H__
struct i2caux *dal_i2caux_diag_fpga_create(
- struct adapter_service *as,
struct dc_context *ctx);
#endif /* __DAL_I2C_AUX_DIAG_FPGA_H__ */
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.c b/drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.c
index d9121316d255..63ffd7cb418d 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.c
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.c
@@ -64,33 +64,21 @@
*/
struct i2caux *dal_i2caux_create(
- struct adapter_service *as,
struct dc_context *ctx)
{
- enum dce_version dce_version;
- enum dce_environment dce_environment;
-
- if (!as) {
- BREAK_TO_DEBUGGER();
- return NULL;
- }
-
- dce_version = dal_adapter_service_get_dce_version(as);
- dce_environment = ctx->dce_environment;
-
- if (IS_FPGA_MAXIMUS_DC(dce_environment)) {
- return dal_i2caux_diag_fpga_create(as, ctx);
+ if (IS_FPGA_MAXIMUS_DC(ctx->dce_environment)) {
+ return dal_i2caux_diag_fpga_create(ctx);
}
- switch (dce_version) {
+ switch (ctx->dce_version) {
case DCE_VERSION_8_0:
- return dal_i2caux_dce80_create(as, ctx);
+ return dal_i2caux_dce80_create(ctx);
case DCE_VERSION_11_2:
- return dal_i2caux_dce112_create(as, ctx);
+ return dal_i2caux_dce112_create(ctx);
case DCE_VERSION_11_0:
- return dal_i2caux_dce110_create(as, ctx);
+ return dal_i2caux_dce110_create(ctx);
case DCE_VERSION_10_0:
- return dal_i2caux_dce100_create(as, ctx);
+ return dal_i2caux_dce100_create(ctx);
default:
BREAK_TO_DEBUGGER();
return NULL;
@@ -313,11 +301,11 @@ void dal_i2caux_destroy(
*/
uint32_t dal_i2caux_get_reference_clock(
- struct adapter_service *as)
+ struct dc_bios *bios)
{
struct firmware_info info = { { 0 } };
- if (!dal_adapter_service_get_firmware_info(as, &info))
+ if (bios->funcs->get_firmware_info(bios, &info) != BP_RESULT_OK)
return 0;
return info.pll_info.crystal_frequency;
@@ -413,7 +401,6 @@ void dal_i2caux_release_engine(
bool dal_i2caux_construct(
struct i2caux *i2caux,
- struct adapter_service *as,
struct dc_context *ctx)
{
uint32_t i = 0;
diff --git a/drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.h b/drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.h
index 76f5b637ec3f..bc20de3da1c4 100644
--- a/drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.h
+++ b/drivers/gpu/drm/amd/dal/dc/i2caux/i2caux.h
@@ -27,7 +27,7 @@
#define __DAL_I2C_AUX_H__
uint32_t dal_i2caux_get_reference_clock(
- struct adapter_service *as);
+ struct dc_bios *bios);
struct i2caux;
@@ -99,7 +99,6 @@ struct i2caux {
bool dal_i2caux_construct(
struct i2caux *i2caux,
- struct adapter_service *as,
struct dc_context *ctx);
void dal_i2caux_release_engine(
diff --git a/drivers/gpu/drm/amd/dal/include/adapter_service_interface.h b/drivers/gpu/drm/amd/dal/include/adapter_service_interface.h
index ef45693925d6..9de495532eb1 100644
--- a/drivers/gpu/drm/amd/dal/include/adapter_service_interface.h
+++ b/drivers/gpu/drm/amd/dal/include/adapter_service_interface.h
@@ -76,7 +76,6 @@ enum adapter_feature_id {
FEATURE_MAXIMIZE_URGENCY_WATERMARKS,
FEATURE_MAXIMIZE_STUTTER_MARKS,
FEATURE_MAXIMIZE_NBP_MARKS,
- FEATURE_RESTORE_USAGE_I2C_SW_ENGINE,
FEATURE_USE_MAX_DISPLAY_CLK,
FEATURE_ALLOW_EDP_RESOURCE_SHARING,
FEATURE_SUPPORT_DP_YUV,
@@ -337,11 +336,6 @@ void dal_adapter_service_destroy(
enum dce_version dal_adapter_service_get_dce_version(
const struct adapter_service *as);
-/* Get firmware information from BIOS */
-bool dal_adapter_service_get_firmware_info(
- struct adapter_service *as,
- struct firmware_info *info);
-
/* Get number of spread spectrum entries from BIOS */
uint32_t dal_adapter_service_get_ss_info_num(
struct adapter_service *as,
diff --git a/drivers/gpu/drm/amd/dal/include/i2caux_interface.h b/drivers/gpu/drm/amd/dal/include/i2caux_interface.h
index ecbf84908b0b..a78576a38b36 100644
--- a/drivers/gpu/drm/amd/dal/include/i2caux_interface.h
+++ b/drivers/gpu/drm/amd/dal/include/i2caux_interface.h
@@ -67,7 +67,6 @@ union aux_config {
struct i2caux;
struct i2caux *dal_i2caux_create(
- struct adapter_service *as,
struct dc_context *ctx);
bool dal_i2caux_submit_i2c_command(
--
2.10.1
More information about the amd-gfx
mailing list