From 8221a911a2390771396ff679743df044cef8e6ac Mon Sep 17 00:00:00 2001 From: SergeySlice Date: Sat, 19 Mar 2022 16:48:22 +0300 Subject: [PATCH] define new framebuffers Signed-off-by: SergeySlice --- rEFIt_UEFI/Platform/ati.cpp | 12 +- rEFIt_UEFI/Platform/ati.h | 6 + rEFIt_UEFI/Platform/ati2.h | 321 ------------------------------------ 3 files changed, 15 insertions(+), 324 deletions(-) delete mode 100644 rEFIt_UEFI/Platform/ati2.h diff --git a/rEFIt_UEFI/Platform/ati.cpp b/rEFIt_UEFI/Platform/ati.cpp index 354e04fa9..411b45b0d 100644 --- a/rEFIt_UEFI/Platform/ati.cpp +++ b/rEFIt_UEFI/Platform/ati.cpp @@ -142,6 +142,12 @@ const card_config_t card_configs[] = { {"Elqui", 5}, {"Caroni", 5}, {"Florin", 6}, + {"Python", 3}, + {"Adder", 3}, + {"Henbury",3}, + {"Belknap",3}, + {"Carswell",3}, + {"Radeon",4}, }; @@ -320,7 +326,7 @@ const radeon_card_info_t radeon_cards[] = { { 0x67CA, CHIP_FAMILY_ELLESMERE, "AMD Radeon Polaris 10", kNull }, { 0x67CC, CHIP_FAMILY_ELLESMERE, "AMD Radeon Polaris 10", kNull }, { 0x67CF, CHIP_FAMILY_ELLESMERE, "AMD Radeon Polaris 10", kNull }, - { 0x67DF, CHIP_FAMILY_ELLESMERE, "AMD Radeon RX 480/570/580", kBaladi }, + { 0x67DF, CHIP_FAMILY_ELLESMERE, "AMD Radeon RX 480/570/580", kOrinoco }, // Polaris 11 { 0x67E0, CHIP_FAMILY_BAFFIN, "AMD Radeon RX 460", kAcre }, @@ -330,8 +336,8 @@ const radeon_card_info_t radeon_cards[] = { { 0x67E8, CHIP_FAMILY_BAFFIN, "AMD Radeon Polaris 11", kNull }, { 0x67E9, CHIP_FAMILY_BAFFIN, "AMD Radeon Polaris 11", kNull }, { 0x67EB, CHIP_FAMILY_BAFFIN, "AMD Radeon Polaris 11", kNull }, - { 0x67EF, CHIP_FAMILY_BAFFIN, "AMD Radeon Pro 555", kAcre }, //fb=Caroni in 10.13.6 - { 0x67FF, CHIP_FAMILY_BAFFIN, "AMD Radeon RX 560", kNull }, + { 0x67EF, CHIP_FAMILY_BAFFIN, "AMD Radeon Pro 555", kAcre }, //fb=Caroni in 10.13.6 + { 0x67FF, CHIP_FAMILY_BAFFIN, "AMD Radeon RX 560", kNull }, // PITCAIRN { 0x6800, CHIP_FAMILY_PITCAIRN, "AMD Radeon HD 7970M", kBuri }, // Mobile diff --git a/rEFIt_UEFI/Platform/ati.h b/rEFIt_UEFI/Platform/ati.h index 85a2b9649..98250e5d4 100644 --- a/rEFIt_UEFI/Platform/ati.h +++ b/rEFIt_UEFI/Platform/ati.h @@ -220,8 +220,14 @@ typedef enum { kElqui, kCaroni, kFlorin, + kPython, + kAdder, + kHenbury, + kBelknap, + kCarswell, kRadeon, // this is absent FB if not set kCfgEnd + } config_name_t; typedef struct { diff --git a/rEFIt_UEFI/Platform/ati2.h b/rEFIt_UEFI/Platform/ati2.h deleted file mode 100644 index 07fb00059..000000000 --- a/rEFIt_UEFI/Platform/ati2.h +++ /dev/null @@ -1,321 +0,0 @@ -/* - * ati.h - * - * Created by Slice on 19.02.12. - * - * the code ported from Chameleon project as well as from RadeonFB by Joblo and RadeonHD by dong - * big thank to Islam M. Ahmed Zaid for the updating the collection - */ - -#include "../include/Pci.h" -#include "device_inject.h" -class LOADER_ENTRY; - -#define OFFSET_TO_GET_ATOMBIOS_STRINGS_START 0x6e -#define DATVAL(x) {kPtr, sizeof(x), (UINT8 *)x} -#define STRVAL(x) {kStr, sizeof(x)-1, (UINT8 *)x} -#define BYTVAL(x) {kCst, 1, (UINT8 *)(UINTN)x} -#define WRDVAL(x) {kCst, 2, (UINT8 *)(UINTN)x} -#define DWRVAL(x) {kCst, 4, (UINT8 *)(UINTN)x} -// QWRVAL would work only in 64 bit -//#define QWRVAL(x) {kCst, 8, (UINT8 *)(UINTN)x} -#define NULVAL {kNul, 0, (UINT8 *)NULL} - - -/*Typedefs ENUMS*/ -typedef enum { - kNul, - kStr, - kPtr, - kCst -} type_t; - -typedef enum { - CHIP_FAMILY_UNKNOW, - /* Old */ - CHIP_FAMILY_R420, - CHIP_FAMILY_R423, - CHIP_FAMILY_RV410, - CHIP_FAMILY_RV515, - CHIP_FAMILY_R520, - CHIP_FAMILY_RV530, - CHIP_FAMILY_RV560, - CHIP_FAMILY_RV570, - CHIP_FAMILY_R580, - /* IGP */ - CHIP_FAMILY_RS600, - CHIP_FAMILY_RS690, - CHIP_FAMILY_RS740, - CHIP_FAMILY_RS780, - CHIP_FAMILY_RS880, - /* R600 */ - CHIP_FAMILY_R600, - CHIP_FAMILY_RV610, - CHIP_FAMILY_RV620, - CHIP_FAMILY_RV630, - CHIP_FAMILY_RV635, - CHIP_FAMILY_RV670, - /* R700 */ - CHIP_FAMILY_RV710, - CHIP_FAMILY_RV730, - CHIP_FAMILY_RV740, - CHIP_FAMILY_RV770, - CHIP_FAMILY_RV772, - CHIP_FAMILY_RV790, - /* Evergreen */ - CHIP_FAMILY_CEDAR, - CHIP_FAMILY_CYPRESS, - CHIP_FAMILY_HEMLOCK, - CHIP_FAMILY_JUNIPER, - CHIP_FAMILY_REDWOOD, - /* Northern Islands */ - CHIP_FAMILY_BARTS, - CHIP_FAMILY_CAICOS, - CHIP_FAMILY_CAYMAN, - CHIP_FAMILY_TURKS, - /* Southern Islands */ - CHIP_FAMILY_PALM, - CHIP_FAMILY_SUMO, - CHIP_FAMILY_SUMO2, - CHIP_FAMILY_ARUBA, - CHIP_FAMILY_TAHITI, - CHIP_FAMILY_PITCAIRN, - CHIP_FAMILY_VERDE, - CHIP_FAMILY_OLAND, - /* Sea Islands */ - CHIP_FAMILY_HAINAN, - CHIP_FAMILY_BONAIRE, - CHIP_FAMILY_KAVERI, - CHIP_FAMILY_KABINI, - CHIP_FAMILY_HAWAII, - CHIP_FAMILY_MULLINS, - /* Volcanic Islands */ - CHIP_FAMILY_TOPAZ, - CHIP_FAMILY_AMETHYST, - CHIP_FAMILY_TONGA, - CHIP_FAMILY_FIJI, - CHIP_FAMILY_CARRIZO, - CHIP_FAMILY_TOBAGO, - CHIP_FAMILY_ELLESMERE, /* Polaris 10 */ - CHIP_FAMILY_BAFFIN, /* Polaris 11 */ - CHIP_FAMILY_GREENLAND, /* Polaris 12 */ - CHIP_FAMILY_VEGA10, /* Vega 10 */ - CHIP_FAMILY_VEGA20, /* Vega 20 */ - CHIP_FAMILY_NAVI10, - CHIP_FAMILY_LAST -} ati_chip_family_t; - -typedef struct { - const CHAR8 *name; - UINT8 ports; -} card_config_t; - -typedef enum { - kNull, - /* OLDController */ - kWormy, - kAlopias, - kCaretta, - kKakapo, - kKipunji, - kPeregrine, - kRaven, - kSphyrna, - /* AMD2400Controller */ - kIago, - /* AMD2600Controller */ - kHypoprion, - kLamna, - /* AMD3800Controller */ - kMegalodon, - kTriakis, - /* AMD4600Controller */ - kFlicker, - kGliff, - kShrike, - /* AMD4800Controller */ - kCardinal, - kMotmot, - kQuail, - /* AMD5000Controller */ - kDouc, - kLangur, - kUakari, - kZonalis, - kAlouatta, - kHoolock, - kVervet, - kBaboon, - kEulemur, - kGalago, - kColobus, - kMangabey, - kNomascus, - kOrangutan, - /* AMD6000Controller */ - kPithecia, - kBulrushes, - kCattail, - kHydrilla, - kDuckweed, - kFanwort, - kElodea, - kKudzu, - kGibba, - kLotus, - kIpomoea, - kMuskgrass, - kJuncus, - kOsmunda, - kPondweed, - kSpikerush, - kTypha, - /* AMD7000Controller */ - kRamen, - kTako, - kNamako, - kAji, - kBuri, - kChutoro, - kDashimaki, - kEbi, - kGari, - kFutomaki, - kHamachi, - kOPM, - kIkura, - kIkuraS, - kJunsai, - kKani, - kKaniS, - kDashimakiS, - kMaguro, - kMaguroS, - /* AMD8000Controller */ - kExmoor, - kBaladi, - /* AMD9000Controller */ - kMalteseS, - kLagotto, - kGreyhoundS, - kMaltese, - kBasset, - kGreyhound, - kLabrador, - /* AMD9300Controller */ - kFleuveSWIP, - /* AMD9500Controller */ - kAcre, - kDayman, - kGuariba, - kHuallaga, - kOrinoco, - /* AMD9510Controller*/ - kBerbice, - /* AMD9515Controller */ - kMazaruni, - kLongavi, - /* AMD9520Controller */ - kElqui, - kCaroni, - kFlorin, - kRadeon, // this is absent FB if not set - kCfgEnd -} config_name_t; - -typedef struct { - UINT16 device_id; - // UINT32 subsys_id; - ati_chip_family_t chip_family; - const CHAR8 *model_name; - config_name_t cfg_name; -} radeon_card_info_t; - -typedef struct { - DevPropDevice *device; - radeon_card_info_t *info; - pci_dt_t *pci_dev; - UINT8 *fb; - UINT8 *mmio; - UINT8 *io; - UINT8 *rom; - UINT32 rom_size; - UINT64 vram_size; - const CHAR8 *cfg_name; - UINT8 ports; - UINT32 flags; - BOOLEAN posted; -} card_t; - -// Chip flags -/* enum radeon_chip_flags { - RADEON_FAMILY_MASK = 0x0000ffffUL, - RADEON_FLAGS_MASK = 0xffff0000UL, - RADEON_IS_MOBILITY = 0x00010000UL, - RADEON_IS_IGP = 0x00020000UL, - RADEON_SINGLE_CRTC = 0x00040000UL, - RADEON_IS_AGP = 0x00080000UL, - RADEON_HAS_HIERZ = 0x00100000UL, - RADEON_IS_PCIE = 0x00200000UL, - RADEON_NEW_MEMMAP = 0x00400000UL, - RADEON_IS_PCI = 0x00800000UL, - RADEON_IS_IGPGART = 0x01000000UL, - };*/ -#define MKFLAG(n) (1 << n) -#define FLAGTRUE MKFLAG(0) -#define EVERGREEN MKFLAG(1) -#define FLAGMOBILE MKFLAG(2) -#define FLAGOLD MKFLAG(3) -#define FLAGNOTFAKE MKFLAG(4) -#define FLAGDYNAMIC MKFLAG(5) - -typedef struct { - type_t type; - UINT32 size; - UINT8 *data; -} value_t; - -typedef struct { - UINT32 flags; - BOOLEAN all_ports; - CONST CHAR8 *name; - BOOLEAN (*get_value)(value_t *val, INTN index, BOOLEAN Sier); - value_t default_val; -} AtiDevProp; - -BOOLEAN get_bootdisplay_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_vrammemory_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_edid_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_display_type(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_name_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_nameparent_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_model_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_conntype_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_vrammemsize_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_binimage_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_binimage_owr(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_romrevision_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_deviceid_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_mclk_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_sclk_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_refclk_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_platforminfo_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_vramtotalsize_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_dual_link_val(value_t *val, INTN index, BOOLEAN Sier); -BOOLEAN get_name_pci_val(value_t *val, INTN index, BOOLEAN Sier); - -// Constants. Can be defined even if DONT_DEFINE_GLOBALS -extern const radeon_card_info_t radeon_cards[]; -extern const card_config_t card_configs[]; - -#ifndef DONT_DEFINE_GLOBALS -extern AtiDevProp ati_devprop_list[]; -extern const CHAR8 *chip_family_name[]; -#endif - -BOOLEAN -setup_ati_devprop ( - LOADER_ENTRY *Entry, - pci_dt_t *ati_dev - ); -