All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <Alexander.Levin@microsoft.com>
To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>
Cc: "Chris Wilson" <chris@chris-wilson.co.uk>,
	"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Michel Dänzer" <michel@daenzer.net>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Dave Airlie" <airlied@redhat.com>,
	"Mario Kleiner" <mario.kleiner.de@gmail.com>,
	"Daniel Vetter" <daniel.vetter@ffwll.ch>,
	"Sasha Levin" <Alexander.Levin@microsoft.com>
Subject: [PATCH AUTOSEL for 4.9 034/219] drm: Defer disabling the vblank IRQ until the next interrupt (for instant-off)
Date: Sat, 3 Mar 2018 22:28:15 +0000	[thread overview]
Message-ID: <20180303222716.26640-34-alexander.levin@microsoft.com> (raw)
In-Reply-To: <20180303222716.26640-1-alexander.levin@microsoft.com>

From: Chris Wilson <chris@chris-wilson.co.uk>

[ Upstream commit 608b20506941969ea30d8c08dc9ae02bb87dbf7d ]

On vblank instant-off systems, we can get into a situation where the cost
of enabling and disabling the vblank IRQ around a drmWaitVblank query
dominates. And with the advent of even deeper hardware sleep state,
touching registers becomes ever more expensive.  However, we know that if
the user wants the current vblank counter, they are also very likely to
immediately queue a vblank wait and so we can keep the interrupt around
and only turn it off if we have no further vblank requests queued within
the interrupt interval.

After vblank event delivery, this patch adds a shadow of one vblank where
the interrupt is kept alive for the user to query and queue another vblank
event. Similarly, if the user is using blocking drmWaitVblanks, the
interrupt will be disabled on the IRQ following the wait completion.
However, if the user is simply querying the current vblank counter and
timestamp, the interrupt will be disabled after every IRQ and the user
will enabled it again on the first query following the IRQ.

v2: Mario Kleiner -
After testing this, one more thing that would make sense is to move
the disable block at the end of drm_handle_vblank() instead of at the
top.

Turns out that if high precision timestaming is disabled or doesn't
work for some reason (as can be simulated by echo 0 >
/sys/module/drm/parameters/timestamp_precision_usec), then with your
delayed disable code at its current place, the vblank counter won't
increment anymore at all for instant queries, ie. with your other
"instant query" patches. Clients which repeatedly query the counter
and wait for it to progress will simply hang, spinning in an endless
query loop. There's that comment in vblank_disable_and_save:

"* Skip this step if there isn't any high precision timestamp
 * available. In that case we can't account for this and just
 * hope for the best.
 */

With the disable happening after leading edge of vblank (== hw counter
increment already happened) but before the vblank counter/timestamp
handling in drm_handle_vblank, that step is needed to keep the counter
progressing, so skipping it is bad.

Now without high precision timestamping support, a kms driver must not
set dev->vblank_disable_immediate = true, as this would cause problems
for clients, so this shouldn't matter, but it would be good to still
make this robust against a future kms driver which might have
unreliable high precision timestamping, e.g., high precision
timestamping that intermittently doesn't work.

v3: Patch before coffee needs extra coffee.

Testcase: igt/kms_vblank
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Michel Dänzer <michel@daenzer.net>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Dave Airlie <airlied@redhat.com>,
Cc: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170315204027.20160-1-chris@chris-wilson.co.uk
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
---
 drivers/gpu/drm/drm_irq.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
index 48a6167f5e7b..00c815a7c414 100644
--- a/drivers/gpu/drm/drm_irq.c
+++ b/drivers/gpu/drm/drm_irq.c
@@ -1202,9 +1202,9 @@ static void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
 	if (atomic_dec_and_test(&vblank->refcount)) {
 		if (drm_vblank_offdelay == 0)
 			return;
-		else if (dev->vblank_disable_immediate || drm_vblank_offdelay < 0)
+		else if (drm_vblank_offdelay < 0)
 			vblank_disable_fn((unsigned long)vblank);
-		else
+		else if (!dev->vblank_disable_immediate)
 			mod_timer(&vblank->disable_timer,
 				  jiffies + ((drm_vblank_offdelay * HZ)/1000));
 	}
