aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu
AgeCommit message (Collapse)AuthorFilesLines
2016-11-17drm/i915: dev_priv cleanup in intel_pm.cTvrtko Ursulin1-32/+35
Plus a trickle of function prototype changes. Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17drm/i915: dev_priv cleanup in intel_dp.cTvrtko Ursulin3-19/+15
And as usual a little bit of cascaded function prototype changes. Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17drm/i915: Assorted INTEL_INFO(dev) cleanupsTvrtko Ursulin10-42/+32
A bunch of source files with just a few instances of the incorrect INTEL_INFO use. Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17drm/i915: dev_priv cleanup in i915_suspend.cTvrtko Ursulin4-27/+19
And a little bit of function prototype changes. Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17drm/i915: dev_priv cleanup in i915_irq.cTvrtko Ursulin1-14/+10
And a little bit of function prototype changes. Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17drm/i915: dev_priv cleanup in i915_gpu_error.cTvrtko Ursulin3-16/+13
And a little bit of cascaded function prototype changes. Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17drm/i915: dev_priv cleanup in i915_gem_tiling.cTvrtko Ursulin1-6/+6
And a little bit of cascaded function prototype changes. Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17drm/i915: dev_priv cleanup in i915_gem_stolen.cTvrtko Ursulin3-10/+8
And a little bit of cascaded function prototype changes. Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17drm/i915: dev_priv cleanup in i915_gem_gtt.cTvrtko Ursulin4-129/+131
Started with removing INTEL_INFO(dev) and cascaded into a quite big trickle of function prototype changes. Still, I think it is for the better. Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17drm/i915: Use dev_priv in INTEL_INFO in i915_gem_fence_reg.cTvrtko Ursulin4-14/+11
Plus a small cascade of function prototype changes. Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17drm/i915: Use dev_priv in INTEL_INFO in i915_gem_execbuffer.cTvrtko Ursulin1-1/+1
Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17drm/i915: dev_priv and a small cascade of cleanups in i915_gem.cTvrtko Ursulin5-30/+22
Signed-off-by: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]>
2016-11-17Merge tag 'gvt-next-2016-11-17' of https://github.com/01org/gvt-linux into ↵Daniel Vetter9-69/+62
drm-intel-next-queued From Zhenyu Wang: gvt-next-2016-11-17 - Fix lock order issue found in guest stress test - Fix several MMIO handlers to correct behavior - Fix crash for vgpu execlist reset and memleak - Fix a possible conflict for unresolved vfio mdev dependency - other misc fixes Signed-off-by: Daniel Vetter <[email protected]>
2016-11-17Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next-queuedDaniel Vetter319-4589/+10156
Tvrtko needs commit b3c11ac267d461d3d597967164ff7278a919a39f Author: Eric Engestrom <[email protected]> Date: Sat Nov 12 01:12:56 2016 +0000 drm: move allocation out of drm_get_format_name() to be able to apply his patches without conflicts. Signed-off-by: Daniel Vetter <[email protected]>
2016-11-17drm/i915: Fix gen9 forcewake range tableTvrtko Ursulin1-1/+1
Commit 0dd356bb6ff5 ("drm/i915: Eliminate Gen9 special case") accidentaly dropped a MMIO range between 0xc000 to 0xcfff out of the blitter forcewake domain. Fix it. Signed-off-by: Tvrtko Ursulin <[email protected]> Fixes: 0dd356bb6ff5 ("drm/i915: Eliminate Gen9 special case") Reported-by: Daniele Ceraolo Spurio <[email protected]> Cc: Daniele Ceraolo Spurio <[email protected]> Cc: Chris Wilson <[email protected]> Cc: Tvrtko Ursulin <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
2016-11-17drm: also move DSI panels to the front of the connector listJani Nikula1-2/+3
We've overlooked adding DSI panels to the front of the connector list. This seems to be the right thing to do, and I suspect this might fix some issues, although I currently have no evidence to support this. v2: also git add the comment change Cc: Daniel Vetter <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
2016-11-17drm: Nuke modifier[1-3]Ville Syrjälä10-62/+69
It has been suggested that having per-plane modifiers is making life more difficult for userspace, so let's just retire modifier[1-3] and use modifier[0] to apply to the entire framebuffer. Obviosuly this means that if individual planes need different tiling layouts and whatnot we will need a new modifier for each combination of planes with different tiling layouts. For a bit of extra backwards compatilbilty the kernel will allow non-zero modifier[1+] but it require that they will match modifier[0]. This in case there's existing userspace out there that sets modifier[1+] to something non-zero with planar formats. Mostly a cocci job, with a bit of manual stuff mixed in. @@ struct drm_framebuffer *fb; expression E; @@ - fb->modifier[E] + fb->modifier @@ struct drm_framebuffer fb; expression E; @@ - fb.modifier[E] + fb.modifier Cc: Kristian Høgsberg <[email protected]> Cc: Ben Widawsky <[email protected]> Cc: Rob Clark <[email protected]> Cc: Daniel Vetter <[email protected]> Cc: Tomeu Vizoso <[email protected]> Cc: [email protected] Suggested-by: Kristian Høgsberg <[email protected]> Acked-by: Ben Widawsky <[email protected]> Acked-by: Daniel Stone <[email protected]> Acked-by: Rob Clark <[email protected]> Signed-off-by: Ville Syrjälä <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
2016-11-17drm/i915/opregion: fill in the CADL from connector list, not DIDLJani Nikula1-30/+21
This is essentially the same thing as duplicating DIDL now that the connector list has the ACPI device IDs. Cc: Peter Wu <[email protected]> Cc: Rainer Koenig <[email protected]> Cc: Jan-Marek Glogowski <[email protected]> Cc: Maarten Lankhorst <[email protected]> Cc: Marcos Paulo de Souza <[email protected]> Cc: Paolo Stivanin <[email protected]> Tested-by: Rainer Koenig <[email protected]> Tested-by: Paolo Stivanin <[email protected]> Tested-by: Marcos Paulo de Souza <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/ea0a052fa99a4cb56b559a815866434bcfef853d.1479295490.git.jani.nikula@intel.com
2016-11-17drm/i915: make i915 the source of acpi device ids for _DODJani Nikula2-64/+27
The graphics driver is supposed to define the DIDL, which are used for _DOD, not the BIOS. Restore that behaviour. This is basically a revert of commit 3143751ff51a163b77f7efd389043e038f3e008e Author: Zhang Rui <[email protected]> Date: Mon Mar 29 15:12:16 2010 +0800 drm/i915: set DIDL using the ACPI video output device _ADR method return. which went out of its way to cater to a specific BIOS, setting up DIDL based on _ADR method. Perhaps that approach worked on that specific machine, but on the machines I checked the _ADR method invents the device identifiers out of thin air if DIDL has not been set. The source for _ADR is also supposed to be the DIDL set by the driver, not the other way around. With this, we'll also limit the number of outputs to what the driver actually has. A side effect of this change is that the DIDL, and by proxy CADL, will be initialized in the order of the connector list. That, in turn, has internal panels in front, ensuring they're included in the DIDL and CADL lists. Hopefully this ensures the BIOS does not block backlight hotkey events, thinking the internal panel is off. v2: do not set ACPI_DEVICE_ID_SCHEME in the device id (Peter Wu) v3: Rebase Cc: Peter Wu <[email protected]> Cc: Rainer Koenig <[email protected]> Cc: Jan-Marek Glogowski <[email protected]> Cc: Maarten Lankhorst <[email protected]> Cc: Marcos Paulo de Souza <[email protected]> Cc: Paolo Stivanin <[email protected]> Tested-by: Rainer Koenig <[email protected]> Tested-by: Paolo Stivanin <[email protected]> Tested-by: Marcos Paulo de Souza <[email protected]> Reviewed-and-tested-by: Peter Wu <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/9660d29cf310c17bbf4d58c0e09d5b047446e2d5.1479295490.git.jani.nikula@intel.com
2016-11-17drm/bridge: dumb-vga-dac: Support a VDD regulator supplyChen-Yu Tsai1-0/+33
Some dumb VGA DACs are active components which require external power. Add support for specifying a regulator as its power supply. Signed-off-by: Chen-Yu Tsai <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Archit Taneja <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
2016-11-17drm/i915: fix the dequeue logic for single_port_submission contextMin He1-1/+2
For a single_port_submission context, GVT expects that it can only be submitted to port 0, and there shouldn't be any other context in port 1 at the same time. This is required by GVT-g context to have an opportunity to save/restore some non-hw context render registers. This patch is to workaround GVT-g. v2: optimized code by following Chris's advice, and added more comments to explain the patch. v3: followed the coding style. Signed-off-by: Min He <[email protected]> Reviewed-by: Zhenyu Wang <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Chris Wilson <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
2016-11-17drm/i915/gvt: remove unresolved vfio pin/unpin pages interface dependencyZhenyu Wang1-10/+6
Instead of partially depending on vfio pin/unpin pages interface if mdev is available, which would result in failure if vfio is not on. But replace with a wrapper which need to be fixed till mdev support got fully merged. Cc: Jike Song <[email protected]> Cc: Xiaoguang Chen <[email protected]> Reviewed-by: Xiaoguang Chen <[email protected]> Signed-off-by: Zhenyu Wang <[email protected]>
2016-11-17drm: Nerf DRM_CONTROL nodesDaniel Vetter1-6/+0
Looking at the ioctl permission checks I noticed that it's impossible to import gem buffers into a control nodes, and fd2handle/handle2fd also don't work, so no joy with dma-bufs. The only way to do anything with a control node is by drawing stuff into a dumb buffer and displaying that. I suspect control nodes are an entirely unused thing, and a cursory check shows that there does not seem to be any callers of drmOpenControl nor of the other drmOpen functions using DRM_MODE_CONTROL. Since I don't like dead uabi, let's remove it. But since this would be a really big change I think it's better to start out small by simply not registering anything. We can garbage-collect the dead code later on, once we're sure it's really not used anywhere. Acked-by: Dave Airlie <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
2016-11-17drm/hisilicon/hibmc: Add support for vblank interruptRongrong Zou2-1/+56
Add vblank interrupt. Signed-off-by: Rongrong Zou <[email protected]> Reviewed-by: Sean Paul <[email protected]> Reviewed-by: Xinliang Liu <[email protected]> Acked-by: Sean Paul <[email protected]>
2016-11-17drm/hisilicon/hibmc: Add support for VDACRongrong Zou4-1/+155
VDAC(Video Digital-to-Analog converter) converts the RGB diaital data stream from DE to VGA analog signals. Signed-off-by: Rongrong Zou <[email protected]> Reviewed-by: Sean Paul <[email protected]> Reviewed-by: Xinliang Liu <[email protected]> Acked-by: Sean Paul <[email protected]>
2016-11-17drm/hisilicon/hibmc: Add support for display engineRongrong Zou5-2/+558
Add display engine function, crtc/plane is initialized here. Signed-off-by: Rongrong Zou <[email protected]> Reviewed-by: Sean Paul <[email protected]> Reviewed-by: Xinliang Liu <[email protected]> Acked-by: Sean Paul <[email protected]>
2016-11-17drm/hisilicon/hibmc: Add support for frame bufferRongrong Zou5-1/+366
Add support for fbdev and kms fb management. Signed-off-by: Rongrong Zou <[email protected]> Reviewed-by: Sean Paul <[email protected]> Reviewed-by: Xinliang Liu <[email protected]> Acked-by: Sean Paul <[email protected]>
2016-11-17drm/hisilicon/hibmc: Add video memory managementRongrong Zou4-1/+541
Hibmc have 32m video memory which can be accessed through PCIe by host, we use ttm to manage these memory. Signed-off-by: Rongrong Zou <[email protected]> Reviewed-by: Sean Paul <[email protected]> Reviewed-by: Xinliang Liu <[email protected]> Acked-by: Sean Paul <[email protected]>
2016-11-17drm/hisilicon/hibmc: Add hisilicon hibmc drm master driverRongrong Zou7-0/+560
Add DRM master driver for Hisilicon Hibmc SoC which used for Out-of-band management. Blow is the general hardware connection, both the Hibmc and the host CPU are on the same mother board. +----------+ +----------+ | | PCIe | Hibmc | |host CPU( |<----->| display | |arm64,x86)| |subsystem | +----------+ +----------+ Signed-off-by: Rongrong Zou <[email protected]> Reviewed-by: Sean Paul <[email protected]> Reviewed-by: Xinliang Liu <[email protected]> Acked-by: Sean Paul <[email protected]>
2016-11-17drm/i915/gvt: drop checks for early Skylake revisionsJani Nikula1-4/+2
We no longer cater for pre-production revisions of Skylake. Fixes: d4362225e8cb ("drm/i915/gvt: update misc ctl regs base on stepping info") Cc: Ping Gao <[email protected]> Cc: Zhenyu Wang <[email protected]> Cc: Zhi Wang <[email protected]> Cc: <[email protected]> Signed-off-by: Jani Nikula <[email protected]> Reviewed-by: Paulo Zanoni <[email protected]> Signed-off-by: Zhenyu Wang <[email protected]>
2016-11-17Merge branch 'linux-4.10' of git://github.com/skeggsb/linux into drm-nextDave Airlie55-377/+778
- GP102/GP104 devinit (suspend/resume, optimus) hang fix - GP102/GP104 hardware cursor fix - Fix for a regression on some non-MST monitors that was caused by the MST work - Workaround for certain laptops where ACPI sends display hotkey presses on a modeset, causing gnome-settings-daemon to go into a continuous loop * 'linux-4.10' of git://github.com/skeggsb/linux: drm/nouveau/disp/gp102: rename from gp104 drm/nouveau/ce/gp102: rename from gp104 drm/nouveau/fb/gp102: rename from gp104 drm/nouveau/disp/gp102: fix cursor/overlay immediate channel indices drm/nouveau/disp/nv50-: specify ctrl/user separately when constructing classes drm/nouveau/disp/nv50-: split chid into chid.ctrl and chid.user drm/nouveau: Intercept ACPI_VIDEO_NOTIFY_PROBE drm/nouveau/devinit/gm200: drop pmu reset sequence drm/nouveau/devinit/gm200: replace while loops with PTIMER-based timeout loops drm/nouveau/pmu/gp102: initial implementation drm/nouveau/pmu/gp100: initial implementation drm/nouveau/pmu: execute reset before running devinit drm/nouveau/pmu: move ucode handling into gt215 implementation drm/nouveau/core: initial support for GP102 drm/nouveau/device/pci: fix oops if no mmu subdev present drm/nouveau/kms/nv50: avoid touching DP_MSTM_CTRL if !DP_MST_CAP
2016-11-17drm/armada: fix NULL pointer comparison warningRavikant B Sharma1-1/+1
Replace direct comparisons to NULL i.e. 'x == NULL' with '!x'. As per coding standard. Signed-off-by: Ravikant B Sharma <[email protected]> Signed-off-by: Russell King <[email protected]>
2016-11-17drm/armada: use DRM_FB_HELPER_DEFAULT_OPS for fb_opsStefan Christ1-7/+1
Signed-off-by: Stefan Christ <[email protected]> Signed-off-by: Russell King <[email protected]>
2016-11-17drm/armada: remove some dead codeChristophe JAILLET1-5/+1
'dma_buf_map_attachment()' can not return NULL, so there is no need to check for it. Also add a space in order to improve layout. Signed-off-by: Christophe JAILLET <[email protected]> Signed-off-by: Russell King <[email protected]>
2016-11-17drm/armada: mark symbols static where possibleBaoyou Xie1-2/+2
We get 2 warnings when building kernel with W=1: drivers/gpu/drm/armada/armada_gem.c:215:27: warning: no previous prototype for 'armada_gem_alloc_object' [-Wmissing-prototypes] drivers/gpu/drm/armada/armada_gem.c:423:1: warning: no previous prototype for 'armada_gem_prime_map_dma_buf' [-Wmissing-prototypes] In fact, both functions are only used in the file in which they are declared and don't need a declaration, but can be made static. So this patch marks these functions with 'static'. Signed-off-by: Baoyou Xie <[email protected]> Signed-off-by: Russell King <[email protected]>
2016-11-17drm/armada: de-midlayer armadaRussell King2-108/+129
Now that the drm_connector_register() is gone from tda998x, we can remove the mid-layer from armada-drm, eliminating the load, unload, debugfs_init, and debugfs_cleanup callbacks from armada's drm_driver structure. No functional changes. Signed-off-by: Russell King <[email protected]>
2016-11-17drm/nouveau/disp/gp102: rename from gp104Ben Skeggs14-46/+46
Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau/ce/gp102: rename from gp104Ben Skeggs4-13/+13
Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau/fb/gp102: rename from gp104Ben Skeggs4-7/+7
Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau/disp/gp102: fix cursor/overlay immediate channel indicesBen Skeggs5-2/+80
Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau/disp/nv50-: specify ctrl/user separately when constructing classesBen Skeggs14-28/+32
Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau/disp/nv50-: split chid into chid.ctrl and chid.userBen Skeggs7-92/+106
GP102/GP104 make life difficult by redefining the channel indices for some registers, but not others. Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau: Intercept ACPI_VIDEO_NOTIFY_PROBEHans de Goede2-0/+65
Various notebooks with nvidia GPUs generate an ACPI_VIDEO_NOTIFY_PROBE acpi-video event when an external device gets plugged in (and again on modesets on that connector), the default behavior in the acpi-video driver for this is to send a KEY_SWITCHVIDEOMODE evdev event, which causes e.g. gnome-settings-daemon to ask us to rescan the connectors (good), but also causes g-s-d to switch to mirror mode on a newly plugged monitor rather then using the monitor to extend the desktop (bad) as KEY_SWITCHVIDEOMODE is supposed to switch between extend the desktop vs mirror mode. More troublesome are the repeated ACPI_VIDEO_NOTIFY_PROBE events on changing the mode on the connector, which cause g-s-d to switch between mirror/extend mode, which causes a new ACPI_VIDEO_NOTIFY_PROBE event and we end up with an endless loop. This commit fixes this by adding an acpi notifier block handler to nouveau_display.c to intercept ACPI_VIDEO_NOTIFY_PROBE and: 1) Wake-up runtime suspended GPUs and call drm_helper_hpd_irq_event() on them, this is necessary in some cases for the GPU to detect connector hotplug events while runtime suspended 2) Return NOTIFY_BAD to stop acpi-video from emitting a bogus KEY_SWITCHVIDEOMODE key-press event There already is another acpi notifier block handler registered in drivers/gpu/drm/nouveau/nvkm/engine/device/acpi.c, but that is not suitable since that one gets unregistered on runtime suspend, and we also want to intercept ACPI_VIDEO_NOTIFY_PROBE when runtime suspended. Signed-off-by: Hans de Goede <[email protected]>
2016-11-17drm/nouveau/devinit/gm200: drop pmu reset sequenceBen Skeggs1-12/+0
This sequence is incorrect for GP102/GP104 boards. This is now being handled correctly by the PMU subdev during preinit(); Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau/devinit/gm200: replace while loops with PTIMER-based timeout loopsBen Skeggs1-4/+11
It appears to be safe to access PTIMER on an unposted board with newer chipsets. Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau/pmu/gp102: initial implementationBen Skeggs4-0/+47
GP102/GP104 require a harder reset of PMU prior to DEVINIT, or the IFR image will hang. Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau/pmu/gp100: initial implementationBen Skeggs4-0/+38
Just enough to hookup preinit reset(), which DEVINIT will depend on later. Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau/pmu: execute reset before running devinitBen Skeggs1-0/+8
Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau/pmu: move ucode handling into gt215 implementationBen Skeggs9-184/+304
Signed-off-by: Ben Skeggs <[email protected]>
2016-11-17drm/nouveau/core: initial support for GP102Ben Skeggs1-0/+29
From visual inspection of traces, what we currently implement appears to be identical to GP104. Seems to work well enough too. Signed-off-by: Ben Skeggs <[email protected]>