diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3962-drm-amd-dc-Use-atombios-api-directly-in-DC.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3962-drm-amd-dc-Use-atombios-api-directly-in-DC.patch | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3962-drm-amd-dc-Use-atombios-api-directly-in-DC.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3962-drm-amd-dc-Use-atombios-api-directly-in-DC.patch new file mode 100644 index 00000000..fa66afc2 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3962-drm-amd-dc-Use-atombios-api-directly-in-DC.patch @@ -0,0 +1,161 @@ +From b73ab2a43dd39cee31a2fb34d9c0fe850dcdc6ff Mon Sep 17 00:00:00 2001 +From: Rex Zhu <Rex.Zhu@amd.com> +Date: Mon, 26 Mar 2018 18:13:28 +0800 +Subject: [PATCH 3962/4131] drm/amd/dc: Use atombios api directly in DC + +In order to remove the cgs wrapper functions for atombios api. + +Change-Id: I2a4de903a0e5c39106050fd7663e3bce0c8ee8ae +Reviewed-by: Harry Wentland <Harry.Wentland@amd.com> +Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> +--- + .../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: +-- +2.7.4 + |