[09/11] drm/amdgpu: move amdgpu_sysvm_location into amdgpu_sysvm.c as well

Submitted by Christian König on July 3, 2017, 9:44 a.m.

Details

Message ID 1499075076-1851-9-git-send-email-deathsimple@vodafone.de
State New
Headers show
Series "Series without cover letter" ( rev: 2 1 ) in AMD X.Org drivers

Not browsing as part of any series.

Commit Message

Christian König July 3, 2017, 9:44 a.m.
From: Christian König <christian.koenig@amd.com>

No intended functional change.

Signed-off-by: Christian König <christian.koenig@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu.h        |  1 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 36 ----------------------------
 drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.c  | 38 ++++++++++++++++++++++++++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.h  |  2 ++
 4 files changed, 40 insertions(+), 37 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index a2c0eac..1ed6b7a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -1862,7 +1862,6 @@  bool amdgpu_ttm_tt_is_readonly(struct ttm_tt *ttm);
 uint64_t amdgpu_ttm_tt_pte_flags(struct amdgpu_device *adev, struct ttm_tt *ttm,
 				 struct ttm_mem_reg *mem);
 void amdgpu_vram_location(struct amdgpu_device *adev, struct amdgpu_mc *mc, u64 base);
-void amdgpu_sysvm_location(struct amdgpu_device *adev, struct amdgpu_mc *mc);
 void amdgpu_ttm_set_active_vram_size(struct amdgpu_device *adev, u64 size);
 int amdgpu_ttm_init(struct amdgpu_device *adev);
 void amdgpu_ttm_fini(struct amdgpu_device *adev);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 46a82d3..228b262 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -666,42 +666,6 @@  void amdgpu_vram_location(struct amdgpu_device *adev, struct amdgpu_mc *mc, u64
 			mc->vram_end, mc->real_vram_size >> 20);
 }
 