@@ -1819,6 +1819,16 @@ bool drm_handle_vblank(struct drm_device *dev, unsigned int pipe)
 	wake_up(&vblank->queue);
 	drm_handle_vblank_events(dev, pipe);
 
+	/* With instant-off, we defer disabling the interrupt until after
+	 * we finish processing the following vblank. The disable has to
+	 * be last (after drm_handle_vblank_events) so that the timestamp
+	 * is always accurate.
+	 */
+	if (dev->vblank_disable_immediate &&
+	    drm_vblank_offdelay > 0 &&
+	    !atomic_read(&vblank->refcount))
+		vblank_disable_fn((unsigned long)vblank);
+
 	spin_unlock_irqrestore(&dev->event_lock, irqflags);
 
 	return true;
-- 
2.14.1

  parent reply	other threads:[~2018-03-03 22:32 UTC|newest]

Thread overview: 251+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-03 22:27 [PATCH AUTOSEL for 4.9 001/219] Input: tsc2007 - check for presence and power down tsc2007 during probe Sasha Levin
2018-03-03 22:27 ` [PATCH AUTOSEL for 4.9 002/219] spi/bcm63xx: make spi subsystem aware of message size limits Sasha Levin
2018-03-05 10:23   ` Mark Brown
2018-03-05 20:07     ` Sasha Levin
2018-03-05 20:35       ` Mark Brown
2018-03-06 13:42         ` Jonas Gorski
2018-03-06 14:20           ` Mark Brown
2018-03-06 15:33             ` Jonas Gorski
2018-03-06 15:39               ` Mark Brown
2018-03-03 22:27 ` [PATCH AUTOSEL for 4.9 003/219] spi/bcm63xx: fix typo in bcm63xx_spi_max_length breaking compilation Sasha Levin
2018-03-03 22:27 ` [PATCH AUTOSEL for 4.9 004/219] perf stat: Issue a HW watchdog disable hint Sasha Levin
2018-03-03 22:27 ` [PATCH AUTOSEL for 4.9 005/219] kretprobes: Ensure probe location is at function entry Sasha Levin
2018-03-03 22:27   ` Sasha Levin
2018-03-05  7:02   ` Naveen N. Rao
2018-03-05  7:02     ` Naveen N. Rao
2018-03-05 20:06     ` Sasha Levin
2018-03-05 20:06       ` Sasha Levin
2018-03-03 22:27 ` [PATCH AUTOSEL for 4.9 006/219] staging: speakup: Replace BUG_ON() with WARN_ON() Sasha Levin
2018-03-03 22:27 ` [PATCH AUTOSEL for 4.9 007/219] staging: wilc1000: add check for kmalloc allocation failure Sasha Levin
2018-03-03 22:27 ` [PATCH AUTOSEL for 4.9 008/219] HID: reject input outside logical range only if null state is set Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 009/219] drm: qxl: Don't alloc fbdev if emulation is not supported Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 011/219] ARM: dts: r8a7792: Remove unit-address and reg from integrated cache Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 010/219] ARM: dts: r8a7791: " Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 012/219] ARM: dts: r8a7793: " Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 014/219] arm64: dts: r8a7796: " Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 013/219] ARM: dts: r8a7794: " Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 015/219] drm/sun4i: Fix up error path cleanup for master bind function Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 016/219] drm/sun4i: Set drm_crtc.port to the underlying TCON's output port node Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 017/219] ath10k: fix a warning during channel switch with multiple vaps Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 018/219] drm/sun4i: Fix TCON clock and regmap initialization sequence Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 019/219] net: mvpp2: set dma mask and coherent dma mask on PPv2.2 Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 020/219] PCI/MSI: Stop disabling MSI/MSI-X in pci_device_shutdown() Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 021/219] selinux: check for address length in selinux_socket_bind() Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 023/219] perf sort: Fix segfault with basic block 'cycles' sort dimension Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 022/219] x86/mm: Make mmap(MAP_32BIT) work correctly Sasha Levin
2018-03-03 22:28   ` Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 024/219] x86/mce: Handle broadcasted MCE gracefully with kexec Sasha Levin
2018-03-03 22:28   ` Sasha Levin
2018-03-03 22:28   ` [AUTOSEL,for,4.9,024/219] " Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 026/219] i40e: Acquire NVM lock before reads on all devices Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 025/219] eventpoll.h: fix epoll event masks Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 027/219] i40e: fix ethtool to get EEPROM data from X722 interface Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 028/219] perf tools: Make perf_event__synthesize_mmap_events() scale Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 029/219] ARM: brcmstb: Enable ZONE_DMA for non 64-bit capable peripherals Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 030/219] drivers: net: xgene: Fix hardware checksum setting Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 031/219] drivers: net: phy: xgene: Fix mdio write Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 032/219] drivers: net: xgene: Fix wrong logical operation Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 033/219] drivers: net: xgene: Fix Rx checksum validation logic Sasha Levin
2018-03-03 22:28 ` Sasha Levin [this message]
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 035/219] ath10k: disallow DFS simulation if DFS channel is not enabled Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 036/219] ath10k: fix fetching channel during potential radar detection Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 038/219] ARM: bcm2835: Enable missing CMA settings for VC4 driver Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 037/219] usb: misc: lvs: fix race condition in disconnect handling Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 040/219] netem: apply correct delay when rate throttling Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 039/219] net: ethernet: bgmac: Allow MAC address to be specified in DTB Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 041/219] x86/mce: Init some CPU features early Sasha Levin
2018-03-03 22:28   ` [AUTOSEL,for,4.9,041/219] " Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 042/219] omapfb: dss: Handle return errors in dss_init_ports() Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 043/219] perf probe: Fix concat_probe_trace_events Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 044/219] perf probe: Return errno when not hitting any event Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 046/219] net/8021q: create device with all possible features in wanted_features Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 045/219] HID: clamp input to logical range if no null state Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 047/219] ARM: dts: Adjust moxart IRQ controller and flags Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 048/219] qed: Always publish VF link from leading hwfn Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 050/219] zd1211rw: fix NULL-deref at probe Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 049/219] s390/topology: fix typo in early topology code Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 051/219] batman-adv: handle race condition for claims between gateways Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 053/219] [media] solo6x10: release vb2 buffers in solo_stop_streaming() Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 052/219] of: fix of_device_get_modalias returned length when truncating buffers Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 054/219] x86/boot/32: Defer resyncing initial_page_table until per-cpu is set up Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 055/219] scsi: fnic: Fix for "Number of Active IOs" in fnicstats becoming negative Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 056/219] scsi: ipr: Fix missed EH wakeup Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 058/219] timers, sched_clock: Update timeout for clock wrap Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 057/219] [media] media: i2c/soc_camera: fix ov6650 sensor getting wrong clock Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 059/219] sysrq: Reset the watchdog timers while displaying high-resolution timers Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 060/219] Input: qt1070 - add OF device ID table Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 061/219] sched: act_csum: don't mangle TCP and UDP GSO packets Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 063/219] PCI: hv: Lock PCI bus on device eject Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 062/219] PCI: hv: Properly handle PCI bus remove Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 065/219] spi: omap2-mcspi: poll OMAP2_MCSPI_CHSTAT_RXS for PIO transfer Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 064/219] ASoC: rcar: ssi: don't set SSICR.CKDV = 000 with SSIWSR.CONT Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 066/219] tcp: sysctl: Fix a race to avoid unexpected 0 window from space Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 067/219] dmaengine: imx-sdma: add 1ms delay to ensure SDMA channel is stopped Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 068/219] usb: dwc3: make sure UX_EXIT_PX is cleared Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 070/219] perf annotate: Fix a bug following symbolic link of a build-id file Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 069/219] ARM: dts: bcm2835: add index to the ethernet alias Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 072/219] i40e/i40evf: Fix use after free in Rx cleanup path Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 071/219] perf buildid: Do not assume that readlink() returns a null terminated string Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 073/219] powerpc/xmon: Fix an unexpected xmon on/off state change Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 074/219] scsi: be2iscsi: Check tag in beiscsi_mccq_compl_wait Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 076/219] bonding: make speed, duplex setting consistent with link state Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 075/219] driver: (adm1275) set the m,b and R coefficients correctly for power Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 077/219] mm: Fix false-positive VM_BUG_ON() in page_cache_{get,add}_speculative() Sasha Levin
2018-03-03 22:28   ` [PATCH AUTOSEL for 4.9 077/219] mm: Fix false-positive VM_BUG_ON() in page_cache_{get, add}_speculative() Sasha Levin
2018-03-03 22:28   ` [PATCH AUTOSEL for 4.9 077/219] mm: Fix false-positive VM_BUG_ON() in page_cache_{get,add}_speculative() Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 078/219] ALSA: firewire-lib: add a quirk of packet without valid EOH in CIP format Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 079/219] ARM: dts: r8a7794: Correct clock of DU1 Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 080/219] ARM: dts: silk: " Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 081/219] blk-throttle: make sure expire time isn't too big Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 082/219] ARM: DRA7: hwmod_data: Prevent wait_target_disable error for usb_otg_ss Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 084/219] perf trace: Handle unpaired raw_syscalls:sys_exit event Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 083/219] regulator: core: Limit propagation of parent voltage count and list Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 086/219] drm/ttm: never add BO that failed to validate to the LRU list Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 085/219] f2fs: relax node version check for victim data in gc Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 087/219] bonding: refine bond_fold_stats() wrap detection Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 088/219] PCI: Apply Cavium ACS quirk only to CN81xx/CN83xx/CN88xx devices Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 091/219] drm/vmwgfx: Fixes to vmwgfx_fb Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 090/219] braille-console: Fix value returned by _braille_console_setup Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 092/219] vxlan: vxlan dev should inherit lowerdev's gso_max_size Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 093/219] NFC: nfcmrvl: Include unaligned.h instead of access_ok.h Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 095/219] NFC: pn533: change order of free_irq and dev unregistration Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 094/219] NFC: nfcmrvl: double free on error path Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 096/219] ARM: dts: r7s72100: fix ethernet clock parent Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 097/219] ARM: dts: r8a7790: Correct parent of SSI[0-9] clocks Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 098/219] ARM: dts: r8a7791: " Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 099/219] ARM: dts: r8a7793: " Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 100/219] powerpc: Avoid taking a data miss on every userspace instruction miss Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 102/219] net/faraday: Add missing include of of.h Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 101/219] net: hns: Correct HNS RSS key set function Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 103/219] qed: Fix TM block ILT allocation Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 104/219] rtmutex: Fix PI chain order integrity Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 105/219] printk: Correctly handle preemption in console_unlock() Sasha Levin
2018-03-03 22:28   ` Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 106/219] soc/tegra: Fix link errors with PMC disabled Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 108/219] ARM: dts: koelsch: Correct clock frequency of X2 DU clock input Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 107/219] drm: rcar-du: Handle event when disabling CRTCs Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 110/219] reiserfs: Make cancel_old_flush() reliable Sasha Levin
2018-03-03 22:28 ` [PATCH AUTOSEL for 4.9 109/219] clk: sunxi-ng: a33: Add offset and minimum value for DDR1 PLL N factor Sasha Levin
2018-03-20  3:10   ` Chen-Yu Tsai
2018-03-21 16:14     ` Sasha Levin
2018-03-21 16:19       ` Chen-Yu Tsai
2018-03-21 17:17         ` Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 111/219] ASoc: rt5645: Add OF device ID table Sasha Levin
2018-03-05 10:42   ` Mark Brown
2018-03-05 10:56     ` Javier Martinez Canillas
2018-03-05 20:09     ` Sasha Levin
2018-03-05 20:28       ` Mark Brown
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 112/219] ASoC: ssm4567: " Sasha Levin
2018-03-05 10:42   ` Mark Brown
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 113/219] ASoC: wm8978: " Sasha Levin
2018-03-05 10:42   ` Mark Brown
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 115/219] IB/hfi1: Check for QSFP presence before attempting reads Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 114/219] ASoC: rt5677: Add OF device ID table Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 116/219] ALSA: firewire-digi00x: add support for console models of Digi00x series Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 118/219] fm10k: correctly check if interface is removed Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 117/219] ALSA: firewire-digi00x: handle all MIDI messages on streaming packets Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 119/219] EDAC, altera: Fix peripheral warnings for Cyclone5 Sasha Levin
2018-03-03 22:29   ` [AUTOSEL,for,4.9,119/219] " Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 120/219] scsi: ses: don't get power status of SES device slot on probe Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 122/219] apparmor: Make path_max parameter readonly Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 121/219] qed: Correct MSI-x for storage Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 123/219] iommu/iova: Fix underflow bug in __alloc_and_insert_iova_range Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 125/219] kvm/svm: Setup MCG_CAP on AMD properly Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 124/219] ARM: dts: rockchip: disable arm-global-timer for rk3188 Sasha Levin
2018-03-04 23:19   ` Alexander Kochetkov
2018-03-05 20:04     ` Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 127/219] video: ARM CLCD: fix dma allocation size Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 126/219] kvm: nVMX: Disallow userspace-injected exceptions in guest mode Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 128/219] drm/radeon: Fail fb creation from imported dma-bufs Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 129/219] drm/amdgpu: Fail fb creation from imported dma-bufs. (v2) Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 130/219] drm/rockchip: vop: Enable pm domain before vop_initial Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 132/219] coresight: Fixes coresight DT parse to get correct output port ID Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 131/219] i40e: only register client on iWarp-capable devices Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 133/219] lkdtm: turn off kcov for lkdtm_rodata_do_nothing: Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 134/219] tty: amba-pl011: Fix spurious TX interrupts Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 135/219] serial: imx: setup DCEDTE early and ensure DCD and RI irqs to be off Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 137/219] MIPS: BPF: Fix multiple problems in JIT skb access helpers Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 136/219] MIPS: BPF: Quit clobbering callee saved registers in JIT code Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 138/219] MIPS: r2-on-r6-emu: Fix BLEZL and BGTZL identification Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 139/219] MIPS: r2-on-r6-emu: Clear BLTZALL and BGEZALL debugfs counters Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 140/219] [media] v4l: vsp1: Prevent multiple streamon race commencing pipeline early Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 141/219] [media] v4l: vsp1: Register pipe with output WPF Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 142/219] regulator: isl9305: fix array size Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 143/219] md/raid6: Fix anomily when recovering a single device in RAID6 Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 144/219] md.c:didn't unlock the mddev before return EINVAL in array_size_store Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 145/219] powerpc/nohash: Fix use of mmu_has_feature() in setup_initial_memory_limit() Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 147/219] usb: gadget: dummy_hcd: Fix wrong power status bit clear/reset in dummy_hub_control() Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 146/219] usb: dwc2: Make sure we disconnect the gadget state Sasha Levin
2018-03-03 22:29   ` [AUTOSEL,for,4.9,146/219] " Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 148/219] perf evsel: Return exact sub event which failed with EPERM for wildcards Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 149/219] iwlwifi: mvm: fix RX SKB header size and align it properly Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 150/219] drivers/perf: arm_pmu: handle no platform_device Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 152/219] net: fec: add phy-reset-gpios PROBE_DEFER check Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 151/219] perf inject: Copy events when reordering events in pipe mode Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 153/219] perf session: Don't rely on evlist " Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 155/219] vfio/spapr_tce: Check kzalloc() return when preregistering memory Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 154/219] vfio/powerpc/spapr_tce: Enforce IOMMU type compatibility check Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 156/219] scsi: sg: check for valid direction before starting the request Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 158/219] ALSA: hda: Add Geminilake id to SKL_PLUS Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 157/219] scsi: sg: close race condition in sg_remove_sfp_usercontext() Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 159/219] kprobes/x86: Fix kprobe-booster not to boost far call instructions Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 160/219] kprobes/x86: Set kprobes pages read-only Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 161/219] pwm: tegra: Increase precision in PWM rate calculation Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 162/219] clk: qcom: msm8996: Fix the vfe1 powerdomain name Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 163/219] Bluetooth: Avoid bt_accept_unlink() double unlinking Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 164/219] Bluetooth: 6lowpan: fix delay work init in add_peer_chan() Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 165/219] mac80211_hwsim: use per-interface power level Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 166/219] ath10k: fix compile time sanity check for CE4 buffer size Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 167/219] wil6210: fix protection against connections during reset Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 168/219] wil6210: fix memory access violation in wil_memcpy_from/toio_32 Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 169/219] perf stat: Fix bug in handling events in error state Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 170/219] mwifiex: Fix invalid port issue Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 171/219] drm/edid: set ELD connector type in drm_edid_to_eld() Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 172/219] video/hdmi: Allow "empty" HDMI infoframes Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 174/219] iwlwifi: mvm: rs: don't override the rate history in the search cycle Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 173/219] HID: elo: clear BTN_LEFT mapping Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 175/219] clk: meson: gxbb: fix wrong clock for SARADC/SANA Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 176/219] ARM: dts: exynos: Correct Trats2 panel reset line Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 177/219] sched: Stop switched_to_rt() from sending IPIs to offline CPUs Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 178/219] sched: Stop resched_cpu() " Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 179/219] test_firmware: fix setting old custom fw path back on exit Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 180/219] ASoC: fsl_ssi: only enable proper channel slots in AC'97 mode Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 181/219] net: ieee802154: adf7242: Fix bug if defined DEBUG Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 182/219] net: xfrm: allow clearing socket xfrm policies Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 183/219] mtd: nand: fix interpretation of NAND_CMD_NONE in nand_command[_lp]() Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 185/219] ARM: dts: am335x-pepper: Fix the audio CODEC's reset pin Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 184/219] net: thunderx: Set max queue count taking XDP_TX into account Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 186/219] ARM: dts: omap3-n900: Fix the audio CODEC's reset pin Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 187/219] mtd: nand: ifc: update bufnum mask for ver >= 2.0.0 Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 189/219] leds: pm8058: Silence pointer to integer size warning Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 188/219] userns: Don't fail follow_automount based on s_user_ns Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 190/219] ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 191/219] power: supply: ab8500_charger: Fix an error handling path Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 192/219] power: supply: ab8500_charger: Bail out in case of error in 'ab8500_charger_init_hw_registers()' Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 194/219] cpufreq: Fix governor module removal race Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 193/219] ath10k: update tdls teardown state to target Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 195/219] dmaengine: bcm2835-dma: Use vchan_terminate_vdesc() instead of desc_free Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 196/219] scsi: ses: don't ask for diagnostic pages repeatedly during probe Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 198/219] clk: qcom: msm8916: fix mnd_width for codec_digcodec Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 197/219] pwm: stmpe: Fix wrong register offset for hwpwm=2 case Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 200/219] ath10k: fix invalid STS_CAP_OFFSET_MASK Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 199/219] mwifiex: cfg80211: do not change virtual interface during scan processing Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 201/219] tools/usbip: fixes build with musl libc toolchain Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 202/219] spi: sun6i: disable/unprepare clocks on remove Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 203/219] bnxt_en: Don't print "Link speed -1 no longer supported" messages Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 204/219] scsi: core: scsi_get_device_flags_keyed(): Always return device flags Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 205/219] scsi: devinfo: apply to HP XP the same flags as Hitachi VSP Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 206/219] scsi: dh: add new rdac devices Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 207/219] media: vsp1: Prevent suspending and resuming DRM pipelines Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 208/219] media: cpia2: Fix a couple off by one bugs Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 210/219] drm/amdkfd: Fix memory leaks in kfd topology Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 209/219] veth: set peer GSO values Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 211/219] powerpc/modules: Don't try to restore r2 after a sibling call Sasha Levin
2018-03-03 22:29 ` [PATCH AUTOSEL for 4.9 212/219] agp/intel: Flush all chipset writes after updating the GGTT Sasha Levin
2018-03-03 22:30 ` [PATCH AUTOSEL for 4.9 213/219] mac80211_hwsim: enforce PS_MANUAL_POLL to be set after PS_ENABLED Sasha Levin
2018-03-03 22:30 ` [PATCH AUTOSEL for 4.9 215/219] ASoC: nuc900: Fix a loop timeout test Sasha Levin
2018-03-03 22:30 ` [PATCH AUTOSEL for 4.9 214/219] mac80211: remove BUG() when interface type is invalid Sasha Levin
2018-03-03 22:30 ` [PATCH AUTOSEL for 4.9 216/219] ipvlan: add L2 check for packets arriving via virtual devices Sasha Levin
2018-03-03 22:30 ` [PATCH AUTOSEL for 4.9 217/219] rcutorture/configinit: Fix build directory error message Sasha Levin
2018-03-03 22:30 ` [PATCH AUTOSEL for 4.9 219/219] ima: relax requiring a file signature for new files with zero length Sasha Levin
2018-03-03 22:30 ` [PATCH AUTOSEL for 4.9 218/219] locking/locktorture: Fix num reader/writer corner cases Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180303222716.26640-34-alexander.levin@microsoft.com \
    --to=alexander.levin@microsoft.com \
    --cc=airlied@redhat.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel@ffwll.ch \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mario.kleiner.de@gmail.com \
    --cc=michel@daenzer.net \
    --cc=stable@vger.kernel.org \
    --cc=ville.syrjala@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.