mirror of https://gitee.com/openkylin/linux.git
drm/i915: Mark up GTT sizes as u64
Since we use a 64b virtual GTT irrespective of the system, we want to ensure that the GTT computations remains 64b even on 32b systems, including treatment of huge virtual pages. No code generation changes on 64b: Reported-by: Sergii Romantsov <sergii.romantsov@globallogic.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108282 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: stable@vger.kernel.org Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20181025091823.20571-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
5a400aa3c5
commit
9125963a94
|
@ -1708,7 +1708,7 @@ static void gen6_dump_ppgtt(struct i915_hw_ppgtt *base, struct seq_file *m)
|
|||
if (i == 4)
|
||||
continue;
|
||||
|
||||
seq_printf(m, "\t\t(%03d, %04d) %08lx: ",
|
||||
seq_printf(m, "\t\t(%03d, %04d) %08llx: ",
|
||||
pde, pte,
|
||||
(pde * GEN6_PTES + pte) * I915_GTT_PAGE_SIZE);
|
||||
for (i = 0; i < 4; i++) {
|
||||
|
|
|
@ -42,9 +42,9 @@
|
|||
#include "i915_selftest.h"
|
||||
#include "i915_timeline.h"
|
||||
|
||||
#define I915_GTT_PAGE_SIZE_4K BIT(12)
|
||||
#define I915_GTT_PAGE_SIZE_64K BIT(16)
|
||||
#define I915_GTT_PAGE_SIZE_2M BIT(21)
|
||||
#define I915_GTT_PAGE_SIZE_4K BIT_ULL(12)
|
||||
#define I915_GTT_PAGE_SIZE_64K BIT_ULL(16)
|
||||
#define I915_GTT_PAGE_SIZE_2M BIT_ULL(21)
|
||||
|
||||
#define I915_GTT_PAGE_SIZE I915_GTT_PAGE_SIZE_4K
|
||||
#define I915_GTT_MAX_PAGE_SIZE I915_GTT_PAGE_SIZE_2M
|
||||
|
|
|
@ -551,7 +551,7 @@ static int igt_mock_ppgtt_misaligned_dma(void *arg)
|
|||
err = igt_check_page_sizes(vma);
|
||||
|
||||
if (vma->page_sizes.gtt != I915_GTT_PAGE_SIZE_4K) {
|
||||
pr_err("page_sizes.gtt=%u, expected %lu\n",
|
||||
pr_err("page_sizes.gtt=%u, expected %llu\n",
|
||||
vma->page_sizes.gtt, I915_GTT_PAGE_SIZE_4K);
|
||||
err = -EINVAL;
|
||||
}
|
||||
|
|
|
@ -1337,7 +1337,7 @@ static int igt_gtt_reserve(void *arg)
|
|||
GEM_BUG_ON(!drm_mm_node_allocated(&vma->node));
|
||||
if (vma->node.start != total ||
|
||||
vma->node.size != 2*I915_GTT_PAGE_SIZE) {
|
||||
pr_err("i915_gem_gtt_reserve (pass 1) placement failed, found (%llx + %llx), expected (%llx + %lx)\n",
|
||||
pr_err("i915_gem_gtt_reserve (pass 1) placement failed, found (%llx + %llx), expected (%llx + %llx)\n",
|
||||
vma->node.start, vma->node.size,
|
||||
total, 2*I915_GTT_PAGE_SIZE);
|
||||
err = -EINVAL;
|
||||
|
@ -1386,7 +1386,7 @@ static int igt_gtt_reserve(void *arg)
|
|||
GEM_BUG_ON(!drm_mm_node_allocated(&vma->node));
|
||||
if (vma->node.start != total ||
|
||||
vma->node.size != 2*I915_GTT_PAGE_SIZE) {
|
||||
pr_err("i915_gem_gtt_reserve (pass 2) placement failed, found (%llx + %llx), expected (%llx + %lx)\n",
|
||||
pr_err("i915_gem_gtt_reserve (pass 2) placement failed, found (%llx + %llx), expected (%llx + %llx)\n",
|
||||
vma->node.start, vma->node.size,
|
||||
total, 2*I915_GTT_PAGE_SIZE);
|
||||
err = -EINVAL;
|
||||
|
@ -1430,7 +1430,7 @@ static int igt_gtt_reserve(void *arg)
|
|||
GEM_BUG_ON(!drm_mm_node_allocated(&vma->node));
|
||||
if (vma->node.start != offset ||
|
||||
vma->node.size != 2*I915_GTT_PAGE_SIZE) {
|
||||
pr_err("i915_gem_gtt_reserve (pass 3) placement failed, found (%llx + %llx), expected (%llx + %lx)\n",
|
||||
pr_err("i915_gem_gtt_reserve (pass 3) placement failed, found (%llx + %llx), expected (%llx + %llx)\n",
|
||||
vma->node.start, vma->node.size,
|
||||
offset, 2*I915_GTT_PAGE_SIZE);
|
||||
err = -EINVAL;
|
||||
|
|
Loading…
Reference in New Issue