2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-29 15:43:59 +08:00
linux-next/drivers/gpu/drm
Alexandre Courbot 7d12388a1f drm/nouveau/core: add support for secure boot
On GM200 and later GPUs, firmware for some essential falcons (notably
GR ones) must be authenticated by a NVIDIA-produced signature and
loaded by a high-secure falcon in order to be able to access privileged
registers, in a process known as Secure Boot.

Secure Boot requires building a binary blob containing the firmwares
and signatures of the falcons to be loaded. This blob is then given to
a high-secure falcon running a signed loader firmware that copies the
blob into a write-protected region, checks that the signatures are
valid, and finally loads the verified firmware into the managed falcons
and switches them to privileged mode.

This patch adds infrastructure code to support this process on chips
that require it.

v2:
- The IRQ mask of the PMU falcon was left - replace it with the proper
  irq_mask variable.
- The falcon reset procedure expecting a falcon in an initialized state,
  which was accidentally provided by the PMU subdev. Make sure that
  secboot can manage the falcon on its own.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2016-03-14 10:13:22 +10:00
..
amd Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
arm drm: Add support for ARM's HDLCD controller. 2016-02-10 13:44:16 +00:00
armada drm/armada: Remove NULL open/pre/postclose hooks 2016-01-25 19:35:05 +01:00
ast Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
atmel-hlcdc drm/atmel: Nuke preclose 2016-02-08 09:55:48 +01:00
bochs drm/bochs: removed optional dummy encoder mode_fixup function. 2016-02-16 15:32:19 +01:00
bridge drm/bridge: removed dummy mode_fixup function from dw-hdmi. 2016-02-11 09:24:01 +01:00
cirrus drm/cirrus: removed optional dummy encoder mode_fixup function. 2016-02-16 15:32:24 +01:00
etnaviv drm: etnaviv: clean up submit_bo() 2016-03-07 15:37:01 +01:00
exynos drm/exynos: add DRM_EXYNOS_GEM_MAP ioctl 2016-03-13 14:54:03 +09:00
fsl-dcu drm/fsl-dcu: fix register initialization 2016-02-25 16:13:16 -08:00
gma500 drm/gma500: removed optional dummy encoder mode_fixup function. 2016-02-16 15:32:43 +01:00
i2c Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
i810
i915 Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
imx Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
mga
mgag200 drm/mgag200: removed optional dummy encoder mode_fixup function. 2016-02-16 15:33:26 +01:00
msm drm/msm: rename hdmi symbols 2016-03-03 11:55:33 -05:00
nouveau drm/nouveau/core: add support for secure boot 2016-03-14 10:13:22 +10:00
omapdrm omapdrm changes for v4.6 2016-03-05 08:07:58 +10:00
panel drm/fsl-dcu: use mode flags for hsync/vsync polarity 2016-02-25 16:13:16 -08:00
qxl Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
r128
radeon Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
rcar-du drm: rcar-du: Add tri-planar memory formats support 2016-02-23 09:34:33 +02:00
rockchip imx-drm vblank IRQ control, fence support, and of endpoint helpers 2016-03-02 17:52:51 +10:00
savage
shmobile Merge tag 'topic/drm-misc-2016-02-08' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-02-09 10:39:11 +10:00
sis
sti drm/sti: removed optional dummy encoder mode_fixup function. 2016-02-16 15:34:24 +01:00
tdfx
tegra drm/tegra: drop unused variable. 2016-02-09 11:17:37 +10:00
tilcdc drm/tilcdc: Use devm_kzalloc() and devm_kcalloc() for private data 2016-02-25 16:39:47 +02:00
ttm Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2016-01-17 13:40:25 -08:00
udl drm/udl: Use module_usb_driver 2016-02-17 14:19:30 +01:00
vc4 Merge tag 'drm-vc4-fixes-2016-03-03' of github.com:anholt/linux into drm-next 2016-03-14 09:48:04 +10:00
vgem
via
virtio Merge tag 'topic/drm-misc-2016-02-18' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-02-19 10:57:44 +10:00
vmwgfx Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
ati_pcigart.c
drm_agpsupport.c
drm_atomic_helper.c Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
drm_atomic.c Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
drm_auth.c
drm_bridge.c
drm_bufs.c
drm_cache.c
drm_context.c
drm_crtc_helper.c drm: fixes crct set_mode when crtc mode_fixup is null. 2016-02-16 15:36:49 +01:00
drm_crtc_internal.h
drm_crtc.c Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c drm/dp: Add a drm_aux-dev module for reading/writing dpcd registers. 2016-02-12 14:22:40 +01:00
drm_dp_helper.c drm/dp: Add a drm_aux-dev module for reading/writing dpcd registers. 2016-02-12 14:22:40 +01:00
drm_dp_mst_topology.c Revert "drm/dp/mst: change MST detection scheme" 2016-02-17 14:07:48 +10:00
drm_drv.c drm: move MODULE_PARM_DESC to other file 2016-01-08 15:32:29 +01:00
drm_edid_load.c
drm_edid.c drm/edid: Switch DDC when reading the EDID 2016-02-09 11:21:09 +01:00
drm_encoder_slave.c drm: fixes when i2c encoder slave mode_fixup is null. 2016-02-10 15:14:49 +01:00
drm_fb_cma_helper.c drm/fb_cma_helper: remove duplicate const from drm_fb_cma_alloc 2016-01-20 13:55:57 +01:00
drm_fb_helper.c drm/fb_helper: Use add_one_connector in add_all_connectors. 2016-02-15 14:56:46 +01:00
drm_flip_work.c
drm_fops.c drm: Nuke vblank event file cleanup code 2016-02-08 09:55:47 +01:00
drm_gem_cma_helper.c drm: Use the driver's gem_object_free function from CMA helpers. 2015-12-15 10:23:44 +01:00
drm_gem.c drm: Remove opencoded drm_gem_object_release_handle() 2016-01-05 16:23:09 +01:00
drm_global.c
drm_hashtab.c tree wide: use kvfree() than conditional kfree()/vfree() 2016-01-22 17:02:18 -08:00
drm_info.c
drm_internal.h
drm_ioc32.c
drm_ioctl.c
drm_irq.c Merge drm-fixes into drm-next. 2016-03-14 09:46:02 +10:00
drm_kms_helper_common.c drm/dp: Add a drm_aux-dev module for reading/writing dpcd registers. 2016-02-12 14:22:40 +01:00
drm_legacy.h
drm_lock.c
drm_memory.c
drm_mipi_dsi.c
drm_mm.c
drm_modes.c drm: modes: add missing [drm] to message printing 2016-02-09 16:34:44 +01:00
drm_modeset_lock.c drm/doc: Convert to markdown 2015-12-15 10:22:26 +01:00
drm_of.c drm: add drm_of_encoder_active_endpoint helpers 2016-02-10 14:19:21 +01:00
drm_panel.c
drm_pci.c drm: add drm_pcie_get_max_link_width helper (v2) 2015-12-21 16:42:31 -05:00
drm_plane_helper.c drm: Pass 'name' to drm_universal_plane_init() 2015-12-11 09:13:10 +01:00
drm_platform.c
drm_prime.c drm: prime: Honour O_RDWR during prime-handle-to-fd 2016-02-09 09:25:12 +01:00
drm_probe_helper.c Merge branch 'for-linus' into for-next 2015-12-23 08:33:34 +01:00
drm_rect.c
drm_scatter.c
drm_sysfs.c drm/sysfs: use kobj_to_dev() 2016-01-13 16:43:07 +01:00
drm_trace_points.c
drm_trace.h
drm_vm.c
drm_vma_manager.c
Kconfig Merge branch 'drm-next-4.6' of git://people.freedesktop.org/~agd5f/linux into drm-next 2016-02-19 11:13:01 +10:00
Makefile Merge tag 'topic/drm-misc-2016-02-18' of git://anongit.freedesktop.org/drm-intel into drm-next 2016-02-19 10:57:44 +10:00