OSDN Git Service

drm/amd/dc: Use atombios api directly in DC
authorRex Zhu <Rex.Zhu@amd.com>
Mon, 26 Mar 2018 10:13:28 +0000 (18:13 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 11 Apr 2018 18:07:51 +0000 (13:07 -0500)
In order to remove the cgs wrapper functions for atombios api.

Reviewed-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/bios/command_table.c
drivers/gpu/drm/amd/display/dc/bios/command_table2.c

index 4b5fdd5..651e1fd 100644 (file)
@@ -24,7 +24,7 @@
  */
 
 #include "dm_services.h"
-
+#include "amdgpu.h"
 #include "atom.h"
 
 #include "include/bios_parser_interface.h"
 #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:
index 3f63f71..752b08a 100644 (file)
 #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
 
                ->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: