Bit late, but this causes a startup fail for me with r9 285 , nothing logged, just a blank screen when the driver loads.

Heads of both amd-staging-4.11 and drm-next-4.14-wip both failing.

Deucher, Alexander wrote:
-----Original Message-----
From: amd-gfx [mailto:amd-gfx-boun...@lists.freedesktop.org] On Behalf
Of Christian König
Sent: Friday, July 07, 2017 7:53 AM
To: amd-gfx@lists.freedesktop.org
Subject: [PATCH 6/6] drm/amdgpu: change gartsize default to 256MB

From: Christian König <christian.koe...@amd.com>

Limit the default GART size and save a lot of VRAM.

Signed-off-by: Christian König <christian.koe...@amd.com>

Patch 1-4, 6:
Reviewed-by: Alex Deucher <alexander.deuc...@amd.com>

---
  drivers/gpu/drm/amd/amdgpu/amdgpu.h        |  2 +-
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 12 +++++-------
  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c    |  6 +++---
  drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c   |  9 +--------
  4 files changed, 10 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 94bbf71..2421b6a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -76,7 +76,7 @@
   */
  extern int amdgpu_modeset;
  extern int amdgpu_vram_limit;
-extern int amdgpu_gart_size;
+extern unsigned amdgpu_gart_size;
  extern int amdgpu_gtt_size;
  extern int amdgpu_moverate;
  extern int amdgpu_benchmarking;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 8ef7e5e..7a90dec 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1128,13 +1128,11 @@ static void amdgpu_check_arguments(struct
amdgpu_device *adev)
                amdgpu_sched_jobs =
roundup_pow_of_two(amdgpu_sched_jobs);
        }

-       if (amdgpu_gart_size != -1) {
-               /* gtt size must be greater or equal to 32M */
-               if (amdgpu_gart_size < 32) {
-                       dev_warn(adev->dev, "gart size (%d) too small\n",
-                                amdgpu_gart_size);
-                       amdgpu_gart_size = -1;
-               }
+       if (amdgpu_gart_size < 32) {
+               /* gart size must be greater or equal to 32M */
+               dev_warn(adev->dev, "gart size (%d) too small\n",
+                        amdgpu_gart_size);
+               amdgpu_gart_size = 32;
        }

        if (amdgpu_gtt_size != -1 && amdgpu_gtt_size < 32) {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index b7c6cee..559e092 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -74,7 +74,7 @@
  #define KMS_DRIVER_PATCHLEVEL 0

  int amdgpu_vram_limit = 0;
-int amdgpu_gart_size = -1; /* auto */
+unsigned amdgpu_gart_size = 256;
  int amdgpu_gtt_size = -1; /* auto */
  int amdgpu_moverate = -1; /* auto */
  int amdgpu_benchmarking = 0;
@@ -122,8 +122,8 @@ int amdgpu_lbpw = -1;
  MODULE_PARM_DESC(vramlimit, "Restrict VRAM for testing, in
megabytes");
  module_param_named(vramlimit, amdgpu_vram_limit, int, 0600);

-MODULE_PARM_DESC(gartsize, "Size of PCIE/IGP gart to setup in
megabytes (32, 64, etc., -1 = auto)");
-module_param_named(gartsize, amdgpu_gart_size, int, 0600);
+MODULE_PARM_DESC(gartsize, "Size of PCIE/IGP gart to setup in
megabytes (32, 64, etc.)");
+module_param_named(gartsize, amdgpu_gart_size, uint, 0600);

  MODULE_PARM_DESC(gttsize, "Size of the GTT domain in megabytes (-1 =
auto)");
  module_param_named(gttsize, amdgpu_gtt_size, int, 0600);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
index cb0814a..124b237 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
@@ -62,14 +62,7 @@
   */
  void amdgpu_gart_set_defaults(struct amdgpu_device *adev)
  {
-       /* unless the user had overridden it, set the gart
-        * size equal to the 1024 or vram, whichever is larger.
-        */
-       if (amdgpu_gart_size == -1)
-               adev->mc.gart_size =
max((AMDGPU_DEFAULT_GTT_SIZE_MB << 20),
-                                       adev->mc.mc_vram_size);
-       else
-               adev->mc.gart_size = (uint64_t)amdgpu_gart_size << 20;
+       adev->mc.gart_size = (uint64_t)amdgpu_gart_size << 20;
  }

  /**
--
2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to