From: Michel Dänzer michel.daenzer@amd.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84627 Signed-off-by: Michel Dänzer michel.daenzer@amd.com --- drivers/gpu/drm/radeon/radeon_object.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c index 33e6c7a..d4f472b 100644 --- a/drivers/gpu/drm/radeon/radeon_object.c +++ b/drivers/gpu/drm/radeon/radeon_object.c @@ -233,6 +233,13 @@ int radeon_bo_create(struct radeon_device *rdev, if (!(rdev->flags & RADEON_IS_PCIE)) bo->flags &= ~(RADEON_GEM_GTT_WC | RADEON_GEM_GTT_UC);
+#ifdef CONFIG_X86_32 + /* XXX: Write-combined CPU mappings of GTT seem broken on 32-bit + * See https://bugs.freedesktop.org/show_bug.cgi?id=84627 + */ + bo->flags &= ~RADEON_GEM_GTT_WC; +#endif + radeon_ttm_placement_from_domain(bo, domain); /* Kernel allocation are uninterruptible */ down_read(&rdev->pm.mclk_lock);
On Thu, Nov 27, 2014 at 4:00 AM, Michel Dänzer michel@daenzer.net wrote:
From: Michel Dänzer michel.daenzer@amd.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84627 Signed-off-by: Michel Dänzer michel.daenzer@amd.com
Applied to my -fixes tree.
Thanks,
Alex
drivers/gpu/drm/radeon/radeon_object.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c index 33e6c7a..d4f472b 100644 --- a/drivers/gpu/drm/radeon/radeon_object.c +++ b/drivers/gpu/drm/radeon/radeon_object.c @@ -233,6 +233,13 @@ int radeon_bo_create(struct radeon_device *rdev, if (!(rdev->flags & RADEON_IS_PCIE)) bo->flags &= ~(RADEON_GEM_GTT_WC | RADEON_GEM_GTT_UC);
+#ifdef CONFIG_X86_32
/* XXX: Write-combined CPU mappings of GTT seem broken on 32-bit
* See https://bugs.freedesktop.org/show_bug.cgi?id=84627
*/
bo->flags &= ~RADEON_GEM_GTT_WC;
+#endif
radeon_ttm_placement_from_domain(bo, domain); /* Kernel allocation are uninterruptible */ down_read(&rdev->pm.mclk_lock);
-- 2.1.3
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
On 1 December 2014 at 14:02, Alex Deucher alexdeucher@gmail.com wrote:
On Thu, Nov 27, 2014 at 4:00 AM, Michel Dänzer michel@daenzer.net wrote:
From: Michel Dänzer michel.daenzer@amd.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84627 Signed-off-by: Michel Dänzer michel.daenzer@amd.com
Applied to my -fixes tree.
Btw while I'm okay to merge this as a workaround, I'd really like to know if someone cares enough to fix it.
Because there is no reason WC mappings should be broken on 32-bit, and its quite likely they are broken on 64-bit too just more subtly.
Dave.
On 03.12.2014 08:28, Dave Airlie wrote:
On 1 December 2014 at 14:02, Alex Deucher alexdeucher@gmail.com wrote:
On Thu, Nov 27, 2014 at 4:00 AM, Michel Dänzer michel@daenzer.net wrote:
From: Michel Dänzer michel.daenzer@amd.com
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84627 Signed-off-by: Michel Dänzer michel.daenzer@amd.com
Applied to my -fixes tree.
Btw while I'm okay to merge this as a workaround, I'd really like to know if someone cares enough to fix it.
Because there is no reason WC mappings should be broken on 32-bit, and its quite likely they are broken on 64-bit too just more subtly.
It would definitely be nice to get to the bottom of this, but I'm not sure where to dig next. Given that basically the same 64-bit kernel seems to fail when built on a 32-bit host but works fine when built on a 64-bit host, I suspect it might be something from the host toolchain / build environment leaking into the resulting binaries somehow.
dri-devel@lists.freedesktop.org