Skip to contentSkip to conversation

FAILED: patch "[PATCH] drm/amdgpu: mask out WC from BO on unsupported arches" failed to apply to 4.4-stable tree

PATCH [email protected] 2 participants 3 messages Mar 1, 2016 – Mar 2, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

Quoted 1 line

From a187f17f0e15a046aa5d7263b35df55230d92779 Mon Sep 17 00:00:00 2001

From: Oded Gabbay <[email protected]>
Date: Sat, 30 Jan 2016 07:59:34 +0200
Subject: [PATCH] drm/amdgpu: mask out WC from BO on unsupported arches
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +8 -0
index a2a16acee34d..b8fbbd7699e4 100644
@@ -33,6 +33,7 @@
 #include <linux/slab.h>
 #include <drm/drmP.h>
 #include <drm/amdgpu_drm.h>
+#include <drm/drm_cache.h>
 #include "amdgpu.h"
 #include "amdgpu_trace.h"
 
@@ -261,6 +262,13 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
 				       AMDGPU_GEM_DOMAIN_OA);
 
 	bo->flags = flags;
+
+	/* For architectures that don't support WC memory,
+	 * mask out the WC flag from the BO
+	 */
+	if (!drm_arch_can_wc_memory())
+		bo->flags &= ~AMDGPU_GEM_CREATE_CPU_GTT_USWC;
+
 	amdgpu_fill_placement_to_bo(bo, placement);
 	/* Kernel allocation are uninterruptible */
 	r = ttm_bo_init(&adev->mman.bdev, &bo->tbo, size, type,
#1 lore raw
Quoted 9 lines · On Tue, Mar 1, 2016 at 9:39 PM, <[email protected]> wrote:

The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

Hi Greg,
I went now to solving this, but when I tried to apply a187f17f0e15a046aa5d7263b35df55230d92779 to the HEAD of linux-4.4.y branch (last commit I see there is 2134d97 Linux 4.4.3), it applied cleanly.

I'm not sure how to continue from here.

Oded

Quoted 44 lines

------------------ original commit in Linus's tree ------------------

From a187f17f0e15a046aa5d7263b35df55230d92779 Mon Sep 17 00:00:00 2001
From: Oded Gabbay <[email protected]>
Date: Sat, 30 Jan 2016 07:59:34 +0200
Subject: [PATCH] drm/amdgpu: mask out WC from BO on unsupported arches
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +8 -0
index a2a16acee34d..b8fbbd7699e4 100644
@@ -33,6 +33,7 @@
 #include <linux/slab.h>
 #include <drm/drmP.h>
 #include <drm/amdgpu_drm.h>
+#include <drm/drm_cache.h>
 #include "amdgpu.h"
 #include "amdgpu_trace.h"
 
@@ -261,6 +262,13 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
                                       AMDGPU_GEM_DOMAIN_OA);
 
        bo->flags = flags;
+
+       /* For architectures that don't support WC memory,
+        * mask out the WC flag from the BO
+        */
+       if (!drm_arch_can_wc_memory())
+               bo->flags &= ~AMDGPU_GEM_CREATE_CPU_GTT_USWC;
+
        amdgpu_fill_placement_to_bo(bo, placement);
        /* Kernel allocation are uninterruptible */
        r = ttm_bo_init(&adev->mman.bdev, &bo->tbo, size, type,
#2 lore raw
Quoted 17 lines · Oded Gabbay
Quoted 9 lines · On Tue, Mar 1, 2016 at 9:39 PM, <[email protected]> wrote:

The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

Hi Greg,
I went now to solving this, but when I tried to apply a187f17f0e15a046aa5d7263b35df55230d92779 to the HEAD of linux-4.4.y branch (last commit I see there is 2134d97 Linux 4.4.3), it applied cleanly.

Quoted 4 lines

I'm not sure how to continue from here.

Oded

Nevermind, I resent the patch anyway, rebased on top of linux-4.4.y

Oded

Quoted 44 lines
Quoted 44 lines

------------------ original commit in Linus's tree ------------------

From a187f17f0e15a046aa5d7263b35df55230d92779 Mon Sep 17 00:00:00 2001
From: Oded Gabbay <[email protected]>
Date: Sat, 30 Jan 2016 07:59:34 +0200
Subject: [PATCH] drm/amdgpu: mask out WC from BO on unsupported arches
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +8 -0
index a2a16acee34d..b8fbbd7699e4 100644
@@ -33,6 +33,7 @@
 #include <linux/slab.h>
 #include <drm/drmP.h>
 #include <drm/amdgpu_drm.h>
+#include <drm/drm_cache.h>
 #include "amdgpu.h"
 #include "amdgpu_trace.h"
 
@@ -261,6 +262,13 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
                                       AMDGPU_GEM_DOMAIN_OA);
 
        bo->flags = flags;
+
+       /* For architectures that don't support WC memory,
+        * mask out the WC flag from the BO
+        */
+       if (!drm_arch_can_wc_memory())
+               bo->flags &= ~AMDGPU_GEM_CREATE_CPU_GTT_USWC;
+
        amdgpu_fill_placement_to_bo(bo, placement);
        /* Kernel allocation are uninterruptible */
        r = ttm_bo_init(&adev->mman.bdev, &bo->tbo, size, type,