i915 regression, Re: git pull] drm for v4.1-rc1
> This commit introduces a regression relative to v4.0 on an Intel > D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics > using its (only-) VGA connector for me. > Jani any ideas/plans? Dave. > v4.1-rc6-52-gff25ea8: > [ 13.265699] BUG: unable to handle kernel NULL pointer dereference at > 0010 > [ 13.265723] IP: [] > intel_modeset_update_connector_atomic_state+0x61/0x90 [i915] > [ 13.265803] PGD 0 > [ 13.265810] Oops: 0002 [#1] PREEMPT SMP > [ 13.265820] Modules linked in: iTCO_wdt i915(+) iTCO_vendor_support > snd_hda_codec_realtek snd_hda_codec_generic coretemp gpio_ich pcspkr lpc_ich > mfd_core video i2c_algo_bit drm_kms_helper snd_hda_intel drm > snd_hda_controller i2c_i801 i2c_core evdev snd_hda_codec psmouse sg serio_raw > intel_agp intel_gtt rng_core snd_hda_core snd_hwdep snd_pcm snd_timer snd > soundcore floppy(+) 8250_fintek acpi_cpufreq button processor fuse parport_pc > ppdev lp parport autofs4 ext4 crc16 jbd2 mbcache dm_mod sr_mod cdrom sd_mod > ata_generic pata_acpi ata_piix libata scsi_mod uhci_hcd ehci_pci ehci_hcd > usbcore usb_common r8169 mii > [ 13.265958] CPU: 0 PID: 211 Comm: systemd-udevd Not tainted > 4.1.0-rc6-aptosid-amd64 #1 aptosid 4.1~rc6-1~git65.slh.1 > [ 13.265971] Hardware name: /D945GCLF2, BIOS > LF94510J.86A.0278.2010.0414.2000 04/14/2010 > [ 13.265999] task: 8800372f65c0 ti: 88007958c000 task.ti: > 88007958c000 > [ 13.266005] RIP: 0010:[] [] > intel_modeset_update_connector_atomic_state+0x61/0x90 [i915] > [ 13.266005] RSP: 0018:88007958f820 EFLAGS: 00010246 > [ 13.266005] RAX: 88007b0ba800 RBX: 8810b378 RCX: > 88003738c000 > [ 13.266005] RDX: RSI: 88003738b408 RDI: > 8810b330 > [ 13.266005] RBP: 88007c01 R08: 88007c01 R09: > 88003738b000 > [ 13.266005] R10: 0292 R11: 0020 R12: > 8810b348 > [ 13.266005] R13: 8810b000 R14: 88007c018688 R15: > > [ 13.266005] FS: 7f4af014a880() GS:88007f20() > knlGS: > [ 13.266005] CS: 0010 DS: ES: CR0: 80050033 > [ 13.266005] CR2: 0010 CR3: 371b2000 CR4: > 07f0 > [ 13.266005] Stack: > [ 13.266005] a05709d0 8802 88007c01 > 8810b330 > [ 13.266005] 79f44a80 8810b348 8810b378 > 8810b000 > [ 13.266005] a00f7949 8810b000 8800 > 880079f44a80 > [ 13.266005] Call Trace: > [ 13.266005] [] ? > intel_modeset_setup_hw_state+0x7e0/0xdb0 [i915] > [ 13.266005] [] ? drm_modeset_lock_all_crtcs+0xa9/0xc0 > [drm] > [ 13.266005] [] ? intel_modeset_init+0x8f4/0x1700 [i915] > [ 13.266005] [] ? gen2_read32+0x1b/0x30 [i915] > [ 13.266005] [] ? i915_driver_load+0xe6f/0x13d0 [i915] > [ 13.266005] [] ? __wake_up+0x2f/0x50 > [ 13.266005] [] ? netlink_broadcast_filtered+0x130/0x380 > [ 13.266005] [] ? kobj_ns_drop+0x50/0x50 > [ 13.266005] [] ? kobject_uevent_env+0xfc/0x400 > [ 13.266005] [] ? get_device+0x12/0x30 > [ 13.266005] [] ? klist_add_tail+0x1f/0x50 > [ 13.266005] [] ? device_add+0x21d/0x650 > [ 13.266005] [] ? drm_dev_register+0x9c/0xf0 [drm] > [ 13.266005] [] ? drm_get_pci_dev+0x84/0x1f0 [drm] > [ 13.266005] [] ? __pm_runtime_resume+0x47/0x60 > [ 13.266005] [] ? local_pci_probe+0x3a/0xa0 > [ 13.266005] [] ? pci_match_device+0xe4/0x110 > [ 13.266005] [] ? pci_device_probe+0xe8/0x140 > [ 13.266005] [] ? driver_probe_device+0x179/0x2f0 > [ 13.266005] [] ? __driver_attach+0x7b/0x80 > [ 13.266005] [] ? __device_attach+0x50/0x50 > [ 13.266005] [] ? bus_for_each_dev+0x6b/0xc0 > [ 13.266005] [] ? bus_add_driver+0x178/0x230 > [ 13.266005] [] ? 0xa022b000 > [ 13.266005] [] ? driver_register+0x5e/0xf0 > [ 13.266005] [] ? do_one_initcall+0x98/0x1f0 > [ 13.266005] [] ? do_init_module+0x50/0x1b0 > [ 13.266005] [] ? load_module+0x1ae3/0x2010 > [ 13.266005] [] ? __symbol_put+0x70/0x70 > [ 13.266005] [] ? copy_module_from_fd.isra.55+0xdd/0x170 > [ 13.266005] [] ? SyS_finit_module+0x8d/0xa0 > [ 13.266005] [] ? system_call_fastpath+0x12/0x71 > [ 13.266005] Code: 03 00 00 48 8b 49 40 48 89 4a 08 48 8b 50 18 48 39 d7 48 > 8d 42 e8 74 3a 48 8b 90 b8 02 00 00 48 85 d2 75 c6 48 8b 90 70 03 00 00 <48> > c7 42 10 00 00 00 00 48 8b 90 70 03 00 00 48 c7 42 08 00 00 > [ 13.266005] RIP [] > intel_modeset_update_connector_atomic_state+0x61/0x90 [i915] > [ 13.266005] RSP > [ 13.266005] CR2: 0010 > [ 13.267502] ---[ end trace 365d8347f4bc917c ]--- > > 00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated > Graphics Controller (rev 02) (prog-if 00 [VGA controller]) > Subsystem: Intel Corporation Device 464c > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
git pull] drm for v4.1-rc1
On Fri, Jun 05, 2015 at 11:18:21PM +0200, Stefan Lippers-Hollmann wrote: > Hi > > On 2015-04-20, Dave Airlie wrote: > [...] > > The following changes since commit 09d51602cf84a1264946711dd4ea0dddbac599a1: > > > > Merge branch 'turbostat' of > > git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux (2015-04-19 > > 14:31:41 -0700) > > > > are available in the git repository at: > > > > git://people.freedesktop.org/~airlied/linux drm-next-merged > > > > for you to fetch changes up to 2c33ce009ca2389dbf0535d0672214d09738e35e: > > > > Merge Linus master into drm-next (2015-04-20 13:05:20 +1000) > [...] > > Ander Conselvan de Oliveira (28): > [...] > > drm/i915: Allocate connector state together with the connectors > [...] > > This commit introduces a regression relative to v4.0 on an Intel > D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics > using its (only-) VGA connector for me. > > v4.1-rc6-52-gff25ea8: > [ 13.265699] BUG: unable to handle kernel NULL pointer dereference at > 0010 > [ 13.265723] IP: [] > intel_modeset_update_connector_atomic_state+0x61/0x90 [i915] Hmm. Smells like a connector with a NULL state pointer, and the bad commit touched exactly the part that sets it up. I can't immediately spot any place where we'd forget to set it up though. Can you try with something like this so we'd at least find out which connector(s) is/are at fault here? diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 3007b44..c10f423 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -918,6 +918,8 @@ int drm_connector_init(struct drm_device *dev, connector->debugfs_entry = NULL; + WARN(1, "connector = %p\n", connector); + out_put: if (ret) drm_mode_object_put(dev, &connector->base); diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index d0f3cbc..dd8ced7 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -10332,6 +10332,10 @@ static void intel_modeset_update_connector_atomic_state(struct drm_device *dev) struct intel_connector *connector; for_each_intel_connector(dev, connector) { + if (WARN(!connector->base.state, +"connector = %p\n", &connector->base)) + continue; + if (connector->base.encoder) { connector->base.state->best_encoder = connector->base.encoder; -- 2.3.6 -- Ville Syrjälä Intel OTC
[Bug 90869] Rendering bug in The Witcher
https://bugs.freedesktop.org/show_bug.cgi?id=90869 --- Comment #3 from Sven Arvidsson --- Yes, it's probably something similar. I tried the reorder shader constants patch, but it didn't make any difference (and introduced other bugs as you mentioned) I filed a new bug with Wine just to be sure: https://bugs.winehq.org/show_bug.cgi?id=38711 Maybe this bug could be kept open at least for a while if there's something that can be done on the driver side. -- You are receiving this mail because: You are the assignee for the bug. -- next part -- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150607/536f1c88/attachment.html>
git pull] drm for v4.1-rc1
Hi On 2015-06-07, Ville Syrjälä wrote: > On Fri, Jun 05, 2015 at 11:18:21PM +0200, Stefan Lippers-Hollmann wrote: > > Hi > > > > On 2015-04-20, Dave Airlie wrote: > > [...] > > > The following changes since commit > > > 09d51602cf84a1264946711dd4ea0dddbac599a1: > > > > > > Merge branch 'turbostat' of > > > git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux (2015-04-19 > > > 14:31:41 -0700) > > > > > > are available in the git repository at: > > > > > > git://people.freedesktop.org/~airlied/linux drm-next-merged > > > > > > for you to fetch changes up to 2c33ce009ca2389dbf0535d0672214d09738e35e: > > > > > > Merge Linus master into drm-next (2015-04-20 13:05:20 +1000) > > [...] > > > Ander Conselvan de Oliveira (28): > > [...] > > > drm/i915: Allocate connector state together with the connectors > > [...] > > > > This commit introduces a regression relative to v4.0 on an Intel > > D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics > > using its (only-) VGA connector for me. > > > > v4.1-rc6-52-gff25ea8: > > [ 13.265699] BUG: unable to handle kernel NULL pointer dereference at > > 0010 > > [ 13.265723] IP: [] > > intel_modeset_update_connector_atomic_state+0x61/0x90 [i915] > > Hmm. Smells like a connector with a NULL state pointer, and the bad > commit touched exactly the part that sets it up. I can't immediately > spot any place where we'd forget to set it up though. > > Can you try with something like this so we'd at least find out which > connector(s) is/are at fault here? With the patch applied, the kernel (v4.1-rc6-104-g4b17069) locks up even harder, so I had to switch to a serial console in order to fetch the boot messages: [ 13.492784] connector = 880079bb8000 [ 13.910439] connector = 8800795b5800 [ 14.463114] connector = 8800795b6000 [ 14.700707] connector = 8800795b6800 [ 14.869418] connector = 8800795b7000 [ 14.923848] connector = 8800795b7000 Full, gzipped, bootlog attached - thanks a lot for your efforts. Regards Stefan Lippers-Hollmann -- next part -- A non-text attachment was scrubbed... Name: D945GCLF2.dmesg.gz Type: application/gzip Size: 15935 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150607/a9e31036/attachment-0001.bin> -- next part -- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 819 bytes Desc: Digitale Signatur von OpenPGP URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150607/a9e31036/attachment-0001.sig>
[pull] drm/msm: msm-next for 4.2
Hi Dave, Main pull req for 4.2.. I think there will be a secondary pull-req.. I'd like to land the hdcp support patches, since all the review comments have been long since addressed, and they have been ready to merge for a couple release cycles now other than the scm dependency (which should be coming in through arm-soc tree for 4.2). So I am not including them in this initial pull req to avoid merge ordering issues. Main highlights: 1) adreno a306 support (for apq8x16 and upcoming dragonboard 410c) 2) various dsi bits 3) various 64bit fixes (mostly warnings) 4) NV12MT support, pulled in via msm-next rather than drm-misc since dependency on on regenerated envytools headers (but lgtm'd-by danvet) 5) random fixes and cleanups BR, -R The following changes since commit ae45577324d1f749c907840247d443696ac3bc7a: virtgpu: include linux/types.h to avoid warning. (2015-06-05 12:31:12 +1000) are available in the git repository at: git://people.freedesktop.org/~robclark/linux drm-next for you to fetch changes up to d22855673f2e9a55f77eea8ab1646994cb2114c2: drm/msm: restart queued submits after hang (2015-06-07 22:18:43 -0400) Archit Taneja (1): drm/msm: dsi: Provide option to force continuous HS clock Brian Norris (1): drm/msm: dsi: fix compile errors when CONFIG_GPIOLIB=n Fabian Frederick (2): drm/msm: use IS_ERR() to check msm_ioremap() return drm/msm: use IS_ERR() to check regulator_get() return Hai Li (8): dt-bindings: Add MSM DSI controller documentation dt-bindings: Add MSM eDP controller documentation drm/msm: Use customized function to wait for atomic commit done drm/msm/mdp5: Wait for PP_DONE irq for command mode CRTC atomic commit drm/msm/dsi: Add DSI PLL clock driver support drm/msm/dsi: Enable PLL driver in MSM DSI drm/msm/dsi: Separate PHY to another platform device drm/msm/mdp5: Always generate active-high sync signals for DSI Laurent Pinchart (1): drm/msm/atomic: Clean up planes in the error paths of .atomic_commit() Mikko Rapeli (1): drm/msm: use __s32, __s64, __u32 and __u64 from linux/types.h for uabi Nicholas Mc Guire (6): drm/msm: fixup wait_for_completion_timeout handling drm/msm: fix HZ dependency of timeout drm/msm: drop redundant output in debug message drm/msm: match wait_for_completion_timeout return type drm/msm: wait_for_completion_timeout return is never negative drm/msm: drop redundant debug output Rob Clark (11): drm/msm/adreno: dump scratch regs and other info on hang drm/msm: add missing DRIVER_ATOMIC flag drm/msm: update generated headers drm/msm/mdp4: Support NV12MT format in mdp4 drm/msm: clarify downstream bus scaling drm/msm: adreno a306 support drm/msm: workaround for missing irq on a306/8x16 drm/msm/mdp5: fix for crash in disable path drm/msm/edp: fix build warning - missing prototype drm/msm: fix timeout calculation drm/msm: restart queued submits after hang Stephane Viau (3): drm/msm/mdp: Add support for more 32-bit RGB formats drm/msm/hdmi: Point to the right struct device drm/msm/hdmi: Use pinctrl in HDMI driver Uwe Kleine-König (1): drm/msm: use devm_gpiod_get_optional for optional reset gpio jilai wang (1): drm/msm: Call drm_prime_gem_destroy to clean up imported GEM object Documentation/devicetree/bindings/drm/msm/dsi.txt | 120 Documentation/devicetree/bindings/drm/msm/edp.txt | 60 ++ Documentation/devicetree/bindings/drm/msm/hdmi.txt | 6 + drivers/gpu/drm/drm_crtc.c | 18 + drivers/gpu/drm/msm/Kconfig| 7 + drivers/gpu/drm/msm/Makefile | 5 + drivers/gpu/drm/msm/adreno/a2xx.xml.h | 6 +- drivers/gpu/drm/msm/adreno/a3xx.xml.h | 168 +- drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 15 +- drivers/gpu/drm/msm/adreno/a4xx.xml.h | 420 - drivers/gpu/drm/msm/adreno/a4xx_gpu.c | 3 +- drivers/gpu/drm/msm/adreno/adreno_common.xml.h | 6 +- drivers/gpu/drm/msm/adreno/adreno_device.c | 12 +- drivers/gpu/drm/msm/adreno/adreno_gpu.c| 34 +- drivers/gpu/drm/msm/adreno/adreno_gpu.h| 9 +- drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h| 31 +- drivers/gpu/drm/msm/dsi/dsi.c | 43 +- drivers/gpu/drm/msm/dsi/dsi.h | 61 +- drivers/gpu/drm/msm/dsi/dsi.xml.h | 163 +- drivers/gpu/drm/msm/dsi/dsi_host.c | 120 ++-- drivers/gpu/drm/msm/dsi/dsi_manager.c | 79 ++- drivers/gpu/drm/msm/dsi/dsi_phy.c | 315 +- drivers/gpu/drm/msm/dsi/mmss_cc.xml.h | 12 +- drivers/gpu/drm/msm/dsi/pll/dsi_pll.c | 164 ++ drivers/gpu/drm/msm/dsi/
[BUG, bisect] Re: drm/i915: WARN_ON(dev_priv->mm.busy)
all, On Sat, Jun 06, 2015 at 08:09:34PM -0700, Jeremiah Mahler wrote: > all, > > On all my machines with Intel graphics I get the following warning > in the logs when the machine is suspended. Apparently some part of > the graphics system is busy when it should be idle. This is present > on the latest linux-next 20150604. > > ... > [ 33.141747] Suspending console(s) (use no_console_suspend to debug) > [ 33.142146] wlan0: deauthenticating from 00:1a:70:5a:6e:0b by local > choice (Reason: 3=DEAUTH_LEAVING) > [ 33.147395] queueing ieee80211 work while going to suspend > [ 33.151597] cfg80211: Calling CRDA to update world regulatory domain > [ 33.190430] sd 0:0:0:0: [sda] Synchronizing SCSI cache > [ 33.190523] sd 0:0:0:0: [sda] Stopping disk > [ 33.275743] [ cut here ] > [ 33.275764] WARNING: CPU: 0 PID: 1617 at > drivers/gpu/drm/i915/i915_gem.c:4808 i915_gem_suspend+0xe4/0xf0 [i915]() > [ 33.275766] WARN_ON(dev_priv->mm.busy) > [ 33.275811] Modules linked in: binfmt_misc snd_hda_codec_hdmi > hid_generic isl29018(C) industrialio regmap_i2c cyapatp crc_itu_t usbhid > hid arc4 x86_pkg_temp_thermal intel_powerclamp intel_rapl iosf_mbi > coretemp ath9k tpm_infineon kvm_intel kvm ath9k_common ath9k_hw > crct10dif_pclmul crc32_pclmul crc32c_intel chromeos_laptop ath mac80211 > ghash_clmulni_intel cryptd i915 cfg80211 pcspkr serio_raw sg ath3k btusb > btrtl lpc_ich snd_hda_codec_realtek shpchp i2c_i801 mfd_core > snd_hda_codec_generic btbcm btintel bluetooth snd_hda_intel battery > snd_hda_codec ac i2c_algo_bit drm_kms_helper tpm_tis snd_hwdep tpm > snd_hda_core drm snd_pcm video rfkill processor button snd_timer snd > soundcore i2c_designware_pci i2c_designware_core evdev uvcvideo > videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev > [ 33.275825] media i2c_core fuse autofs4 ext4 crc16 mbcache jbd2 > sd_mod fan xhci_pci sdhci_acpi sdhci xhci_hcd mmc_core thermal > thermal_sys usbcore ahci libahci usb_common libata scsi_mod > [ 33.275828] CPU: 0 PID: 1617 Comm: kworker/u4:4 Tainted: G C > 4.1.0-rc6-next-20150604+ #207 > [ 33.275829] Hardware name: Acer Peppy, BIOS 04/30/2014 > [ 33.275834] Workqueue: events_unbound async_run_entry_fn > [ 33.275838] a05b7908 8152ca4d > 880035effc58 > [ 33.275840] 8106bce1 880073587f20 > 88007358 > [ 33.275842] 88003534f860 88007358 8106bd5a > a05c74c1 > [ 33.275843] Call Trace: > [ 33.275849] [] ? dump_stack+0x40/0x50 > [ 33.275853] [] ? warn_slowpath_common+0x81/0xb0 > [ 33.275855] [] ? warn_slowpath_fmt+0x4a/0x50 > [ 33.275865] [] ? i915_gem_suspend+0xe4/0xf0 [i915] > [ 33.275872] [] ? i915_drm_suspend+0x61/0x1b0 > [i915] > [ 33.275876] [] ? pci_pm_suspend+0x71/0x140 > [ 33.275878] [] ? pci_pm_freeze+0xd0/0xd0 > [ 33.275881] [] ? dpm_run_callback+0x39/0xd0 > [ 33.275883] [] ? __device_suspend+0xe4/0x300 > [ 33.275884] [] ? async_suspend+0x1e/0x90 > [ 33.275887] [] ? async_run_entry_fn+0x43/0x150 > [ 33.275890] [] ? process_one_work+0x148/0x3b0 > [ 33.275892] [] ? worker_thread+0x4a/0x440 > [ 33.275895] [] ? rescuer_thread+0x2e0/0x2e0 > [ 33.275898] [] ? kthread+0xc1/0xe0 > [ 33.275901] [] ? > kthread_create_on_node+0x190/0x190 > [ 33.275904] [] ? ret_from_fork+0x3f/0x70 > [ 33.275907] [] ? > kthread_create_on_node+0x190/0x190 > [ 33.275908] ---[ end trace e1c3eb5e163b3520 ]--- > [ 33.560558] PM: suspend of devices complete after 423.034 msecs > [ 33.577985] PM: late suspend of devices complete after 17.589 msecs > [ 33.579036] xhci_hcd :00:14.0: System wakeup enabled by ACPI > [ 33.594059] PM: noirq suspend of devices complete after 16.226 msecs > [ 33.594498] ACPI: Preparing to enter system sleep state S3 > [ 33.595066] ACPI : EC: EC stopped > ... > > -- > - Jeremiah Mahler I bisected the kernel and found that the following patch introduced the bug. From b47161858ba13c9c7e0132230d66e008dd55 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 27 Apr 2015 13:41:17 +0100 Subject: [PATCH] drm/i915: Implement inter-engine read-read optimisations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently, we only track the last request globally across all engines. This prevents us from issuing concurrent read requests on e.g. the RCS and BCS engines (or more likely the render and media engines). Without semaphores, we incur costly stalls as we synchronise between rings - greatly impacting the current performance of Broadwell versus Haswell in certain workloads (like video decode). With the introduction of reference counted requests, it is much easier to track the last request per ring, as well as th
[PATCH 0/3] Use acpi_video_unregister_backlight instead of acpi_video_unregister in platfrom backlight drivers
On Mon, Jun 01, 2015 at 11:25:05AM +0200, Hans de Goede wrote: > Hi All, > > I'm working on cleaning up the currently somewhat convoluted logic to > select which backlight interfaces to register on x86 systems, see: > http://lists.freedesktop.org/archives/dri-devel/2014-December/074687.html > > For a rought outline (details will change in the actual patch-set). > > These 3 patches are a preparation for that work, as the behavior of the > current code is not always consistent (it changes depending on module > loading order in some cases). These 3 patches remove this inconsistency > which in some cases may result in a behavior change. > > This way the cleanup can have a consistent base to build upon, and I can > ensure that the cleanup itself does not cause any functional changes. These are now available in for-next. -- Darren Hart Intel Open Source Technology Center