diff mbox

[1/6] drm/radeon: force UVD buffers into VRAM on RS[78]80 v2

Message ID 1408886070-31983-2-git-send-email-deathsimple@vodafone.de (mailing list archive)
State New, archived
Headers show

Commit Message

Christian König Aug. 24, 2014, 1:14 p.m. UTC
From: Christian König <christian.koenig@amd.com>

v2: only necessary on RS[78]80

Signed-off-by: Christian König <christian.koenig@amd.com>
---
 drivers/gpu/drm/radeon/radeon_cs.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Alex Deucher Aug. 25, 2014, 5:14 p.m. UTC | #1
On Sun, Aug 24, 2014 at 9:14 AM, Christian König
<deathsimple@vodafone.de> wrote:
> From: Christian König <christian.koenig@amd.com>
>
> v2: only necessary on RS[78]80
>
> Signed-off-by: Christian König <christian.koenig@amd.com>

Series applied to my 3.18 tree.

Thanks,

Alex

> ---
>  drivers/gpu/drm/radeon/radeon_cs.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_cs.c b/drivers/gpu/drm/radeon/radeon_cs.c
> index 1321491..c91d8c8 100644
> --- a/drivers/gpu/drm/radeon/radeon_cs.c
> +++ b/drivers/gpu/drm/radeon/radeon_cs.c
> @@ -136,10 +136,13 @@ static int radeon_cs_parser_relocs(struct radeon_cs_parser *p)
>                 priority = (r->flags & 0xf) * 2 + !!r->write_domain;
>
>                 /* the first reloc of an UVD job is the msg and that must be in
> -                  VRAM, also but everything into VRAM on AGP cards to avoid
> -                  image corruptions */
> +                  VRAM, also but everything into VRAM on AGP cards and older
> +                  IGP chips to avoid image corruptions */
>                 if (p->ring == R600_RING_TYPE_UVD_INDEX &&
> -                   (i == 0 || drm_pci_device_is_agp(p->rdev->ddev))) {
> +                   (i == 0 || drm_pci_device_is_agp(p->rdev->ddev) ||
> +                    p->rdev->family == CHIP_RS780 ||
> +                    p->rdev->family == CHIP_RS880)) {
> +
>                         /* TODO: is this still needed for NI+ ? */
>                         p->relocs[i].prefered_domains =
>                                 RADEON_GEM_DOMAIN_VRAM;
> --
> 1.9.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/radeon/radeon_cs.c b/drivers/gpu/drm/radeon/radeon_cs.c
index 1321491..c91d8c8 100644
--- a/drivers/gpu/drm/radeon/radeon_cs.c
+++ b/drivers/gpu/drm/radeon/radeon_cs.c
@@ -136,10 +136,13 @@  static int radeon_cs_parser_relocs(struct radeon_cs_parser *p)
 		priority = (r->flags & 0xf) * 2 + !!r->write_domain;
 
 		/* the first reloc of an UVD job is the msg and that must be in
-		   VRAM, also but everything into VRAM on AGP cards to avoid
-		   image corruptions */
+		   VRAM, also but everything into VRAM on AGP cards and older
+		   IGP chips to avoid image corruptions */
 		if (p->ring == R600_RING_TYPE_UVD_INDEX &&
-		    (i == 0 || drm_pci_device_is_agp(p->rdev->ddev))) {
+		    (i == 0 || drm_pci_device_is_agp(p->rdev->ddev) ||
+		     p->rdev->family == CHIP_RS780 ||
+		     p->rdev->family == CHIP_RS880)) {
+
 			/* TODO: is this still needed for NI+ ? */
 			p->relocs[i].prefered_domains =
 				RADEON_GEM_DOMAIN_VRAM;