/* * Copyright 2013, Michael Ellerman, IBM Corp. * Licensed under GPLv2. */ #ifndef _SELFTESTS_POWERPC_UTILS_H #define _SELFTESTS_POWERPC_UTILS_H #define __cacheline_aligned __attribute__((aligned(128))) #include #include #include #include "reg.h" /* Avoid headaches with PRI?64 - just use %ll? always */ typedef unsigned long long u64; typedef signed long long s64; /* Just for familiarity */ typedef uint32_t u32; typedef uint16_t u16; typedef uint8_t u8; void test_harness_set_timeout(uint64_t time); int test_harness(int (test_function)(void), char *name); extern void *get_auxv_entry(int type); int pick_online_cpu(void); static inline bool have_hwcap(unsigned long ftr) { return ((unsigned long)get_auxv_entry(AT_HWCAP) & ftr) == ftr; } #ifdef AT_HWCAP2 static inline bool have_hwcap2(unsigned long ftr2) { return ((unsigned long)get_auxv_entry(AT_HWCAP2) & ftr2) == ftr2; } #else static inline bool have_hwcap2(unsigned long ftr2) { return false; } #endif /* Yes, this is evil */ #define FAIL_IF(x) \ do { \ if ((x)) { \ fprintf(stderr, \ "[FAIL] Test FAILED on line %d\n", __LINE__); \ return 1; \ } \ } while (0) /* The test harness uses this, yes it's gross */ #define MAGIC_SKIP_RETURN_VALUE 99 #define SKIP_IF(x) \ do { \ if ((x)) { \ fprintf(stderr, \ "[SKIP] Test skipped on line %d\n", __LINE__); \ return MAGIC_SKIP_RETURN_VALUE; \ } \ } while (0) #define _str(s) #s #define str(s) _str(s) /* POWER9 feature */ #ifndef PPC_FEATURE2_ARCH_3_00 #define PPC_FEATURE2_ARCH_3_00 0x00800000 #endif #endif /* _SELFTESTS_POWERPC_UTILS_H */ t.cgi/linux/net-next.git/tree/?id=7152187159193056f30ad5726741bb25028672bf'>treecommitdiff
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2017-02-02 10:47:11 +0100
committerJani Nikula <jani.nikula@intel.com>2017-02-08 13:10:30 +0200
commit7152187159193056f30ad5726741bb25028672bf (patch)
tree5191539c8e909b91be9fd02ba876a4838686c840
parente3818697e1d9140d0b990fecf4429d40c41ca0b5 (diff)
drm/i915: fix i915 running as dom0 under Xen
Commit 920cf4194954ec ("drm/i915: Introduce an internal allocator for disposable private objects") introduced a regression for the kernel running as Xen dom0: when switching to graphics mode a GPU HANG occurred. Reason seems to be a missing adaption similar to that done in commit 7453c549f5f648 ("swiotlb: Export swiotlb_max_segment to users") to i915_gem_object_get_pages_internal(). So limit the maximum page order to be used according to the maximum swiotlb segment size instead to the complete swiotlb size. Fixes: 920cf4194954 ("drm/i915: Introduce an internal allocator for disposable private objects") Signed-off-by: Juergen Gross <jgross@suse.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170202094711.939-1-jgross@suse.com Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: intel-gfx@lists.freedesktop.org Cc: <drm-intel-fixes@lists.freedesktop.org> # v4.10-rc1+ Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit 5584f1b1d73e9cc95092734c316e467c6c4468f9) Signed-off-by: Jani Nikula <jani.nikula@intel.com>