On Mon, Sep 3, 2012 at 2:09 PM, Andreas Boll <andreas.boll....@gmail.com> wrote: > Hi list, > > I've read some critical news [0] about mesa and I want to fix the issue asap. > > I wanted to cherry pick the following commit to the stable branch 8.0: > > > commit b4082f492b4b55df4c636445e47b97d1f1e4b5b2 > Author: Alex Deucher <alexander.deuc...@amd.com> > Date: Tue Mar 20 19:43:59 2012 -0400 > > r600g: add support for TN (trinity) APUs > > Note: this is a candidate for the stable branches. > > Signed-off-by: Alex Deucher <alexander.deuc...@amd.com> > > but it has triggered a non-trivial conflict. > At first sight the conflict is caused by the cache flushing rework from commit > 0813e58a3e41faf6f2072d034dfdc6198a3a1fee > > Could someone who is more familiar with the code solve the conflict > so that the next stable release (mesa 8.0.5) has support for trinity.
The attached patch should do the trick. Alex > > [0] > http://www.h-online.com/open/features/Kernel-Comment-Release-early-release-often-1696535.html > > Andreas > > P.S: I'm cherry-picking all the other outstanding candidates to mesa 8.0 > and once I have my fdo account I'll push a branch at people.fdo with > all the candidates (about 37) for 8.0. > This way the qa's and other people can test a little bit before I push > it to the official 8.0 branch. > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
From 31a4448a8365925998c27b495b3086837de9939e Mon Sep 17 00:00:00 2001 From: Alex Deucher <alexander.deuc...@amd.com> Date: Mon, 3 Sep 2012 15:11:12 -0400 Subject: [PATCH] r600g: 8.0.x support for Trinity This is a backport of the following commits from master: b4082f492b4b55df4c636445e47b97d1f1e4b5b2 75f9d24ac4a539a8f0c16c9bd66e11dc394ba81b Signed-off-by: Alex Deucher <alexander.deuc...@amd.com> --- include/pci_ids/r600_pci_ids.h | 25 +++++++++++++++++++++++++ src/gallium/drivers/r600/evergreen_hw_context.c | 4 ++-- src/gallium/drivers/r600/r600.h | 1 + src/gallium/drivers/r600/r600_pipe.c | 3 ++- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/include/pci_ids/r600_pci_ids.h b/include/pci_ids/r600_pci_ids.h index a55d45c..3ffc525 100644 --- a/include/pci_ids/r600_pci_ids.h +++ b/include/pci_ids/r600_pci_ids.h @@ -279,3 +279,28 @@ CHIPSET(0x6772, CAICOS_6772, CAICOS) CHIPSET(0x6778, CAICOS_6778, CAICOS) CHIPSET(0x6779, CAICOS_6779, CAICOS) CHIPSET(0x677B, CAICOS_677B, CAICOS) + +CHIPSET(0x9900, ARUBA_9900, ARUBA) +CHIPSET(0x9901, ARUBA_9901, ARUBA) +CHIPSET(0x9903, ARUBA_9903, ARUBA) +CHIPSET(0x9904, ARUBA_9904, ARUBA) +CHIPSET(0x9905, ARUBA_9905, ARUBA) +CHIPSET(0x9906, ARUBA_9906, ARUBA) +CHIPSET(0x9907, ARUBA_9907, ARUBA) +CHIPSET(0x9908, ARUBA_9908, ARUBA) +CHIPSET(0x9909, ARUBA_9909, ARUBA) +CHIPSET(0x990A, ARUBA_990A, ARUBA) +CHIPSET(0x990F, ARUBA_990F, ARUBA) +CHIPSET(0x9910, ARUBA_9910, ARUBA) +CHIPSET(0x9913, ARUBA_9913, ARUBA) +CHIPSET(0x9917, ARUBA_9917, ARUBA) +CHIPSET(0x9918, ARUBA_9918, ARUBA) +CHIPSET(0x9919, ARUBA_9919, ARUBA) +CHIPSET(0x9990, ARUBA_9990, ARUBA) +CHIPSET(0x9991, ARUBA_9991, ARUBA) +CHIPSET(0x9992, ARUBA_9992, ARUBA) +CHIPSET(0x9993, ARUBA_9993, ARUBA) +CHIPSET(0x9994, ARUBA_9994, ARUBA) +CHIPSET(0x99A0, ARUBA_99A0, ARUBA) +CHIPSET(0x99A2, ARUBA_99A2, ARUBA) +CHIPSET(0x99A4, ARUBA_99A4, ARUBA) diff --git a/src/gallium/drivers/r600/evergreen_hw_context.c b/src/gallium/drivers/r600/evergreen_hw_context.c index 7e698f1..b09bde1 100644 --- a/src/gallium/drivers/r600/evergreen_hw_context.c +++ b/src/gallium/drivers/r600/evergreen_hw_context.c @@ -930,7 +930,7 @@ int evergreen_context_init(struct r600_context *ctx, struct r600_screen *screen) } /* add blocks */ - if (ctx->screen->family == CHIP_CAYMAN) + if (ctx->screen->family >= CHIP_CAYMAN) r = r600_context_add_block(ctx, cayman_config_reg_list, Elements(cayman_config_reg_list), PKT3_SET_CONFIG_REG, EVERGREEN_CONFIG_REG_OFFSET); else @@ -938,7 +938,7 @@ int evergreen_context_init(struct r600_context *ctx, struct r600_screen *screen) Elements(evergreen_config_reg_list), PKT3_SET_CONFIG_REG, EVERGREEN_CONFIG_REG_OFFSET); if (r) goto out_err; - if (ctx->screen->family == CHIP_CAYMAN) + if (ctx->screen->family >= CHIP_CAYMAN) r = r600_context_add_block(ctx, cayman_context_reg_list, Elements(cayman_context_reg_list), PKT3_SET_CONTEXT_REG, EVERGREEN_CONTEXT_REG_OFFSET); else diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index 4bfb5a9..f74d4d0 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -66,6 +66,7 @@ enum radeon_family { CHIP_TURKS, CHIP_CAICOS, CHIP_CAYMAN, + CHIP_ARUBA, CHIP_LAST, }; diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 008a0b9..91bc4e6 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -333,6 +333,7 @@ static const char *r600_get_family_name(enum radeon_family family) case CHIP_TURKS: return "AMD TURKS"; case CHIP_CAICOS: return "AMD CAICOS"; case CHIP_CAYMAN: return "AMD CAYMAN"; + case CHIP_ARUBA: return "AMD ARUBA"; default: return "AMD unknown"; } } @@ -777,7 +778,7 @@ struct pipe_screen *r600_screen_create(struct radeon_winsys *ws) } /* setup class */ - if (rscreen->family == CHIP_CAYMAN) { + if (rscreen->family >= CHIP_CAYMAN) { rscreen->chip_class = CAYMAN; } else if (rscreen->family >= CHIP_CEDAR) { rscreen->chip_class = EVERGREEN; -- 1.7.11.4
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev