Message ID | 1460016485-8089-1-git-send-email-joonas.lahtinen@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On to, 2016-04-07 at 11:31 +0000, Patchwork wrote: > == Series Details == > > Series: series starting with [v4,1/3] drm/i915: Use i915_vm_to_ppgtt instead of manual container_of > URL : https://patchwork.freedesktop.org/series/5403/ > State : failure > > == Summary == > > Series 5403v1 Series without cover letter > http://patchwork.freedesktop.org/api/1.0/series/5403/revisions/1/mbox/ > > Test drv_hangman: > Subgroup error-state-basic: > skip -> PASS (bsw-nuc-2) > fail -> PASS (ilk-hp8440p) > Test drv_module_reload_basic: > dmesg-warn -> PASS (bsw-nuc-2) > pass -> DMESG-WARN (hsw-gt2) > Test gem_basic: > Subgroup bad-close: > dmesg-warn -> PASS (bsw-nuc-2) > Subgroup create-close: > dmesg-warn -> PASS (bsw-nuc-2) > Test gem_cs_tlb: > Subgroup basic-default: > skip -> PASS (bsw-nuc-2) > Test gem_ctx_create: > Subgroup basic: > pass -> INCOMPLETE (bsw-nuc-2) > Test gem_ctx_param_basic: > Subgroup invalid-param-get: > pass -> INCOMPLETE (bsw-nuc-2) > Subgroup invalid-size-get: > dmesg-warn -> PASS (bsw-nuc-2) > Subgroup non-root-set: > dmesg-warn -> PASS (bsw-nuc-2) > Subgroup non-root-set-no-zeromap: > dmesg-warn -> INCOMPLETE (bsw-nuc-2) > Test gem_exec_basic: > Subgroup basic-blt: > pass -> SKIP (bsw-nuc-2) > Subgroup basic-bsd: > skip -> PASS (bsw-nuc-2) > pass -> FAIL (ilk-hp8440p) > Subgroup basic-default: > skip -> PASS (bsw-nuc-2) > Subgroup basic-render: > skip -> INCOMPLETE (bsw-nuc-2) > Subgroup basic-vebox: > skip -> INCOMPLETE (bsw-nuc-2) > Subgroup readonly-bsd: > pass -> FAIL (ilk-hp8440p) > Subgroup readonly-vebox: > skip -> PASS (bsw-nuc-2) > Test gem_exec_store: > Subgroup basic-blt: > pass -> INCOMPLETE (bsw-nuc-2) > Test gem_exec_whisper: > Subgroup basic: > skip -> DMESG-FAIL (bsw-nuc-2) > Test gem_flink_basic: > Subgroup bad-open: > dmesg-warn -> INCOMPLETE (bsw-nuc-2) > Subgroup flink-lifetime: > dmesg-warn -> PASS (bsw-nuc-2) > Test gem_linear_blits: > Subgroup basic: > dmesg-fail -> PASS (bsw-nuc-2) > Test gem_mmap: > Subgroup basic: > dmesg-warn -> PASS (bsw-nuc-2) > Test gem_mmap_gtt: > Subgroup basic-read-no-prefault: > pass -> INCOMPLETE (bsw-nuc-2) > Subgroup basic-write-no-prefault: > pass -> DMESG-WARN (bsw-nuc-2) > Test gem_ringfill: > Subgroup basic-default-hang: > pass -> SKIP (bsw-nuc-2) > pass -> DMESG-FAIL (ilk-hp8440p) > Test gem_storedw_loop: > Subgroup basic-blt: > pass -> DMESG-FAIL (bsw-nuc-2) > Subgroup basic-render: > skip -> PASS (bsw-nuc-2) > Subgroup basic-vebox: > pass -> INCOMPLETE (bsw-nuc-2) > Test gem_sync: > Subgroup basic-all: > dmesg-fail -> INCOMPLETE (bsw-nuc-2) > pass -> DMESG-FAIL (ilk-hp8440p) > Subgroup basic-bsd: > skip -> PASS (bsw-nuc-2) > Subgroup basic-each: > dmesg-warn -> PASS (bsw-nuc-2) > Subgroup basic-render: > incomplete -> PASS (bdw-nuci7) UNSTABLE > Test kms_addfb_basic: > Subgroup addfb25-bad-modifier: > dmesg-warn -> INCOMPLETE (bsw-nuc-2) > Subgroup addfb25-x-tiled-mismatch: > dmesg-warn -> PASS (bsw-nuc-2) > Subgroup bad-pitch-0: > pass -> DMESG-WARN (bsw-nuc-2) > Subgroup bad-pitch-128: > pass -> INCOMPLETE (bsw-nuc-2) > Subgroup bo-too-small-due-to-tiling: > dmesg-warn -> PASS (bsw-nuc-2) > Subgroup size-max: > dmesg-warn -> PASS (bsw-nuc-2) > Subgroup tile-pitch-mismatch: > dmesg-warn -> INCOMPLETE (bsw-nuc-2) > Subgroup unused-modifier: > pass -> DMESG-WARN (bsw-nuc-2) > Subgroup unused-offsets: > dmesg-warn -> PASS (bsw-nuc-2) > Subgroup unused-pitches: > dmesg-warn -> PASS (bsw-nuc-2) > Test kms_flip: > Subgroup basic-flip-vs-dpms: > pass -> DMESG-WARN (ilk-hp8440p) UNSTABLE > Subgroup basic-flip-vs-wf_vblank: > pass -> FAIL (snb-x220t) > Subgroup basic-plain-flip: > pass -> INCOMPLETE (bsw-nuc-2) > Test kms_force_connector_basic: > Subgroup force-connector-state: > skip -> PASS (ivb-t430s) > Subgroup force-edid: > pass -> SKIP (ivb-t430s) > Subgroup prune-stale-modes: > pass -> SKIP (ivb-t430s) > Test kms_frontbuffer_tracking: > Subgroup basic: > pass -> DMESG-FAIL (bsw-nuc-2) > Test kms_pipe_crc_basic: > Subgroup bad-pipe: > dmesg-warn -> PASS (bsw-nuc-2) > Subgroup hang-read-crc-pipe-a: > pass -> SKIP (byt-nuc) > Subgroup nonblocking-crc-pipe-a: > skip -> INCOMPLETE (bsw-nuc-2) > pass -> DMESG-FAIL (ilk-hp8440p) > Subgroup read-crc-pipe-b-frame-sequence: > skip -> INCOMPLETE (bsw-nuc-2) > Subgroup suspend-read-crc-pipe-c: > dmesg-warn -> PASS (bsw-nuc-2) > skip -> DMESG-FAIL (ilk-hp8440p) > Test pm_rpm: > Subgroup basic-pci-d3-state: > pass -> DMESG-WARN (bsw-nuc-2) > Test prime_self_import: > Subgroup basic-with_one_bo_two_files: > pass -> INCOMPLETE (bsw-nuc-2) > Could not have reasonably been anything to do with this series, if anything had broken, it had broken for all platforms. Merging in. Thanks for review. Regards, Joonas > bdw-nuci7 total:196 pass:184 dwarn:0 dfail:0 fail:0 skip:12 > bdw-ultra total:196 pass:175 dwarn:0 dfail:0 fail:0 skip:21 > bsw-nuc-2 total:196 pass:107 dwarn:15 dfail:5 fail:0 skip:42 > byt-nuc total:196 pass:160 dwarn:0 dfail:0 fail:0 skip:36 > hsw-brixbox total:196 pass:174 dwarn:0 dfail:0 fail:0 skip:22 > hsw-gt2 total:196 pass:178 dwarn:1 dfail:0 fail:0 skip:17 > ilk-hp8440p total:196 pass:126 dwarn:1 dfail:4 fail:2 skip:63 > ivb-t430s total:196 pass:169 dwarn:0 dfail:0 fail:0 skip:27 > skl-i7k-2 total:196 pass:173 dwarn:0 dfail:0 fail:0 skip:23 > skl-nuci5 total:196 pass:185 dwarn:0 dfail:0 fail:0 skip:11 > snb-dellxps total:196 pass:162 dwarn:0 dfail:0 fail:0 skip:34 > snb-x220t total:196 pass:161 dwarn:0 dfail:0 fail:2 skip:33 > > Results at /archive/results/CI_IGT_test/Patchwork_1824/ > > 6b0bf94b75318abeab4c95fbf0507bc54d8959be drm-intel-nightly: 2016y-04m-07d-08h-29m-47s UTC integration manifest > 6db180f7c7eda7803ac558b0a40be7e630edc961 drm/i915: Do not use {HAS_*, IS_*, INTEL_INFO}(dev_priv->dev) > 4ec6b47d170e482b0553e04cb2a45302c20684ca drm/i915: Do not WARN_ON in i915_vm_to_ppgtt > 091abd44cdcf5e9bbebc0af3c0df386e0e918f23 drm/i915: Use i915_vm_to_ppgtt instead of manual container_of >
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index ae9cb27..1eda5fe 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -706,8 +706,7 @@ static void gen8_ppgtt_clear_pte_range(struct i915_address_space *vm, uint64_t length, gen8_pte_t scratch_pte) { - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); gen8_pte_t *pt_vaddr; unsigned pdpe = gen8_pdpe_index(start); unsigned pde = gen8_pde_index(start); @@ -762,8 +761,7 @@ static void gen8_ppgtt_clear_range(struct i915_address_space *vm, uint64_t length, bool use_scratch) { - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); gen8_pte_t scratch_pte = gen8_pte_encode(px_dma(vm->scratch_page), I915_CACHE_LLC, use_scratch); @@ -788,8 +786,7 @@ gen8_ppgtt_insert_pte_entries(struct i915_address_space *vm, uint64_t start, enum i915_cache_level cache_level) { - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); gen8_pte_t *pt_vaddr; unsigned pdpe = gen8_pdpe_index(start); unsigned pde = gen8_pde_index(start); @@ -829,8 +826,7 @@ static void gen8_ppgtt_insert_entries(struct i915_address_space *vm, enum i915_cache_level cache_level, u32 unused) { - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); struct sg_page_iter sg_iter; __sg_page_iter_start(&sg_iter, pages->sgl, sg_nents(pages->sgl), 0); @@ -981,8 +977,7 @@ static void gen8_ppgtt_cleanup_4lvl(struct i915_hw_ppgtt *ppgtt) static void gen8_ppgtt_cleanup(struct i915_address_space *vm) { - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); if (intel_vgpu_active(vm->dev)) gen8_ppgtt_notify_vgt(ppgtt, false); @@ -1216,8 +1211,7 @@ static int gen8_alloc_va_range_3lvl(struct i915_address_space *vm, uint64_t start, uint64_t length) { - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); unsigned long *new_page_dirs, *new_page_tables; struct drm_device *dev = vm->dev; struct i915_page_directory *pd; @@ -1329,8 +1323,7 @@ static int gen8_alloc_va_range_4lvl(struct i915_address_space *vm, uint64_t length) { DECLARE_BITMAP(new_pdps, GEN8_PML4ES_PER_PML4); - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); struct i915_page_directory_pointer *pdp; uint64_t pml4e; int ret = 0; @@ -1376,8 +1369,7 @@ err_out: static int gen8_alloc_va_range(struct i915_address_space *vm, uint64_t start, uint64_t length) { - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); if (USES_FULL_48BIT_PPGTT(vm->dev)) return gen8_alloc_va_range_4lvl(vm, &ppgtt->pml4, start, length); @@ -1795,8 +1787,7 @@ static void gen6_ppgtt_clear_range(struct i915_address_space *vm, uint64_t length, bool use_scratch) { - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); gen6_pte_t *pt_vaddr, scratch_pte; unsigned first_entry = start >> PAGE_SHIFT; unsigned num_entries = length >> PAGE_SHIFT; @@ -1830,8 +1821,7 @@ static void gen6_ppgtt_insert_entries(struct i915_address_space *vm, uint64_t start, enum i915_cache_level cache_level, u32 flags) { - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); gen6_pte_t *pt_vaddr; unsigned first_entry = start >> PAGE_SHIFT; unsigned act_pt = first_entry / GEN6_PTES; @@ -1865,8 +1855,7 @@ static int gen6_alloc_va_range(struct i915_address_space *vm, struct drm_device *dev = vm->dev; struct drm_i915_private *dev_priv = to_i915(dev); struct i915_ggtt *ggtt = &dev_priv->ggtt; - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); struct i915_page_table *pt; uint32_t start, length, start_save, length_save; uint32_t pde, temp; @@ -1978,8 +1967,7 @@ static void gen6_free_scratch(struct i915_address_space *vm) static void gen6_ppgtt_cleanup(struct i915_address_space *vm) { - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, base); + struct i915_hw_ppgtt *ppgtt = i915_vm_to_ppgtt(vm); struct i915_page_table *pt; uint32_t pde; @@ -3294,12 +3282,12 @@ void i915_gem_restore_gtt_mappings(struct drm_device *dev) list_for_each_entry(vm, &dev_priv->vm_list, global_link) { /* TODO: Perhaps it shouldn't be gen6 specific */ - struct i915_hw_ppgtt *ppgtt = - container_of(vm, struct i915_hw_ppgtt, - base); + struct i915_hw_ppgtt *ppgtt; - if (i915_is_ggtt(vm)) + if (vm->is_ggtt) ppgtt = dev_priv->mm.aliasing_ppgtt; + else + ppgtt = i915_vm_to_ppgtt(vm); gen6_write_page_range(dev_priv, &ppgtt->pd, 0, ppgtt->base.total);