qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Aleksandar Markovic <aleksandar.m.mail@gmail.com>
To: "aaron.zakhrov@gmail.com" <aaron.zakhrov@gmail.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"kraxel@redhat.com" <kraxel@redhat.com>
Subject: [RFC 09/10] Clean up Radeon Header files
Date: Wed, 27 Nov 2019 10:55:29 +0100	[thread overview]
Message-ID: <CAL1e-=hY5b73ocsG9xiUFVuJYL36ch4=AyqjPvmtaXRUi730pQ@mail.gmail.com> (raw)
In-Reply-To: <20191126124433.860-6-aaron.zakhrov@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 52981 bytes --]

On Tuesday, November 26, 2019, <aaron.zakhrov@gmail.com> wrote:

> From: Aaron Dominick <aaron.zakhrov@gmail.com>
>
> ---


Your commit message is poor. You should have clearly explained what do you
do in this cleanup, and why.

Aleksandar


>  hw/display/atom-bits.h           |   48 -
>  hw/display/atom-names.h          |  100 -
>  hw/display/atom-types.h          |   42 -
>  hw/display/atom.h                |  160 -
>  hw/display/atombios.h            | 7981 ------------------------------
>  hw/display/avivod.h              |   62 -
>  hw/display/cayman_blit_shaders.h |   35 -
>  hw/display/ci_dpm.h              |  341 --
>  hw/display/cik_blit_shaders.h    |   32 -
>  hw/display/cikd.h                | 2172 --------
>  hw/display/r300d.h               |  343 --
>  hw/display/r420d.h               |  249 -
>  hw/display/r520d.h               |  187 -
>  hw/display/r600_blit_shaders.h   |   38 -
>  hw/display/r600_dpm.h            |  238 -
>  hw/display/r600d.h               | 2370 ---------
>  hw/display/radeon.h              | 2967 -----------
>  hw/display/radeon_acpi.h         |  456 --
>  hw/display/radeon_asic.h         |  986 ----
>  hw/display/radeon_drv.h          |  121 -
>  hw/display/radeon_family.h       |  122 -
>  hw/display/radeon_mode.h         | 1002 ----
>  hw/display/radeon_object.h       |  197 -
>  hw/display/radeon_trace.h        |  209 -
>  hw/display/radeon_ucode.h        |  227 -
>  hw/display/rs100d.h              |   40 -
>  hw/display/rs400d.h              |  160 -
>  hw/display/rs600d.h              |  685 ---
>  hw/display/rs690d.h              |  313 --
>  hw/display/rs780_dpm.h           |  109 -
>  hw/display/rs780d.h              |  171 -
>  hw/display/rv200d.h              |   36 -
>  hw/display/rv250d.h              |  123 -
>  hw/display/rv350d.h              |   52 -
>  hw/display/rv515d.h              |  638 ---
>  hw/display/rv6xx_dpm.h           |   95 -
>  hw/display/rv6xxd.h              |  246 -
>  hw/display/rv730d.h              |  165 -
>  hw/display/rv740d.h              |  117 -
>  hw/display/rv770_dpm.h           |  285 --
>  hw/display/rv770_smc.h           |  207 -
>  hw/display/rv770d.h              | 1015 ----
>  hw/display/si_blit_shaders.h     |   32 -
>  hw/display/si_dpm.h              |  238 -
>  hw/display/sid.h                 | 1956 --------
>  hw/display/sislands_smc.h        |  424 --
>  hw/display/smu7.h                |  170 -
>  hw/display/smu7_discrete.h       |  514 --
>  hw/display/smu7_fusion.h         |  300 --
>  hw/display/sumo_dpm.h            |  221 -
>  hw/display/sumod.h               |  372 --
>  hw/display/trinity_dpm.h         |  134 -
>  hw/display/trinityd.h            |  228 -
>  53 files changed, 29731 deletions(-)
>  delete mode 100644 hw/display/atom-bits.h
>  delete mode 100644 hw/display/atom-names.h
>  delete mode 100644 hw/display/atom-types.h
>  delete mode 100644 hw/display/atom.h
>  delete mode 100644 hw/display/atombios.h
>  delete mode 100644 hw/display/avivod.h
>  delete mode 100644 hw/display/cayman_blit_shaders.h
>  delete mode 100644 hw/display/ci_dpm.h
>  delete mode 100644 hw/display/cik_blit_shaders.h
>  delete mode 100644 hw/display/cikd.h
>  delete mode 100644 hw/display/r300d.h
>  delete mode 100644 hw/display/r420d.h
>  delete mode 100644 hw/display/r520d.h
>  delete mode 100644 hw/display/r600_blit_shaders.h
>  delete mode 100644 hw/display/r600_dpm.h
>  delete mode 100644 hw/display/r600d.h
>  delete mode 100644 hw/display/radeon.h
>  delete mode 100644 hw/display/radeon_acpi.h
>  delete mode 100644 hw/display/radeon_asic.h
>  delete mode 100644 hw/display/radeon_drv.h
>  delete mode 100644 hw/display/radeon_family.h
>  delete mode 100644 hw/display/radeon_mode.h
>  delete mode 100644 hw/display/radeon_object.h
>  delete mode 100644 hw/display/radeon_trace.h
>  delete mode 100644 hw/display/radeon_ucode.h
>  delete mode 100644 hw/display/rs100d.h
>  delete mode 100644 hw/display/rs400d.h
>  delete mode 100644 hw/display/rs600d.h
>  delete mode 100644 hw/display/rs690d.h
>  delete mode 100644 hw/display/rs780_dpm.h
>  delete mode 100644 hw/display/rs780d.h
>  delete mode 100644 hw/display/rv200d.h
>  delete mode 100644 hw/display/rv250d.h
>  delete mode 100644 hw/display/rv350d.h
>  delete mode 100644 hw/display/rv515d.h
>  delete mode 100644 hw/display/rv6xx_dpm.h
>  delete mode 100644 hw/display/rv6xxd.h
>  delete mode 100644 hw/display/rv730d.h
>  delete mode 100644 hw/display/rv740d.h
>  delete mode 100644 hw/display/rv770_dpm.h
>  delete mode 100644 hw/display/rv770_smc.h
>  delete mode 100644 hw/display/rv770d.h
>  delete mode 100644 hw/display/si_blit_shaders.h
>  delete mode 100644 hw/display/si_dpm.h
>  delete mode 100644 hw/display/sid.h
>  delete mode 100644 hw/display/sislands_smc.h
>  delete mode 100644 hw/display/smu7.h
>  delete mode 100644 hw/display/smu7_discrete.h
>  delete mode 100644 hw/display/smu7_fusion.h
>  delete mode 100644 hw/display/sumo_dpm.h
>  delete mode 100644 hw/display/sumod.h
>  delete mode 100644 hw/display/trinity_dpm.h
>  delete mode 100644 hw/display/trinityd.h
>
> diff --git a/hw/display/atom-bits.h b/hw/display/atom-bits.h
> deleted file mode 100644
> index e8fae5c775..0000000000
> --- a/hw/display/atom-bits.h
> +++ /dev/null
> @@ -1,48 +0,0 @@
> -/*
> - * Copyright 2008 Advanced Micro Devices, Inc.
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the
> "Software"),
> - * to deal in the Software without restriction, including without
> limitation
> - * the rights to use, copy, modify, merge, publish, distribute,
> sublicense,
> - * and/or sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice shall be
> included in
> - * all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR
> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
> SHALL
> - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES
> OR
> - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> - * OTHER DEALINGS IN THE SOFTWARE.
> - *
> - * Author: Stanislaw Skowronek
> - */
> -
> -#ifndef ATOM_BITS_H
> -#define ATOM_BITS_H
> -
> -static inline uint8_t get_u8(void *bios, int ptr)
> -{
> -    return ((unsigned char *)bios)[ptr];
> -}
> -#define U8(ptr) get_u8(ctx->ctx->bios, (ptr))
> -#define CU8(ptr) get_u8(ctx->bios, (ptr))
> -static inline uint16_t get_u16(void *bios, int ptr)
> -{
> -    return get_u8(bios ,ptr)|(((uint16_t)get_u8(bios, ptr+1))<<8);
> -}
> -#define U16(ptr) get_u16(ctx->ctx->bios, (ptr))
> -#define CU16(ptr) get_u16(ctx->bios, (ptr))
> -static inline uint32_t get_u32(void *bios, int ptr)
> -{
> -    return get_u16(bios, ptr)|(((uint32_t)get_u16(bios, ptr+2))<<16);
> -}
> -#define U32(ptr) get_u32(ctx->ctx->bios, (ptr))
> -#define CU32(ptr) get_u32(ctx->bios, (ptr))
> -#define CSTR(ptr) (((char *)(ctx->bios))+(ptr))
> -
> -#endif
> diff --git a/hw/display/atom-names.h b/hw/display/atom-names.h
> deleted file mode 100644
> index 6f907a5ffa..0000000000
> --- a/hw/display/atom-names.h
> +++ /dev/null
> @@ -1,100 +0,0 @@
> -/*
> - * Copyright 2008 Advanced Micro Devices, Inc.
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the
> "Software"),
> - * to deal in the Software without restriction, including without
> limitation
> - * the rights to use, copy, modify, merge, publish, distribute,
> sublicense,
> - * and/or sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice shall be
> included in
> - * all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR
> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
> SHALL
> - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES
> OR
> - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> - * OTHER DEALINGS IN THE SOFTWARE.
> - *
> - * Author: Stanislaw Skowronek
> - */
> -
> -#ifndef ATOM_NAMES_H
> -#define ATOM_NAMES_H
> -
> -#include "atom.h"
> -
> -#ifdef ATOM_DEBUG
> -
> -#define ATOM_OP_NAMES_CNT 123
> -static char *atom_op_names[ATOM_OP_NAMES_CNT] = {
> -"RESERVED", "MOVE_REG", "MOVE_PS", "MOVE_WS", "MOVE_FB", "MOVE_PLL",
> -"MOVE_MC", "AND_REG", "AND_PS", "AND_WS", "AND_FB", "AND_PLL", "AND_MC",
> -"OR_REG", "OR_PS", "OR_WS", "OR_FB", "OR_PLL", "OR_MC", "SHIFT_LEFT_REG",
> -"SHIFT_LEFT_PS", "SHIFT_LEFT_WS", "SHIFT_LEFT_FB", "SHIFT_LEFT_PLL",
> -"SHIFT_LEFT_MC", "SHIFT_RIGHT_REG", "SHIFT_RIGHT_PS", "SHIFT_RIGHT_WS",
> -"SHIFT_RIGHT_FB", "SHIFT_RIGHT_PLL", "SHIFT_RIGHT_MC", "MUL_REG",
> -"MUL_PS", "MUL_WS", "MUL_FB", "MUL_PLL", "MUL_MC", "DIV_REG", "DIV_PS",
> -"DIV_WS", "DIV_FB", "DIV_PLL", "DIV_MC", "ADD_REG", "ADD_PS", "ADD_WS",
> -"ADD_FB", "ADD_PLL", "ADD_MC", "SUB_REG", "SUB_PS", "SUB_WS", "SUB_FB",
> -"SUB_PLL", "SUB_MC", "SET_ATI_PORT", "SET_PCI_PORT", "SET_SYS_IO_PORT",
> -"SET_REG_BLOCK", "SET_FB_BASE", "COMPARE_REG", "COMPARE_PS",
> -"COMPARE_WS", "COMPARE_FB", "COMPARE_PLL", "COMPARE_MC", "SWITCH",
> -"JUMP", "JUMP_EQUAL", "JUMP_BELOW", "JUMP_ABOVE", "JUMP_BELOW_OR_EQUAL",
> -"JUMP_ABOVE_OR_EQUAL", "JUMP_NOT_EQUAL", "TEST_REG", "TEST_PS", "TEST_WS",
> -"TEST_FB", "TEST_PLL", "TEST_MC", "DELAY_MILLISEC", "DELAY_MICROSEC",
> -"CALL_TABLE", "REPEAT", "CLEAR_REG", "CLEAR_PS", "CLEAR_WS", "CLEAR_FB",
> -"CLEAR_PLL", "CLEAR_MC", "NOP", "EOT", "MASK_REG", "MASK_PS", "MASK_WS",
> -"MASK_FB", "MASK_PLL", "MASK_MC", "POST_CARD", "BEEP", "SAVE_REG",
> -"RESTORE_REG", "SET_DATA_BLOCK", "XOR_REG", "XOR_PS", "XOR_WS", "XOR_FB",
> -"XOR_PLL", "XOR_MC", "SHL_REG", "SHL_PS", "SHL_WS", "SHL_FB", "SHL_PLL",
> -"SHL_MC", "SHR_REG", "SHR_PS", "SHR_WS", "SHR_FB", "SHR_PLL", "SHR_MC",
> -"DEBUG", "CTB_DS",
> -};
> -
> -#define ATOM_TABLE_NAMES_CNT 74
> -static char *atom_table_names[ATOM_TABLE_NAMES_CNT] = {
> -"ASIC_Init", "GetDisplaySurfaceSize", "ASIC_RegistersInit",
> -"VRAM_BlockVenderDetection", "SetClocksRatio", "MemoryControllerInit",
> -"GPIO_PinInit", "MemoryParamAdjust", "DVOEncoderControl",
> -"GPIOPinControl", "SetEngineClock", "SetMemoryClock", "SetPixelClock",
> -"DynamicClockGating", "ResetMemoryDLL", "ResetMemoryDevice",
> -"MemoryPLLInit", "EnableMemorySelfRefresh", "AdjustMemoryController",
> -"EnableASIC_StaticPwrMgt", "ASIC_StaticPwrMgtStatusChange",
> -"DAC_LoadDetection", "TMDS2EncoderControl", "LCD1OutputControl",
> -"DAC1EncoderControl", "DAC2EncoderControl", "DVOOutputControl",
> -"CV1OutputControl", "SetCRTC_DPM_State", "TVEncoderControl",
> -"TMDS1EncoderControl", "LVDSEncoderControl", "TV1OutputControl",
> -"EnableScaler", "BlankCRTC", "EnableCRTC", "GetPixelClock",
> -"EnableVGA_Render", "EnableVGA_Access", "SetCRTC_Timing",
> -"SetCRTC_OverScan", "SetCRTC_Replication", "SelectCRTC_Source",
> -"EnableGraphSurfaces", "UpdateCRTC_DoubleBufferRegisters",
> -"LUT_AutoFill", "EnableHW_IconCursor", "GetMemoryClock",
> -"GetEngineClock", "SetCRTC_UsingDTDTiming", "TVBootUpStdPinDetection",
> -"DFP2OutputControl", "VRAM_BlockDetectionByStrap", "MemoryCleanUp",
> -"ReadEDIDFromHWAssistedI2C", "WriteOneByteToHWAssistedI2C",
> -"ReadHWAssistedI2CStatus", "SpeedFanControl", "PowerConnectorDetection",
> -"MC_Synchronization", "ComputeMemoryEnginePLL", "MemoryRefreshConversion",
> -"VRAM_GetCurrentInfoBlock", "DynamicMemorySettings", "MemoryTraining",
> -"EnableLVDS_SS", "DFP1OutputControl", "SetVoltage", "CRT1OutputControl",
> -"CRT2OutputControl", "SetupHWAssistedI2CStatus", "ClockSource",
> -"MemoryDeviceInit", "EnableYUV",
> -};
> -
> -#define ATOM_IO_NAMES_CNT 5
> -static char *atom_io_names[ATOM_IO_NAMES_CNT] = {
> -"MM", "PLL", "MC", "PCIE", "PCIE PORT",
> -};
> -
> -#else
> -
> -#define ATOM_OP_NAMES_CNT 0
> -#define ATOM_TABLE_NAMES_CNT 0
> -#define ATOM_IO_NAMES_CNT 0
> -
> -#endif
> -
> -#endif
> diff --git a/hw/display/atom-types.h b/hw/display/atom-types.h
> deleted file mode 100644
> index 1125b866cd..0000000000
> --- a/hw/display/atom-types.h
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -/*
> - * Copyright 2008 Red Hat Inc.
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the
> "Software"),
> - * to deal in the Software without restriction, including without
> limitation
> - * the rights to use, copy, modify, merge, publish, distribute,
> sublicense,
> - * and/or sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice shall be
> included in
> - * all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR
> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
> SHALL
> - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES
> OR
> - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> - * OTHER DEALINGS IN THE SOFTWARE.
> - *
> - * Author: Dave Airlie
> - */
> -
> -#ifndef ATOM_TYPES_H
> -#define ATOM_TYPES_H
> -
> -/* sync atom types to kernel types */
> -
> -typedef uint16_t USHORT;
> -typedef uint32_t ULONG;
> -typedef uint8_t UCHAR;
> -
> -
> -#ifndef ATOM_BIG_ENDIAN
> -#if defined(__BIG_ENDIAN)
> -#define ATOM_BIG_ENDIAN 1
> -#else
> -#define ATOM_BIG_ENDIAN 0
> -#endif
> -#endif
> -#endif
> diff --git a/hw/display/atom.h b/hw/display/atom.h
> deleted file mode 100644
> index 364b895e7e..0000000000
> --- a/hw/display/atom.h
> +++ /dev/null
> @@ -1,160 +0,0 @@
> -/*
> - * Copyright 2008 Advanced Micro Devices, Inc.
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the
> "Software"),
> - * to deal in the Software without restriction, including without
> limitation
> - * the rights to use, copy, modify, merge, publish, distribute,
> sublicense,
> - * and/or sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice shall be
> included in
> - * all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR
> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
> SHALL
> - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES
> OR
> - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> - * OTHER DEALINGS IN THE SOFTWARE.
> - *
> - * Author: Stanislaw Skowronek
> - */
> -
> -#ifndef ATOM_H
> -#define ATOM_H
> -
> -#include <linux/types.h>
> -
> -#define ATOM_BIOS_MAGIC                0xAA55
> -#define ATOM_ATI_MAGIC_PTR     0x30
> -#define ATOM_ATI_MAGIC         " 761295520"
> -#define ATOM_ROM_TABLE_PTR     0x48
> -
> -#define ATOM_ROM_MAGIC         "ATOM"
> -#define ATOM_ROM_MAGIC_PTR     4
> -
> -#define ATOM_ROM_MSG_PTR       0x10
> -#define ATOM_ROM_CMD_PTR       0x1E
> -#define ATOM_ROM_DATA_PTR      0x20
> -
> -#define ATOM_CMD_INIT          0
> -#define ATOM_CMD_SETSCLK       0x0A
> -#define ATOM_CMD_SETMCLK       0x0B
> -#define ATOM_CMD_SETPCLK       0x0C
> -#define ATOM_CMD_SPDFANCNTL    0x39
> -
> -#define ATOM_DATA_FWI_PTR      0xC
> -#define ATOM_DATA_IIO_PTR      0x32
> -
> -#define ATOM_FWI_DEFSCLK_PTR   8
> -#define ATOM_FWI_DEFMCLK_PTR   0xC
> -#define ATOM_FWI_MAXSCLK_PTR   0x24
> -#define ATOM_FWI_MAXMCLK_PTR   0x28
> -
> -#define ATOM_CT_SIZE_PTR       0
> -#define ATOM_CT_WS_PTR         4
> -#define ATOM_CT_PS_PTR         5
> -#define ATOM_CT_PS_MASK                0x7F
> -#define ATOM_CT_CODE_PTR       6
> -
> -#define ATOM_OP_CNT            123
> -#define ATOM_OP_EOT            91
> -
> -#define ATOM_CASE_MAGIC                0x63
> -#define ATOM_CASE_END          0x5A5A
> -
> -#define ATOM_ARG_REG           0
> -#define ATOM_ARG_PS            1
> -#define ATOM_ARG_WS            2
> -#define ATOM_ARG_FB            3
> -#define ATOM_ARG_ID            4
> -#define ATOM_ARG_IMM           5
> -#define ATOM_ARG_PLL           6
> -#define ATOM_ARG_MC            7
> -
> -#define ATOM_SRC_DWORD         0
> -#define ATOM_SRC_WORD0         1
> -#define ATOM_SRC_WORD8         2
> -#define ATOM_SRC_WORD16                3
> -#define ATOM_SRC_BYTE0         4
> -#define ATOM_SRC_BYTE8         5
> -#define ATOM_SRC_BYTE16                6
> -#define ATOM_SRC_BYTE24                7
> -
> -#define ATOM_WS_QUOTIENT       0x40
> -#define ATOM_WS_REMAINDER      0x41
> -#define ATOM_WS_DATAPTR                0x42
> -#define ATOM_WS_SHIFT          0x43
> -#define ATOM_WS_OR_MASK                0x44
> -#define ATOM_WS_AND_MASK       0x45
> -#define ATOM_WS_FB_WINDOW      0x46
> -#define ATOM_WS_ATTRIBUTES     0x47
> -#define ATOM_WS_REGPTR         0x48
> -
> -#define ATOM_IIO_NOP           0
> -#define ATOM_IIO_START         1
> -#define ATOM_IIO_READ          2
> -#define ATOM_IIO_WRITE         3
> -#define ATOM_IIO_CLEAR         4
> -#define ATOM_IIO_SET           5
> -#define ATOM_IIO_MOVE_INDEX    6
> -#define ATOM_IIO_MOVE_ATTR     7
> -#define ATOM_IIO_MOVE_DATA     8
> -#define ATOM_IIO_END           9
> -
> -#define ATOM_IO_MM             0
> -#define ATOM_IO_PCI            1
> -#define ATOM_IO_SYSIO          2
> -#define ATOM_IO_IIO            0x80
> -
> -struct card_info {
> -       struct drm_device *dev;
> -       void (* reg_write)(struct card_info *, uint32_t, uint32_t);   /*
> filled by driver */
> -        uint32_t (* reg_read)(struct card_info *, uint32_t);          /*
> filled by driver */
> -       void (* ioreg_write)(struct card_info *, uint32_t, uint32_t);
>  /*  filled by driver */
> -        uint32_t (* ioreg_read)(struct card_info *, uint32_t);
> /*  filled by driver */
> -       void (* mc_write)(struct card_info *, uint32_t, uint32_t);   /*
> filled by driver */
> -        uint32_t (* mc_read)(struct card_info *, uint32_t);          /*
> filled by driver */
> -       void (* pll_write)(struct card_info *, uint32_t, uint32_t);   /*
> filled by driver */
> -        uint32_t (* pll_read)(struct card_info *, uint32_t);          /*
> filled by driver */
> -};
> -
> -struct atom_context {
> -       struct card_info *card;
> -       struct mutex mutex;
> -       struct mutex scratch_mutex;
> -       void *bios;
> -       uint32_t cmd_table, data_table;
> -       uint16_t *iio;
> -
> -       uint16_t data_block;
> -       uint32_t fb_base;
> -       uint32_t divmul[2];
> -       uint16_t io_attr;
> -       uint16_t reg_block;
> -       uint8_t shift;
> -       int cs_equal, cs_above;
> -       int io_mode;
> -       uint32_t *scratch;
> -       int scratch_size_bytes;
> -};
> -
> -extern int atom_debug;
> -
> -struct atom_context *atom_parse(struct card_info *, void *);
> -int atom_execute_table(struct atom_context *, int, uint32_t *);
> -int atom_execute_table_scratch_unlocked(struct atom_context *, int,
> uint32_t *);
> -int atom_asic_init(struct atom_context *);
> -void atom_destroy(struct atom_context *);
> -bool atom_parse_data_header(struct atom_context *ctx, int index, uint16_t
> *size,
> -                           uint8_t *frev, uint8_t *crev, uint16_t
> *data_start);
> -bool atom_parse_cmd_header(struct atom_context *ctx, int index,
> -                          uint8_t *frev, uint8_t *crev);
> -int atom_allocate_fb_scratch(struct atom_context *ctx);
> -#include "atom-types.h"
> -#include "atombios.h"
> -#include "ObjectID.h"
> -
> -#endif
> diff --git a/hw/display/atombios.h b/hw/display/atombios.h
> deleted file mode 100644
> index 4b86e8b450..0000000000
> --- a/hw/display/atombios.h
> +++ /dev/null
> @@ -1,7981 +0,0 @@
> -/*
> - * Copyright 2006-2007 Advanced Micro Devices, Inc.
> - *
> - * Permission is hereby granted, free of charge, to any person obtaining a
> - * copy of this software and associated documentation files (the
> "Software"),
> - * to deal in the Software without restriction, including without
> limitation
> - * the rights to use, copy, modify, merge, publish, distribute,
> sublicense,
> - * and/or sell copies of the Software, and to permit persons to whom the
> - * Software is furnished to do so, subject to the following conditions:
> - *
> - * The above copyright notice and this permission notice shall be
> included in
> - * all copies or substantial portions of the Software.
> - *
> - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> EXPRESS OR
> - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY,
> - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
> SHALL
> - * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES
> OR
> - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> - * OTHER DEALINGS IN THE SOFTWARE.
> - */
> -
> -
> -/****************************************************************************/
>
> -/*Portion I: Definitions  shared between VBIOS and Driver
>    */
> -/**********************************************************
> ******************/
> -
> -
> -#ifndef _ATOMBIOS_H
> -#define _ATOMBIOS_H
> -
> -#define ATOM_VERSION_MAJOR                   0x00020000
> -#define ATOM_VERSION_MINOR                   0x00000002
> -
> -#define ATOM_HEADER_VERSION (ATOM_VERSION_MAJOR | ATOM_VERSION_MINOR)
> -
> -/* Endianness should be specified before inclusion,
> - * default to little endian
> - */
> -#ifndef ATOM_BIG_ENDIAN
> -#error Endian not specified
> -#endif
> -
> -#ifdef _H2INC
> -  #ifndef ULONG
> -    typedef unsigned long ULONG;
> -  #endif
> -
> -  #ifndef UCHAR
> -    typedef unsigned char UCHAR;
> -  #endif
> -
> -  #ifndef USHORT
> -    typedef unsigned short USHORT;
> -  #endif
> -#endif
> -
> -#define ATOM_DAC_A            0
> -#define ATOM_DAC_B            1
> -#define ATOM_EXT_DAC          2
> -
> -#define ATOM_CRTC1            0
> -#define ATOM_CRTC2            1
> -#define ATOM_CRTC3            2
> -#define ATOM_CRTC4            3
> -#define ATOM_CRTC5            4
> -#define ATOM_CRTC6            5
> -#define ATOM_CRTC_INVALID     0xFF
> -
> -#define ATOM_DIGA             0
> -#define ATOM_DIGB             1
> -
> -#define ATOM_PPLL1            0
> -#define ATOM_PPLL2            1
> -#define ATOM_DCPLL            2
> -#define ATOM_PPLL0            2
> -#define ATOM_PPLL3            3
> -
> -#define ATOM_EXT_PLL1         8
> -#define ATOM_EXT_PLL2         9
> -#define ATOM_EXT_CLOCK        10
> -#define ATOM_PPLL_INVALID     0xFF
> -
> -#define ENCODER_REFCLK_SRC_P1PLL       0
> -#define ENCODER_REFCLK_SRC_P2PLL       1
> -#define ENCODER_REFCLK_SRC_DCPLL       2
> -#define ENCODER_REFCLK_SRC_EXTCLK      3
> -#define ENCODER_REFCLK_SRC_INVALID     0xFF
> -
> -#define ATOM_SCALER1          0
> -#define ATOM_SCALER2          1
> -
> -#define ATOM_SCALER_DISABLE   0
> -#define ATOM_SCALER_CENTER    1
> -#define ATOM_SCALER_EXPANSION 2
> -#define ATOM_SCALER_MULTI_EX  3
> -
> -#define ATOM_DISABLE          0
> -#define ATOM_ENABLE           1
> -#define ATOM_LCD_BLOFF                          (ATOM_DISABLE+2)
> -#define ATOM_LCD_BLON                           (ATOM_ENABLE+2)
> -#define ATOM_LCD_BL_BRIGHTNESS_CONTROL          (ATOM_ENABLE+3)
> -#define ATOM_LCD_SELFTEST_START
>                               (ATOM_DISABLE+5)
> -#define ATOM_LCD_SELFTEST_STOP
>                      (ATOM_ENABLE+5)
> -#define ATOM_ENCODER_INIT
> (ATOM_DISABLE+7)
> -#define ATOM_INIT
> (ATOM_DISABLE+7)
> -#define ATOM_GET_STATUS                         (ATOM_DISABLE+8)
> -
> -#define ATOM_BLANKING         1
> -#define ATOM_BLANKING_OFF     0
> -
> -#define ATOM_CURSOR1          0
> -#define ATOM_CURSOR2          1
> -
> -#define ATOM_ICON1            0
> -#define ATOM_ICON2            1
> -
> -#define ATOM_CRT1             0
> -#define ATOM_CRT2             1
> -
> -#define ATOM_TV_NTSC          1
> -#define ATOM_TV_NTSCJ         2
> -#define ATOM_TV_PAL           3
> -#define ATOM_TV_PALM          4
> -#define ATOM_TV_PALCN         5
> -#define ATOM_TV_PALN          6
> -#define ATOM_TV_PAL60         7
> -#define ATOM_TV_SECAM         8
> -#define ATOM_TV_CV            16
> -
> -#define ATOM_DAC1_PS2         1
> -#define ATOM_DAC1_CV          2
> -#define ATOM_DAC1_NTSC        3
> -#define ATOM_DAC1_PAL         4
> -
> -#define ATOM_DAC2_PS2         ATOM_DAC1_PS2
> -#define ATOM_DAC2_CV          ATOM_DAC1_CV
> -#define ATOM_DAC2_NTSC        ATOM_DAC1_NTSC
> -#define ATOM_DAC2_PAL         ATOM_DAC1_PAL
> -
> -#define ATOM_PM_ON            0
> -#define ATOM_PM_STANDBY       1
> -#define ATOM_PM_SUSPEND       2
> -#define ATOM_PM_OFF           3
> -
> -/* Bit0:{=0:single, =1:dual},
> -   Bit1 {=0:666RGB, =1:888RGB},
> -   Bit2:3:{Grey level}
> -   Bit4:{=0:LDI format for RGB888, =1 FPDI format for RGB888}*/
> -
> -#define ATOM_PANEL_MISC_DUAL               0x00000001
> -#define ATOM_PANEL_MISC_888RGB             0x00000002
> -#define ATOM_PANEL_MISC_GREY_LEVEL         0x0000000C
> -#define ATOM_PANEL_MISC_FPDI               0x00000010
> -#define ATOM_PANEL_MISC_GREY_LEVEL_SHIFT   2
> -#define ATOM_PANEL_MISC_SPATIAL            0x00000020
> -#define ATOM_PANEL_MISC_TEMPORAL           0x00000040
> -#define ATOM_PANEL_MISC_API_ENABLED        0x00000080
> -
> -
> -#define MEMTYPE_DDR1              "DDR1"
> -#define MEMTYPE_DDR2              "DDR2"
> -#define MEMTYPE_DDR3              "DDR3"
> -#define MEMTYPE_DDR4              "DDR4"
> -
> -#define ASIC_BUS_TYPE_PCI         "PCI"
> -#define ASIC_BUS_TYPE_AGP         "AGP"
> -#define ASIC_BUS_TYPE_PCIE        "PCI_EXPRESS"
> -
> -/* Maximum size of that FireGL flag string */
> -
> -#define ATOM_FIREGL_FLAG_STRING     "FGL"             //Flag used to
> enable FireGL Support
> -#define ATOM_MAX_SIZE_OF_FIREGL_FLAG_STRING  3        //sizeof(
> ATOM_FIREGL_FLAG_STRING )
> -
> -#define ATOM_FAKE_DESKTOP_STRING    "DSK"             //Flag used to
> enable mobile ASIC on Desktop
> -#define ATOM_MAX_SIZE_OF_FAKE_DESKTOP_STRING
> ATOM_MAX_SIZE_OF_FIREGL_FLAG_STRING
> -
> -#define ATOM_M54T_FLAG_STRING       "M54T"            //Flag used to
> enable M54T Support
> -#define ATOM_MAX_SIZE_OF_M54T_FLAG_STRING    4        //sizeof(
> ATOM_M54T_FLAG_STRING )
> -
> -#define HW_ASSISTED_I2C_STATUS_FAILURE          2
> -#define HW_ASSISTED_I2C_STATUS_SUCCESS          1
> -
> -#pragma pack(1)                                       /* BIOS data must
> use byte alignment */
> -
> -/*  Define offset to location of ROM header. */
> -
> -#define OFFSET_TO_POINTER_TO_ATOM_ROM_HEADER           0x00000048L
> -#define OFFSET_TO_ATOM_ROM_IMAGE_SIZE
> 0x00000002L
> -
> -#define OFFSET_TO_ATOMBIOS_ASIC_BUS_MEM_TYPE    0x94
> -#define MAXSIZE_OF_ATOMBIOS_ASIC_BUS_MEM_TYPE   20    /* including the
> terminator 0x0! */
> -#define        OFFSET_TO_GET_ATOMBIOS_STRINGS_NUMBER           0x002f
> -#define        OFFSET_TO_GET_ATOMBIOS_STRINGS_START            0x006e
> -
> -/* Common header for all ROM Data tables.
> -  Every table pointed  _ATOM_MASTER_DATA_TABLE has this common header.
> -  And the pointer actually points to this header. */
> -
> -typedef struct _ATOM_COMMON_TABLE_HEADER
> -{
> -  USHORT usStructureSize;
> -  UCHAR  ucTableFormatRevision;   /*Change it when the Parser is not
> backward compatible */
> -  UCHAR  ucTableContentRevision;  /*Change it only when the table needs
> to change but the firmware */
> -                                  /*Image can't be updated, while Driver
> needs to carry the new table! */
> -}ATOM_COMMON_TABLE_HEADER;
> -
> -/****************************************************************************/
>
> -// Structure stores the ROM header.
> -/****************************************************************************/
>
> -typedef struct _ATOM_ROM_HEADER
> -{
> -  ATOM_COMMON_TABLE_HEADER             sHeader;
> -  UCHAR         uaFirmWareSignature[4];    /*Signature to distinguish
> between Atombios and non-atombios,
> -                                      atombios should init it as "ATOM",
> don't change the position */
> -  USHORT usBiosRuntimeSegmentAddress;
> -  USHORT usProtectedModeInfoOffset;
> -  USHORT usConfigFilenameOffset;
> -  USHORT usCRC_BlockOffset;
> -  USHORT usBIOS_BootupMessageOffset;
> -  USHORT usInt10Offset;
> -  USHORT usPciBusDevInitCode;
> -  USHORT usIoBaseAddress;
> -  USHORT usSubsystemVendorID;
> -  USHORT usSubsystemID;
> -  USHORT usPCI_InfoOffset;
> -  USHORT usMasterCommandTableOffset; /*Offset for SW to get all command
> table offsets, Don't change the position */
> -  USHORT usMasterDataTableOffset;   /*Offset for SW to get all data table
> offsets, Don't change the position */
> -  UCHAR  ucExtendedFunctionCode;
> -  UCHAR  ucReserved;
> -}ATOM_ROM_HEADER;
> -
> -/*==============================Command Table
> Portion==================================== */
> -
> -#ifdef UEFI_BUILD
> -       #define UTEMP   USHORT
> -       #define USHORT  void*
> -#endif
> -
> -/****************************************************************************/
>
> -// Structures used in Command.mtb
> -/****************************************************************************/
>
> -typedef struct _ATOM_MASTER_LIST_OF_COMMAND_TABLES{
> -  USHORT ASIC_Init;                              //Function Table, used
> by various SW components,latest version 1.1
> -  USHORT GetDisplaySurfaceSize;                  //Atomic Table,  Used by
> Bios when enabling HW ICON
> -  USHORT ASIC_RegistersInit;                     //Atomic Table,
> indirectly used by various SW components,called from ASIC_Init
> -  USHORT VRAM_BlockVenderDetection;              //Atomic Table,  used
> only by Bios
> -  USHORT DIGxEncoderControl;
>                               //Only used by Bios
> -  USHORT MemoryControllerInit;                   //Atomic Table,
> indirectly used by various SW components,called from ASIC_Init
> -  USHORT EnableCRTCMemReq;                       //Function
> Table,directly used by various SW components,latest version 2.1
> -  USHORT MemoryParamAdjust;
>                                //Atomic Table,  indirectly used by various
> SW components,called from SetMemoryClock if needed
> -  USHORT DVOEncoderControl;                      //Function
> Table,directly used by various SW components,latest version 1.2
> -  USHORT GPIOPinControl;
>                                               //Atomic Table,  only used by
> Bios
> -  USHORT SetEngineClock;                         //Function
> Table,directly used by various SW components,latest version 1.1
> -  USHORT SetMemoryClock;                         //Function
> Table,directly used by various SW components,latest version 1.1
> -  USHORT SetPixelClock;                          //Function
> Table,directly used by various SW components,latest version 1.2
> -  USHORT EnableDispPowerGating;                  //Atomic Table,
> indirectly used by various SW components,called from ASIC_Init
> -  USHORT ResetMemoryDLL;                         //Atomic Table,
> indirectly used by various SW components,called from SetMemoryClock
> -  USHORT ResetMemoryDevice;                      //Atomic Table,
> indirectly used by various SW components,called from SetMemoryClock
> -  USHORT MemoryPLLInit;                          //Atomic Table,  used
> only by Bios
> -  USHORT AdjustDisplayPll;
>                                       //Atomic Table,  used by various SW
> componentes.
> -  USHORT AdjustMemoryController;                 //Atomic Table,
> indirectly used by various SW components,called from SetMemoryClock
>
> -  USHORT EnableASIC_StaticPwrMgt;                //Atomic Table,  only
> used by Bios
> -  USHORT SetUniphyInstance;                      //Atomic Table,  only
> used by Bios
> -  USHORT DAC_LoadDetection;                      //Atomic Table,
> directly used by various SW components,latest version 1.2
> -  USHORT LVTMAEncoderControl;                    //Atomic Table,directly
> used by various SW components,latest version 1.3
> -  USHORT HW_Misc_Operation;                      //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT DAC1EncoderControl;                     //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT DAC2EncoderControl;                     //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT DVOOutputControl;                       //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT CV1OutputControl;                       //Atomic Table,  Atomic
> Table,  Obsolete from Ry6xx, use DAC2 Output instead
> -  USHORT GetConditionalGoldenSetting;            //Only used by Bios
> -  USHORT TVEncoderControl;                       //Function
> Table,directly used by various SW components,latest version 1.1
> -  USHORT PatchMCSetting;                         //only used by BIOS
> -  USHORT MC_SEQ_Control;                         //only used by BIOS
> -  USHORT Gfx_Harvesting;                         //Atomic Table,
> Obsolete from Ry6xx, Now only used by BIOS for GFX harvesting
> -  USHORT EnableScaler;                           //Atomic Table,  used
> only by Bios
> -  USHORT BlankCRTC;                              //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT EnableCRTC;                             //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT GetPixelClock;                          //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT EnableVGA_Render;                       //Function
> Table,directly used by various SW components,latest version 1.1
> -  USHORT GetSCLKOverMCLKRatio;                   //Atomic Table,  only
> used by Bios
> -  USHORT SetCRTC_Timing;                         //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT SetCRTC_OverScan;                       //Atomic Table,  used by
> various SW components,latest version 1.1
> -  USHORT SetCRTC_Replication;                    //Atomic Table,  used
> only by Bios
> -  USHORT SelectCRTC_Source;                      //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT EnableGraphSurfaces;                    //Atomic Table,  used
> only by Bios
> -  USHORT UpdateCRTC_DoubleBufferRegisters;                      //Atomic
> Table,  used only by Bios
> -  USHORT LUT_AutoFill;                           //Atomic Table,  only
> used by Bios
> -  USHORT EnableHW_IconCursor;                    //Atomic Table,  only
> used by Bios
> -  USHORT GetMemoryClock;                         //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT GetEngineClock;                         //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT SetCRTC_UsingDTDTiming;                 //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT ExternalEncoderControl;                 //Atomic Table,
> directly used by various SW components,latest version 2.1
> -  USHORT LVTMAOutputControl;                     //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT VRAM_BlockDetectionByStrap;             //Atomic Table,  used
> only by Bios
> -  USHORT MemoryCleanUp;                          //Atomic Table,  only
> used by Bios
> -  USHORT ProcessI2cChannelTransaction;           //Function Table,only
> used by Bios
> -  USHORT WriteOneByteToHWAssistedI2C;            //Function
> Table,indirectly used by various SW components
> -  USHORT ReadHWAssistedI2CStatus;                //Atomic Table,
> indirectly used by various SW components
> -  USHORT SpeedFanControl;                        //Function
> Table,indirectly used by various SW components,called from ASIC_Init
> -  USHORT PowerConnectorDetection;                //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT MC_Synchronization;                     //Atomic Table,
> indirectly used by various SW components,called from SetMemoryClock
> -  USHORT ComputeMemoryEnginePLL;                 //Atomic Table,
> indirectly used by various SW components,called from SetMemory/EngineClock
> -  USHORT MemoryRefreshConversion;                //Atomic Table,
> indirectly used by various SW components,called from SetMemory or
> SetEngineClock
> -  USHORT VRAM_GetCurrentInfoBlock;               //Atomic Table,  used
> only by Bios
> -  USHORT DynamicMemorySettings;                  //Atomic Table,
> indirectly used by various SW components,called from SetMemoryClock
> -  USHORT MemoryTraining;                         //Atomic Table,  used
> only by Bios
> -  USHORT EnableSpreadSpectrumOnPPLL;             //Atomic Table,
> directly used by various SW components,latest version 1.2
> -  USHORT TMDSAOutputControl;                     //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT SetVoltage;                             //Function
> Table,directly and/or indirectly used by various SW components,latest
> version 1.1
> -  USHORT DAC1OutputControl;                      //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT DAC2OutputControl;                      //Atomic Table,
> directly used by various SW components,latest version 1.1
> -  USHORT ComputeMemoryClockParam;                //Function Table,only
> used by Bios, obsolete soon.Switch to use "ReadEDIDFromHWAssistedI2C"
> -  USHORT ClockSource;                            //Atomic Table,
> indirectly used by various SW components,called from ASIC_Init
> -  USHORT MemoryDeviceInit;                       //Atomic Table,
> indirectly used by various SW components,called from SetMemoryClock
> -  USHORT GetDispObjectInfo;                      //Atomic Table,
> indirectly used by various SW components,called from EnableVGARender
> -  USHORT DIG1EncoderControl;                     //Atomic Table,directly
> used by various SW components,latest version 1.1
> -  USHORT DIG2EncoderControl;                     //Atomic Table,directly
> used by various SW components,latest version 1.1
> -  USHORT DIG1TransmitterControl;                 //Atomic Table,directly
> used by various SW components,latest version 1.1
> -  USHORT DIG2TransmitterControl;                      //Atomic
> Table,directly used by various SW components,latest version 1.1
> -  USHORT ProcessAuxChannelTransaction;
> //Function Table,only used by Bios
> -  USHORT DPEncoderService;
>                                       //Function Table,only used by Bios
> -  USHORT GetVoltageInfo;                         //Function Table,only
> used by Bios since SI
> -}ATOM_MASTER_LIST_OF_COMMAND_TABLES;
> -
> -// For backward compatible
> -#define ReadEDIDFromHWAssistedI2C
> ProcessI2cChannelTransaction
> -#define DPTranslatorControl                      DIG2EncoderControl
> -#define UNIPHYTransmitterControl
> DIG1TransmitterControl
> -#define LVTMATransmitterControl
>  DIG2TransmitterControl
> -#define SetCRTC_DPM_State
> GetConditionalGoldenSetting
> -#define ASIC_StaticPwrMgtStatusChange            SetUniphyInstance
> -#define HPDInterruptService                      ReadHWAssistedI2CStatus
> -#define EnableVGA_Access                         GetSCLKOverMCLKRatio
> -#define EnableYUV                                GetDispObjectInfo
>
> -#define DynamicClockGating                       EnableDispPowerGating
> -#define SetupHWAssistedI2CStatus                 ComputeMemoryClockParam
> -
> -#define TMDSAEncoderControl                      PatchMCSetting
> -#define LVDSEncoderControl                       MC_SEQ_Control
> -#define LCD1OutputControl                        HW_Misc_Operation
> -#define TV1OutputControl                         Gfx_Harvesting
> -
> -typedef struct _ATOM_MASTER_COMMAND_TABLE
> -{
> -  ATOM_COMMON_TABLE_HEADER           sHeader;
> -  ATOM_MASTER_LIST_OF_COMMAND_TABLES ListOfCommandTables;
> -}ATOM_MASTER_COMMAND_TABLE;
> -
> -/****************************************************************************/
>
> -// Structures used in every command table
> -/****************************************************************************/
>
> -typedef struct _ATOM_TABLE_ATTRIBUTE
> -{
> -#if ATOM_BIG_ENDIAN
> -  USHORT  UpdatedByUtility:1;         //[15]=Table updated by utility flag
> -  USHORT  PS_SizeInBytes:7;           //[14:8]=Size of parameter space in
> Bytes (multiple of a dword),
> -  USHORT  WS_SizeInBytes:8;           //[7:0]=Size of workspace in Bytes
> (in multiple of a dword),
> -#else
> -  USHORT  WS_SizeInBytes:8;           //[7:0]=Size of workspace in Bytes
> (in multiple of a dword),
> -  USHORT  PS_SizeInBytes:7;           //[14:8]=Size of parameter space in
> Bytes (multiple of a dword),
> -  USHORT  UpdatedByUtility:1;         //[15]=Table updated by utility flag
> -#endif
> -}ATOM_TABLE_ATTRIBUTE;
> -
> -typedef union _ATOM_TABLE_ATTRIBUTE_ACCESS
> -{
> -  ATOM_TABLE_ATTRIBUTE sbfAccess;
> -  USHORT               susAccess;
> -}ATOM_TABLE_ATTRIBUTE_ACCESS;
> -
> -/****************************************************************************/
>
> -// Common header for all command tables.
> -// Every table pointed by _ATOM_MASTER_COMMAND_TABLE has this common
> header.
> -// And the pointer actually points to this header.
> -/****************************************************************************/
>
> -typedef struct _ATOM_COMMON_ROM_COMMAND_TABLE_HEADER
> -{
> -  ATOM_COMMON_TABLE_HEADER CommonHeader;
> -  ATOM_TABLE_ATTRIBUTE     TableAttribute;
> -}ATOM_COMMON_ROM_COMMAND_TABLE_HEADER;
> -
> -/****************************************************************************/
>
> -// Structures used by ComputeMemoryEnginePLLTable
> -/****************************************************************************/
>
> -#define COMPUTE_MEMORY_PLL_PARAM        1
> -#define COMPUTE_ENGINE_PLL_PARAM        2
> -#define ADJUST_MC_SETTING_PARAM         3
> -
> -/****************************************************************************/
>
> -// Structures used by AdjustMemoryControllerTable
> -/****************************************************************************/
>
> -typedef struct _ATOM_ADJUST_MEMORY_CLOCK_FREQ
> -{
> -#if ATOM_BIG_ENDIAN
> -  ULONG ulPointerReturnFlag:1;      // BYTE_3[7]=1 - Return the pointer
> to the right Data Block; BYTE_3[7]=0 - Program the right Data Block
> -  ULONG ulMemoryModuleNumber:7;     // BYTE_3[6:0]
> -  ULONG ulClockFreq:24;
> -#else
> -  ULONG ulClockFreq:24;
> -  ULONG ulMemoryModuleNumber:7;     // BYTE_3[6:0]
> -  ULONG ulPointerReturnFlag:1;      // BYTE_3[7]=1 - Return the pointer
> to the right Data Block; BYTE_3[7]=0 - Program the right Data Block
> -#endif
> -}ATOM_ADJUST_MEMORY_CLOCK_FREQ;
> -#define POINTER_RETURN_FLAG             0x80
> -
> -typedef struct _COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS
> -{
> -  ULONG   ulClock;        //When returen, it's the re-calculated clock
> based on given Fb_div Post_Div and ref_div
> -  UCHAR   ucAction;       //0:reserved //1:Memory //2:Engine
> -  UCHAR   ucReserved;     //may expand to return larger Fbdiv later
> -  UCHAR   ucFbDiv;        //return value
> -  UCHAR   ucPostDiv;      //return value
> -}COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS;
> -
> -typedef struct _COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V2
> -{
> -  ULONG   ulClock;        //When return, [23:0] return real clock
> -  UCHAR   ucAction;       //0:reserved;COMPUTE_MEMORY_P
> LL_PARAM:Memory;COMPUTE_ENGINE_PLL_PARAM:Engine. it return ref_div to be
> written to register
> -  USHORT  usFbDiv;                 //return Feedback value to be written
> to register
> -  UCHAR   ucPostDiv;      //return post div to be written to register
> -}COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V2;
> -#define COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_PS_ALLOCATION
>  COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS
> -
> -
> -#define SET_CLOCK_FREQ_MASK                     0x00FFFFFF  //Clock
> change tables only take bit [23:0] as the requested clock value
> -#define USE_NON_BUS_CLOCK_MASK                  0x01000000  //Applicable
> to both memory and engine clock change, when set, it uses another clock as
> the temporary clock (engine uses memory and vice versa)
> -#define USE_MEMORY_SELF_REFRESH_MASK            0x02000000     //Only
> applicable to memory clock change, when set, using memory self refresh
> during clock transition
> -#define SKIP_INTERNAL_MEMORY_PARAMETER_CHANGE   0x04000000  //Only
> applicable to memory clock change, when set, the table will skip predefined
> internal memory parameter change
> -#define FIRST_TIME_CHANGE_CLOCK
>                               0x08000000      //Applicable to both memory
> and engine clock change,when set, it means this is 1st time to change clock
> after ASIC bootup
> -#define SKIP_SW_PROGRAM_PLL
>                                       0x10000000      //Applicable to both
> memory and engine clock change, when set, it means the table will not
> program SPLL/MPLL
> -#define USE_SS_ENABLED_PIXEL_CLOCK  USE_NON_BUS_CLOCK_MASK
> -
> -#define b3USE_NON_BUS_CLOCK_MASK                  0x01       //Applicable
> to both memory and engine clock change, when set, it uses another clock as
> the temporary clock (engine uses memory and vice versa)
> -#define b3USE_MEMORY_SELF_REFRESH                 0x02      //Only
> applicable to memory clock change, when set, using memory self refresh
> during clock transition
> -#define b3SKIP_INTERNAL_MEMORY_PARAMETER_CHANGE   0x04       //Only
> applicable to memory clock change, when set, the table will skip predefined
> internal memory parameter change
> -#define b3FIRST_TIME_CHANGE_CLOCK
>                               0x08       //Applicable to both memory and
> engine clock change,when set, it means this is 1st time to change clock
> after ASIC bootup
> -#define b3SKIP_SW_PROGRAM_PLL
>                                       0x10                     //Applicable
> to both memory and engine clock change, when set, it means the table will
> not program SPLL/MPLL
> -
> -typedef struct _ATOM_COMPUTE_CLOCK_FREQ
> -{
> -#if ATOM_BIG_ENDIAN
> -  ULONG ulComputeClockFlag:8;                 // =1:
> COMPUTE_MEMORY_PLL_PARAM, =2: COMPUTE_ENGINE_PLL_PARAM
> -  ULONG ulClockFreq:24;                       // in unit of 10kHz
> -#else
> -  ULONG ulClockFreq:24;                       // in unit of 10kHz
> -  ULONG ulComputeClockFlag:8;                 // =1:
> COMPUTE_MEMORY_PLL_PARAM, =2: COMPUTE_ENGINE_PLL_PARAM
> -#endif
> -}ATOM_COMPUTE_CLOCK_FREQ;
> -
> -typedef struct _ATOM_S_MPLL_FB_DIVIDER
> -{
> -  USHORT usFbDivFrac;
> -  USHORT usFbDiv;
> -}ATOM_S_MPLL_FB_DIVIDER;
> -
> -typedef struct _COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V3
> -{
> -  union
> -  {
> -    ATOM_COMPUTE_CLOCK_FREQ  ulClock;         //Input Parameter
> -    ULONG ulClockParams;                      //ULONG access for BE
> -    ATOM_S_MPLL_FB_DIVIDER   ulFbDiv;         //Output Parameter
> -  };
> -  UCHAR   ucRefDiv;                           //Output Parameter
> -  UCHAR   ucPostDiv;                          //Output Parameter
> -  UCHAR   ucCntlFlag;                         //Output Parameter
> -  UCHAR   ucReserved;
> -}COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V3;
> -
> -// ucCntlFlag
> -#define ATOM_PLL_CNTL_FLAG_PLL_POST_DIV_EN          1
> -#define ATOM_PLL_CNTL_FLAG_MPLL_VCO_MODE            2
> -#define ATOM_PLL_CNTL_FLAG_FRACTION_DISABLE         4
> -#define ATOM_PLL_CNTL_FLAG_SPLL_ISPARE_9
>                8
> -
> -
> -// V4 are only used for APU which PLL outside GPU
> -typedef struct _COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V4
> -{
> -#if ATOM_BIG_ENDIAN
> -  ULONG  ucPostDiv:8;        //return parameter: post divider which is
> used to program to register directly
> -  ULONG  ulClock:24;         //Input= target clock, output = actual clock
> -#else
> -  ULONG  ulClock:24;         //Input= target clock, output = actual clock
> -  ULONG  ucPostDiv:8;        //return parameter: post divider which is
> used to program to register directly
> -#endif
> -}COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V4;
> -
> -typedef struct _COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V5
> -{
> -  union
> -  {
> -    ATOM_COMPUTE_CLOCK_FREQ  ulClock;         //Input Parameter
> -    ULONG ulClockParams;                      //ULONG access for BE
> -    ATOM_S_MPLL_FB_DIVIDER   ulFbDiv;         //Output Parameter
> -  };
> -  UCHAR   ucRefDiv;                           //Output Parameter
> -  UCHAR   ucPostDiv;                          //Output Parameter
> -  union
> -  {
> -    UCHAR   ucCntlFlag;                       //Output Flags
> -    UCHAR   ucInputFlag;                      //Input Flags.
> ucInputFlag[0] - Strobe(1)/Performance(0) mode
> -  };
> -  UCHAR   ucReserved;
> -}COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V5;
> -
> -
> -typedef struct _COMPUTE_GPU_CLOCK_INPUT_PARAMETERS_V1_6
> -{
> -  ATOM_COMPUTE_CLOCK_FREQ  ulClock;         //Input Parameter
> -  ULONG   ulReserved[2];
> -}COMPUTE_GPU_CLOCK_INPUT_PARAMETERS_V1_6;
> -
> -//ATOM_COMPUTE_CLOCK_FREQ.ulComputeClockFlag
> -#define COMPUTE_GPUCLK_INPUT_FLAG_CLK_TYPE_MASK            0x0f
> -#define COMPUTE_GPUCLK_INPUT_FLAG_DEFAULT_GPUCLK           0x00
> -#define COMPUTE_GPUCLK_INPUT_FLAG_SCLK                     0x01
> -
> -typedef struct _COMPUTE_GPU_CLOCK_OUTPUT_PARAMETERS_V1_6
> -{
> -  COMPUTE_MEMORY_ENGINE_PLL_PARAMETERS_V4  ulClock;         //Output
> Parameter: ucPostDiv=DFS divider
> -  ATOM_S_MPLL_FB_DIVIDER   ulFbDiv;         //Output Parameter: PLL FB
> divider
> -  UCHAR   ucPllRefDiv;                      //Output Parameter: PLL ref
> divider
> -  UCHAR   ucPllPostDiv;                     //Output Parameter: PLL post
> divider
> -  UCHAR   ucPllCntlFlag;                    //Output Flags: control flag
> -  UCHAR   ucReserved;
> -}COMPUTE_GPU_CLOCK_OUTPUT_PARAMETERS_V1_6;
> -
> -//ucPllCntlFlag
> -#define SPLL_CNTL_FLAG_VCO_MODE_MASK            0x03
> -
> -
> -// ucInputFlag
> -#define ATOM_PLL_INPUT_FLAG_PLL_STROBE_MODE_EN  1   // 1-StrobeMode,
> 0-PerformanceMode
> -
> -// use for ComputeMemoryClockParamTable
> -typedef struct _COMPUTE_MEMORY_CLOCK_PARAM_PARAMETERS_V2_1
> -{
> -  union
> -  {
> -    ULONG  ulClock;
> -    ATOM_S_MPLL_FB_DIVIDER   ulFbDiv;
>  //Output:UPPER_WORD=FB_DIV_INTEGER,  LOWER_WORD=FB_DIV_FRAC shl
> (16-FB_FRACTION_BITS)
> -  };
> -  UCHAR   ucDllSpeed;                         //Output
> -  UCHAR   ucPostDiv;                          //Output
> -  union{
> -    UCHAR   ucInputFlag;                      //Input :
> ATOM_PLL_INPUT_FLAG_PLL_STROBE_MODE_EN: 1-StrobeMode, 0-PerformanceMode
> -    UCHAR   ucPllCntlFlag;                    //Output:
> -  };
> -  UCHAR   ucBWCntl;
> -}COMPUTE_MEMORY_CLOCK_PARAM_PARAMETERS_V2_1;
> -
> -// definition of ucInputFlag
> -#define MPLL_INPUT_FLAG_STROBE_MODE_EN          0x01
> -// definition of ucPllCntlFlag
> -#define MPLL_CNTL_FLAG_VCO_MODE_MASK            0x03
> -#define MPLL_CNTL_FLAG_BYPASS_DQ_PLL            0x04
> -#define MPLL_CNTL_FLAG_QDR_ENABLE               0x08
> -#define MPLL_CNTL_FLAG_AD_HALF_RATE             0x10
> -
> -//MPLL_CNTL_FLAG_BYPASS_AD_PLL has a wrong name, should be BYPASS_DQ_PLL
> -#define MPLL_CNTL_FLAG_BYPASS_AD_PLL            0x04
> -
> -typedef struct _DYNAMICE_MEMORY_SETTINGS_PARAMETER
> -{
> -  ATOM_COMPUTE_CLOCK_FREQ ulClock;
> -  ULONG ulReserved[2];
> -}DYNAMICE_MEMORY_SETTINGS_PARAMETER;
> -
> -typedef struct _DYNAMICE_ENGINE_SETTINGS_PARAMETER
> -{
> -  ATOM_COMPUTE_CLOCK_FREQ ulClock;
> -  ULONG ulMemoryClock;
> -  ULONG ulReserved;
> -}DYNAMICE_ENGINE_SETTINGS_PARAMETER;
> -
> -/****************************************************************************/
> <

