drm/radeon: force the UVD DPB into VRAM as well
Seems to be mandatory for WMV playback. Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=100510 Signed-off-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
203eb0cb0e
commit
8f12bbe6d9
|
@ -117,11 +117,13 @@ static int radeon_cs_parser_relocs(struct radeon_cs_parser *p)
|
||||||
priority = (r->flags & RADEON_RELOC_PRIO_MASK) * 2
|
priority = (r->flags & RADEON_RELOC_PRIO_MASK) * 2
|
||||||
+ !!r->write_domain;
|
+ !!r->write_domain;
|
||||||
|
|
||||||
/* the first reloc of an UVD job is the msg and that must be in
|
/* The first reloc of an UVD job is the msg and that must be in
|
||||||
VRAM, also but everything into VRAM on AGP cards and older
|
* VRAM, the second reloc is the DPB and for WMV that must be in
|
||||||
IGP chips to avoid image corruptions */
|
* VRAM as well. Also put everything into VRAM on AGP cards and older
|
||||||
|
* IGP chips to avoid image corruptions
|
||||||
|
*/
|
||||||
if (p->ring == R600_RING_TYPE_UVD_INDEX &&
|
if (p->ring == R600_RING_TYPE_UVD_INDEX &&
|
||||||
(i == 0 || pci_find_capability(p->rdev->ddev->pdev,
|
(i <= 0 || pci_find_capability(p->rdev->ddev->pdev,
|
||||||
PCI_CAP_ID_AGP) ||
|
PCI_CAP_ID_AGP) ||
|
||||||
p->rdev->family == CHIP_RS780 ||
|
p->rdev->family == CHIP_RS780 ||
|
||||||
p->rdev->family == CHIP_RS880)) {
|
p->rdev->family == CHIP_RS880)) {
|
||||||
|
|
|
@ -621,7 +621,7 @@ static int radeon_uvd_cs_reloc(struct radeon_cs_parser *p,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO: is this still necessary on NI+ ? */
|
/* TODO: is this still necessary on NI+ ? */
|
||||||
if ((cmd == 0 || cmd == 0x3) &&
|
if ((cmd == 0 || cmd == 1 || cmd == 0x3) &&
|
||||||
(start >> 28) != (p->rdev->uvd.gpu_addr >> 28)) {
|
(start >> 28) != (p->rdev->uvd.gpu_addr >> 28)) {
|
||||||
DRM_ERROR("msg/fb buffer %LX-%LX out of 256MB segment!\n",
|
DRM_ERROR("msg/fb buffer %LX-%LX out of 256MB segment!\n",
|
||||||
start, end);
|
start, end);
|
||||||
|
|
Loading…
Reference in a new issue