- 25 Jan, 2015 21 commits
-
-
Gustavo Padovan authored
Split update plane in two parts, an initial check part that can fail and the update part that can't fail. This is a important step for the upcoming atomic modesetting support. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
It is no longer used anywhere. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
We can safely use the mode stored in the crtc. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
exynos_drm_manager was just a redundant struct to represent the crtc as well. In this commit we merge exynos_drm_manager into exynos_drm_crtc to remove an unnecessary level of indirection easing the understand of the flow on exynos. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
manager-drm_dev is only accessed by exynos_drm_crtc_create() so this patch pass drm_dev as argument on exynos_drm_crtc_create() and remove it from struct exynos_drm_manager. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
'type' is now part of the struct exynos_drm_crtc. This is just another step in the struct exynos_drm_manager removal. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
It is not longer used. This is part of the process of removing struct exynos_drm_manager entirely. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
Get the pipe value from a parameter instead of getting it from manager->pipe. We are removing manager->pipe. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
'base' is more widely used name in the drm subsystem for the base object. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
This was just as extra chain in the call stack. We just rename it to _set_base() and let it do everything alone. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
Avoid an extra call to exynos_drm_crtc_mode_set_commit() that only calls exynos_update_plane(). Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
We can safely use the exynos_update_plane() to update the plane framebuffer for both the overlay and primary planes. Note that this patch removes a call to manager->ops->commit() in exynos_drm_crtc_mode_set_commit(). The commit() call is used only by the fimd driver to set underlying timings and need only in full modeset operations. For plane update only win_commit is needed. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
It's doing nothing but calling exynos_crtc->ops->win_commit(), so let's call this directly to avoid extra layers of abstraction. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
DPMS only makes sense when the mode changes, for plane update changes do not perform any dpms operation. This move places the win_commit() and commit() calls directly in the code instead of calling exynos_drm_crtc_commit() thus avoiding DPMS operations. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
DPMS settings should only be changed by a full modeset. exynos_plane_update() should only care about updating the planes itself and nothing else. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
vidi_commit does nothing, remove it and its callers. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
We set it in the beginning of the function, thus no need to set it at initialization. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
struct exynos_drm_overlay has no practical advantage nor serves as important piece of the exynos API design. The only place it was used was inside the struct exynos_plane which was just causing a extra access overhead. Users had to access the overlay first and just then get the plane information it contains. This patch merges struct exynos_drm_overlay into struct exynos_plane. It also renames struct exynos_plane to struct exynos_drm_plane. The rational is to cut one step to access plane information. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
This functions were doing nothing but calling a manager op function, so remove them and call the manager directly. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
Let other pieces of the driver access struct exynos_drm_crtc as well. struct exynos_drm_manager will be merged into struct exynos_drm_crtc, in the sense we will move all its members to exynos_drm_crtc, so to start this conversion exynos_drm_crtc need to be exposed as well. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
Gustavo Padovan authored
With this change we allow other pieces of the code to use this macro. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
-
- 22 Jan, 2015 1 commit
-
-
Dave Airlie authored
Backmerge Linus tree after rc5 + drm-fixes went in. There were a few amdkfd conflicts I wanted to avoid, and Ben requested this for nouveau also. Conflicts: drivers/gpu/drm/amd/amdkfd/Makefile drivers/gpu/drm/amd/amdkfd/kfd_chardev.c drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c drivers/gpu/drm/amd/amdkfd/kfd_priv.h drivers/gpu/drm/amd/include/kgd_kfd_interface.h drivers/gpu/drm/i915/intel_runtime_pm.c drivers/gpu/drm/radeon/radeon_kfd.c
-
- 21 Jan, 2015 15 commits
-
-
Dave Airlie authored
Merge branch 'drm-sti-next-add-dvo' of git://git.linaro.org/people/benjamin.gaignard/kernel into drm-next This patch enable the last big hardware feature of my driver: the connector for panel. Like for HMDI and HDA, Digital Video Out (DVO) create brige, encoder and connector drm objects. * 'drm-sti-next-add-dvo' of git://git.linaro.org/people/benjamin.gaignard/kernel: drm: sti: add DVO output connector
-
https://github.com/bbrezillon/linux-at91Dave Airlie authored
Add atmel HLCDC driver. * tag 'atmel-hlcdc-drm-3.20' of https://github.com/bbrezillon/linux-at91: drm: add DT bindings documentation for atmel-hlcdc-dc driver drm: add Atmel HLCDC Display Controller support drm: panel: simple-panel: add bus format information for foxlink panel drm: panel: simple-panel: add support for bus_format retrieval drm: add bus_formats and num_bus_formats fields to drm_display_info
-
git://people.freedesktop.org/~gabbayo/linuxDave Airlie authored
- Infrastructure work in amdkfd to prepare for VI support. This work mainly includes separating modules into ASIC-specific functionality, adding new properties that are relevant for VI, making sure that shared code is reused, etc. - Improve mechanism of submitting packets to HIQ (the kernel queue that amdkfd uses to issue commands to the GPU). The driver used to verify that each CS was read by the GPU. However, this proved to be both unnecessary and erroneous. Therefore, we cancelled this verification. - Moved initialization of compute VMIDs into radeon driver - Various minor fixes * tag 'drm-amdkfd-next-2015-01-21' of git://people.freedesktop.org/~gabbayo/linux: (22 commits) drm/amdkfd: Fix description of sched_policy module parameter drm/amdkfd: Remove sync_with_hw() from amdkfd drm/amdkfd: Remove unused function busy_wait() drm/amdkfd: Replace cpu_relax() with schedule() in DQM drm/amdkfd: Fix for-loop when allocating HQD (non-HWS) drm/amdkfd: Add initial VI support for KQ drm/amdkfd: Encapsulate KQ functions in ops structure drm/amdkfd: Add initial VI support for DQM drm/amdkfd: Encapsulate DQM functions in ops structure drm/amdkfd: Don't BUG on freeing GART sub-allocation drm/amdkfd: Fix logic of destroy_queue_nocpsch() MAINTAINERS: Update amdkfd files drm/amdkfd: Change MQD manager to be H/W specific drm/amdkfd: Add asic property to kfd_device_info drm/amdkfd: Make KFD_MQD_TYPE enum types H/W agnostic drm/amdkfd: Add new VI-specific queue properties drm/radeon: Use new cik_structs.h file drm/amdkfd: Don't include header files from radeon drm/amd: Put cik structures in a common place drm/radeon: Don't use relative paths in #include ...
-
git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-traceLinus Torvalds authored
Pull superh tracing fix from Steven Rostedt: "It's been reported that function tracing does not work on the sh architecture because gcc 4.8 for superH does not support -m32, and the recordmcount.pl script adds "-m32" when re-compiling the object files with the mcount locations. I was not able to reproduce this problem, as it seems that -m32 works fine for my cross compiler gcc 4.6.3, but I have to assume that -m32 was deprecated somewhere between 4.6 and 4.8. As it still seems to compile fine without -m32, I have no reason not to add this patch, as having -m32 seems to cause trouble for others" * tag 'trace-sh-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: scripts/recordmcount.pl: There is no -m32 gcc option on Super-H anymore
-
Boris Brezillon authored
The Atmel HLCDC (HLCD Controller) IP available on some Atmel SoCs (i.e. at91sam9n12, at91sam9x5 family or sama5d3 family) provides a display controller device. The HLCDC block provides a single RGB output port, and only supports LCD panels connection to LCD panels for now. The atmel,panel property link the HLCDC RGB output with the LCD panel connected on this port (note that the HLCDC RGB connector implementation makes use of the DRM panel framework). Connection to other external devices (DRM bridges) might be added later by mean of a new atmel,xxx (atmel,bridge) property. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
-
Boris Brezillon authored
The Atmel HLCDC (HLCD Controller) IP available on some Atmel SoCs (i.e. at91sam9n12, at91sam9x5 family or sama5d3 family) provides a display controller device. This display controller supports at least one primary plane and might provide several overlays and an hardware cursor depending on the IP version. At the moment, this driver only implements an RGB connector to interface with LCD panels, but support for other kind of external devices might be added later. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Tested-by: Anthony Harivel <anthony.harivel@emtrion.de> Tested-by: Ludovic Desroches <ludovic.desroches@atmel.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
-
Boris Brezillon authored
Foxlink's fl500wvr00-a0t supports RGB888 format. Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Thierry Reding <treding@nvidia.com>
-
Boris Brezillon authored
Provide a way to specify panel requirement in terms of supported media bus format (particularly useful for panels connected to an RGB or LVDS bus). Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Thierry Reding <treding@nvidia.com>
-
Boris Brezillon authored
Add bus_formats and num_bus_formats fields and drm_display_info_set_bus_formats helper function to specify the bus formats supported by a given display. This information can be used by display controller drivers to configure the output interface appropriately (i.e. RGB565, RGB666 or RGB888 on raw RGB or LVDS busses). Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Philipp Zabel <p.zabel@pengutronix.de> Acked-by: Thierry Reding <treding@nvidia.com>
-
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/soundLinus Torvalds authored
Pull sound fixes from Takashi Iwai: "This batch contains two fixes for FireWire lib module and a quirk for yet another Logitech WebCam. The former is the fixes for MIDI handling I forgot to pick up during the merge window. All the fixed code is pretty local and shouldn't give any regressions" * tag 'sound-3.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: usb-audio: Add mic volume fix quirk for Logitech Webcam C210 ALSA: firewire-lib: limit the MIDI data rate ALSA: firewire-lib: remove rx_blocks_for_midi quirk
-
git://people.freedesktop.org/~airlied/linuxLinus Torvalds authored
Pull drm fixes from Dave Airlie: "Just back from LCA + some days off, had some fixes from the past 2 weeks, Some amdkfd code removal for a feature that wasn't ready, otherwise just one fix for core helper sleeping, exynos, i915, and radeon fixes. I thought I had some sti fixes but they were already in, and it confused me for a few mins this morning" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm: fb helper should avoid sleeping in panic context drm/exynos: fix warning of vblank reference count drm/exynos: remove unnecessary runtime pm operations drm/exynos: fix reset codes for memory mapped hdmi phy drm/radeon: use rv515_ring_start on r5xx drm/radeon: add si dpm quirk list drm/radeon: don't print error on -ERESTARTSYS drm/i915: Fix mutex->owner inspection race under DEBUG_MUTEXES drm/i915: Ban Haswell from using RCS flips drm/i915: vlv: sanitize RPS interrupt mask during GPU idling drm/i915: fix HW lockup due to missing RPS IRQ workaround on GEN6 drm/i915: gen9: fix RPS interrupt routing to CPU vs. GT drm/exynos: remove the redundant machine checking code drm/radeon: add a dpm quirk list drm/amdkfd: Fix sparse warning (different address space) drm/radeon: fix VM flush on CIK (v3) drm/radeon: fix VM flush on SI (v3) drm/radeon: fix VM flush on cayman/aruba (v3) drm/amdkfd: Drop interrupt SW ring buffer
-
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfdLinus Torvalds authored
Pull MFD fixes from Lee Jones: - Avoid platform ID collision in da9052 - Skip caching volatile registers in tps65218 - Use correct address base in tps65218 - Repair deadlock on suspend in rtsx_usb * tag 'mfd-fixes-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: mfd: rtsx_usb: Fix runtime PM deadlock mfd: tps65218: Make INT1 our status_base register mfd: tps65218: Make INT[12] and STATUS registers volatile mfd: da9052-core: Fix platform-device id collision
-
git://git.pengutronix.de/git/pza/linuxDave Airlie authored
imx-drm mode fixup support, imx-hdmi bridge conversion and imx-drm cleanup - Implement mode_fixup for a DI vertical timing limitation - Use generic DRM OF helpers in DRM core - Convert imx-hdmi to dw_hdmi drm_bridge and add rockchip driver - Add DC use counter to fix multi-display support - Simplify handling of DI clock flags - A few small fixes and cleanup * tag 'imx-drm-next-2015-01-09' of git://git.pengutronix.de/git/pza/linux: (26 commits) imx-drm: core: handling of DI clock flags to ipu_crtc_mode_set() gpu: ipu-di: Switch to DIV_ROUND_CLOSEST for DI clock divider calc gpu: ipu-v3: Use videomode in struct ipu_di_signal_cfg imx-drm: encoder prepare/mode_set must use adjusted mode imx-drm: ipuv3-crtc: Implement mode_fixup drm_modes: add drm_display_mode_to_videomode gpu: ipu-di: remove some non-functional code gpu: ipu-di: Add ipu_di_adjust_videomode() drm: rockchip: export functions needed by rockchip dw_hdmi bridge driver drm: bridge/dw_hdmi: request interrupt only after initializing the mutes drm: bridge/dw_hdmi: add rockchip rk3288 support dt-bindings: Add documentation for rockchip dw hdmi drm: bridge/dw_hdmi: add function dw_hdmi_phy_enable_spare drm: bridge/dw_hdmi: clear i2cmphy_stat0 reg in hdmi_phy_wait_i2c_done drm: bridge/dw_hdmi: add mode_valid support drm: bridge/dw_hdmi: add support for multi-byte register width access dt-bindings: add document for dw_hdmi drm: imx: imx-hdmi: move imx-hdmi to bridge/dw_hdmi drm: imx: imx-hdmi: split phy configuration to platform driver drm: imx: imx-hdmi: convert imx-hdmi to drm_bridge mode ...
-
git://linuxtv.org/pinchartl/fbdevDave Airlie authored
* 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev: drm: rcar-du: Implement support for interlaced modes drm: rcar-du: Clamp DPMS states to on and off drm: rcar-du: Enable hotplug detection on HDMI connector drm: rcar-du: Output HSYNC instead of CSYNC drm: rcar-du: Add support for external pixel clock drm: rcar-du: Refactor DEFR8 feature drm: rcar-du: Remove LVDS and HDMI encoders chaining restriction drm: rcar-du: Configure pitch for chroma plane of multiplanar formats drm: rcar-du: Don't fail probe in case of partial encoder init error drm: adv7511: Remove interlaced mode check
-
git://people.freedesktop.org/~gabbayo/linuxDave Airlie authored
- Add support for SDMA usermode queues - Replace logic of sub-allocating from GART buffer in amdkfd. Instead of using radeon_sa module, use a new module that is more suited for this purpose - Add the number of watch points to amdkfd topology - Split a function that did two things into two seperate functions. * tag 'drm-amdkfd-next-2015-01-09' of git://people.freedesktop.org/~gabbayo/linux: drm/amd: Remove old radeon_sa funcs from kfd-->kgd interface drm/radeon: Remove old radeon_sa usage from kfd-->kgd interface drm/amdkfd: Using new gtt sa in amdkfd drm/amdkfd: Allocate gart memory using new interface drm/amdkfd: Fixed calculation of gart buffer size drm/amdkfd: Add kfd gtt sub-allocator functions drm/amdkfd: Add gtt sa related data to kfd_dev struct drm/radeon: Impl. new gtt allocate/free functions drm/amd: Add new kfd-->kgd interface for gart usage drm/radeon: Enable sdma preemption drm/amdkfd: Pass queue type to pqm_create_queue() drm/amdkfd: Identify SDMA queue in create queue ioctl drm/amdkfd: Add SDMA user-mode queues support to QCM drm/amdkfd: Add SDMA mqd support drm/radeon: Implement SDMA interface functions drm/amd: Add SDMA functions to kfd-->kgd interface drm/amdkfd: Process-device data creation and lookup split drm/amdkfd: Add number of watch points to topology
-
- 20 Jan, 2015 3 commits
-
-
Dave Airlie authored
Merge tag 'drm-amdkfd-fixes-2015-01-13' of git://people.freedesktop.org/~gabbayo/linux into drm-fixes - Remove the interrupt SW ring buffer impl. as it is not used by any module in amdkfd. - Fix a sparse warning * tag 'drm-amdkfd-fixes-2015-01-13' of git://people.freedesktop.org/~gabbayo/linux: drm/amdkfd: Fix sparse warning (different address space) drm/amdkfd: Drop interrupt SW ring buffer
-
git://anongit.freedesktop.org/drm-intelDave Airlie authored
misc i915 fixes * tag 'drm-intel-fixes-2015-01-15' of git://anongit.freedesktop.org/drm-intel: drm/i915: Fix mutex->owner inspection race under DEBUG_MUTEXES drm/i915: Ban Haswell from using RCS flips drm/i915: vlv: sanitize RPS interrupt mask during GPU idling drm/i915: fix HW lockup due to missing RPS IRQ workaround on GEN6 drm/i915: gen9: fix RPS interrupt routing to CPU vs. GT
-
Rui Wang authored
There are still some places in the fb helper that need to avoid sleeping in panic context. Here's an example: [ 65.615496] bad: scheduling from the idle thread! [ 65.620747] CPU: 92 PID: 0 Comm: swapper/92 Tainted: G M E 3.18.0-rc4-7-default+ #20 [ 65.630364] Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS BRHSXSD1.86B.0056.R01.1409242327 09/24/2014 [ 65.641923] ffff88087f693d80 ffff88087f689878 ffffffff81566db9 0000000000000000 [ 65.650226] ffff88087f693d80 ffff88087f689898 ffffffff810871ff ffff88046eb3e0d0 [ 65.658527] ffff88087f693d80 ffff88087f6898c8 ffffffff8107c1fa 000000017f6898b8 [ 65.666830] Call Trace: [ 65.669557] <#MC> [<ffffffff81566db9>] dump_stack+0x46/0x58 [ 65.675994] [<ffffffff810871ff>] dequeue_task_idle+0x2f/0x40 [ 65.682412] [<ffffffff8107c1fa>] dequeue_task+0x5a/0x80 [ 65.688345] [<ffffffff810804f3>] deactivate_task+0x23/0x30 [ 65.694569] [<ffffffff81569050>] __schedule+0x580/0x7f0 [ 65.700502] [<ffffffff81569739>] schedule_preempt_disabled+0x29/0x70 [ 65.707696] [<ffffffff8156abb6>] __ww_mutex_lock_slowpath+0xb8/0x162 [ 65.714891] [<ffffffff8156acb3>] __ww_mutex_lock+0x53/0x85 [ 65.721125] [<ffffffffa00b3a5d>] drm_modeset_lock+0x3d/0x110 [drm] [ 65.728132] [<ffffffffa00b3c2a>] __drm_modeset_lock_all+0x8a/0x120 [drm] [ 65.735721] [<ffffffffa00b3cd0>] drm_modeset_lock_all+0x10/0x30 [drm] [ 65.743015] [<ffffffffa01af8bf>] drm_fb_helper_pan_display+0x2f/0xf0 [drm_kms_helper] [ 65.751857] [<ffffffff8132bd21>] fb_pan_display+0xd1/0x1a0 [ 65.758081] [<ffffffff81326010>] bit_update_start+0x20/0x50 [ 65.764400] [<ffffffff813259f2>] fbcon_switch+0x3a2/0x550 [ 65.770528] [<ffffffff813a01c9>] redraw_screen+0x189/0x240 [ 65.776750] [<ffffffff81322f8a>] fbcon_blank+0x20a/0x2d0 [ 65.782778] [<ffffffff8137d359>] ? erst_writer+0x209/0x330 [ 65.789002] [<ffffffff810ba2f3>] ? internal_add_timer+0x63/0x80 [ 65.795710] [<ffffffff810bc137>] ? mod_timer+0x127/0x1e0 [ 65.801740] [<ffffffff813a0cd8>] do_unblank_screen+0xa8/0x1d0 [ 65.808255] [<ffffffff813a0e10>] unblank_screen+0x10/0x20 [ 65.814381] [<ffffffff812ca0d9>] bust_spinlocks+0x19/0x40 [ 65.820508] [<ffffffff81561ca7>] panic+0x106/0x1f5 [ 65.825955] [<ffffffff8102336c>] mce_panic+0x2ac/0x2e0 [ 65.831789] [<ffffffff812c796a>] ? delay_tsc+0x4a/0x80 [ 65.837625] [<ffffffff81024e1f>] do_machine_check+0xbaf/0xbf0 [ 65.844138] [<ffffffff813365d7>] ? intel_idle+0xc7/0x150 [ 65.850166] [<ffffffff8156f03f>] machine_check+0x1f/0x30 [ 65.856195] [<ffffffff813365d7>] ? intel_idle+0xc7/0x150 [ 65.862222] <<EOE>> [<ffffffff814283d5>] cpuidle_enter_state+0x55/0x170 [ 65.869823] [<ffffffff814285a7>] cpuidle_enter+0x17/0x20 [ 65.875852] [<ffffffff81097b08>] cpu_startup_entry+0x2d8/0x370 [ 65.882467] [<ffffffff8102fe29>] start_secondary+0x159/0x180 There's __drm_modeset_lock_all() which Daniel Vetter introduced for this purpose. We can leverage that without reinventing anything. This patch works with the latest kernel. Reviewed-by: Rob Clark <robdclark@gmail.com> Tested-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Rui Wang <rui.y.wang@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-