[Intel-gfx] iommu/vt-d: Use per-cpu IOVA caching, suspend-to-ram causes machine hang
Hi Omer the following commit introduced a regression when doing suspend-to-ram. The machine never wakes up. We have more than a few machines that hang: SNB-i7-2620m, IVB-3370, HSW-4470r, BDW-5600u, BDW-525u. You can easily replicate by doing a rtcwake -s 10 -m mem. 22e2f9fa63b092923873fc8a52955151f4d83274 is the first bad commit commit 22e2f9fa63b092923873fc8a52955151f4d83274 Author: Omer Peleg Date: Wed Apr 20 11:34:11 2016 +0300 iommu/vt-d: Use per-cpu IOVA caching Commit 9257b4a2 ('iommu/iova: introduce per-cpu caching to iova allocation') introduced per-CPU IOVA caches to massively improve scalability. Use them. Signed-off-by: Omer Peleg [m...@cs.technion.ac.il: rebased, cleaned up and reworded the commit message] Signed-off-by: Adam Morrison Reviewed-by: Shaohua Li Reviewed-by: Ben Serebrin [dwmw2: split out VT-d part into a separate patch] Signed-off-by: David Woodhouse Here's the full bisect log: git bisect start # bad: [d1f27215f780b81b5a0151ae5a830669b7d2e2de] drm-intel-nightly: 2016y-06m-03d-19h-00m-28s UTC integration manifest git bisect bad d1f27215f780b81b5a0151ae5a830669b7d2e2de # good: [2dcd0af568b0cf583645c8a317dd12e344b1c72a] Linux 4.6 git bisect good 2dcd0af568b0cf583645c8a317dd12e344b1c72a # good: [e0fb1b36398487475e0d2c50264e4ec1eaed3e11] Merge tag 'iommu-updates-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu git bisect good e0fb1b36398487475e0d2c50264e4ec1eaed3e11 # good: [b1503934a5e51e74b2f4c72ad77b33231e7b6953] scripts/gdb: add cpu iterators git bisect good b1503934a5e51e74b2f4c72ad77b33231e7b6953 # good: [0e01df100b6bf22a1de61b66657502a6454153c5] Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 git bisect good 0e01df100b6bf22a1de61b66657502a6454153c5 # bad: [aa00edc1287a693eadc7bc67a3d73555d969b35d] make IS_ERR_VALUE() complain about non-pointer-sized arguments git bisect bad aa00edc1287a693eadc7bc67a3d73555d969b35d # good: [ea8ea737c46cffa5d0ee74309f81e55a7e5e9c2a] Merge tag 'nfs-for-4.7-1' of git://git.linux-nfs.org/projects/anna/linux-nfs git bisect good ea8ea737c46cffa5d0ee74309f81e55a7e5e9c2a # good: [e2fe14564d3316d1625ed20bf1083995f4960893] oom_reaper: close race with exiting task git bisect good e2fe14564d3316d1625ed20bf1083995f4960893 # bad: [2566278551d3db875bc3bbfc41b42f2e80392108] Merge git://git.infradead.org/intel-iommu git bisect bad 2566278551d3db875bc3bbfc41b42f2e80392108 # good: [621ecd8d2123bc13e140b519e01a18200aeb614c] KVM: arm/arm64: vgic-new: Add GICv3 SGI system register trap handler git bisect good 621ecd8d2123bc13e140b519e01a18200aeb614c # good: [44bcc922381e24c4f38dc5dfd8d34d60b2ede898] Merge tag 'kvm-arm-for-4-7-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-next git bisect good 44bcc922381e24c4f38dc5dfd8d34d60b2ede898 # good: [f0cf040f842242d55744c2606e8b7177507fbbb0] tools: kvm_stat: Introduce pid monitoring git bisect good f0cf040f842242d55744c2606e8b7177507fbbb0 # good: [0824c5920b16fe11034f3b5d2d48456d282d83f9] iommu/vt-d: avoid dev iotlb logic for domains with no dev iotlbs git bisect good 0824c5920b16fe11034f3b5d2d48456d282d83f9 # bad: [22e2f9fa63b092923873fc8a52955151f4d83274] iommu/vt-d: Use per-cpu IOVA caching git bisect bad 22e2f9fa63b092923873fc8a52955151f4d83274 # good: [9257b4a206fc0229dd5f84b78e4d1ebf3f91d270] iommu/iova: introduce per-cpu caching to iova allocation git bisect good 9257b4a206fc0229dd5f84b78e4d1ebf3f91d270 # first bad commit: [22e2f9fa63b092923873fc8a52955151f4d83274] iommu/vt-d: Use per-cpu IOVA caching Some info about the machine: System Information Manufacturer: Dell Inc. Product Name: Latitude E7450 $ lspci 00:00.0 Host bridge: Intel Corporation Broadwell-U Host Bridge -OPI (rev 09) 00:02.0 VGA compatible controller: Intel Corporation Broadwell-U Integrated Graphics (rev 09) 00:03.0 Audio device: Intel Corporation Broadwell-U Audio Controller (rev 09) 00:04.0 Signal processing controller: Intel Corporation Broadwell-U Camarillo Device (rev 09) 00:14.0 USB controller: Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03) 00:16.0 Communication controller: Intel Corporation Wildcat Point-LP MEI Controller #1 (rev 03) 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (3) I218-LM (rev 03) 00:1b.0 Audio device: Intel Corporation Wildcat Point-LP High Definition Audio Controller (rev 03) 00:1c.0 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 (rev e3) 00:1c.3 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #4 (rev e3) 00:1c.4 PCI bridge: Intel Corporation Wildcat Point-LP PCI Express Root Port #5 (rev e3) 00:1d.0 USB controller: Intel Corporation Wildcat Point-LP USB EHCI Controller (rev 03) 00:1f.0 ISA bridge: Intel Corporation Wildcat Point-LP LPC Controller (rev 03) 00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller [RAID mode] (rev
[Intel-gfx] Still trying to isolate video freezes
In an effort to try and figure out why the video on my Dell Optiplex 780 keeps freezing I've been advised to run the latest kernel to see if it may fix the problem. Today I installed 4.6.0-997.20160502_amd64.deb and when booting it would not finish at all. There were some statements about not loading root and also about not finding a drive. Is there a way that I can save all this information so that I can add it to a bug report I've filed a long time ago. I'm now back to the kernel below in my sig. Since I'm not smart on any of this I'm also wondering what the attached means, if anything at all. Chris -- Chris KeyID 0xE372A7DA98E6705C 31.11°N 97.89°W (Elev. 1092 ft) 16:27:16 up 37 min, 1 user, load average: 0.61, 0.47, 0.53 Ubuntu 14.04.4 LTS, kernel 4.6.0-997-generic #20160502 SMP Mon May 23 02:03:57 UTC 2016 FIFO.txt.xz Description: application/xz ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] Updated drm-intel-testing
Hi all, New -testing cycle with cool stuff: - some polish for the guc code (Dave Gordon) - big refactoring of gen9 display clock handling code (Ville) - refactoring work in the context code (Chris Wilson) - give encoder/crtc/planes useful names for debug output (Ville) - improvements to skl/kbl wm computation code (Mahesh Kumar) - bunch of smaller improvements all over as usual Happy testing! Cheers, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [RFC i-g-t 3/7] benchmarks/Makefile: Don't build benchmarks that depend on libdrm_intel.
On 2016-05-25 03:55 PM, Emil Velikov wrote: On Wednesday, May 25, 2016 19:18 BST, robert.f...@collabora.com wrote: From: Robert Foss Use the HAS_INTEL automake flag to avoid building benchmarks that won't compile unless libdrm_intel is available in the build system. Signed-off-by: Robert Foss --- benchmarks/Android.mk | 6 ++ benchmarks/Makefile.am | 5 - benchmarks/Makefile.sources | 14 +- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/benchmarks/Android.mk b/benchmarks/Android.mk index 207a177..08b6816 100644 --- a/benchmarks/Android.mk +++ b/benchmarks/Android.mk @@ -34,4 +34,10 @@ endef benchmark_list := $(benchmarks_PROGRAMS) +ifeq ($(HAVE_LIBDRM_INTEL),true) +benchmark_list += $(LIBDRM_INTEL_BENCHMARKS) +endif + + + Add just one blank line. Yet again... one should set HAVE_LIBDRM_INTEL so that things don't regress/change. Something like the following should do it --- a/Android.mk +++ b/Android.mk @@ -1,2 +1,4 @@ +HAVE_LIBDRM_INTEL := true + include $(call all-named-subdir-makefiles, lib tests tools benchmarks) I'd keep ^^ either as separate patch (1.1/7) or just fold it into 1/7 and update the commit message. $(foreach item,$(benchmark_list),$(eval $(call add_benchmark,$(item diff --git a/benchmarks/Makefile.am b/benchmarks/Makefile.am index 49d2f64..7400dd0 100644 --- a/benchmarks/Makefile.am +++ b/benchmarks/Makefile.am @@ -1,6 +1,9 @@ - include Makefile.sources +if HAVE_LIBDRM_INTEL +benchmarks_PROGRAMS += $(LIBDRM_INTEL_BENCHMARKS) +endif + This is absolutely correct, sadly the existing Makefile.sources (ab)use makes things hard to grasp. The 'hard to grasp' part being - this (and other) Makefile.am files are missing the definition of the *PROGRAMS, *LTLIBRARIES, etc. variables thus the whole file (and this hunk and particular makes things harder to read. Ideally one will give clearer (non-autoconf specific) names of the variables in the Makefile.sources and move the PROGRAMS... bits into Makefile.am. That is rather evasive so I'm not sure if you're up for it. Example (note it has some ~unrelated comments/nitpicks) diff --git a/benchmarks/Android.mk b/benchmarks/Android.mk index 207a177..dfe34bc 100644 --- a/benchmarks/Android.mk +++ b/benchmarks/Android.mk @@ -32,6 +32,6 @@ endef ## -benchmark_list := $(benchmarks_PROGRAMS) +benchmark_list := $(benchmarks_prog_list) $(foreach item,$(benchmark_list),$(eval $(call add_benchmark,$(item diff --git a/benchmarks/Makefile.am b/benchmarks/Makefile.am index 2c2d100..5396db1 100644 --- a/benchmarks/Makefile.am +++ b/benchmarks/Makefile.am @@ -3,15 +3,23 @@ include Makefile.sources AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib AM_CFLAGS = $(DRM_CFLAGS) $(CWARNFLAGS) $(CAIRO_CFLAGS) $(LIBUNWIND_CFLAGS) + +benchmarks_PROGRAMS = $(benchmarks_prog_list) LDADD = $(top_builddir)/lib/libintel_tools.la +# Sees to be unused by IGT. Add a comment and move it after gem_foo +benchmarksdir=$(libexecdir)/intel-gpu-tools/benchmarks benchmarks_LTLIBRARIES = gem_exec_tracer.la gem_exec_tracer_la_LDFLAGS = -module -avoid-version -no-undefined +# there should be a detection in configure.ac as some platforms don't use/have libdl.so gem_exec_tracer_la_LIBADD = -ldl +# one could/should use AX_PTHREADS in configure and PTHREAD_CFLAGS/PTHREAD_LIBS through the project. +# unless they use pthread and don't strictly require the locking. then they can use the pthread-stubs package. gem_latency_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS) gem_latency_LDADD = $(LDADD) -lpthread gem_syslatency_CFLAGS = $(AM_CFLAGS) $(THREAD_CFLAGS) gem_syslatency_LDADD = $(LDADD) -lpthread -lrt +# spaces around = ? EXTRA_DIST=README diff --git a/benchmarks/Makefile.sources b/benchmarks/Makefile.sources index 81607a5..51f59e5 100644 --- a/benchmarks/Makefile.sources +++ b/benchmarks/Makefile.sources @@ -1,6 +1,4 @@ -benchmarksdir=$(libexecdir)/intel-gpu-tools/benchmarks - -benchmarks_PROGRAMS =\ +benchmarks_prog_list =\ intel_upload_blit_large \ intel_upload_blit_large_gtt \ intel_upload_blit_large_map \ --- a/benchmarks/Makefile.sources +++ b/benchmarks/Makefile.sources @@ -1,10 +1,7 @@ benchmarksdir=$(libexecdir)/intel-gpu-tools/benchmarks + Please don't add unneeded whitespace changes. +LIBDRM_INTEL_BENCHMARKS =\ With the above suggestions in place this could become intel_benchmarks_prog_list. Don't think there's a difference between upper/lower case and/or short/long names. Go with what IGT people are happy. -Emil About the LIBDRM_INTEL_BENCHMARKS -> changes (and the corresponding changes to tools/lib/etc.) this would change the Android.mk behavior too. The Android.mk changes would make it deviate from the the standard expected behaviour with having XXX_PROGRAMS being assumed to contain the program listing. Is that a desired consequence?
[Intel-gfx] [Regression report] Weekly regression report WW23
Last week Regressions +---+---+++ | BugId | Summary | Created on | Bisect | +---+---+++ | 96277 | laptop display blinks with kernel 4.6.0 (regr | 2016-05-30 | No | +---+---+++ Previous Regressions +---+---+++ | BugId | Summary | Created on | Bisect | +---+---+++ | 90112 | [BSW bisected] OglGSCloth/Lightsmark/CS/ Port | 2015-04-20 | Yes| | 94590 | [KBL/BXT] igt/kms_fbcon_fbt/psr-suspend regre | 2016-03-17 | No | | 93263 | 945GM regression since 4.3| 2015-12-05 | No | | 72782 | [945GM bisected] screen blank on S3 resume on | 2013-12-17 | Yes| | 92414 | [Intel-gfx] As of kernel 4.3-rc1 system will | 2015-10-10 | Yes| | 92050 | [regression]/bug introduced by commit [0e572f | 2015-09-19 | No | | 93802 | [IVB bisected] switching to tty1 causes fifo | 2016-01-20 | Yes| | 95197 | [i915] regression in 4.6-rc5: GPU HANG: ecode | 2016-04-28 | No | | 94587 | [KBL] igt/kms_plane/plane-panning-bottom-righ | 2016-03-17 | No | | 89629 | [i965 regression]igt/kms_rotation_crc/sprite- | 2015-03-18 | No | | 89728 | [HSW/BDW/BYT bisected] igt / pm_rps / reset f | 2015-03-23 | Yes| | 95736 | [IVB bisected] *ERROR* uncleared fifo underru | 2016-05-24 | Yes| | 92502 | [SKL] [Regression] igt/kms_flip/2x-flip-vs-ex | 2015-10-16 | No | | 84855 | [ILK regression]igt kms_rotation_crc/sprite-r | 2014-10-10 | No | | 87131 | [PNV regression] igt/gem_exec_lut_handle take | 2014-12-09 | No | | 87726 | [BDW Bisected] OglDrvCtx performance reduced | 2014-12-26 | Yes| | 91974 | [bisected] unrecoverable black screen after k | 2015-09-11 | Yes| | 94430 | [HSW+nvidia] regression: display becomes "dis | 2016-03-07 | No | | 93971 | video framerate performance regression with U | 2016-02-02 | No | | 92575 | [4.2 regression] Massive graphics corruption | 2015-10-21 | No | | 89872 | [ HSW Bisected ] VGA was white screen when re | 2015-04-02 | Yes| | 91959 | [865g Linux regression] GPU hang and disabled | 2015-09-10 | No | | 95097 | [hdmi regression ilk] no signal to TV | 2016-04-24 | No | | 89334 | [945 regression] 4.0-rc1 kernel GPU hang: ec | 2015-02-26 | No | | 94748 | Black screen on Skylake (mouse position relat | 2016-03-29 | No | | 92972 | Black screen on Intel NUC hardware (i915) pos | 2015-11-16 | No | | 87725 | [BDW Bisected] OglBatch7 performance reduced | 2014-12-26 | Yes| | 94676 | Possible kernel regression for gen3 and earli | 2016-03-23 | No | | 94416 | [KBL HSW] [Regression] kms_frontbuffer_tracki | 2016-03-06 | No | | 94337 | Linux 4.5 regression: FIFO underruns on Skyla | 2016-02-29 | No | | 90368 | [SNB BSW SKL BXT KBL] bisected igt/kms_3d has | 2015-05-08 | Yes| | 94588 | [KBL/BSW/BXT] igt/gem_reloc_overflow regressi | 2016-03-17 | No | | 90732 | [BDW/BSW Bisected]igt/gem_reloc_vs_gpu/forked | 2015-05-29 | Yes| | 90134 | [BSW Bisected]GFXBench3_gl_driver/GFXBench3_g | 2015-04-22 | Yes| | 93782 | [i9xx TV][BISECT] vblank wait timeout on crtc | 2016-01-19 | Yes| | 89632 | [i965 regression]igt/kms_universal_plane/univ | 2015-03-18 | No | | 88439 | [BDW Bisected]igt/gem_reloc_vs_gpu/forked-fau | 2015-01-15 | Yes| | 92237 | [SNB]Horrible noise (audio) via DisplayPort [ | 2015-10-02 | No | | 93122 | [SNB BAT IGT regression] pm_rpm started skipp | 2015-11-26 | No | | 93393 | Regression for Skylake modesetting in kernel | 2015-12-16 | No | +---+---+++ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] Still trying to isolate video freezes
Chris composed on 2016-06-05 16:42 (UTC-0500): In an effort to try and figure out why the video on my Dell Optiplex 780 keeps freezing I've been advised to run the latest kernel to see if it may fix the problem. Today I installed 4.6.0-997.20160502_amd64.deb and when booting it would not finish at all. There were some statements about not loading root and also about not finding a drive Is yours a SFF model 780? Overheating can cause freezing, and small case Dells, like other compact case PCs, are particularly susceptible to overheating if allowed to accumulated dust and/or tobacco tar, particularly on CPU cooler and/or within PS. Dust collected on tar acts as an insulator, containing heat within the source components. If you're sure overheating is not your problem, run memtest86 overnight or longer. You might have failing RAM. It happens. Sometimes simply reseating RAM will help if testing produces errors, but don't count on it. I can't recall my SFF 780 ever doing as yours with any Linux kernel all the way back to 3.11.7 and up through 4.5.4, and servers 1.14.x through 1.18.3. -- "The wise are known for their understanding, and pleasant words are persuasive." Proverbs 16:21 (New Living Translation) Team OS/2 ** Reg. Linux User #211409 ** a11y rocks! Felix Miata *** http://fm.no-ip.com/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] ✗ Ro.CI.BAT: warning for BXT Pooled EU kernel support and WA patches (rev3)
On 03/06/2016 16:28, Patchwork wrote: == Series Details == Series: BXT Pooled EU kernel support and WA patches (rev3) URL : https://patchwork.freedesktop.org/series/8200/ State : warning == Summary == Series 8200v3 BXT Pooled EU kernel support and WA patches http://patchwork.freedesktop.org/api/1.0/series/8200/revisions/3/mbox Test gem_busy: Subgroup basic-parallel-render: pass -> DMESG-WARN (ro-skl-i7-6700hq) Test gem_close_race: Subgroup basic-process: pass -> DMESG-WARN (ro-skl-i7-6700hq) Test gem_ctx_param: Subgroup basic-default: dmesg-warn -> PASS (ro-skl-i7-6700hq) Test gem_exec_flush: Subgroup basic-uc-rw-default: pass -> DMESG-WARN (ro-skl-i7-6700hq) Subgroup basic-wb-prw-default: dmesg-warn -> PASS (ro-skl-i7-6700hq) Test gem_mmap_gtt: Subgroup basic-small-copy-xy: pass -> DMESG-WARN (ro-skl-i7-6700hq) Subgroup basic-write: pass -> DMESG-WARN (ro-skl-i7-6700hq) Subgroup basic-write-gtt-no-prefault: dmesg-warn -> PASS (ro-skl-i7-6700hq) Test gem_storedw_loop: Subgroup basic-render: dmesg-warn -> PASS (ro-skl-i7-6700hq) Test gem_tiled_pread_basic: dmesg-warn -> PASS (ro-skl-i7-6700hq) Test kms_addfb_basic: Subgroup addfb25-bad-modifier: dmesg-warn -> PASS (ro-skl-i7-6700hq) Subgroup bad-pitch-256: pass -> DMESG-WARN (ro-skl-i7-6700hq) Subgroup bad-pitch-63: pass -> DMESG-WARN (ro-skl-i7-6700hq) Subgroup framebuffer-vs-set-tiling: pass -> DMESG-WARN (ro-skl-i7-6700hq) Subgroup no-handle: pass -> DMESG-WARN (ro-skl-i7-6700hq) Subgroup size-max: pass -> DMESG-WARN (ro-skl-i7-6700hq) Subgroup too-wide: dmesg-warn -> PASS (ro-skl-i7-6700hq) Test kms_sink_crc_basic: pass -> DMESG-WARN (ro-skl-i7-6700hq) All dmesg-warn are because of a single known issue, [BAT SKL] *ERROR* Potential atomic update failure on pipe A https://bugs.freedesktop.org/show_bug.cgi?id=95632 These patches only affect BXT. regards Arun fi-bdw-i7-5557u total:102 pass:93 dwarn:0 dfail:0 fail:0 skip:8 fi-hsw-i7-4770k total:209 pass:187 dwarn:0 dfail:0 fail:3 skip:19 fi-skl-i5-6260u total:209 pass:198 dwarn:0 dfail:0 fail:0 skip:11 fi-skl-i7-6700k total:209 pass:184 dwarn:0 dfail:0 fail:0 skip:25 fi-snb-i7-2600 total:209 pass:167 dwarn:0 dfail:0 fail:3 skip:39 ro-bdw-i5-5250u total:102 pass:93 dwarn:0 dfail:0 fail:0 skip:8 ro-bdw-i7-5600u total:102 pass:75 dwarn:0 dfail:0 fail:0 skip:26 ro-byt-n2820 total:209 pass:169 dwarn:0 dfail:0 fail:3 skip:37 ro-hsw-i3-4010u total:209 pass:186 dwarn:0 dfail:0 fail:0 skip:23 ro-hsw-i7-4770r total:102 pass:82 dwarn:0 dfail:0 fail:0 skip:19 ro-ilk-i7-620lm total:1pass:0dwarn:0 dfail:0 fail:0 skip:0 ro-ilk1-i5-650 total:204 pass:146 dwarn:0 dfail:0 fail:1 skip:57 ro-ivb2-i7-3770 total:102 pass:79 dwarn:0 dfail:0 fail:0 skip:22 ro-skl-i7-6700hq total:204 pass:170 dwarn:13 dfail:0 fail:0 skip:21 ro-snb-i7-2620M total:102 pass:72 dwarn:0 dfail:0 fail:0 skip:29 ro-bdw-i7-5557U failed to connect after reboot ro-ivb-i7-3770 failed to connect after reboot Results at /archive/results/CI_IGT_test/RO_Patchwork_1093/ 357b87b drm-intel-nightly: 2016y-06m-03d-08h-46m-18s UTC integration manifest 866e10d drm/i915/bxt: Add WaDisablePooledEuLoadBalancingFix 66ccd7e drm/i915/bxt: Add WaEnablePooledEuFor2x6 723702b drm/i915:bxt: Enable Pooled EU support ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] iommu/vt-d: Use per-cpu IOVA caching, suspend-to-ram causes machine hang
> Hi Omer the following commit introduced a regression when doing > suspend-to-ram. The machine never wakes up. We have more than > a few machines that hang: SNB-i7-2620m, IVB-3370, HSW-4470r, BDW-5600u, > BDW-525u. Jan Niehusmann posted a patch that fixes a similar problem: http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1158159.html Can you please try it and see if it does the trick for you? Thanks, Adam ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/dsi: fix bxt split screen and color issue
On Fri, 03 Jun 2016, Ville Syrjälä wrote: > On Fri, Jun 03, 2016 at 05:57:05PM +0300, Jani Nikula wrote: >> Fix the failure mode where the display appears split, or shifted about >> 2/3 of the screen, and the color components are cycled. Turns out we >> were missing the crucial BXT_DEFEATURE_DPI_FIFO_CTR bit in the >> EOT_DISABLE register. >> >> Per bspec, with the bit set, the "mipi_dpf_vblank_start" signal is >> asserted only when the complete frame is transferred in the DPHY line >> and also the DPI FIFO is flushed out at the end of each frame. >> >> The problem was mitigated by keeping the panel fitter enabled, but that >> only limited the issue to a shift of about 0..10 pixels. With the fix >> here, the panel fitter workaround does not seem to be needed at all. >> >> While at it, set BXT_DPHY_DEFEATURE_EN in EOT_DISABLE register which is >> also needed per the BXT DSI mode set sequence. >> >> Issue: VIZ-7610 >> Cc: Mika Kahola >> Cc: Ville Syrjälä >> Cc: Ramalingam C >> Cc: Uma Shankar >> Signed-off-by: Jani Nikula > > Reviewed-by: Ville Syrjälä Pushed to drm-intel-next-queued, thanks for the review. > I also noticed that we seem to be deviating from the current sequence in > the spec pretty much all the time. I guess it's possible the spec has > been heavily updated since the code was written, but it might make sense > for someone to actually go through the thing and try to figure out what > else we're missing and/or doing in the wrong order. Agreed. Now we'll just have to find that Someone. BR, Jani. > >> --- >> drivers/gpu/drm/i915/i915_reg.h | 2 ++ >> drivers/gpu/drm/i915/intel_dsi.c | 6 ++ >> 2 files changed, 8 insertions(+) >> >> diff --git a/drivers/gpu/drm/i915/i915_reg.h >> b/drivers/gpu/drm/i915/i915_reg.h >> index 0845059b6a3b..f7b822a86915 100644 >> --- a/drivers/gpu/drm/i915/i915_reg.h >> +++ b/drivers/gpu/drm/i915/i915_reg.h >> @@ -8151,6 +8151,8 @@ enum skl_disp_power_wells { >> #define _MIPIA_EOT_DISABLE (dev_priv->mipi_mmio_base + 0xb05c) >> #define _MIPIC_EOT_DISABLE (dev_priv->mipi_mmio_base + 0xb85c) >> #define MIPI_EOT_DISABLE(port) _MMIO_MIPI(port, >> _MIPIA_EOT_DISABLE, _MIPIC_EOT_DISABLE) >> +#define BXT_DEFEATURE_DPI_FIFO_CTR (1 << 9) >> +#define BXT_DPHY_DEFEATURE_EN (1 << 8) >> #define LP_RX_TIMEOUT_ERROR_RECOVERY_DISABLE (1 << 7) >> #define HS_RX_TIMEOUT_ERROR_RECOVERY_DISABLE (1 << 6) >> #define LOW_CONTENTION_RECOVERY_DISABLE(1 << 5) >> diff --git a/drivers/gpu/drm/i915/intel_dsi.c >> b/drivers/gpu/drm/i915/intel_dsi.c >> index c70132aa91d5..0f86da048a63 100644 >> --- a/drivers/gpu/drm/i915/intel_dsi.c >> +++ b/drivers/gpu/drm/i915/intel_dsi.c >> @@ -1172,6 +1172,12 @@ static void intel_dsi_prepare(struct intel_encoder >> *intel_encoder) >> if (intel_dsi->clock_stop) >> tmp |= CLOCKSTOP; >> >> +if (IS_BROXTON(dev_priv)) { >> +tmp |= BXT_DPHY_DEFEATURE_EN; >> +if (!is_cmd_mode(intel_dsi)) >> +tmp |= BXT_DEFEATURE_DPI_FIFO_CTR; >> +} >> + >> for_each_dsi_port(port, intel_dsi->ports) { >> I915_WRITE(MIPI_DSI_FUNC_PRG(port), val); >> >> -- >> 2.1.4 -- Jani Nikula, Intel Open Source Technology Center ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx