summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/engine
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'linux-5.2' of git://github.com/skeggsb/linux into drm-fixesDave Airlie2019-06-071-3/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | " This is a bit more than I'd like to be pushing at this point in a cycle, but it's a fairly important issue. There's been numerous reports of more recent GP10[2467] boards failing to load, and I've worked with NVIDIA FW engineers and tracked this down to the FW we've been using not properly supporting the boards in question. I've pushed an update to linux-firmware with the new FW version, which unfortunately contains API changes vs the older firmware. This series teaches the ACR subsystem inside nouveau enough to be able to deal with supporting multiple incompatible FW revisions, and adds support to the relevant chipsets for loading the newer FW revision, if it's available." Signed-off-by: Dave Airlie <airlied@redhat.com> From: Ben Skeggs <skeggsb@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/CACAvsv7pG+vur0Kn_TyU3ainnkvJVw07upnnaQNOToF+kzQtDQ@mail.gmail.com
| * drm/nouveau/core: pass subdev into nvkm_firmware_get, rather than deviceBen Skeggs2019-06-071-3/+1
| | | | | | | | | | | | | | It'd be nice to have FW loading debug messages to appear for the relevant subsystem, when enabled. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | treewide: Add SPDX license identifier - KbuildGreg Kroah-Hartman2019-05-3022-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add SPDX license identifiers to all Make/Kconfig files which: - Have no license information of any form These files fall under the project license, GPL v2 only. The resulting SPDX license identifier is: GPL-2.0 Reported-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | Merge tag 'drm-next-2019-05-16' of git://anongit.freedesktop.org/drm/drmLinus Torvalds2019-05-162-4/+67
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull drm fixes from Dave Airlie: "A bunch of fixes for the merge window closure, doesn't seem to be anything too major or serious in there. It does add TU117 turing modesetting to nouveau but it's just an enable for preexisting code. amdgpu: - gpu reset at load crash fix - ATPX hotplug fix for when dGPU is off - SR-IOV fixes radeon: - r5xx pll fixes i915: - GVT (MCHBAR, buffer alignment, misc warnings fixes) - Fixes for newly enabled semaphore code - Geminilake disable framebuffer compression - HSW edp fast modeset fix - IRQ vs RCU race fix nouveau: - Turing modesetting fixes - TU117 support msm: - SDM845 bringup fixes panfrost: - static checker fixes pl111: - spinlock init fix. bridge: - refresh rate register fix for adv7511" * tag 'drm-next-2019-05-16' of git://anongit.freedesktop.org/drm/drm: (36 commits) drm/msm: Upgrade gxpd checks to IS_ERR_OR_NULL drm/msm/dpu: Remove duplicate header drm/pl111: Initialize clock spinlock early drm/msm: correct attempted NULL pointer dereference in debugfs drm/msm: remove resv fields from msm_gem_object struct drm/nouveau: fix duplication of nv50_head_atom struct drm/nouveau/disp/dp: respect sink limits when selecting failsafe link configuration drm/nouveau/core: initial support for boards with TU117 chipset drm/nouveau/core: allow detected chipset to be overridden drm/nouveau/kms/gf119-gp10x: push HeadSetControlOutputResource() mthd when encoders change drm/nouveau/kms/nv50-: fix bug preventing non-vsync'd page flips drm/nouveau/kms/gv100-: fix spurious window immediate interlocks drm/bridge: adv7511: Fix low refresh rate selection drm/panfrost: Add missing _fini() calls in panfrost_device_fini() drm/panfrost: Only put sync_out if non-NULL drm/i915: Seal races between async GPU cancellation, retirement and signaling drm/i915: Fix fastset vs. pfit on/off on HSW EDP transcoder drm/i915/fbc: disable framebuffer compression on GeminiLake drm/amdgpu/psp: move psp version specific function pointers to early_init drm/radeon: prefer lower reference dividers ...
| * drm/nouveau/disp/dp: respect sink limits when selecting failsafe link ↵Ben Skeggs2019-05-141-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | configuration Where possible, we want the failsafe link configuration (one which won't hang the OR during modeset because of not enough bandwidth for the mode) to also be supported by the sink. This prevents "link rate unsupported by sink" messages when link training fails. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/core: initial support for boards with TU117 chipsetBen Skeggs2019-05-141-0/+36
| | | | | | | | | | | | | | | | | | | | | | Modesetting only, still waiting on ACR/GR firmware from NVIDIA for Turing graphics/compute bring-up. Each subsystem was compared with traces, along with various tests to check that things generally work as they should, and appears compatible enough with the current TU106 code to enable support. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau/core: allow detected chipset to be overriddenBen Skeggs2019-05-141-2/+22
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* | drm/nouveau/nvkm: mark expected switch fall-throughsGustavo A. R. Silva2019-04-104-0/+21
|/ | | | | | | | | | | | | | | | | | In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through. This patch aims to suppress 29 missing-break-in-switch false positives. Addresses-Coverity-ID: 1456891 ("Missing break in switch") Addresses-Coverity-ID: 1324063 ("Missing break in switch") Addresses-Coverity-ID: 1324063 ("Missing break in switch") Addresses-Coverity-ID: 141432 ("Missing break in switch") Addresses-Coverity-ID: 141433 ("Missing break in switch") Addresses-Coverity-ID: 141434 ("Missing break in switch") Addresses-Coverity-ID: 141435 ("Missing break in switch") Addresses-Coverity-ID: 141436 ("Missing break in switch") Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
* drm/nouveau/fault/gp100: expose MaxwellFaultBufferABen Skeggs2019-02-201-8/+7
| | | | | | | This nvclass exposes the replayable fault buffer, which will be used by SVM to manage GPU page faults. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr/gf100-: expose method to determine current contextBen Skeggs2019-02-203-0/+17
| | | | | | MMU will need access to this info. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr/gf100-: expose fecs methods for pausing ctxswBen Skeggs2019-02-204-0/+78
| | | | | | | | MMU will need access to these. v2. Apply fix from Rhys Kidd to send correct FECS method for STOP_CTXSW. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr/gf100-: store fecs/gpccs falcon pointers in substructuresBen Skeggs2019-02-202-18/+28
| | | | | | | Future changes will want to add some additional things here, keep them grouped together. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr/gf100-: move fecs bind_pointer into a functionBen Skeggs2019-02-203-7/+24
| | | | | | Makes the code somewhat less magic. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr/gf100-: remove some unnecessary reg writesBen Skeggs2019-02-201-6/+1
| | | | | | This is already done during golden context creation. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr/gf100-: move fecs elpg setup into functionsBen Skeggs2019-02-201-29/+84
| | | | | | Makes the code somewhat less magic. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr/gf100-: move fecs discover_pm_image_size into a functionBen Skeggs2019-02-202-8/+21
| | | | | | Makes the code somewhat less magic. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr/gf100-: move fecs discover_zcull_image_size into a functionBen Skeggs2019-02-202-8/+21
| | | | | | Makes the code somewhat less magic. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr/gf100-: move fecs discover_image_size into a functionBen Skeggs2019-02-201-8/+21
| | | | | | Makes the code somewhat less magic. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gr/gf100-: move fecs set_watchdog_timeout method into a functionBen Skeggs2019-02-201-3/+11
| | | | | | Makes the code somewhat less magic. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp/gf119-: decode exception reason to human-readable stringBen Skeggs2019-02-204-12/+26
| | | | | | We also change the error strings to match NVIDIA's naming. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/sec2/tu102-: instantiate SEC2 falconBen Skeggs2019-02-203-0/+37
| | | | | | Required for ACR. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/sec2: utilise engine PRI address from TOPBen Skeggs2019-02-203-10/+18
| | | | | | | Turing has its SEC2 instance in an alternate location, and this avoids needing to duplicate the code here for it. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvdec/tu102-: instantiate NVDEC0 falconBen Skeggs2019-02-201-0/+3
| | | | | | Required to run VPR scrubber binary as part of secboot. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/nvdec/gp102-: utilise engine PRI address from TOPBen Skeggs2019-02-201-1/+9
| | | | | | Turing has its NVDEC instances in an alternate location. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/gsp/gv100-: instantiate GSP falconBen Skeggs2019-02-201-0/+4
| | | | | | We need this for Turing ACR, but it's present from Volta onwards. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: define GSP subdevBen Skeggs2019-02-202-0/+3
| | | | | | Exact meaning of the acronym is unknown, but we need this for Turing ACR. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/ce/tu102: rename implementation from tu104Ben Skeggs2019-02-203-19/+19
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fifo/tu102: rename implementation from tu104Ben Skeggs2019-02-207-33/+33
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp/tu102: rename implementation from tu104Ben Skeggs2019-02-207-32/+32
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fault/tu102: rename implementation from tu104Ben Skeggs2019-02-201-3/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bar/tu102: rename implementation from tu104Ben Skeggs2019-02-201-3/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/mmu/tu102: rename implementation from tu104Ben Skeggs2019-02-201-3/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/mc/tu102: rename implementation from tu104Ben Skeggs2019-02-201-3/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/devinit/tu102: rename implementation from tu104Ben Skeggs2019-02-201-3/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/volt/gf117: fix speedo readout registerIlia Mirkin2019-02-201-1/+1
| | | | | | | | | GF117 appears to use the same register as GK104 (but still with the general Fermi readout mechanism). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108980 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/core: recognise TU102Ben Skeggs2019-01-181-0/+33
| | | | | | | Would usually do this split-out, verifying each component indivitually, but this has been squashed together to be more palatable for merging in 5.0-rc. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/falcon: avoid touching registers if engine is offIlia Mirkin2019-01-111-2/+5
| | | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108980 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/ce/tu106: initial supportBen Skeggs2018-12-111-0/+5
| | | | | | Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fifo/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/dma/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with GV100. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/therm/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with GP100. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/pmu/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with GP102. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fault/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/bar/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/mmu/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with TU104. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/ltc/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with GP102. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/fb/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with GV100. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/imem/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with NV50. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/tmr/tu106: initial supportBen Skeggs2018-12-111-0/+1
| | | | | | Appears to be compatible with GK20A. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>