aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-05-21Merge tag 'vmwgfx-next-160520' of ↵Dave Airlie8-16/+653
git://people.freedesktop.org/~thomash/linux into drm-next Pull request of 2016-05-20 * tag 'vmwgfx-next-160520' of git://people.freedesktop.org/~thomash/linux: drm/vmwgfx: Report vmwgfx version to vmware.log drm/vmwgfx: Add VMWare host messaging capability drm/vmwgfx: Kill some lockdep warnings
2016-05-21Merge branch 'linux-4.7' of git://github.com/skeggsb/linux into drm-nextDave Airlie203-843/+1853
Nothing too exciting here, there's a larger chunk of work that still needs more testing but not likely to get that done today - so - here's the rest of it. Assuming nothing else goes horribly wrong, I should be able to send the rest Monday if it isn't too late.... Changes: - Improvements to power sensor support - Initial attempt at GM108 support - Minor fixes to GR init + ucode - Make use of topology information (provided by the GPU) in various places, should at least fix some fault recovery issues and engine/runlist mapping confusion on newer GPUs. * 'linux-4.7' of git://github.com/skeggsb/linux: (51 commits) drm/nouveau/gr/gf100-: fix race condition in fecs/gpccs ucode drm/nouveau/core: recognise GM108 chipsets drm/nouveau/gr/gm107-: fix touching non-existent ppcs in attrib cb setup drm/nouveau/gr/gk104-: share implementation of ppc exception init drm/nouveau/gr/gk104-: move rop_active_fbps init to nonctx drm/nouveau/bios/pll: check BIT table version before trying to parse it drm/nouveau/bios/pll: prevent oops when limits table can't be parsed drm/nouveau/volt/gk104: round up in gk104_volt_set drm/nouveau/fb/gm200: setup mmu debug buffer registers at init() drm/nouveau/fb/gk20a,gm20b: setup mmu debug buffer registers at init() drm/nouveau/fb/gf100-: allocate mmu debug buffers drm/nouveau/fb: allow chipset-specific actions for oneinit() drm/nouveau/gr/gm200-: fix bad hardcoding of a max-tpcs-per-gpc value drm/nouveau/gr/gm200-: rop count == ltc count drm/nouveau/gr/gm200: modify the mask when copying mmu settings from fb drm/nouveau/gr/gm200: move some code into init_gpc_mmu() hook drm/nouveau/gr/gm200: make generate_main() static drm/nouveau/gr/gf100-: abstract fetching rop count drm/nouveau/gr/gf100-: rename magic_not_rop_nr to screen_tile_row_offset drm/nouveau/gr/gf100-: remove hardcoded idle_timeout values ...
2016-05-20drm/vmwgfx: Report vmwgfx version to vmware.logSinclair Yeh3-2/+25
When tracking down a customer issue, it is useful to know exactly which version of the vmwgfx they are using. Since vmware.log is often the only available debug log, report vmwgfx version in there. Signed-off-by: Sinclair Yeh <[email protected]> Signed-off-by: Thomas Hellstrom <[email protected]>
2016-05-20drm/vmwgfx: Add VMWare host messaging capabilitySinclair Yeh2-0/+607
This patch adds capabilities for a VMWare guest to send and receive messages from the host, and adds functions to sending log messages to vmware.log and to request device settings that aren't available through the virtual hardware, e.g. certain settings in the VMX file. Signed-off-by: Sinclair Yeh <[email protected]> Reviewed-by: Thomas Hellstrom <[email protected]>
2016-05-20drm/vmwgfx: Kill some lockdep warningsThomas Hellstrom5-14/+21
Some global KMS state that is elsewhere protected by the mode_config mutex here needs to be protected with a local mutex. Remove corresponding lockdep checks and introduce a new driver-private global_kms_state_mutex, and make sure its locking order is *after* the crtc locks in order to avoid having to release those when the new mutex is taken. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Sinclair Yeh <[email protected]> Cc: <[email protected]> # 4.6
2016-05-20drm/nouveau/gr/gf100-: fix race condition in fecs/gpccs ucodeBen Skeggs14-71/+85
This is a simplied version of the fix by Roy in fdo#93629. While this doesn't appear to fix the issues for the users in that report, it's a real issue that deserves to be resolved. Reported-by: Roy Spliet <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/core: recognise GM108 chipsetsBen Skeggs1-0/+35
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/gr/gm107-: fix touching non-existent ppcs in attrib cb setupBen Skeggs1-1/+3
Also removes an XXX; according to nvgpu headers the field is called NV_PGRAPH_GPCS_SWDX_TC_BETA_CB_SIZE_DIV3, so, apparently not some magic we need to figure out :) Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/gr/gk104-: share implementation of ppc exception initBen Skeggs7-7/+31
This was really inconsistent, some implementations could touch PPCs that didn't exist, others neglected to touch ones that did. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/gr/gk104-: move rop_active_fbps init to nonctxBen Skeggs15-28/+36
Matches newer RM. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/bios/pll: check BIT table version before trying to parse itBen Skeggs1-4/+6
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/bios/pll: prevent oops when limits table can't be parsedBen Skeggs1-2/+2
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/volt/gk104: round up in gk104_volt_setKarol Herbst1-1/+1
We always want a equal or higher voltage than the requested ones, otherwise nouveau undervolts. Signed-off-by: Karol Herbst <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/fb/gm200: setup mmu debug buffer registers at init()Ben Skeggs5-9/+65
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/fb/gk20a,gm20b: setup mmu debug buffer registers at init()Ben Skeggs2-5/+4
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/fb/gf100-: allocate mmu debug buffersBen Skeggs13-36/+58
Later chipsets require setting this up both in FB and GR, so let's just move the allocation to FB. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/fb: allow chipset-specific actions for oneinit()Ben Skeggs2-0/+9
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/gr/gm200-: fix bad hardcoding of a max-tpcs-per-gpc valueBen Skeggs2-2/+3
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/gr/gm200-: rop count == ltc countBen Skeggs3-2/+9
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/gr/gm200: modify the mask when copying mmu settings from fbBen Skeggs2-4/+2
Appears to more closely match what RM does. For GM20B, now also copying bit 12 from NV_PFB_MMU_CTRL as upcoming changes will require it. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/gr/gm200: move some code into init_gpc_mmu() hookBen Skeggs1-9/+19
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/gr/gm200: make generate_main() staticBen Skeggs2-2/+1
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/gr/gf100-: abstract fetching rop countBen Skeggs15-2/+25
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/gr/gf100-: rename magic_not_rop_nr to screen_tile_row_offsetBen Skeggs8-26/+26
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/gr/gf100-: remove hardcoded idle_timeout valuesBen Skeggs7-19/+21
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/fifo/gm107-: remove engines from mmu engine mapping arrayBen Skeggs4-3/+28
These are specified by PTOP on Maxwell GPUs. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/fifo/gk104-: identify mmu engine ids for host faultsBen Skeggs1-4/+14
It appears these don't map to PBDMAs (at least on Kepler, it may or may be valid for Fermi - this hasn't been checked), but to runlists. This drops the NVKM_ENGINE_FIFO data from the entries too, as resetting all of PFIFO is *not* the way to handle such faults. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/fifo/gk104-: implement support for PTOP fault infoBen Skeggs1-2/+16
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/fifo/gk104-: abstract mmu fault data structuresBen Skeggs8-111/+150
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/fifo/gk104-: subclass funcBen Skeggs10-73/+65
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/fifo/gk104-: use device info from top subdevBen Skeggs1-73/+16
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/core: remove pmc_enable argument from subdev ctorBen Skeggs74-139/+62
These are now specified directly in the MC subdev. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc/nv04: define reset masks + intr cleanupBen Skeggs2-10/+5
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc/nv11: define reset masks + intr cleanupBen Skeggs6-1/+61
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc/nv17: define reset masks + intr cleanupBen Skeggs6-21/+52
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc/nv50: define reset masks + intr cleanupBen Skeggs4-13/+43
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc/g84: define reset masks + intr cleanupBen Skeggs4-6/+76
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc/g98: define reset masks + intr cleanupBen Skeggs1-14/+22
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc/gt215: define reset masks + intr cleanupBen Skeggs4-4/+76
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc/gf100: define reset masks + intr cleanupBen Skeggs2-20/+30
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc/gk104: define reset masks + intr cleanupBen Skeggs6-6/+76
Engine fields have been removed, as they're specified by PTOP. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc: implement support for PTOP interrupt routingBen Skeggs1-2/+11
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc: implement support for PTOP reset infoBen Skeggs1-6/+9
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc: allow for local definition of reset bitsBen Skeggs2-2/+16
With the addition of PTOP-specified reset bits, it makes more sense to move the definitions here rather than in individual subdev implementations. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc: add helper function to handle device resetBen Skeggs3-6/+23
This will be later extended to handle PTOP-specified reset masks as well as the hardcoded ones. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/mc: rename struct nvkm_mc_intr to nvkm_mc_mapBen Skeggs6-10/+10
This will also be used to define NV_PMC_ENABLE <-> subdev mappings in an upcoming commit. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/top/gk104: initial implementationBen Skeggs4-0/+126
Ported from the code currently in engine/fifo/gk104.c. Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/top: initial implementationBen Skeggs4-1/+176
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/core: add top plumbingBen Skeggs8-0/+22
Signed-off-by: Ben Skeggs <[email protected]>
2016-05-20drm/nouveau/iccsense: configure sensors like nvidia doesKarol Herbst1-0/+68
v2: rename ina209/ina219 read function Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Martin Peres <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>