91a8f1ea4b
drm/nouveau: workaround semaphore hw bug causing unnecessary interrupts
...
The HW will only accept the DMA_FROM_MEMORY class for DMA_SEMAPHORE without
asking the driver to intervene.
It appears that semaphores will work correctly even without DMA_IN_MEMORY,
so lets avoid the large amount of interrupts generated by x-chan sync.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:08:59 +10:00
afb0c796d8
drm/nouveau/tmr: fix miscalculation of ratio on pre-nv4x chipsets
...
The clock_get() hook returns KHz, not Hz.
Also fixed to use crystal freq from dev_priv.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:08:54 +10:00
378f85ed54
drm/nva3/pm: fixup for NVAF special
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:08:50 +10:00
64e740bb3d
drm/nva3/pm: use crystal freq where appropriate
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:08:44 +10:00
f2cbe46f14
drm/nouveau: determine timing crystal freq from straps
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:08:41 +10:00
93e692dc5f
drm/nva3/pm: pll disabled if bit 0 of ctrl not set
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:08:37 +10:00
6b70e48167
drm/nouveau: magic to make auxch on new macbooks booted in EFI mode work
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:08:32 +10:00
2228c6fe04
drm/nouveau/pm: Document and expose CL and WR for 0x1002Cx
...
Signed-off-by: Roy Spliet <r.spliet@student.tudelft.nl >
2011-09-20 16:08:28 +10:00
9a78248876
drm/nouveau/pm: add initial NV3x/NVCx memtiming support, improve other cards
...
NV30: Create framework for memtm
NV50: Improve reg creation,
NV50: Use P.version instead of card codename/stepping,
NVC0: Initial memtiming code for Fermi,
Renamed regs for consistency,
Overall redesign to improve readability,
Avoid kfree on null-pointer
Signed-off-by: Roy Spliet <r.spliet@student.tudelft.nl >
2011-09-20 16:08:25 +10:00
1cb70b30e4
drm/nouveau: remove special-casing of hotplug detection type
...
If we support PGPIO interrupts, and know a hotplug GPIO tag for a
connector we use HPD, otherwise POLL_CONNECT.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:08:14 +10:00
bd57e7fc2e
drm/nvd0: no page flipping at the moment
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:08:11 +10:00
64c2502b77
drm/nvc0/gr: remove max tpc count info
...
Just assume a max of 16 everywhere, and hope it's okay.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:08:08 +10:00
e432d48f87
drm/nvd0: lets not attempt to dereference a nv50_display pointer
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:08:02 +10:00
658e86ee2d
drm/nouveau: enable hwmon support when both nouveau/hwmon are built as modules.
...
The nouveau hwmon temperature support currently only functions when hwmon is
compiled into the kernel. There's no reason why this shouldn't also work when
both hwmon and nouveau are modularised (as is the case with Slackware's stock
kernels).
Signed-off-by: Ken Milmore <ken.milmore@googlemail.com >
Reviewed-by: Martin Peres <martin.peres@ensi-bourges.fr >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:59 +10:00
37b034a64b
drm/nvd0/disp: tidy up what we have so far
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:49 +10:00
ee41779e76
drm/nvd0/disp: rewrite irq handler, should be somewhat sturdier now
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:46 +10:00
f20ce9629f
drm/nvd0/disp: do modeset irq handling from tasklet
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:42 +10:00
3b6d83d1b9
drm/nvd0/disp: untested LVDS support
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:36 +10:00
c6f2f71dae
drm/nvd0/disp: track down fb positioning method
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:32 +10:00
ff8ff50342
drm/nvd0/disp: determine U table config in or_mode_set()
...
Takes a gamble and presumes that we can safely store something random in
OR_MODE_CTRL+4, the hw doesn't seem to mind...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:29 +10:00
b681993f7a
drm/nvd0/disp: dac load detect
...
VBIOS does more than this, as does nv50/nvc0 driver in nouveau. Traces
of the NVIDIA binary driver however, show pretty much just this being
done... Seems to work for me, it'll be fine for the moment.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:22 +10:00
629c1b9207
drm/nvd0/disp: handle sync polarity, kill off some unknown
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:18 +10:00
f3fdc52dd7
drm/nvd0/disp: scaling
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:15 +10:00
a46232ee09
drm/nvd0/disp: push the update button in mode_set_base()
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:09 +10:00
8ea0d4aa60
drm/nvd0/disp: fixup clut so it actually works
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:05 +10:00
3a89cd0292
drm/nvd0/disp: initial attempt at modeset irq handling
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:07:01 +10:00
b6d8e7ec38
drm/nvd0/disp: stub dac load detect, prevents oops
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:06:57 +10:00
8eaa9669f8
drm/nvd0/disp: dac encoder module
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:06:50 +10:00
a36f04c044
drm/nvd0/disp: extend the init voodoo to cover crtcs
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:06:47 +10:00
c0cc92a115
drm/nvd0/disp: remove lp reordering from vram dmaobj, create fb dmaobjs
...
Fixes CLUT being messed up. Mostly.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:06:44 +10:00
1d6e7a59f7
drm/nvd0/disp: some magic to make evo happeir
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:06:37 +10:00
2fad3d5e2b
drm/nvd0/disp: they moved the linear flag..
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:06:33 +10:00
438d99e3b1
drm/nvd0/disp: initial crtc object implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:06:30 +10:00
270a574780
drm/nvd0/disp: skeletal handling of modeset interrupts
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:06:24 +10:00
83fc083cbb
drm/nvd0/disp: start on SOR encoder functions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:06:21 +10:00
efd272a7a0
drm/nvd0/disp: setup a couple of dma objects we'll need
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:06:07 +10:00
4600522a8f
drm/nvd0/disp: start on interrupt handling
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:06:01 +10:00
51beb428e4
drm/nvd0/disp: whip up some basic dma handling for the evo channels
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:05:57 +10:00
26f6d88b32
drm/nvd0/disp: very initial evo setup
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:05:54 +10:00
02e4f5877d
drm/nouveau/bios: allow passing in crtc to the init table parser
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:05:48 +10:00
4784e4aa47
drm/nvd0/pm: enable clock/voltage hooks
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:05:44 +10:00
75139063b7
drm/nouveau/bios: fix INIT_GPIO for new chipsets
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:05:40 +10:00
d7f8172ca9
drm/nvd0/gpio: initial implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:05:36 +10:00
eeb3ca12b4
drm/nvd0/i2c: initial implementation
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:05:24 +10:00
d9f61c2d28
drm/nouveau: initial chipset description for nvdX chipsets
...
All the non-stubbed functions should be okay for this chipset, the rest
will be added back as they're figured out.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:05:20 +10:00
03bc9675d3
drm/nouveau: allow modeset module option to select 'headless mode'
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:05:16 +10:00
1575b3646c
drm/nouveau: fixup init/fini sequence to deal with no CRTCs
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:05:09 +10:00
048a88595a
drm/nouveau: make general drm modesetting init common
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:05:04 +10:00
2e9733ff7d
drm/nvd0: add a card_type for 0xdX chipsets
...
These are different enough from 0xcX to justify it, half fermi, half
kepler(??)..
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:04:45 +10:00
f3f2f54e11
drm/nv04/pm: recalibrate timer on nvclk changes
...
Signed-off-by: Martin Peres <martin.peres@ensi-bourges.fr >
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2011-09-20 16:04:42 +10:00