Commit e8ee21d2 authored by Rex Zhu's avatar Rex Zhu Committed by Alex Deucher
Browse files

drm/amd/dc: Use atombios api directly in DC



In order to remove the cgs wrapper functions for atombios api.

Reviewed-by: default avatarHarry Wentland <Harry.Wentland@amd.com>
Signed-off-by: default avatarRex Zhu <Rex.Zhu@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d32d6617
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
 */

#include "dm_services.h"

#include "amdgpu.h"
#include "atom.h"

#include "include/bios_parser_interface.h"
@@ -35,16 +35,16 @@
#include "bios_parser_types_internal.h"

#define EXEC_BIOS_CMD_TABLE(command, params)\
	(cgs_atom_exec_cmd_table(bp->base.ctx->cgs_device, \
	(amdgpu_atom_execute_table(((struct amdgpu_device *)bp->base.ctx->driver_context)->mode_info.atom_context, \
		GetIndexIntoMasterTable(COMMAND, command), \
		&params) == 0)
		(uint32_t *)&params) == 0)

#define BIOS_CMD_TABLE_REVISION(command, frev, crev)\
	cgs_atom_get_cmd_table_revs(bp->base.ctx->cgs_device, \
	amdgpu_atom_parse_cmd_header(((struct amdgpu_device *)bp->base.ctx->driver_context)->mode_info.atom_context, \
		GetIndexIntoMasterTable(COMMAND, command), &frev, &crev)

#define BIOS_CMD_TABLE_PARA_REVISION(command)\
	bios_cmd_table_para_revision(bp->base.ctx->cgs_device, \
	bios_cmd_table_para_revision(bp->base.ctx->driver_context, \
		GetIndexIntoMasterTable(COMMAND, command))

static void init_dig_encoder_control(struct bios_parser *bp);
@@ -82,16 +82,18 @@ void dal_bios_parser_init_cmd_tbl(struct bios_parser *bp)
	init_set_dce_clock(bp);
}

static uint32_t bios_cmd_table_para_revision(void *cgs_device,
static uint32_t bios_cmd_table_para_revision(void *dev,
					     uint32_t index)
{
	struct amdgpu_device *adev = dev;
	uint8_t frev, crev;

	if (cgs_atom_get_cmd_table_revs(cgs_device,
	if (amdgpu_atom_parse_cmd_header(adev->mode_info.atom_context,
					index,
					&frev, &crev) != 0)
		return 0;
					&frev, &crev))
		return crev;
	else
		return 0;
}

/*******************************************************************************
@@ -368,7 +370,7 @@ static void init_transmitter_control(struct bios_parser *bp)
	uint8_t crev;

	if (BIOS_CMD_TABLE_REVISION(UNIPHYTransmitterControl,
			frev, crev) != 0)
			frev, crev) == false)
		BREAK_TO_DEBUGGER();
	switch (crev) {
	case 2:
+16 −10
Original line number Diff line number Diff line
@@ -26,14 +26,18 @@
#include "dm_services.h"

#include "ObjectID.h"
#include "atomfirmware.h"

#include "atomfirmware.h"
#include "atom.h"
#include "include/bios_parser_interface.h"

#include "command_table2.h"
#include "command_table_helper2.h"
#include "bios_parser_helper.h"
#include "bios_parser_types_internal2.h"
#include "amdgpu.h"


#define DC_LOGGER \
	bp->base.ctx->logger

@@ -43,16 +47,16 @@
		->FieldName)-(char *)0)/sizeof(uint16_t))

#define EXEC_BIOS_CMD_TABLE(fname, params)\
	(cgs_atom_exec_cmd_table(bp->base.ctx->cgs_device, \
	(amdgpu_atom_execute_table(((struct amdgpu_device *)bp->base.ctx->driver_context)->mode_info.atom_context, \
		GET_INDEX_INTO_MASTER_TABLE(command, fname), \
		&params) == 0)
		(uint32_t *)&params) == 0)

#define BIOS_CMD_TABLE_REVISION(fname, frev, crev)\
	cgs_atom_get_cmd_table_revs(bp->base.ctx->cgs_device, \
	amdgpu_atom_parse_cmd_header(((struct amdgpu_device *)bp->base.ctx->driver_context)->mode_info.atom_context, \
		GET_INDEX_INTO_MASTER_TABLE(command, fname), &frev, &crev)

#define BIOS_CMD_TABLE_PARA_REVISION(fname)\
	bios_cmd_table_para_revision(bp->base.ctx->cgs_device, \
	bios_cmd_table_para_revision(bp->base.ctx->driver_context, \
			GET_INDEX_INTO_MASTER_TABLE(command, fname))

static void init_dig_encoder_control(struct bios_parser *bp);
@@ -86,16 +90,18 @@ void dal_firmware_parser_init_cmd_tbl(struct bios_parser *bp)
	init_get_smu_clock_info(bp);
}

static uint32_t bios_cmd_table_para_revision(void *cgs_device,
static uint32_t bios_cmd_table_para_revision(void *dev,
					     uint32_t index)
{
	struct amdgpu_device *adev = dev;
	uint8_t frev, crev;

	if (cgs_atom_get_cmd_table_revs(cgs_device,
	if (amdgpu_atom_parse_cmd_header(adev->mode_info.atom_context,
					index,
					&frev, &crev) != 0)
		return 0;
					&frev, &crev))
		return crev;
	else
		return 0;
}

/******************************************************************************
@@ -201,7 +207,7 @@ static void init_transmitter_control(struct bios_parser *bp)
	uint8_t frev;
	uint8_t crev;

	if (BIOS_CMD_TABLE_REVISION(dig1transmittercontrol, frev, crev) != 0)
	if (BIOS_CMD_TABLE_REVISION(dig1transmittercontrol, frev, crev) == false)
		BREAK_TO_DEBUGGER();
	switch (crev) {
	case 6: