Ben Skeggs
3e55b53bc7
drm/nouveau/pci/g84: split implementation from nv50
...
An upcoming patch will implement functionality that we don't use on the
original NV50.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-11-03 15:02:18 +10:00
Samuel Pitoiset
b6afa2650c
drm/nouveau/ibus/gf100: increase wait timeout to avoid read faults
...
Increase clock timeout of some unknown engines in order to avoid failure
at high gpcclk rate.
This fixes IBUS read faults on my GF119 when reclocking is manually
enabled. Note that memory reclocking is completely broken and NvMemExec
has to be disabled to allow core clock reclocking only.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-11-03 15:02:18 +10:00
Martin Peres
1531dbbb56
drm/nouveau/volt/gk104: add support for pwm and gpio modes
...
Most Keplers actually use the GPIO-based voltage management instead of the new
PWM-based one. Use the GPIO mode as a fallback as it already gracefully handles
the case where no GPIOs exist.
All the Maxwells seem to use the PWM method though.
v2:
- Do not forget to commit the PWM configuration change!
Signed-off-by: Martin Peres <martin.peres@free.fr >
2015-11-03 15:02:18 +10:00
Martin Peres
7bddeba966
drm/nouveau/bios/volt: add support for pwm-based volt management
...
Signed-off-by: Martin Peres <martin.peres@free.fr >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-11-03 15:02:18 +10:00
Alexandre Courbot
a0a49bac2f
drm/nouveau/ltc/gf100: add flush/invalidate functions
...
Allow clients to manually flush and invalidate L2. This will be useful
for Tegra systems for which we want to write instmem using the CPU.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-11-03 15:02:18 +10:00
Alexandre Courbot
38a8fc78d0
drm/nouveau/ltc: add hooks for invalidate and flush
...
These are useful for systems without a coherent CPU/GPU bus. For such
systems we may need to maintain the L2 ourselves.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-11-03 15:02:18 +10:00
Alexandre Courbot
542f60dc84
drm/nouveau/timer: re-introduce nvkm_wait_xsec macros
...
Reintroduce macros allowing us to test a register against a certain
mask, since this is the most common usage pattern for the more generic
nvkm_xsec macros and makes the code more concise and readable.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-11-03 15:02:18 +10:00
Ben Skeggs
340b0e7c50
drm/nouveau/pci: merge agp handling from nouveau drm
...
This commit reinstates the pre-DEVINIT AGP fiddling that was broken in
an earlier commit.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:49 +10:00
Ben Skeggs
2b700825e7
drm/nouveau/mc: move device irq handling to platform-specific code
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:48 +10:00
Ben Skeggs
d4c4cc8373
drm/nouveau/mc: abstract interface to master intr registers
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:48 +10:00
Ben Skeggs
0a34fb3149
drm/nouveau/pci: new subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:48 +10:00
Ben Skeggs
68f3f702b6
drm/nouveau/core: remove the remainder of the previous style
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:47 +10:00
Ben Skeggs
437b2296ce
drm/nouveau/volt: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:45 +10:00
Ben Skeggs
31649ecf47
drm/nouveau/tmr: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:45 +10:00
Ben Skeggs
57113c0170
drm/nouveau/therm: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:45 +10:00
Ben Skeggs
e2ca4e7d6e
drm/nouveau/pmu: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:45 +10:00
Ben Skeggs
a4f7bd3608
drm/nouveau/mxm: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:45 +10:00
Ben Skeggs
c9582455ab
drm/nouveau/mmu: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:44 +10:00
Ben Skeggs
54dcadd5b6
drm/nouveau/mc: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:44 +10:00
Ben Skeggs
70bc7182cb
drm/nouveau/ltc: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:44 +10:00
Ben Skeggs
b7a2bc1886
drm/nouveau/imem: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:44 +10:00
Ben Skeggs
8de65bd090
drm/nouveau/devinit: run devinit scripts right after preinit
...
This ensures we have a valid mask of disabled engines before we start
trying to execute fini()/init() on the subdevs, potentially touching
devices that don't exist.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:44 +10:00
Ben Skeggs
551d341755
drm/nouveau/ibus: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:44 +10:00
Ben Skeggs
49bd8da513
drm/nouveau/i2c: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:43 +10:00
Ben Skeggs
2ea7249fe2
drm/nouveau/gpio: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:43 +10:00
Ben Skeggs
c5fcafa528
drm/nouveau/fuse: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:43 +10:00
Ben Skeggs
03c8952fb3
drm/nouveau/fb: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:43 +10:00
Ben Skeggs
151abd44c2
drm/nouveau/devinit: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:43 +10:00
Ben Skeggs
6625f55c08
drm/nouveau/clk: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:42 +10:00
Ben Skeggs
bb23f9d791
drm/nouveau/bus: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:42 +10:00
Ben Skeggs
46484438ab
drm/nouveau/bios: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:42 +10:00
Ben Skeggs
3293228174
drm/nouveau/bar: convert to new-style nvkm_subdev
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:42 +10:00
Ben Skeggs
5b1ab0c2c7
drm/nouveau/imem/nv04-nv40: directly use instmem for vbios/ramfc/ramro
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:36 +10:00
Ben Skeggs
d0659d3277
drm/nouveau/mmu: directly use instmem for page tables
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:36 +10:00
Ben Skeggs
d8e83994aa
drm/nouveau/imem: improve management of instance memory
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:36 +10:00
Ben Skeggs
1de68568d6
drm/nouveau/mmu: protect each vm with its own mutex
...
An upcoming commit requires being able to modify the PRAMIN BAR page
tables while already holding the MMU subdev mutex.
To solve this issue, each VM has been given its own mutex. As a nice
side-effect, this also allows separate VMs to be updated concurrently.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:35 +10:00
Ben Skeggs
3a8c3400f3
drm/nouveau/subdev: rename some functions to avoid upcoming conflicts
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:33 +10:00
Ben Skeggs
2aa5eac516
drm/nouveau/i2c: transition pad/ports away from being based on nvkm_object
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:29 +10:00
Ben Skeggs
d36a99d2da
drm/nouveau/fb: transition nvkm_ram away from being based on nvkm_object
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:29 +10:00
Ben Skeggs
a8dae9fe0e
drm/nouveau/vga: require nvkm_device pointer in accessor functions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:29 +10:00
Ben Skeggs
95cf469cc3
drm/nouveau/imem: use object accessor function for suspend/resume
...
Very much not ideal, but this will be improved later.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:29 +10:00
Ben Skeggs
a47474261e
drm/nouveau/imem: remove object accessor functions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:26 +10:00
Ben Skeggs
7e24c1145a
drm/nouveau/fuse: remove object accessor functions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:26 +10:00
Ben Skeggs
7f5f518fd7
drm/nouveau/bios: remove object accessor functions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:26 +10:00
Ben Skeggs
5300394106
drm/nouveau/core: remove last printks
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:26 +10:00
Ben Skeggs
5444204036
drm/nouveau: switch to new-style timer macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:21 +10:00
Ben Skeggs
56f67dc196
drm/nouveau/tmr: type-safe PTIMER-based delay/wait macros
...
These require an explicit struct nvkm_device pointer, unlike the previous
macros which take a void *, and work for (almost) anything derived from
nvkm_object by using some heuristics.
These macros are more general than the previous ones, and can be used to
handle PTIMER-based busy-waits (will be used in later devinit fixes) as
well as more complicated wait conditions.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:19 +10:00
Ben Skeggs
6052dc5775
drm/nouveau/volt: cosmetic changes
...
This is purely preparation for upcoming commits, there should be no
code changes here.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:10 +10:00
Ben Skeggs
cb8bb9cedb
drm/nouveau/tmr: cosmetic changes
...
This is purely preparation for upcoming commits, there should be no
code changes here.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:09 +10:00
Ben Skeggs
da06b46b72
drm/nouveau/therm: cosmetic changes
...
This is purely preparation for upcoming commits, there should be no
code changes here.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:09 +10:00