linux_dsm_epyc7002/drivers/gpu/drm/nouveau
Linus Torvalds 033d9959ed Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Pull workqueue changes from Tejun Heo:
 "This is workqueue updates for v3.7-rc1.  A lot of activities this
  round including considerable API and behavior cleanups.

   * delayed_work combines a timer and a work item.  The handling of the
     timer part has always been a bit clunky leading to confusing
     cancelation API with weird corner-case behaviors.  delayed_work is
     updated to use new IRQ safe timer and cancelation now works as
     expected.

   * Another deficiency of delayed_work was lack of the counterpart of
     mod_timer() which led to cancel+queue combinations or open-coded
     timer+work usages.  mod_delayed_work[_on]() are added.

     These two delayed_work changes make delayed_work provide interface
     and behave like timer which is executed with process context.

   * A work item could be executed concurrently on multiple CPUs, which
     is rather unintuitive and made flush_work() behavior confusing and
     half-broken under certain circumstances.  This problem doesn't
     exist for non-reentrant workqueues.  While non-reentrancy check
     isn't free, the overhead is incurred only when a work item bounces
     across different CPUs and even in simulated pathological scenario
     the overhead isn't too high.

     All workqueues are made non-reentrant.  This removes the
     distinction between flush_[delayed_]work() and
     flush_[delayed_]_work_sync().  The former is now as strong as the
     latter and the specified work item is guaranteed to have finished
     execution of any previous queueing on return.

   * In addition to the various bug fixes, Lai redid and simplified CPU
     hotplug handling significantly.

   * Joonsoo introduced system_highpri_wq and used it during CPU
     hotplug.

  There are two merge commits - one to pull in IRQ safe timer from
  tip/timers/core and the other to pull in CPU hotplug fixes from
  wq/for-3.6-fixes as Lai's hotplug restructuring depended on them."

Fixed a number of trivial conflicts, but the more interesting conflicts
were silent ones where the deprecated interfaces had been used by new
code in the merge window, and thus didn't cause any real data conflicts.

Tejun pointed out a few of them, I fixed a couple more.

* 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits)
  workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()
  workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()
  workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()
  workqueue: remove @delayed from cwq_dec_nr_in_flight()
  workqueue: fix possible stall on try_to_grab_pending() of a delayed work item
  workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()
  workqueue: use __cpuinit instead of __devinit for cpu callbacks
  workqueue: rename manager_mutex to assoc_mutex
  workqueue: WORKER_REBIND is no longer necessary for idle rebinding
  workqueue: WORKER_REBIND is no longer necessary for busy rebinding
  workqueue: reimplement idle worker rebinding
  workqueue: deprecate __cancel_delayed_work()
  workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()
  workqueue: use mod_delayed_work() instead of __cancel + queue
  workqueue: use irqsafe timer for delayed_work
  workqueue: clean up delayed_work initializers and add missing one
  workqueue: make deferrable delayed_work initializer names consistent
  workqueue: cosmetic whitespace updates for macro definitions
  workqueue: deprecate system_nrt[_freezable]_wq
  workqueue: deprecate flush[_delayed]_work_sync()
  ...