-/**
- * amdgpu_sysvm_location - try to find SYSVM location
- * @adev: amdgpu device structure holding all necessary informations
- * @mc: memory controller structure holding memory informations
- *
- * Function will place try to place SYSVM before or after VRAM.
- *
- * If SYSVM size is bigger than space left then we ajust SYSVM size.
- * Thus function will never fails.
- *
- * FIXME: when reducing SYSVM size align new size on power of 2.
- */
-void amdgpu_sysvm_location(struct amdgpu_device *adev, struct amdgpu_mc *mc)
-{
-	u64 size_af, size_bf;
-
-	size_af = ((adev->mc.mc_mask - mc->vram_end) + mc->sysvm_base_align) & ~mc->sysvm_base_align;
-	size_bf = mc->vram_start & ~mc->sysvm_base_align;
-	if (size_bf > size_af) {
-		if (mc->sysvm_size > size_bf) {
-			dev_warn(adev->dev, "limiting SYSVM\n");
-			mc->sysvm_size = size_bf;
-		}
-		mc->sysvm_start = 0;
-	} else {
-		if (mc->sysvm_size > size_af) {
-			dev_warn(adev->dev, "limiting SYSVM\n");
-			mc->sysvm_size = size_af;
-		}
-		mc->sysvm_start = (mc->vram_end + 1 + mc->sysvm_base_align) & ~mc->sysvm_base_align;
-	}
-	mc->sysvm_end = mc->sysvm_start + mc->sysvm_size - 1;
-	dev_info(adev->dev, "SYSVM: %lluM 0x%016llX - 0x%016llX\n",
-			mc->sysvm_size >> 20, mc->sysvm_start, mc->sysvm_end);
-}
-
 /*
  * GPU helpers function.
  */
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.c
index 50fc8d7..ff436ad 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.c
@@ -73,6 +73,44 @@  void amdgpu_sysvm_set_defaults(struct amdgpu_device *adev)
 }
 
 /**
+ * amdgpu_sysvm_location - try to find SYSVM location
+ * @adev: amdgpu device structure holding all necessary informations
+ * @mc: memory controller structure holding memory informations
+ *
+ * Function will place try to place SYSVM before or after VRAM.
+ *
+ * If SYSVM size is bigger than space left then we ajust SYSVM size.
+ * Thus function will never fails.
+ *
+ * FIXME: when reducing SYSVM size align new size on power of 2.
+ */
+void amdgpu_sysvm_location(struct amdgpu_device *adev, struct amdgpu_mc *mc)
+{
+	u64 size_af, size_bf;
+
+	size_af = ((adev->mc.mc_mask - mc->vram_end) + mc->sysvm_base_align) &
+		~mc->sysvm_base_align;
+	size_bf = mc->vram_start & ~mc->sysvm_base_align;
+	if (size_bf > size_af) {
+		if (mc->sysvm_size > size_bf) {
+			dev_warn(adev->dev, "limiting SYSVM\n");
+			mc->sysvm_size = size_bf;
+		}
+		mc->sysvm_start = 0;
+	} else {
+		if (mc->sysvm_size > size_af) {
+			dev_warn(adev->dev, "limiting SYSVM\n");
+			mc->sysvm_size = size_af;
+		}
+		mc->sysvm_start = (mc->vram_end + 1 + mc->sysvm_base_align) &
+			~mc->sysvm_base_align;
+	}
+	mc->sysvm_end = mc->sysvm_start + mc->sysvm_size - 1;
+	dev_info(adev->dev, "SYSVM: %lluM 0x%016llX - 0x%016llX\n",
+			mc->sysvm_size >> 20, mc->sysvm_start, mc->sysvm_end);
+}
+
+/**
  * amdgpu_sysvm_table_ram_alloc - allocate system ram for gart page table
  *
  * @adev: amdgpu_device pointer
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.h
index 7846765..2336ece 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.h
@@ -32,6 +32,7 @@ 
 struct amdgpu_device;
 struct amdgpu_bo;
 struct amdgpu_sysvm_funcs;
+struct amdgpu_mc;
 
 #define AMDGPU_GPU_PAGE_SIZE 4096
 #define AMDGPU_GPU_PAGE_MASK (AMDGPU_GPU_PAGE_SIZE - 1)
@@ -57,6 +58,7 @@  struct amdgpu_sysvm {
 };
 
 void amdgpu_sysvm_set_defaults(struct amdgpu_device *adev);
+void amdgpu_sysvm_location(struct amdgpu_device *adev, struct amdgpu_mc *mc);
 int amdgpu_sysvm_table_ram_alloc(struct amdgpu_device *adev);
 void amdgpu_sysvm_table_ram_free(struct amdgpu_device *adev);
 int amdgpu_sysvm_table_vram_alloc(struct amdgpu_device *adev);

Comments

On Mon, Jul 3, 2017 at 5:44 AM, Christian König <deathsimple@vodafone.de> wrote:
> From: Christian König <christian.koenig@amd.com>
>
> No intended functional change.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>

I think I'd prefer to keep this together with the vram_location
function.  Maybe move both of them?

Alex

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu.h        |  1 -
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 36 ----------------------------
>  drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.c  | 38 ++++++++++++++++++++++++++++++
>  drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.h  |  2 ++
>  4 files changed, 40 insertions(+), 37 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> index a2c0eac..1ed6b7a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> @@ -1862,7 +1862,6 @@ bool amdgpu_ttm_tt_is_readonly(struct ttm_tt *ttm);
>  uint64_t amdgpu_ttm_tt_pte_flags(struct amdgpu_device *adev, struct ttm_tt *ttm,
>                                  struct ttm_mem_reg *mem);
>  void amdgpu_vram_location(struct amdgpu_device *adev, struct amdgpu_mc *mc, u64 base);
> -void amdgpu_sysvm_location(struct amdgpu_device *adev, struct amdgpu_mc *mc);
>  void amdgpu_ttm_set_active_vram_size(struct amdgpu_device *adev, u64 size);
>  int amdgpu_ttm_init(struct amdgpu_device *adev);
>  void amdgpu_ttm_fini(struct amdgpu_device *adev);
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 46a82d3..228b262 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -666,42 +666,6 @@ void amdgpu_vram_location(struct amdgpu_device *adev, struct amdgpu_mc *mc, u64
>                         mc->vram_end, mc->real_vram_size >> 20);
>  }
>
> -/**
> - * amdgpu_sysvm_location - try to find SYSVM location
> - * @adev: amdgpu device structure holding all necessary informations
> - * @mc: memory controller structure holding memory informations
> - *
> - * Function will place try to place SYSVM before or after VRAM.
> - *
> - * If SYSVM size is bigger than space left then we ajust SYSVM size.
> - * Thus function will never fails.
> - *
> - * FIXME: when reducing SYSVM size align new size on power of 2.
> - */
> -void amdgpu_sysvm_location(struct amdgpu_device *adev, struct amdgpu_mc *mc)
> -{
> -       u64 size_af, size_bf;
> -
> -       size_af = ((adev->mc.mc_mask - mc->vram_end) + mc->sysvm_base_align) & ~mc->sysvm_base_align;
> -       size_bf = mc->vram_start & ~mc->sysvm_base_align;
> -       if (size_bf > size_af) {
> -               if (mc->sysvm_size > size_bf) {
> -                       dev_warn(adev->dev, "limiting SYSVM\n");
> -                       mc->sysvm_size = size_bf;
> -               }
> -               mc->sysvm_start = 0;
> -       } else {
> -               if (mc->sysvm_size > size_af) {
> -                       dev_warn(adev->dev, "limiting SYSVM\n");
> -                       mc->sysvm_size = size_af;
> -               }
> -               mc->sysvm_start = (mc->vram_end + 1 + mc->sysvm_base_align) & ~mc->sysvm_base_align;
> -       }
> -       mc->sysvm_end = mc->sysvm_start + mc->sysvm_size - 1;
> -       dev_info(adev->dev, "SYSVM: %lluM 0x%016llX - 0x%016llX\n",
> -                       mc->sysvm_size >> 20, mc->sysvm_start, mc->sysvm_end);
> -}
> -
>  /*
>   * GPU helpers function.
>   */
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.c
> index 50fc8d7..ff436ad 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.c
> @@ -73,6 +73,44 @@ void amdgpu_sysvm_set_defaults(struct amdgpu_device *adev)
>  }
>
>  /**
> + * amdgpu_sysvm_location - try to find SYSVM location
> + * @adev: amdgpu device structure holding all necessary informations
> + * @mc: memory controller structure holding memory informations
> + *
> + * Function will place try to place SYSVM before or after VRAM.
> + *
> + * If SYSVM size is bigger than space left then we ajust SYSVM size.
> + * Thus function will never fails.
> + *
> + * FIXME: when reducing SYSVM size align new size on power of 2.
> + */
> +void amdgpu_sysvm_location(struct amdgpu_device *adev, struct amdgpu_mc *mc)
> +{
> +       u64 size_af, size_bf;
> +
> +       size_af = ((adev->mc.mc_mask - mc->vram_end) + mc->sysvm_base_align) &
> +               ~mc->sysvm_base_align;
> +       size_bf = mc->vram_start & ~mc->sysvm_base_align;
> +       if (size_bf > size_af) {
> +               if (mc->sysvm_size > size_bf) {
> +                       dev_warn(adev->dev, "limiting SYSVM\n");
> +                       mc->sysvm_size = size_bf;
> +               }
> +               mc->sysvm_start = 0;
> +       } else {
> +               if (mc->sysvm_size > size_af) {
> +                       dev_warn(adev->dev, "limiting SYSVM\n");
> +                       mc->sysvm_size = size_af;
> +               }
> +               mc->sysvm_start = (mc->vram_end + 1 + mc->sysvm_base_align) &
> +                       ~mc->sysvm_base_align;
> +       }
> +       mc->sysvm_end = mc->sysvm_start + mc->sysvm_size - 1;
> +       dev_info(adev->dev, "SYSVM: %lluM 0x%016llX - 0x%016llX\n",
> +                       mc->sysvm_size >> 20, mc->sysvm_start, mc->sysvm_end);
> +}
> +
> +/**
>   * amdgpu_sysvm_table_ram_alloc - allocate system ram for gart page table
>   *
>   * @adev: amdgpu_device pointer
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.h
> index 7846765..2336ece 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sysvm.h
> @@ -32,6 +32,7 @@
>  struct amdgpu_device;
>  struct amdgpu_bo;
>  struct amdgpu_sysvm_funcs;
> +struct amdgpu_mc;
>
>  #define AMDGPU_GPU_PAGE_SIZE 4096
>  #define AMDGPU_GPU_PAGE_MASK (AMDGPU_GPU_PAGE_SIZE - 1)
> @@ -57,6 +58,7 @@ struct amdgpu_sysvm {
>  };
>
>  void amdgpu_sysvm_set_defaults(struct amdgpu_device *adev);
> +void amdgpu_sysvm_location(struct amdgpu_device *adev, struct amdgpu_mc *mc);
>  int amdgpu_sysvm_table_ram_alloc(struct amdgpu_device *adev);
>  void amdgpu_sysvm_table_ram_free(struct amdgpu_device *adev);
>  int amdgpu_sysvm_table_vram_alloc(struct amdgpu_device *adev);
> --
> 2.7.4
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx