Ben Skeggs
734a0aa669
drm/nouveau/gr/gm200-: rop count == ltc count
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
c83e7d6836
drm/nouveau/gr/gm200: modify the mask when copying mmu settings from fb
...
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 <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
54aa38a8ad
drm/nouveau/gr/gm200: move some code into init_gpc_mmu() hook
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
560e6da267
drm/nouveau/gr/gm200: make generate_main() static
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
64cb5a31f4
drm/nouveau/gr/gf100-: abstract fetching rop count
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
5ec3def735
drm/nouveau/gr/gf100-: rename magic_not_rop_nr to screen_tile_row_offset
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
933ad44594
drm/nouveau/gr/gf100-: remove hardcoded idle_timeout values
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
0cdc3fdfb7
drm/nouveau/fifo/gm107-: remove engines from mmu engine mapping array
...
These are specified by PTOP on Maxwell GPUs.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
289e082706
drm/nouveau/fifo/gk104-: identify mmu engine ids for host faults
...
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 <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
e50d0237fc
drm/nouveau/fifo/gk104-: implement support for PTOP fault info
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
91419acf78
drm/nouveau/fifo/gk104-: abstract mmu fault data structures
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
98ac3f061a
drm/nouveau/fifo/gk104-: subclass func
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
e93e198d46
drm/nouveau/fifo/gk104-: use device info from top subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
56d06fa29e
drm/nouveau/core: remove pmc_enable argument from subdev ctor
...
These are now specified directly in the MC subdev.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
d85e2a8dd8
drm/nouveau/mc/nv04: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
667e99ab23
drm/nouveau/mc/nv11: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
79360b7d5f
drm/nouveau/mc/nv17: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
9199fbdbf8
drm/nouveau/mc/nv50: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
7354902001
drm/nouveau/mc/g84: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
e56f90fe17
drm/nouveau/mc/g98: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
88c0de2cdb
drm/nouveau/mc/gt215: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
a6bb38e902
drm/nouveau/mc/gf100: define reset masks + intr cleanup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
33537d6fdc
drm/nouveau/mc/gk104: define reset masks + intr cleanup
...
Engine fields have been removed, as they're specified by PTOP.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
921be10d85
drm/nouveau/mc: implement support for PTOP interrupt routing
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
583f8e4ea2
drm/nouveau/mc: implement support for PTOP reset info
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
70b01f07db
drm/nouveau/mc: allow for local definition of reset bits
...
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 <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
6defde5ab3
drm/nouveau/mc: add helper function to handle device reset
...
This will be later extended to handle PTOP-specified reset masks as well
as the hardcoded ones.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
87f313e6e6
drm/nouveau/mc: rename struct nvkm_mc_intr to nvkm_mc_map
...
This will also be used to define NV_PMC_ENABLE <-> subdev mappings in an
upcoming commit.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
fb3e9c61ca
drm/nouveau/top/gk104: initial implementation
...
Ported from the code currently in engine/fifo/gk104.c.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
5f76f294d1
drm/nouveau/top: initial implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
eaebfcc34e
drm/nouveau/core: add top plumbing
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Karol Herbst
2e9a43f901
drm/nouveau/iccsense: configure sensors like nvidia does
...
v2: rename ina209/ina219 read function
Signed-off-by: Karol Herbst <nouveau@karolherbst.de >
Reviewed-by: Martin Peres <martin.peres@free.fr >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Karol Herbst
5f1f07de41
drm/nouveau/iccsense: split sensor into own struct
...
v2: add list_del call, reword error message
Signed-off-by: Karol Herbst <nouveau@karolherbst.de >
Reviewed-by: Martin Peres <martin.peres@free.fr >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Karol Herbst
92224e751f
drm/nouveau/iccsense: convert to linked list
...
v2: add list_del calls
Signed-off-by: Karol Herbst <nouveau@karolherbst.de >
Reviewed-by: Martin Peres <martin.peres@free.fr >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Karol Herbst
d03e0f2748
drm/nouveau/iccsense: remove read function
...
Signed-off-by: Karol Herbst <nouveau@karolherbst.de >
Reviewed-by: Martin Peres <martin.peres@free.fr >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Karol Herbst
7d28dbae22
drm/nouveau/pmu: be more strict about locking
...
When we start communicating with the pmu a bit more, the current code is
a real issue. I encountered a dead lock here, while testing my dynamic
reclocking code
Signed-off-by: Karol Herbst <nouveau@karolherbst.de >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Alexandre Courbot
c6007dc4e5
drm/nouveau/devinit/gf100: make devinit on resume safer
...
In case of successful suspend, devinit will have to be run and this is
the behavior currently hardcoded. However, as FD bug 94725 suggests,
there might be cases where runtime suspend leaves the GPU powered, and
in such cases devinit should not be run on resume.
On GF100+ we have a reliable way to know whether we need to run devinit.
Use it instead of blindly trusting the flag set by nvkm_devinit_fini().
The code around the NvForcePost also needs to be slightly reworked in
order to keep working.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Suggested-by: Dave Airlie <airlied@redhat.com >
Suggested-by: Karol Herbst <nouveau@karolherbst.de >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Ben Skeggs
4dc28134a8
drm/nouveau: rename nouveau_drm.h to nouveau_drv.h
...
Fixes out-of-tree build issue where uapi/drm/nouveau_drm.h gets picked
up instead.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-05-20 14:43:04 +10:00
Arnd Bergmann
c6740c9c9e
drm: remove unused dev variables
...
After drm_gem_object_lookup() was changed along with all its callers,
we have several drivers that have unused variables:
drm/armada/armada_crtc.c: In function 'armada_drm_crtc_cursor_set':
drm/armada/armada_crtc.c:900:21: error: unused variable 'dev' [-Werror=unused-variable]
drm/nouveau/nouveau_gem.c: In function 'validate_init':
drm/nouveau/nouveau_gem.c:371:21: error: unused variable 'dev' [-Werror=unused-variable]
drm/nouveau/nv50_display.c: In function 'nv50_crtc_cursor_set':
drm/nouveau/nv50_display.c:1308:21: error: unused variable 'dev' [-Werror=unused-variable]
drm/radeon/radeon_cs.c: In function 'radeon_cs_parser_relocs':
drm/radeon/radeon_cs.c:77:21: error: unused variable 'ddev' [-Werror=unused-variable]
This fixes all the instances I found with ARM randconfig builds so far.
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Fixes: a8ad0bd84f ("drm: Remove unused drm_device from drm_gem_object_lookup()")
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
Link: http://patchwork.freedesktop.org/patch/msgid/1463587653-3035181-6-git-send-email-arnd@arndb.de
2016-05-18 19:16:24 +02:00
Chris Wilson
a8ad0bd84f
drm: Remove unused drm_device from drm_gem_object_lookup()
...
drm_gem_object_lookup() has never required the drm_device for its file
local translation of the user handle to the GEM object. Let's remove the
unused parameter and save some space.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk >
Cc: dri-devel@lists.freedesktop.org
Cc: Dave Airlie <airlied@redhat.com >
Cc: Daniel Vetter <daniel.vetter@ffwll.ch >
[danvet: Fixup kerneldoc too.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch >
2016-05-17 08:47:30 +02:00
Dave Airlie
bafb86f5bc
Merge tag 'v4.6-rc7' into drm-next
...
Merge this back as we've built up a fair few conflicts, and I have
some newer trees to pull in.
2016-05-09 13:49:56 +10:00
Christian König
98c2872ae9
drm/ttm: implement LRU add callbacks v2
...
This allows fine grained control for the driver where to add a BO into the LRU.
v2: fix typo in comment
Reviewed-by: Sinclair Yeh <syeh@vmware.com >
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-05-04 20:21:38 -04:00
Christian König
8aa6d4fc5f
drm/ttm: remove lazy parameter from ttm_bo_wait
...
Not used any more.
Reviewed-by: Sinclair Yeh <syeh@vmware.com >
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-05-04 20:21:26 -04:00
Christian König
dfd5e50ea4
drm/ttm: remove use_ticket parameter from ttm_bo_reserve
...
Not used any more.
Reviewed-by: Sinclair Yeh <syeh@vmware.com >
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-05-04 20:21:21 -04:00
Dave Airlie
005e8dad01
Merge branch 'linux-4.6' of git://github.com/skeggsb/linux into drm-fixes
...
transform feedback fix.
* 'linux-4.6' of git://github.com/skeggsb/linux:
drm/nouveau/gr/gf100: select a stream master to fixup tfb offset queries
2016-04-22 10:09:33 +10:00
Ben Skeggs
28dca90533
drm/nouveau/gr/gf100: select a stream master to fixup tfb offset queries
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
Cc: stable@vger.kernel.org
2016-04-22 10:08:05 +10:00
Dave Airlie
3addc4e3a7
Merge branch 'linux-4.6' of git://github.com/skeggsb/linux into drm-fixes
...
Single nouveau regression fix
* 'linux-4.6' of git://github.com/skeggsb/linux:
drm/nouveau/kms: fix setting of default values for dithering properties
2016-04-22 09:53:07 +10:00
Ben Skeggs
38bdcfc1fc
drm/nouveau/kms: fix setting of default values for dithering properties
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2016-04-22 09:24:31 +10:00
Dave Airlie
49047962ec
Merge tag 'v4.6-rc3' into drm-next
...
Backmerge 4.6-rc3 for i915.
Linux 4.6-rc3
2016-04-22 08:32:51 +10:00
Daniel Vetter
ca25d6b08f
drm/nouveau: Drop dev->struct_mutex from fbdev init
...
Doesn't protect anything at all.
With this patch nouveau is completely dev->struct_mutex free!
Cc: Ben Skeggs <bskeggs@redhat.com >
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com >
Link: http://patchwork.freedesktop.org/patch/msgid/1459330852-27668-6-git-send-email-daniel.vetter@ffwll.ch
2016-04-20 12:56:49 +02:00