aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3962-drm-amd-dc-Use-atombios-api-directly-in-DC.patch
diff options
context:
space:
mode:
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.patch161
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), \
+- &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)
++ &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), \
+- &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)
++ &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
+