diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2012-03-20 19:54:57 -0400 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2012-03-20 19:54:57 -0400 |
commit | 55d65fcf33eb383e3fbc7a1d469ab68a70a7ab37 (patch) | |
tree | 63fec90b560b32c9e31b216aad9a9505911cc462 | |
parent | b5cf9bd693cf4090956add4c33c4fae9c3069a03 (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.c | 9 | ||||
-rw-r--r-- | src/evergreen_exa.c | 2 | ||||
-rw-r--r-- | src/radeon_kms.c | 2 | ||||
-rw-r--r-- | src/radeon_probe.h | 1 |
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; |