Ben Skeggs
bd3cac7bb0
drm/nouveau/bios: parsing of some random table needed to bring up gr
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:08:14 +10:00
Ben Skeggs
eeb0558e07
drm/gf104/gr: rename gf104 (nvc4), it came before gf106 (nvc3)
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:08:06 +10:00
Alexandre Courbot
420b946977
support for platform devices
...
Upcoming mobile Kepler GPUs (such as GK20A) use the platform bus instead
of PCI to which Nouveau is tightly dependent. This patch allows Nouveau
to handle platform devices by:
- abstracting PCI-dependent functions that were typically used for
resource querying and page mapping,
- introducing a nv_device_is_pci() function that allows to make
PCI-dependent code conditional,
- providing a nouveau_drm_platform_probe() function that takes a GPU
platform device to be probed.
Core code as well as engine/subdev drivers are updated wherever possible
to make use of these functions. Some older drivers are too dependent on
PCI to be properly updated, but all newer code on which future chips may
depend should at least be runnable with platform devices.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:08:04 +10:00
Ben Skeggs
3f204647cd
drm/gm100/device: recognise GM107
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:01:00 +10:00
Ben Skeggs
c68c29c04c
drm/gm107/disp: initial implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:59 +10:00
Ben Skeggs
f6bad8abc6
drm/gm107/ltcg: initial implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:58 +10:00
Ben Skeggs
6bd9293ea8
drm/nouveau/bios: add HDMI-C (mini) connector type
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:58 +10:00
Ben Skeggs
267dcb6643
drm/gm107/fb: initial implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:57 +10:00
Ben Skeggs
57f7422016
drm/gk20a/timer: initial implementation
...
A bit different from NVIDIA's RFC patch, but I want this now for GM107.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:56 +10:00
Ben Skeggs
4bf23ead3a
drm/gm107/devinit: initial implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:55 +10:00
Ben Skeggs
33f8c6d03e
drm/nvc0/fifo: use subdev identifiers for bar/ifb fault recovery cases
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 14:00:46 +10:00
Ben Skeggs
a8f8b4891d
drm/nv50/disp: preparation for storing static class data
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:33 +10:00
Ben Skeggs
70a3e64795
drm/nouveau/core: extend width of engine mask for namedb
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-03-26 13:59:33 +10:00
Ilia Mirkin
fa8c9ac72f
drm/nv4c/mc: nv4x igp's have a different msi rearm register
...
See https://bugs.freedesktop.org/show_bug.cgi?id=74492
Reported-by: Ronald <ronald645@gmail.com>
Suggested-by: Marcin Kościelnicki <koriakin@0x04.net>
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-02-18 10:36:45 +10:00
Ben Skeggs
d2fa7d32ea
drm/nouveau/disp: add a method to fetch info needed by drm vblank timestamping
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-30 08:18:36 +10:00
Ilia Mirkin
4019aaa2b3
drm/nv50-/devinit: prevent use of engines marked as disabled by hw/vbios
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:39:13 +10:00
Ilia Mirkin
f0d13e3a85
drm/nouveau/device: provide a way for devinit to mark engines as disabled
...
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:39:13 +10:00
Ben Skeggs
cf336014c6
drm/nouveau/devinit: tidy up the subdev class definition
...
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:39:12 +10:00
Ben Skeggs
52225551dd
drm/nouveau/bar: tidy up the subdev and object class definitions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:39:11 +10:00
Ben Skeggs
ab606194d1
drm/nouveau/instmem: tidy up the object class definition
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:39:10 +10:00
Ben Skeggs
24a4ae86de
drm/nouveau/instmem: tidy up the subdev class definition
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:39:09 +10:00
Ben Skeggs
b13d0e4a93
drm/nve0/fb/gddr5: yet another random 10f200 bit
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:39:05 +10:00
Ben Skeggs
46bf1c389f
drm/nve0/fb: multi-stage reclock is required for certain transitions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:39:00 +10:00
Ben Skeggs
b655f2bb77
drm/nve0/fb/gddr5: parse bios data into struct rather than using directly
...
Still essentially a struct of magic values with magic names and unknown
purposes. But, we will shortly need to be able to mix and match bits of
the previous and next configurations to do a transition reclock, as such,
we can no longer directly use the vbios data with any ease.
This is probably nicer anyway in the long run, for a few reasons.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:38:58 +10:00
Ben Skeggs
1522ecae65
drm/nouveau/bios: timing 2.0 entries can have subentries
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:38:54 +10:00
Ben Skeggs
d394fb12ec
drm/nve0/fb/gddr5: not all memory partitions are created equal
...
As seen when comparing us vs nv on my GTX660.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:38:49 +10:00
Ben Skeggs
0a0dc8f564
drm/nouveau/bios: make common code to handle ramcfg strap etc
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:38:48 +10:00
Ben Skeggs
cb1567c286
drm/nve0/fifo: recover from mmu faults on bar1/bar3
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:38:45 +10:00
Ben Skeggs
96616b4caf
drm/nv108/gr: initial support (need external fuc)
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:38:36 +10:00
Ben Skeggs
a763951a86
drm/nv108/fifo: initial support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:38:35 +10:00
Ben Skeggs
2e2cfbe61b
drm/nouveau/vm: reduce number of entry-points to vm_map()
...
Pretty much everywhere had to make the decision which to use, so it
makes a lot more sense to just have one entrypoint decide the path
to take instead.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-23 13:38:25 +10:00
Ben Skeggs
fdd239ac99
drm/nouveau: fix null ptr dereferences on some boards
...
Regression from "device: populate master subdev pointer only when fully
constructed"
Reported-by: Bob Gleitsmann <rjgleits@bellsouth.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-15 14:24:05 +10:00
Ben Skeggs
61b365a505
drm/nouveau: populate master subdev pointer only when fully constructed
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2014-01-07 13:37:36 +10:00
Roy Spliet
a7e4201f0f
drm/nouveau/clk: Add support for NVAA/NVAC
...
Signed-off-by: Roy Spliet <rspliet@eclipso.eu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-12-03 23:28:56 +10:00
Ben Skeggs
aae95ca708
drm/nouveau/fb: implement various bits of work towards memory reclocking
...
Not even remotely ready for the vast majority of the world.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:40:19 +10:00
Ben Skeggs
9838366c15
drm/nouveau/device: initial control object class, with pstate control methods
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:40:18 +10:00
Ben Skeggs
7c85652206
drm/nouveau/clk: implement power state and engine clock control in core
...
User control of this has been hard-coded as disabled for now.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:40:17 +10:00
Ben Skeggs
c9c0ccae48
drm/nouveau/volt: implement voltage control in core
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:40:17 +10:00
Ben Skeggs
0833428e7d
drm/nouveau/bios: parsing for various tables required for power management
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:40:16 +10:00
Ben Skeggs
aa4d7a4d55
drm/nouveau/perfmon: initial infrastructure to expose performance counters
...
Internal use only at this point. Userspace later.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:40:05 +10:00
Ben Skeggs
2984506fb6
drm/nouveau/bus: add interfaces/helpers for sequencer
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:40:05 +10:00
Ben Skeggs
48ae0b355f
drm/nouveau/bus: make external class definitions pointers
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:40:04 +10:00
Ben Skeggs
ff4b42c753
drm/nouveau/pwr: initial implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:40:04 +10:00
Ben Skeggs
6387e2cbdc
drm/nouveau/therm: add hook for clk to suggest fanspeed to therm
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:40:01 +10:00
Ben Skeggs
547807b8ce
drm/nouveau/pwr: assign a subdev id for upcoming implementation
...
THERM will use this before it exists.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:40:01 +10:00
Ben Skeggs
c52f4fa61d
drm/nouveau/core: make all info-level messages silent for runtime pm
...
Removes the need for special handling of messages in init paths.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:39:59 +10:00
Ben Skeggs
16c4f227ff
drm/nouveau/fifo: make external class definitions into pointers
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:39:59 +10:00
Martin Peres
9e2b734f1c
drm/nouveau/i2c: use a custom bitbanging delay for the adt7473
...
This patch adds a way to define a custom delay when scanning for i2c devices
because the adt7473 sometimes doesn't like the default bitbanging udelay.
Signed-off-by: Martin Peres <martin.peres@labri.fr>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:39:54 +10:00
Ben Skeggs
9ca3037e60
drm/nv50-nvaf/fb: split the class definitions up a bit
...
These will diverge further in the future.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:39:51 +10:00
Ben Skeggs
1e9fc30e38
drm/nouveau/fb: make external class definitions pointers
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-11-08 15:39:50 +10:00