r600g: add support for ontario APUs

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
This commit is contained in:
Alex Deucher 2010-11-22 17:47:24 -05:00
parent 072f2cbf29
commit 0e4c5f63b9
7 changed files with 36 additions and 0 deletions

View file

@ -1036,11 +1036,33 @@ void evergreen_init_config(struct r600_pipe_context *rctx)
num_hs_stack_entries = 85;
num_ls_stack_entries = 85;
break;
case CHIP_PALM:
num_ps_gprs = 93;
num_vs_gprs = 46;
num_temp_gprs = 4;
num_gs_gprs = 31;
num_es_gprs = 31;
num_hs_gprs = 23;
num_ls_gprs = 23;
num_ps_threads = 96;
num_vs_threads = 16;
num_gs_threads = 16;
num_es_threads = 16;
num_hs_threads = 16;
num_ls_threads = 16;
num_ps_stack_entries = 42;
num_vs_stack_entries = 42;
num_gs_stack_entries = 42;
num_es_stack_entries = 42;
num_hs_stack_entries = 42;
num_ls_stack_entries = 42;
break;
}
tmp = 0x00000000;
switch (family) {
case CHIP_CEDAR:
case CHIP_PALM:
break;
default:
tmp |= S_008C00_VC_ENABLE(1);

View file

@ -91,6 +91,7 @@ enum radeon_family {
CHIP_JUNIPER,
CHIP_CYPRESS,
CHIP_HEMLOCK,
CHIP_PALM,
CHIP_LAST,
};

View file

@ -151,6 +151,7 @@ int r600_bc_init(struct r600_bc *bc, enum radeon_family family)
case CHIP_JUNIPER:
case CHIP_CYPRESS:
case CHIP_HEMLOCK:
case CHIP_PALM:
bc->chiprev = CHIPREV_EVERGREEN;
break;
default:

View file

@ -147,6 +147,7 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void
case CHIP_JUNIPER:
case CHIP_CYPRESS:
case CHIP_HEMLOCK:
case CHIP_PALM:
rctx->context.draw_vbo = evergreen_draw;
evergreen_init_state_functions(rctx);
if (evergreen_context_init(&rctx->ctx, rctx->radeon)) {
@ -238,6 +239,7 @@ static const char *r600_get_family_name(enum radeon_family family)
case CHIP_JUNIPER: return "AMD JUNIPER";
case CHIP_CYPRESS: return "AMD CYPRESS";
case CHIP_HEMLOCK: return "AMD HEMLOCK";
case CHIP_PALM: return "AMD PALM";
default: return "AMD unknown";
}
}

View file

@ -98,6 +98,7 @@ struct radeon *r600_new(int fd, unsigned device)
case CHIP_JUNIPER:
case CHIP_CYPRESS:
case CHIP_HEMLOCK:
case CHIP_PALM:
break;
case CHIP_R100:
case CHIP_RV100:
@ -154,6 +155,7 @@ struct radeon *r600_new(int fd, unsigned device)
case CHIP_JUNIPER:
case CHIP_CYPRESS:
case CHIP_HEMLOCK:
case CHIP_PALM:
r600->chip_class = EVERGREEN;
break;
default:

View file

@ -150,6 +150,7 @@ struct radeon *radeon_new(int fd, unsigned device)
case CHIP_JUNIPER:
case CHIP_CYPRESS:
case CHIP_HEMLOCK:
case CHIP_PALM:
break;
case CHIP_R100:
case CHIP_RV100:
@ -211,6 +212,7 @@ struct radeon *radeon_new(int fd, unsigned device)
case CHIP_JUNIPER:
case CHIP_CYPRESS:
case CHIP_HEMLOCK:
case CHIP_PALM:
radeon->chip_class = EVERGREEN;
/* set default group bytes, overridden by tiling info ioctl */
radeon->tiling_info.group_bytes = 512;

View file

@ -441,6 +441,10 @@ struct pci_id radeon_pci_id[] = {
{0x1002, 0x9713, CHIP_RS880},
{0x1002, 0x9714, CHIP_RS880},
{0x1002, 0x9715, CHIP_RS880},
{0x1002, 0x9802, CHIP_PALM},
{0x1002, 0x9803, CHIP_PALM},
{0x1002, 0x9804, CHIP_PALM},
{0x1002, 0x9805, CHIP_PALM},
{0, 0},
};
@ -477,6 +481,7 @@ int radeon_is_family_compatible(unsigned family1, unsigned family2)
case CHIP_JUNIPER:
case CHIP_CYPRESS:
case CHIP_HEMLOCK:
case CHIP_PALM:
switch (family2) {
case CHIP_R600:
case CHIP_RV610:
@ -495,6 +500,7 @@ int radeon_is_family_compatible(unsigned family1, unsigned family2)
case CHIP_JUNIPER:
case CHIP_CYPRESS:
case CHIP_HEMLOCK:
case CHIP_PALM:
return 1;
default:
return 0;