summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2012-03-20 19:54:57 -0400
committerAlex Deucher <alexdeucher@gmail.com>2012-03-20 19:54:57 -0400
commit55d65fcf33eb383e3fbc7a1d469ab68a70a7ab37 (patch)
tree63fec90b560b32c9e31b216aad9a9505911cc462
parentb5cf9bd693cf4090956add4c33c4fae9c3069a03 (diff)
radeon/kms: add support for TN (trinity) APUs
- KMS only - Includes full EXA/Xv support Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
-rw-r--r--src/evergreen_accel.c9
-rw-r--r--src/evergreen_exa.c2
-rw-r--r--src/radeon_kms.c2
-rw-r--r--src/radeon_probe.h1
4 files changed, 8 insertions, 6 deletions
diff --git a/src/evergreen_accel.c b/src/evergreen_accel.c
index 3c76d38b..581aaf6e 100644
--- a/src/evergreen_accel.c
+++ b/src/evergreen_accel.c
@@ -661,7 +661,8 @@ evergreen_set_vtx_resource(ScrnInfoPtr pScrn, vtx_resource_t *res, uint32_t doma
(info->ChipFamily == CHIP_FAMILY_SUMO) ||
(info->ChipFamily == CHIP_FAMILY_SUMO2) ||
(info->ChipFamily == CHIP_FAMILY_CAICOS) ||
- (info->ChipFamily == CHIP_FAMILY_CAYMAN))
+ (info->ChipFamily == CHIP_FAMILY_CAYMAN) ||
+ (info->ChipFamily == CHIP_FAMILY_ARUBA))
evergreen_cp_set_surface_sync(pScrn, TC_ACTION_ENA_bit,
accel_state->vbo.vb_offset, accel_state->vbo.vb_mc_addr,
res->bo,
@@ -864,8 +865,8 @@ evergreen_fix_scissor_coordinates(ScrnInfoPtr pScrn, int *x1, int *y1, int *x2,
if (*y2 == 0)
*y1 = 1;
- /* cayman only */
- if (info->ChipFamily == CHIP_FAMILY_CAYMAN) {
+ /* cayman/tn only */
+ if (info->ChipFamily >= CHIP_FAMILY_CAYMAN) {
/* cliprects aren't affected so we can use them to clip if we need
* a true 1x1 clip region
*/
@@ -970,7 +971,7 @@ evergreen_set_default_state(ScrnInfoPtr pScrn)
RADEONInfoPtr info = RADEONPTR(pScrn);
struct radeon_accel_state *accel_state = info->accel_state;
- if (info->ChipFamily == CHIP_FAMILY_CAYMAN) {
+ if (info->ChipFamily >= CHIP_FAMILY_CAYMAN) {
cayman_set_default_state(pScrn);
return;
}
diff --git a/src/evergreen_exa.c b/src/evergreen_exa.c
index 1077a2dd..cee3ec25 100644
--- a/src/evergreen_exa.c
+++ b/src/evergreen_exa.c
@@ -1958,7 +1958,7 @@ EVERGREENDrawInit(ScreenPtr pScreen)
if (!EVERGREENAllocShaders(pScrn, pScreen))
return FALSE;
- if (info->ChipFamily == CHIP_FAMILY_CAYMAN) {
+ if (info->ChipFamily >= CHIP_FAMILY_CAYMAN) {
if (!CAYMANLoadShaders(pScrn))
return FALSE;
} else {
diff --git a/src/radeon_kms.c b/src/radeon_kms.c
index c094beab..dda25e90 100644
--- a/src/radeon_kms.c
+++ b/src/radeon_kms.c
@@ -688,7 +688,7 @@ Bool RADEONPreInit_KMS(ScrnInfoPtr pScrn, int flags)
Bool colorTilingDefault =
xorgGetVersion() >= XORG_VERSION_NUMERIC(1,9,4,901,0) &&
info->ChipFamily >= CHIP_FAMILY_R300 &&
- info->ChipFamily <= CHIP_FAMILY_CAYMAN;
+ info->ChipFamily <= CHIP_FAMILY_ARUBA;
/* 2D color tiling */
if (info->ChipFamily >= CHIP_FAMILY_R600) {
diff --git a/src/radeon_probe.h b/src/radeon_probe.h
index 3123bccf..66905022 100644
--- a/src/radeon_probe.h
+++ b/src/radeon_probe.h
@@ -108,6 +108,7 @@ typedef enum {
CHIP_FAMILY_TURKS,
CHIP_FAMILY_CAICOS,
CHIP_FAMILY_CAYMAN,
+ CHIP_FAMILY_ARUBA,
CHIP_FAMILY_LAST
} RADEONChipFamily;