i915 regression, Re: git pull] drm for v4.1-rc1

2015-06-07 Thread Dave Airlie
> 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

2015-06-07 Thread Ville Syrjälä
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

2015-06-07 Thread bugzilla-dae...@freedesktop.org
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

2015-06-07 Thread Stefan Lippers-Hollmann
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

2015-06-07 Thread Rob Clark
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)

2015-06-07 Thread Jeremiah Mahler
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

2015-06-07 Thread Darren Hart
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