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

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
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
*/ */
#include "dm_services.h" #include "dm_services.h"
#include "amdgpu.h"
#include "atom.h" #include "atom.h"
#include "include/bios_parser_interface.h" #include "include/bios_parser_interface.h"
...@@ -35,16 +35,16 @@ ...@@ -35,16 +35,16 @@
#include "bios_parser_types_internal.h" #include "bios_parser_types_internal.h"
#define EXEC_BIOS_CMD_TABLE(command, params)\ #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), \ GetIndexIntoMasterTable(COMMAND, command), \
&params) == 0) (uint32_t *)&params) == 0)
#define BIOS_CMD_TABLE_REVISION(command, frev, crev)\ #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) GetIndexIntoMasterTable(COMMAND, command), &frev, &crev)
#define BIOS_CMD_TABLE_PARA_REVISION(command)\ #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)) GetIndexIntoMasterTable(COMMAND, command))
static void init_dig_encoder_control(struct bios_parser *bp); 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) ...@@ -82,16 +82,18 @@ void dal_bios_parser_init_cmd_tbl(struct bios_parser *bp)
init_set_dce_clock(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) uint32_t index)
{ {
struct amdgpu_device *adev = dev;
uint8_t frev, crev; 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, index,
&frev, &crev) != 0) &frev, &crev))
return 0;
return crev; return crev;
else
return 0;
} }
/******************************************************************************* /*******************************************************************************
...@@ -368,7 +370,7 @@ static void init_transmitter_control(struct bios_parser *bp) ...@@ -368,7 +370,7 @@ static void init_transmitter_control(struct bios_parser *bp)
uint8_t crev; uint8_t crev;
if (BIOS_CMD_TABLE_REVISION(UNIPHYTransmitterControl, if (BIOS_CMD_TABLE_REVISION(UNIPHYTransmitterControl,
frev, crev) != 0) frev, crev) == false)
BREAK_TO_DEBUGGER(); BREAK_TO_DEBUGGER();
switch (crev) { switch (crev) {
case 2: case 2:
......
...@@ -26,14 +26,18 @@ ...@@ -26,14 +26,18 @@
#include "dm_services.h" #include "dm_services.h"
#include "ObjectID.h" #include "ObjectID.h"
#include "atomfirmware.h"
#include "atomfirmware.h"
#include "atom.h"
#include "include/bios_parser_interface.h" #include "include/bios_parser_interface.h"
#include "command_table2.h" #include "command_table2.h"
#include "command_table_helper2.h" #include "command_table_helper2.h"
#include "bios_parser_helper.h" #include "bios_parser_helper.h"
#include "bios_parser_types_internal2.h" #include "bios_parser_types_internal2.h"
#include "amdgpu.h"
#define DC_LOGGER \ #define DC_LOGGER \
bp->base.ctx->logger bp->base.ctx->logger
...@@ -43,16 +47,16 @@ ...@@ -43,16 +47,16 @@
->FieldName)-(char *)0)/sizeof(uint16_t)) ->FieldName)-(char *)0)/sizeof(uint16_t))
#define EXEC_BIOS_CMD_TABLE(fname, params)\ #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), \ GET_INDEX_INTO_MASTER_TABLE(command, fname), \
&params) == 0) (uint32_t *)&params) == 0)
#define BIOS_CMD_TABLE_REVISION(fname, frev, crev)\ #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) GET_INDEX_INTO_MASTER_TABLE(command, fname), &frev, &crev)
#define BIOS_CMD_TABLE_PARA_REVISION(fname)\ #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)) GET_INDEX_INTO_MASTER_TABLE(command, fname))
static void init_dig_encoder_control(struct bios_parser *bp); 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) ...@@ -86,16 +90,18 @@ void dal_firmware_parser_init_cmd_tbl(struct bios_parser *bp)
init_get_smu_clock_info(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) uint32_t index)
{ {
struct amdgpu_device *adev = dev;
uint8_t frev, crev; 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, index,
&frev, &crev) != 0) &frev, &crev))
return 0;
return crev; return crev;
else
return 0;
} }
/****************************************************************************** /******************************************************************************
...@@ -201,7 +207,7 @@ static void init_transmitter_control(struct bios_parser *bp) ...@@ -201,7 +207,7 @@ static void init_transmitter_control(struct bios_parser *bp)
uint8_t frev; uint8_t frev;
uint8_t crev; uint8_t crev;
if (BIOS_CMD_TABLE_REVISION(dig1transmittercontrol, frev, crev) != 0) if (BIOS_CMD_TABLE_REVISION(dig1transmittercontrol, frev, crev) == false)
BREAK_TO_DEBUGGER(); BREAK_TO_DEBUGGER();
switch (crev) { switch (crev) {
case 6: case 6:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment