hrev45803 adds 2 changesets to branch 'master' old head: 16e486eb4dd2d39b9a3eb65171106fd17d7e3fc0 new head: 4ce958fcd4d3476aea984a9318f33357475955f6 overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=4ce958f+%5E16e486e ---------------------------------------------------------------------------- 669d40c: Route: Style fixes; No functional change 4ce958f: RadeonHD: Cleanup, new cards * Fix some incorrect chip codenames * Introduce a dual gpu flag * Add some new chipsets and document the next generation of chips [ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ] ---------------------------------------------------------------------------- 4 files changed, 50 insertions(+), 23 deletions(-) headers/private/graphics/radeon_hd/radeon_hd.h | 19 ++++---- .../kernel/drivers/graphics/radeon_hd/driver.cpp | 46 +++++++++++++++----- .../drivers/graphics/radeon_hd/sensors.cpp | 2 +- src/bin/network/route/route.cpp | 6 +-- ############################################################################ Commit: 669d40c826d04319c98cf60ccd7f30537af7de22 URL: http://cgit.haiku-os.org/haiku/commit/?id=669d40c Author: Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> Date: Sat Jun 29 15:48:43 2013 UTC Route: Style fixes; No functional change ---------------------------------------------------------------------------- diff --git a/src/bin/network/route/route.cpp b/src/bin/network/route/route.cpp index 696e288..ca2c310 100644 --- a/src/bin/network/route/route.cpp +++ b/src/bin/network/route/route.cpp @@ -191,7 +191,7 @@ list_routes(int socket, const char *interfaceName, route_entry &route) const address_family *family = NULL; for (int32 i = 0; kFamilies[i].family >= 0; i++) { if (interface->ifr_route.destination->sa_family - == kFamilies[i].family) { + == kFamilies[i].family) { family = &kFamilies[i]; break; } @@ -223,7 +223,7 @@ list_routes(int socket, const char *interfaceName, route_entry &route) BNetworkAddress mask; mask.SetTo(*route.mask); if (family->preferredPrefixFormat - == PREFIX_PREFER_NETMASK) { + == PREFIX_PREFER_NETMASK) { printf(" %*s ", addressLength, mask.ToString().String()); } else { @@ -231,7 +231,7 @@ list_routes(int socket, const char *interfaceName, route_entry &route) } } else { if (family->preferredPrefixFormat - == PREFIX_PREFER_NETMASK) { + == PREFIX_PREFER_NETMASK) { printf(" %*s ", addressLength, "-"); } else printf(" "); ############################################################################ Revision: hrev45803 Commit: 4ce958fcd4d3476aea984a9318f33357475955f6 URL: http://cgit.haiku-os.org/haiku/commit/?id=4ce958f Author: Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> Date: Sat Jun 29 18:18:18 2013 UTC RadeonHD: Cleanup, new cards * Fix some incorrect chip codenames * Introduce a dual gpu flag * Add some new chipsets and document the next generation of chips ---------------------------------------------------------------------------- diff --git a/headers/private/graphics/radeon_hd/radeon_hd.h b/headers/private/graphics/radeon_hd/radeon_hd.h index 6ae08f9..7025ddf 100644 --- a/headers/private/graphics/radeon_hd/radeon_hd.h +++ b/headers/private/graphics/radeon_hd/radeon_hd.h @@ -32,10 +32,11 @@ // Card chipset flags #define CHIP_STD (1 << 0) // Standard chipset -#define CHIP_IGP (1 << 1) // IGP chipset -#define CHIP_MOBILE (1 << 2) // Mobile chipset -#define CHIP_DISCREET (1 << 3) // Discreet chipset -#define CHIP_APU (1 << 4) // APU chipset +#define CHIP_X2 (1 << 1) // Dual cpu +#define CHIP_IGP (1 << 2) // IGP chipset +#define CHIP_MOBILE (1 << 3) // Mobile chipset +#define CHIP_DISCREET (1 << 4) // Discreet chipset +#define CHIP_APU (1 << 5) // APU chipset #define DEVICE_NAME "radeon_hd" #define RADEON_ACCELERANT_NAME "radeon_hd.accelerant" @@ -86,16 +87,18 @@ enum radeon_chipset { RADEON_PALM, //Fusion APU (NI), Radeon HD 6000 RADEON_SUMO, RADEON_SUMO2, - RADEON_CAICOS, //Nothern Islands, Radeon HD 6000 + RADEON_CAICOS, //Nothern Islands, Radeon HD 6000 / Low end 7000 RADEON_TURKS, RADEON_BARTS, RADEON_CAYMAN, RADEON_ANTILLES, - RADEON_LOMBOK, //Southern Islands, Radeon HD 7000 - RADEON_CAPEVERDE, + RADEON_CAPEVERDE, //Southern Islands, Radeon HD 7000 aka ARUBA + RADEON_BONAIRE, RADEON_PITCAIRN, RADEON_TAHITI, - RADEON_NEWZEALAND + RADEON_OLAND, //Sea Islands, Radeon HD 8000 + RADEON_HAINAN, // NO DCE? + RADEON_CURACAO, }; diff --git a/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp b/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp index beb0352..6816c78 100644 --- a/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp +++ b/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp @@ -124,7 +124,7 @@ const struct supported_device { {0x9513, 2, 0, RADEON_RV670, CHIP_STD, "Radeon HD 3850 X2"}, {0x9515, 2, 0, RADEON_RV670, CHIP_STD, "Radeon HD 3850"}, {0x9501, 2, 0, RADEON_RV670, CHIP_STD, "Radeon HD 3870"}, - {0x950F, 2, 0, RADEON_RV670, CHIP_STD, "Radeon HD 3870 X2"}, + {0x950F, 2, 0, RADEON_RV670, CHIP_STD | CHIP_X2, "Radeon HD 3870 X2"}, {0x9710, 3, 0, RADEON_RV620, CHIP_IGP, "Radeon HD 4200"}, {0x9715, 3, 0, RADEON_RV620, CHIP_IGP, "Radeon HD 4250"}, {0x9712, 3, 0, RADEON_RV620, CHIP_IGP, "Radeon HD 4270"}, @@ -153,15 +153,15 @@ const struct supported_device { {0x944e, 3, 1, RADEON_RV770, CHIP_STD, "Radeon HD 4810"}, {0x944c, 3, 1, RADEON_RV770, CHIP_STD, "Radeon HD 4830"}, {0x9442, 3, 1, RADEON_RV770, CHIP_STD, "Radeon HD 4850"}, - {0x9443, 3, 1, RADEON_RV770, CHIP_STD, "Radeon HD 4850 X2"}, + {0x9443, 3, 1, RADEON_RV770, CHIP_STD | CHIP_X2, "Radeon HD 4850 X2"}, {0x94a1, 3, 1, RADEON_RV770, CHIP_IGP, "Radeon HD 4860"}, {0x9440, 3, 1, RADEON_RV770, CHIP_STD, "Radeon HD 4870"}, - {0x9441, 3, 1, RADEON_RV770, CHIP_STD, "Radeon HD 4870 X2"}, + {0x9441, 3, 1, RADEON_RV770, CHIP_STD | CHIP_X2, "Radeon HD 4870 X2"}, {0x9460, 3, 1, RADEON_RV770, CHIP_STD, "Radeon HD 4890"}, // From here on AMD no longer used numeric identifiers - // Marketing Names: Radeon HD 54xx ~ HD 63xx + // Marketing Names: Radeon HD 5450 - HD 6320 // Introduced: 2009 // Codename: Evergreen // Process: 40 nm @@ -186,7 +186,8 @@ const struct supported_device { {0x6899, 4, 0, RADEON_CYPRESS, CHIP_STD, "Radeon HD 5850"}, {0x6898, 4, 0, RADEON_CYPRESS, CHIP_STD, "Radeon HD 5870"}, // Hemlock - {0x689c, 4, 0, RADEON_HEMLOCK, CHIP_STD, "Radeon HD 5900"}, + {0x689c, 4, 0, RADEON_HEMLOCK, CHIP_STD | CHIP_X2, "Radeon HD 5900 X2"}, + {0x689d, 4, 0, RADEON_HEMLOCK, CHIP_STD | CHIP_X2, "Radeon HD 5900 X2"}, // Fusion APUS // Palm {0x9804, 4, 1, RADEON_PALM, CHIP_APU, "Radeon HD 6250"}, @@ -209,7 +210,7 @@ const struct supported_device { {0x9644, 4, 1, RADEON_SUMO2, CHIP_APU, "Radeon HD 6410D"}, {0x9645, 4, 1, RADEON_SUMO2, CHIP_APU, "Radeon HD SUMO2 M"}, - // Radeon HD 64xx - HD 69xx + // Radeon HD 6450 - HD 7670 // Introduced: 2010 // Codename: Nothern Islands // Process: 40 nm @@ -244,6 +245,7 @@ const struct supported_device { {0x6750, 5, 0, RADEON_TURKS, CHIP_STD, "Radeon HD 6500"}, {0x6758, 5, 0, RADEON_TURKS, CHIP_STD, "Radeon HD 6670"}, {0x6759, 5, 0, RADEON_TURKS, CHIP_STD, "Radeon HD 6570/7570"}, + {0x6850, 6, 0, RADEON_TURKS, CHIP_MOBILE, "Radeon HD 7570"}, // Barts {0x673e, 5, 0, RADEON_BARTS, CHIP_STD, "Radeon HD 6790"}, {0x6739, 5, 0, RADEON_BARTS, CHIP_STD, "Radeon HD 6850"}, @@ -266,12 +268,10 @@ const struct supported_device { // Antilles (Top, Dual GPU) {0x671d, 5, 0, RADEON_ANTILLES, CHIP_STD, "Radeon HD 6990"}, - // Marketing Names: Radeon HD 74xx - HD 79xx + // Marketing Names: Radeon HD 7750 - HD 79xx // Introduced: Late 2011 // Codename: Southern Islands // Process: 28 nm - // Lombok? - {0x6850, 6, 0, RADEON_LOMBOK, CHIP_MOBILE, "Radeon HD 7570"}, // Cape Verde (TODO: Need to find friendly names) {0x6820, 6, 0, RADEON_CAPEVERDE, CHIP_STD, "Radeon HD Verde"}, {0x6821, 6, 0, RADEON_CAPEVERDE, CHIP_STD, "Radeon HD Verde"}, @@ -292,6 +292,13 @@ const struct supported_device { {0x683b, 6, 0, RADEON_CAPEVERDE, CHIP_STD, "Radeon HD Verde"}, {0x683f, 6, 0, RADEON_CAPEVERDE, CHIP_STD, "Radeon HD 7750"}, {0x683d, 6, 0, RADEON_CAPEVERDE, CHIP_STD, "Radeon HD 7770"}, + // Bonaire (TODO: Need to find friendly names) + {0x6649, 6, 0, RADEON_BONAIRE, CHIP_STD, "Radeon HD Bonaire"}, + {0x6650, 6, 0, RADEON_BONAIRE, CHIP_STD, "Radeon HD Bonaire"}, + {0x6651, 6, 0, RADEON_BONAIRE, CHIP_STD, "Radeon HD Bonaire"}, + {0x6658, 6, 0, RADEON_BONAIRE, CHIP_STD, "Radeon HD Bonaire"}, + {0x665c, 6, 0, RADEON_BONAIRE, CHIP_STD, "Radeon HD 7790"}, + {0x665d, 6, 0, RADEON_BONAIRE, CHIP_STD, "Radeon HD Bonaire"}, // Pitcairn (TODO: Need to find friendly names) {0x6800, 6, 0, RADEON_PITCAIRN, CHIP_MOBILE, "Radeon HD 7970"}, {0x6801, 6, 0, RADEON_PITCAIRN, CHIP_STD, "Radeon HD Pitcairn"}, @@ -312,8 +319,25 @@ const struct supported_device { {0x679f, 6, 0, RADEON_TAHITI, CHIP_STD, "Radeon HD Tahiti"}, {0x679a, 6, 0, RADEON_TAHITI, CHIP_STD, "Radeon HD 7950"}, {0x6798, 6, 0, RADEON_TAHITI, CHIP_STD, "Radeon HD 7970"}, - // New Zealand (Top, Dual GPU) - {0x6799, 6, 0, RADEON_TAHITI, CHIP_STD, "Radeon HD 7990"} + {0x6799, 6, 0, RADEON_TAHITI, CHIP_STD, "Radeon HD 7990"}, + + // Marketing Names: Radeon HD 83xx - HD 89xx + // Introduced: Late 2013 + // Codename: Sea Islands + // Process: 28 nm + // Oland DCE 6,4 + // Hainan NO DCE? + // Curacao ???? + + // Marketing Names: Radeon HD 9xxx - HD 9xxx + // Introduced: 2014? + // Codename: Volcanic Islands + // Process: 20 nm + + // Marketing Names: Radeon HD 9xxx - HD 9xxx + // Introduced: 2015? + // Codename: Pirate Islands + // Process: ?? nm }; diff --git a/src/add-ons/kernel/drivers/graphics/radeon_hd/sensors.cpp b/src/add-ons/kernel/drivers/graphics/radeon_hd/sensors.cpp index 7c6fb11..607b1cc 100644 --- a/src/add-ons/kernel/drivers/graphics/radeon_hd/sensors.cpp +++ b/src/add-ons/kernel/drivers/graphics/radeon_hd/sensors.cpp @@ -26,7 +26,7 @@ radeon_thermal_query(radeon_info &info) uint32 rawTemp = 0; int32 finalTemp = 0; - if (info.chipsetID >= RADEON_LOMBOK) { + if (info.chipsetID >= RADEON_CAPEVERDE) { rawTemp = (read32(info.registers + SI_CG_MULT_THERMAL_STATUS) & SI_CTF_TEMP_MASK) >> SI_CTF_TEMP_SHIFT;