Author: kallisti5 Date: 2011-04-28 20:57:22 +0200 (Thu, 28 Apr 2011) New Revision: 41289 Changeset: https://dev.haiku-os.org/changeset/41289 Modified: haiku/trunk/headers/private/graphics/radeon_hd/radeon_hd.h haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.h Log: add some R800 cards to known pci ids; implement basic known card type/model storage Modified: haiku/trunk/headers/private/graphics/radeon_hd/radeon_hd.h =================================================================== --- haiku/trunk/headers/private/graphics/radeon_hd/radeon_hd.h 2011-04-28 18:27:12 UTC (rev 41288) +++ haiku/trunk/headers/private/graphics/radeon_hd/radeon_hd.h 2011-04-28 18:57:22 UTC (rev 41289) @@ -45,10 +45,15 @@ #define VENDOR_ID_ATI 0x1002 +// TODO : Remove masks as they don't apply to radeon #define RADEON_TYPE_FAMILY_MASK 0xf000 #define RADEON_TYPE_GROUP_MASK 0xfff0 #define RADEON_TYPE_MODEL_MASK 0xffff +#define RADEON_R600 0x0600 +#define RADEON_R700 0x0700 +#define RADEON_R800 0x0800 + #define DEVICE_NAME "radeon_hd" #define RADEON_ACCELERANT_NAME "radeon_hd.accelerant" Modified: haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp 2011-04-28 18:27:12 UTC (rev 41288) +++ haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.cpp 2011-04-28 18:57:22 UTC (rev 41289) @@ -42,36 +42,38 @@ const char* name; } kSupportedDevices[] = { // R600 series (HD24xx - HD42xx) + // Codename: Pele // Radeon 2400 - RV610 - {0x9611, 0, "Radeon HD 3100"}, /*RV620, IGP*/ - {0x9613, 0, "Radeon HD 3100"}, /*RV620, IGP*/ - {0x9610, 0, "Radeon HD 3200"}, /*RV620, IGP*/ - {0x9612, 0, "Radeon HD 3200"}, /*RV620, IGP*/ - {0x9615, 0, "Radeon HD 3200"}, /*RV620, IGP*/ + {0x9611, RADEON_R600 | 0x20, "Radeon HD 3100"}, /*RV620, IGP*/ + {0x9613, RADEON_R600 | 0x20, "Radeon HD 3100"}, /*RV620, IGP*/ + {0x9610, RADEON_R600 | 0x20, "Radeon HD 3200"}, /*RV620, IGP*/ + {0x9612, RADEON_R600 | 0x20, "Radeon HD 3200"}, /*RV620, IGP*/ + {0x9615, RADEON_R600 | 0x20, "Radeon HD 3200"}, /*RV620, IGP*/ // Radeon 3410 - RV620 // Radeon 3430 - RV620 - {0x95c5, 0, "Radeon HD 3450"}, /*RV620*/ + {0x95c5, RADEON_R600 | 0x20, "Radeon HD 3450"}, /*RV620*/ // Radeon 3470 - RV620 - {0x9710, 0, "Radeon HD 4200"}, /*RV620, IGP*/ + {0x9710, RADEON_R600 | 0x20, "Radeon HD 4200"}, /*RV620, IGP*/ // Radeon 4225 - RV620 // Radeon 4250 - RV620 - {0x9712, 0, "Radeon HD 4270"}, /*RV620, IGP*/ - {0x9589, 0, "Radeon HD 2600"}, /*RV630*/ + {0x9712, RADEON_R600 | 0x20, "Radeon HD 4270"}, /*RV620, IGP*/ + {0x9589, RADEON_R600 | 0x30, "Radeon HD 2600"}, /*RV630*/ // Radeon 2700 - RV630 // Radeon 3650 - RV635 // Radeon 3670 - RV635 // Radeon 3850 - RV670 // Radeon 3870 - RV670 - {0x9501, 0, "Radeon HD 3870"}, /*RV670, IGP*/ + {0x9501, RADEON_R600 | 0x70, "Radeon HD 3870"}, /*RV670, IGP*/ // Radeon 3850 x2 - RV680 // Radeon 3870 x2 - RV680 // R700 series (HD4330 - HD4890, HD51xx, HD5xxV) + // Codename: Wekiva // Radeon 4330 - RV710 - {0x954f, 0, "Radeon HD 4350"}, /*RV710*/ - {0x9555, 0, "Radeon HD 4350"}, /*RV710*/ + {0x954f, RADEON_R700 | 0x10, "Radeon HD 4350"}, /*RV710*/ + {0x9555, RADEON_R700 | 0x10, "Radeon HD 4350"}, /*RV710*/ // Radeon 4530 - RV710 - {0x9540, 0, "Radeon HD 4550"} /*RV710*/ + {0x9540, RADEON_R700 | 0x10, "Radeon HD 4550"}, /*RV710*/ // Radeon 4570 - RV710 // Radeon 4650 - RV730 // Radeon 4670 - RV730 @@ -80,6 +82,20 @@ // Radeon 4860 - RV740 // Radeon 4870 - RV770 // Radeon 4870 x2 - RV770 + + // R800 series (HD54xx - HD59xx) + // Codename: Evergreen + {0x68f9, RADEON_R800 | 0x0, "Radeon HD 5450"}, /*RV8XX*/ + {0x68da, RADEON_R800 | 0x0, "Radeon HD 5500"}, /*RV8XX*/ + {0x68d9, RADEON_R800 | 0x0, "Radeon HD 5570"}, /*RV8XX*/ + {0x68b9, RADEON_R800 | 0x0, "Radeon HD 5600"}, /*RV8XX*/ + {0x68d8, RADEON_R800 | 0x0, "Radeon HD 5670"}, /*RV8XX*/ + {0x68be, RADEON_R800 | 0x0, "Radeon HD 5700"}, /*RV8XX*/ + {0x68b8, RADEON_R800 | 0x0, "Radeon HD 5770"}, /*RV8XX*/ + {0x6898, RADEON_R800 | 0x0, "Radeon HD 5800"}, /*RV8XX*/ + {0x6899, RADEON_R800 | 0x0, "Radeon HD 5800"}, /*RV8XX*/ + {0x689e, RADEON_R800 | 0x0, "Radeon HD 5800"}, /*RV8XX*/ + {0x689c, RADEON_R800 | 0x0, "Radeon HD 5900"} /*RV8XX*/ }; Modified: haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.h =================================================================== --- haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.h 2011-04-28 18:27:12 UTC (rev 41288) +++ haiku/trunk/src/add-ons/kernel/drivers/graphics/radeon_hd/driver.h 2011-04-28 18:57:22 UTC (rev 41289) @@ -16,6 +16,7 @@ #include <kernel/lock.h> +#include "radeon_hd.h" #include "radeon_hd_private.h"