linux/drivers/gpu/drm/nouveau
Alexandre Courbot 9b536e9d52 drm/nouveau/falcon: add msgqueue interface
A message queue firmware implements a specific protocol allowing the
host to send "commands" to a falcon, and the falcon to reply using
"messages". This patch implements the common part of this protocol and
defines the interface that the host can use.

Due to the way the firmware is developped internally at NVIDIA (where
kernel driver and firmware evolve in lockstep), firmwares taken at
different points in time can have frustratingly subtle differences that
must be taken into account. This code is architectured to make
implementing such differences as easy as possible.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2017-03-07 17:05:12 +10:00
..
dispnv04 Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
include drm/nouveau/falcon: add msgqueue interface 2017-03-07 17:05:12 +10:00
nvif drm/nouveau/core/client: allow creation of subclients 2017-02-17 15:15:00 +10:00
nvkm drm/nouveau/falcon: add msgqueue interface 2017-03-07 17:05:12 +10:00
Kbuild drm/nouveau/drm/nouveau: add a LED driver for the NVIDIA logo 2016-10-12 17:29:29 +10:00
Kconfig drm: fix compilations issues introduced by "drm: allow to use mmuless SoC" 2017-01-09 11:30:30 +01:00
nouveau_abi16.c drm/nouveau: allocate device object for every client 2017-02-17 15:15:04 +10:00
nouveau_abi16.h drm/nouveau/abi16: implement limited interoperability with usif/nvif 2015-11-03 15:02:18 +10:00
nouveau_acpi.c drm/nouveau/acpi: fix check for power resources support 2016-11-01 14:52:03 +10:00
nouveau_acpi.h
nouveau_backlight.c drm/nouveau: allocate device object for every client 2017-02-17 15:15:04 +10:00
nouveau_bios.c drm/nouveau: allocate device object for every client 2017-02-17 15:15:04 +10:00
nouveau_bios.h drm/nouveau/nouveau: bios pointers may be unaligned, use proper accessors 2016-10-12 17:29:02 +10:00
nouveau_bo.c drm/nouveau: size is u64 everywhere 2017-02-17 17:38:04 +10:00
nouveau_bo.h drm/nouveau: size is u64 everywhere 2017-02-17 17:38:04 +10:00
nouveau_chan.c drm/nouveau: check for dead channel before trying to idle 2017-02-17 17:38:09 +10:00
nouveau_chan.h drm/nouveau: request notifications for channels that have been killed 2017-02-17 17:38:09 +10:00
nouveau_connector.c drm/nouveau: allocate device object for every client 2017-02-17 15:15:04 +10:00
nouveau_connector.h drm: Don't include <drm/drm_encoder.h> in <drm/drm_crtc.h> 2016-12-18 16:29:29 +05:30
nouveau_crtc.h drm/nouveau/kms/nv50: remove code to support non-atomic connector properties 2016-11-07 14:05:01 +10:00
nouveau_debugfs.c drm/nouveau: allocate device object for every client 2017-02-17 15:15:04 +10:00
nouveau_debugfs.h drm/nouveau: rename nouveau_drm.h to nouveau_drv.h 2016-05-20 14:43:04 +10:00
nouveau_display.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
nouveau_display.h drm/nouveau/bl: Assign different names to interfaces 2016-12-13 11:40:16 +10:00
nouveau_dma.c drm/nouveau: rename nouveau_drm.h to nouveau_drv.h 2016-05-20 14:43:04 +10:00
nouveau_dma.h
nouveau_dp.c drm/nouveau/kms/nv50: initial support for DP 1.2 multi-stream 2016-11-07 14:05:03 +10:00
nouveau_drm.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
nouveau_drv.h Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
nouveau_encoder.h drm/nouveau/kms/nv50: initial support for DP 1.2 multi-stream 2016-11-07 14:05:03 +10:00
nouveau_fbcon.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
nouveau_fbcon.h drm/nouveau/fbcon: refcount the drm_framebuffer 2016-11-07 14:04:44 +10:00
nouveau_fence.c Less anger inducing pull request for 4.11 2017-02-23 18:58:18 -08:00
nouveau_fence.h drm/nouveau/fence/g84-: protect against concurrent access to semaphore buffers 2017-01-31 20:05:25 +10:00
nouveau_gem.c drm/nouveau: size is u64 everywhere 2017-02-17 17:38:04 +10:00
nouveau_gem.h drm/nouveau: size is u64 everywhere 2017-02-17 17:38:04 +10:00
nouveau_hwmon.c drm/nouveau/hwmon: expose power_max and power_crit 2017-02-17 17:38:17 +10:00
nouveau_hwmon.h
nouveau_ioc32.c
nouveau_ioctl.h
nouveau_led.c drm/nouveau/drm/nouveau/led: prevent a possible use-after-free 2017-02-17 17:38:07 +10:00
nouveau_led.h drm/nouveau/nouveau/led: prevent compiling the led-code if nouveau=y and leds=m 2017-01-31 20:05:25 +10:00
nouveau_nvif.c drm/nouveau/core/client: pass notification callback to nvkm_client_new 2017-02-17 15:15:00 +10:00
nouveau_platform.c drm/nouveau/tegra: acquire and enable reference clock if needed 2016-04-06 16:06:51 +10:00
nouveau_platform.h drm/nouveau: rename nouveau_drm.h to nouveau_drv.h 2016-05-20 14:43:04 +10:00
nouveau_prime.c drm/nouveau: pass nvif_client to nouveau_bo_new() instead of drm_device 2017-02-17 15:15:02 +10:00
nouveau_reg.h
nouveau_sgdma.c drm/nouveau: s/mem/reg/ for struct ttm_mem_reg variables 2017-02-17 15:15:04 +10:00
nouveau_ttm.c drm/nouveau: s/mem/reg/ for struct ttm_mem_reg variables 2017-02-17 15:15:04 +10:00
nouveau_ttm.h
nouveau_usif.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
nouveau_usif.h
nouveau_vga.c drm/nouveau: allocate device object for every client 2017-02-17 15:15:04 +10:00
nouveau_vga.h
nv04_fbcon.c drm/nouveau: allocate device object for every client 2017-02-17 15:15:04 +10:00
nv04_fence.c dma-buf: Rename struct fence to dma_fence 2016-10-25 14:40:39 +02:00
nv10_fence.c drm/nouveau/kms/nv50: remove code to support non-atomic page flips 2016-11-07 14:05:01 +10:00
nv10_fence.h drm/nouveau/kms/nv50: remove code to support non-atomic page flips 2016-11-07 14:05:01 +10:00
nv17_fence.c drm/nouveau: s/mem/reg/ for struct ttm_mem_reg variables 2017-02-17 15:15:04 +10:00
nv50_display.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
nv50_display.h drm/nouveau/kms/nv50: remove code to support non-atomic page flips 2016-11-07 14:05:01 +10:00
nv50_fbcon.c drm/nouveau/fbcon: make use of drm_fb_helper.fb 2016-11-07 14:04:44 +10:00
nv50_fence.c drm/nouveau: s/mem/reg/ for struct ttm_mem_reg variables 2017-02-17 15:15:04 +10:00
nv84_fence.c Linux 4.10-rc8 2017-02-23 12:10:12 +10:00
nvc0_fbcon.c drm/nouveau/fbcon: make use of drm_fb_helper.fb 2016-11-07 14:04:44 +10:00
nvc0_fence.c drm/nouveau: rename nouveau_drm.h to nouveau_drv.h 2016-05-20 14:43:04 +10:00