2012-10-02 09:54:49 -07:00
..
Kconfig drm/nouveau: select POWER_SUPPLY 2012-04-02 10:45:49 +01:00
Makefile drm/nouveau: mark most of our ioctls as deprecated, move to compat layer 2012-07-26 10:28:15 +10:00
nouveau_abi16.c drm/nouveau: silence a debug message triggered by newer userspace 2012-09-26 12:41:19 +10:00
nouveau_abi16.h drm/nouveau: mark most of our ioctls as deprecated, move to compat layer 2012-07-26 10:28:15 +10:00
nouveau_acpi.c vga_switcheroo: Don't require handler init callback 2012-08-17 17:34:41 -04:00
nouveau_backlight.c drm/nva3/backlight: add suppport for newer style backlight regs 2011-09-20 16:10:06 +10:00
nouveau_bios.c drm/nouveau: dcb table quirk for fdo#50830 2012-07-26 10:28:13 +10:00
nouveau_bios.h drm/nouveau: add bios connector type for dms59 2012-03-22 17:18:16 +10:00
nouveau_bo.c drm/nvc0/ttm: use copy engines for async buffer moves 2012-05-24 16:56:23 +10:00
nouveau_calc.c
nouveau_channel.c drm/nouveau: mark most of our ioctls as deprecated, move to compat layer 2012-07-26 10:28:15 +10:00
nouveau_connector.c drm/nouveau/disp: fix dithering not being enabled on some eDP macbooks 2012-05-24 16:56:26 +10:00
nouveau_connector.h drm/nouveau/disp: parse connector info directly in nouveau_connector.c 2011-12-21 19:01:41 +10:00
nouveau_crtc.h drm/nv50/display: expose color vibrance control 2012-03-13 17:14:56 +10:00
nouveau_debugfs.c drm/nouveau/fence: convert to exec engine, and improve channel sync 2012-05-24 16:55:53 +10:00
nouveau_display.c drm/nouveau: fix booting with plymouth + dumb support 2012-09-14 15:45:01 +10:00
nouveau_dma.c drm/nouveau: remove m2mf creation on userspace channels 2012-03-22 17:17:46 +10:00
nouveau_dma.h drm/nouveau/ttm: untangle code to support accelerated buffer moves 2012-05-24 16:56:16 +10:00
nouveau_dp.c drm/nouveau/dp: Probe branch/sink OUIs (v2) 2012-05-22 10:29:02 +01:00
nouveau_drv.c Merge branch 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next 2012-07-26 10:35:44 +10:00
nouveau_drv.h drm/nouveau: init vblank requests list 2012-07-26 10:28:16 +10:00
nouveau_encoder.h drm/nouveau/dp: make dp dpms function common, call from sor code instead 2012-03-13 17:15:04 +10:00
nouveau_fb.h drm/nouveau: move master modesetting init to nouveau_display 2011-12-21 19:01:16 +10:00
nouveau_fbcon.c drm/nouveau/fbcon: using nv_two_heads is not a good idea 2012-06-26 12:16:43 +01:00
nouveau_fbcon.h
nouveau_fence.c drm/nouveau/fence: fix a race where fence->channel can disappear 2012-05-24 16:55:58 +10:00
nouveau_fence.h drm/nouveau/fence: fix a race where fence->channel can disappear 2012-05-24 16:55:58 +10:00
nouveau_fifo.h drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nouveau_gem.c Merge branch 'drm-nouveau-fixes' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next 2012-07-26 10:35:44 +10:00
nouveau_gpio.c workqueue: deprecate flush[_delayed]_work_sync() 2012-08-20 14:51:24 -07:00
nouveau_gpio.h drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nouveau_gpuobj.c drm/nouveau: mark most of our ioctls as deprecated, move to compat layer 2012-07-26 10:28:15 +10:00
nouveau_grctx.h drm/nv40-50/gr: restructure grctx/prog generation 2012-05-24 16:31:58 +10:00
nouveau_hdmi.c drm/nouveau/hdmi: use correct hdmi regs for nvaa/nvac 2012-04-30 15:55:39 +10:00
nouveau_hw.c drm/nv04/disp: disable vblank interrupts when disabling display 2012-05-24 16:32:01 +10:00
nouveau_hw.h
nouveau_hwsq.h drm/nouveau/hwsq: remove some magic, give proper opcode names 2011-12-21 19:01:44 +10:00
nouveau_i2c.c drm/nouveau/aux: mask off higher bits of auxch index in i2c table entry 2012-08-14 09:36:50 +10:00
nouveau_i2c.h drm/nouveau/i2c: resume use of i2c-algo-bit, rather than custom stack 2012-05-07 11:02:38 +01:00
nouveau_ioc32.c
nouveau_irq.c drm/nouveau: init vblank requests list 2012-07-26 10:28:16 +10:00
nouveau_mem.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nouveau_mm.c drm/nouveau: allow a nouveau_mm to be created with holes 2011-09-20 16:04:00 +10:00
nouveau_mm.h drm/nouveau: allow a nouveau_mm to be created with holes 2011-09-20 16:04:00 +10:00
nouveau_mxm.c drm/nouveau/mxm: call mxmi to determine revision before calling mxms 2012-03-13 17:14:57 +10:00
nouveau_notifier.c drm/nv50: extend vblank semaphore to generic dmaobj + offset pair 2012-07-26 10:28:16 +10:00
nouveau_perf.c drm/nva3/pm: initial attempt at more magic PFB regs 2012-05-24 16:31:16 +10:00
nouveau_pm.c drm/nouveau/pm: don't read/write beyond end of stack buffer 2012-04-19 14:38:54 +01:00
nouveau_pm.h drm/nva3/pm: initial attempt at more magic PFB regs 2012-05-24 16:31:16 +10:00
nouveau_prime.c drm/nouveau: add license header to prime. 2012-06-27 09:27:35 +01:00
nouveau_ramht.c
nouveau_ramht.h
nouveau_reg.h drm/nva3/backlight: add suppport for newer style backlight regs 2011-09-20 16:10:06 +10:00
nouveau_sgdma.c drm/nouveau: give a slightly larger pci(e)gart aperture on all chipsets 2012-05-24 16:31:38 +10:00
nouveau_software.h drm/nouveau: init vblank requests list 2012-07-26 10:28:16 +10:00
nouveau_state.c drm/nvc0/copy: check PUNITS to determine which copy engines are disabled 2012-08-29 13:21:41 +10:00
nouveau_temp.c drm/nouveau/i2c: do parsing of i2c-related vbios info in nouveau_i2c.c 2011-12-21 19:01:40 +10:00
nouveau_ttm.c
nouveau_util.c
nouveau_util.h
nouveau_vm.c nouveau: add PRIME support 2012-05-23 10:46:55 +01:00
nouveau_vm.h nouveau: add PRIME support 2012-05-23 10:46:55 +01:00
nouveau_volt.c drm/nouveau/gpio: reimplement as nouveau_gpio.c, fixing a number of issues 2011-12-21 19:01:45 +10:00
nv04_crtc.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
nv04_cursor.c
nv04_dac.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
nv04_dfp.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
nv04_display.c drm/nv04/disp: disable vblank interrupts when disabling display 2012-05-24 16:32:01 +10:00
nv04_fb.c drm/nouveau: memory type detection for the really old chipsets 2012-03-13 17:05:23 +10:00
nv04_fbcon.c drm/nouveau: use the same packet header macros as userspace 2012-05-24 16:31:49 +10:00
nv04_fence.c drm/nouveau/fence: fix a race where fence->channel can disappear 2012-05-24 16:55:58 +10:00
nv04_fifo.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv04_graph.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv04_instmem.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv04_mc.c
nv04_pm.c drm/nv04-nv30/pm: port to newer interfaces 2011-12-21 19:01:24 +10:00
nv04_software.c drm/nouveau/fence: convert to exec engine, and improve channel sync 2012-05-24 16:55:53 +10:00
nv04_timer.c drm/nouveau/pm: remove the older interfaces completely 2011-12-21 19:01:25 +10:00
nv04_tv.c
nv10_fb.c drm/nv20: split PFB code out of nv10_fb.c 2012-03-13 17:05:29 +10:00
nv10_fence.c drm/nouveau/fence: fix a race where fence->channel can disappear 2012-05-24 16:55:58 +10:00
nv10_fifo.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv10_gpio.c drm/nv10/gpio: fix thinko in mask for gpio lines 2-9 2012-04-30 15:55:54 +10:00
nv10_graph.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv17_fifo.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv17_tv_modes.c
nv17_tv.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
nv17_tv.h
nv20_fb.c drm/nv20-nv40: add memory type detection 2012-03-13 17:05:35 +10:00
nv20_graph.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv30_fb.c
nv31_mpeg.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv40_fb.c drm/nv20-nv40: add memory type detection 2012-03-13 17:05:35 +10:00
nv40_fifo.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv40_graph.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv40_grctx.c drm/nv40-50/gr: restructure grctx/prog generation 2012-05-24 16:31:58 +10:00
nv40_mc.c
nv40_pm.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv50_calc.c
nv50_crtc.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
nv50_cursor.c drm/nouveau: use the same packet header macros as userspace 2012-05-24 16:31:49 +10:00
nv50_dac.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
nv50_display.c drm/nv50: extend vblank semaphore to generic dmaobj + offset pair 2012-07-26 10:28:16 +10:00
nv50_display.h drm/nouveau: create real execution engine for software object class 2012-05-24 16:55:41 +10:00
nv50_evo.c nouveau: add PRIME support 2012-05-23 10:46:55 +01:00
nv50_evo.h drm/nv50/display: expose color vibrance control 2012-03-13 17:14:56 +10:00
nv50_fb.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv50_fbcon.c drm/nouveau/ttm: untangle code to support accelerated buffer moves 2012-05-24 16:56:16 +10:00
nv50_fifo.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv50_gpio.c drm/nouveau: add dmi quirk for gpio reset 2012-09-21 10:17:15 -04:00
nv50_graph.c drm/nv50: rename INVALID_QUERY_OR_TEXTURE error to INVALID_OPERATION 2012-07-26 10:28:14 +10:00
nv50_grctx.c drm/nv50/gr: make sure NEXT_TO_CURRENT is executed even if nothing done 2012-05-24 16:56:03 +10:00
nv50_instmem.c drm/nv50: fix ramin heap size for kernel channel too 2012-05-24 16:31:52 +10:00
nv50_mc.c
nv50_mpeg.c drm/nv50: remove manual context unload on context destruction 2012-05-24 16:56:08 +10:00
nv50_pm.c drm/nv50/hwsq: some nv92 fixes 2012-03-13 17:15:03 +10:00
nv50_software.c drm/nv50: extend vblank semaphore to generic dmaobj + offset pair 2012-07-26 10:28:16 +10:00
nv50_sor.c drm: Make the .mode_fixup() operations mode argument a const pointer 2012-07-19 21:52:38 -04:00
nv50_vm.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv50_vram.c drm/nv50: fix detection of second vram rank 2012-03-13 17:08:51 +10:00
nv84_bsp.c drm/nouveau/vdec: implement stub modules for the known engines 2011-12-21 19:01:10 +10:00
nv84_crypt.c drm/nv84: decode PCRYPT errors 2012-07-26 10:28:13 +10:00
nv84_fence.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nv84_fifo.c drm/nv86/fifo: suspend fix 2012-08-14 09:36:53 +10:00
nv84_vp.c drm/nouveau/vdec: implement stub modules for the known engines 2011-12-21 19:01:10 +10:00
nv98_crypt.c drm/nv98/crypt: non-stub implementation of the engine hooks 2012-05-24 16:56:13 +10:00
nv98_crypt.fuc drm/nv98/crypt: non-stub implementation of the engine hooks 2012-05-24 16:56:13 +10:00
nv98_crypt.fuc.h drm/nv98/crypt: non-stub implementation of the engine hooks 2012-05-24 16:56:13 +10:00
nv98_ppp.c drm/nouveau/vdec: implement stub modules for the known engines 2011-12-21 19:01:10 +10:00
nva3_copy.c drm/nv50: remove manual context unload on context destruction 2012-05-24 16:56:08 +10:00
nva3_copy.fuc nouveau: Fix alignment requirements on src and dst addresses 2012-07-26 10:28:13 +10:00
nva3_copy.fuc.h nouveau: Fix alignment requirements on src and dst addresses 2012-07-26 10:28:13 +10:00
nva3_pm.c drm/nouveau/pm: some more delays for ddr3 reclocking 2012-05-24 16:31:36 +10:00
nvc0_copy.c drm/nouveau: pass flag to engine fini() method on suspend 2011-07-25 09:43:22 +10:00
nvc0_copy.fuc.h nouveau: Fix alignment requirements on src and dst addresses 2012-07-26 10:28:13 +10:00
nvc0_fb.c drm/nvc0/ltcg: mask off intr 0x10 2012-09-26 12:43:10 +10:00
nvc0_fbcon.c drm/nouveau: use the same packet header macros as userspace 2012-05-24 16:31:49 +10:00
nvc0_fence.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nvc0_fifo.c drm/nvc0/fifo: ignore bits in PFIFO_INTR that aren't set in PFIFO_INTR_EN 2012-09-27 09:13:43 +10:00
nvc0_graph.c drm/nouveau/fifo: turn all fifo modules into engine modules 2012-05-24 16:56:11 +10:00
nvc0_graph.fuc drm/nvc0/gr: update fuc source to assemble with latest envyas 2011-12-21 19:01:26 +10:00
nvc0_graph.h drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_grctx.c drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_grgpc.fuc drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_grgpc.fuc.h drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_grhub.fuc drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_grhub.fuc.h drm/nvc0/gr: add initial support for nvd9, not quite there yet.. 2011-12-21 19:01:27 +10:00
nvc0_instmem.c drm/nvc0: enable per-client address spaces 2011-06-23 16:01:41 +10:00
nvc0_pm.c nouveau: fixup scanout enable in nvc0_pm 2012-08-14 09:36:51 +10:00
nvc0_software.c drm/nouveau: move flip-related channel setup to software engine 2012-05-24 16:55:43 +10:00
nvc0_vm.c drm/nv50-nvc0/vm: support unsnooped system memory 2012-03-13 17:14:06 +10:00
nvc0_vram.c drm/nvc0/vram: get part count from PUNITS 2012-03-13 17:15:00 +10:00
nvd0_display.c drm/nvd0/disp: hopefully fix selection of 6/8bpc mode on DP outputs 2012-08-31 10:49:38 +10:00
nve0_fifo.c drm/nvc0/fifo: ignore bits in PFIFO_INTR that aren't set in PFIFO_INTR_EN 2012-09-27 09:13:43 +10:00
nve0_graph.c drm/nouveau/ttm: untangle code to support accelerated buffer moves 2012-05-24 16:56:16 +10:00
nve0_graph.h drm/nve0/gr: initial implementation 2012-05-24 16:31:41 +10:00
nve0_grctx.c drm/nve0/gr: initial implementation 2012-05-24 16:31:41 +10:00
nvreg.h