mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 13:29:17 -04:00
drm/amd/display: adding reading OEM init_data to dcn3
why: missing OEM data to control graphics card functions how: load it into init_data. copied over from dcn2 implementation. copied destruction sequence as well. Signed-off-by: Martin Leung <martin.leung@amd.com> Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
e5df916b85
commit
bf479f5a1d
@@ -60,6 +60,7 @@
|
||||
#include "dml/display_mode_vba.h"
|
||||
#include "dcn30/dcn30_dccg.h"
|
||||
#include "dcn10/dcn10_resource.h"
|
||||
#include "dc_link_ddc.h"
|
||||
#include "dce/dce_panel_cntl.h"
|
||||
|
||||
#include "dcn30/dcn30_dwb.h"
|
||||
@@ -1321,6 +1322,9 @@ static void dcn30_resource_destruct(struct dcn30_resource_pool *pool)
|
||||
|
||||
if (pool->base.dccg != NULL)
|
||||
dcn_dccg_destroy(&pool->base.dccg);
|
||||
|
||||
if (pool->base.oem_device != NULL)
|
||||
dal_ddc_service_destroy(&pool->base.oem_device);
|
||||
}
|
||||
|
||||
static struct hubp *dcn30_hubp_create(
|
||||
@@ -2589,6 +2593,7 @@ static bool dcn30_resource_construct(
|
||||
int i;
|
||||
struct dc_context *ctx = dc->ctx;
|
||||
struct irq_service_init_data init_data;
|
||||
struct ddc_service_init_data ddc_init_data;
|
||||
|
||||
ctx->dc_bios->regs = &bios_regs;
|
||||
|
||||
@@ -2856,6 +2861,17 @@ static bool dcn30_resource_construct(
|
||||
|
||||
dc->cap_funcs = cap_funcs;
|
||||
|
||||
if (dc->ctx->dc_bios->fw_info.oem_i2c_present) {
|
||||
ddc_init_data.ctx = dc->ctx;
|
||||
ddc_init_data.link = NULL;
|
||||
ddc_init_data.id.id = dc->ctx->dc_bios->fw_info.oem_i2c_obj_id;
|
||||
ddc_init_data.id.enum_id = 0;
|
||||
ddc_init_data.id.type = OBJECT_TYPE_GENERIC;
|
||||
pool->base.oem_device = dal_ddc_service_create(&ddc_init_data);
|
||||
} else {
|
||||
pool->base.oem_device = NULL;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
create_fail:
|
||||
|
||||
Reference in New Issue
Block a user