[-- Attachment #2: Type: text/html, Size: 64378 bytes --]

  reply	other threads:[~2019-11-27  9:56 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-26 12:44 [RFC 00/10] R300 QEMU device V2 aaron.zakhrov
2019-11-26 12:44 ` [RFC 05/10] Add Radeon kernel headers. Will clean up later aaron.zakhrov
2019-11-26 12:44 ` [RFC 06/10] Fix MC STATUS resgister aaron.zakhrov
2019-11-26 12:44 ` [RFC 07/10] R300 fixes aaron.zakhrov
2019-11-26 12:44 ` [RFC 08/10] Got GPU init working. Stops at probing display aaron.zakhrov
2019-11-26 12:44 ` [RFC 09/10] Clean up Radeon Header files aaron.zakhrov
2019-11-27  9:55   ` Aleksandar Markovic [this message]
2019-11-27 14:42     ` BALATON Zoltan
2019-11-26 14:19 ` [RFC 00/10] R300 QEMU device V2 Daniel P. Berrangé
2019-11-27 15:00   ` Philippe Mathieu-Daudé
2019-11-27 15:05     ` Daniel P. Berrangé
2019-11-27 15:13       ` Philippe Mathieu-Daudé
2019-11-27 15:54         ` Daniel P. Berrangé
2019-11-27 16:12       ` Gerd Hoffmann
2019-11-27 16:32         ` Daniel P. Berrangé
2019-11-28  6:51           ` Aaron Zakhrov
2019-11-29 18:03             ` BALATON Zoltan
2019-11-27 16:17       ` BALATON Zoltan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAL1e-=hY5b73ocsG9xiUFVuJYL36ch4=AyqjPvmtaXRUi730pQ@mail.gmail.com' \
    --to=aleksandar.m.mail@gmail.com \
    --cc=aaron.zakhrov@gmail.com \
    --cc=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).