[PATCH 1/2] drm/amd/dc: Use atombios api directly in DC
Harry Wentland
harry.wentland at amd.com
Mon Mar 26 20:34:43 UTC 2018
On 2018-03-26 07:56 AM, Rex Zhu wrote:
> In order to remove the cgs wrapper functions for atombios api.
>
> Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>
Patch 1 is
Reviewed-by: Harry Wentland <harry.wentland at amd.com>
Harry
> ---
> .../gpu/drm/amd/display/dc/bios/command_table.c | 22 +++++++++---------
> .../gpu/drm/amd/display/dc/bios/command_table2.c | 26 +++++++++++++---------
> 2 files changed, 28 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/bios/command_table.c b/drivers/gpu/drm/amd/display/dc/bios/command_table.c
> index 4b5fdd5..651e1fd 100644
> --- a/drivers/gpu/drm/amd/display/dc/bios/command_table.c
> +++ b/drivers/gpu/drm/amd/display/dc/bios/command_table.c
> @@ -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), \
> - ¶ms) == 0)
> + (uint32_t *)¶ms) == 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)
> + &frev, &crev))
> + return crev;
> + else
> return 0;
> - return crev;
> }
>
> /*******************************************************************************
> @@ -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:
> diff --git a/drivers/gpu/drm/amd/display/dc/bios/command_table2.c b/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
> index 3f63f71..752b08a 100644
> --- a/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
> +++ b/drivers/gpu/drm/amd/display/dc/bios/command_table2.c
> @@ -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), \
> - ¶ms) == 0)
> + (uint32_t *)¶ms) == 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)
> + &frev, &crev))
> + return crev;
> + else
> return 0;
> - return crev;
> }
>
> /******************************************************************************
> @@ -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:
>
More information about the amd-gfx
mailing list