summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvd0_display.c
Commit message (Collapse)AuthorAgeFilesLines
* drm/nouveau/dp: support version 4.0 of DP tableBen Skeggs2012-03-231-0/+6
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nve0/disp: nvidia randomly decided to move the dithering methodBen Skeggs2012-03-231-1/+8
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: ignore clock set if no pclkBen Skeggs2012-03-221-1/+3
| | | | | | | | | This happens somehow during init on a machine I have, and leads to a divide-by-zero. Lets avoid that... Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: remove subchannel names from places where it doesn't matterBen Skeggs2012-03-221-2/+2
| | | | | | These are FIFO methods, it doesn't matter what subchannel is being used. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: disconnect encoders before reprogramming themBen Skeggs2012-03-131-33/+33
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: move syncs/magic setup to or mode_setBen Skeggs2012-03-131-20/+39
| | | | | | | | | | NVIDIA appear to do these around the same place they do the MODE_CTRL methods, and for DP at least we need to bash some extra bits in "syncs" to keep EVO happy. It's a bit of a guess as to the 6/8bpc, but i have no better idea yet. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: fix dcb sor link matching in supervisor handlerBen Skeggs2012-03-131-8/+9
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: initial implementation of displayportBen Skeggs2012-03-131-0/+169
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: attempt to handle more than 2 crtcs if possibleBen Skeggs2012-03-131-19/+14
| | | | | | | Theoretically handles CRTC2/CRTC3, should any GF119 out there actually have them enabled. The room is there for the regs etc, so why not :) Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp: parse connector info directly in nouveau_connector.cBen Skeggs2011-12-211-1/+1
| | | | | | | | | | | | Another case where we parsed vbios data to some structs, then again use that info once to construct another set of data. Skip the intermediate step. This is also slightly improved in that we can now use DCB 3.x connector table info, which will allow NV4x to gain hotplug support, and to make quirks for SPWG LVDS panels unnecessary. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: use single, shared, sync bo for all evo channelsBen Skeggs2011-12-211-31/+32
| | | | | | This simplifies some things, and hopefully won't come back to bite me. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: rename sync channel to flip channelBen Skeggs2011-12-211-9/+9
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: handle yet another interruptBen Skeggs2011-12-211-0/+6
| | | | | | | | | | | | | | Spotted while messing with overlay channels (probably as a result of sending a similar "disable" sequence as we do for the flip channels). The value in 0x61008c was 0x20, which one would reasonably guess is "bit 5 == something to report about evo channel 5" - but who knows. Spotted the binary driver getting this too, and it appears to not do anything exciting as a result. So, handle it the same way and avoid an IRQ storm. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: initialise overlay channelsBen Skeggs2011-12-211-5/+13
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: add support for page flippingBen Skeggs2011-12-211-53/+243
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: make it clearer that the cursor regs are pio evo channelsBen Skeggs2011-12-211-3/+9
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: have evo names now, use themBen Skeggs2011-12-211-24/+24
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: init display sync channelsBen Skeggs2011-12-211-55/+115
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: scaler updates, overscan compensation etcBen Skeggs2011-12-211-30/+64
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: update crtc timing calculations for interlace/doublescanBen Skeggs2011-12-211-18/+34
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau/disp: introduce proper init/fini, separate from create/destroyBen Skeggs2011-12-211-7/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: enable hdmi audioBen Skeggs2011-12-211-0/+3
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: hook evo up to debuggingBen Skeggs2011-12-211-0/+13
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: enable hdmi on sor if hdmi monitor presentBen Skeggs2011-12-211-0/+44
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: send eld to the audio codecBen Skeggs2011-12-211-3/+63
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: improve dithering properties, and implement proper auto modeBen Skeggs2011-12-211-11/+16
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: no need to pass parameters into set_scale/ditherBen Skeggs2011-12-211-8/+9
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: fix sor dpms typo, preventing dpms on in some situationsBen Skeggs2011-11-301-1/+1
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd9/disp: bail out of mode_set_base if no fb bound to crtcBen Skeggs2011-09-201-0/+5
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd9/disp: stub some more api hooks so we don't oops on resumeBen Skeggs2011-09-201-0/+12
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: tidy up what we have so farBen Skeggs2011-09-201-61/+36
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: rewrite irq handler, should be somewhat sturdier nowBen Skeggs2011-09-201-81/+111
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: do modeset irq handling from taskletBen Skeggs2011-09-201-7/+22
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: untested LVDS supportBen Skeggs2011-09-201-16/+66
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: track down fb positioning methodBen Skeggs2011-09-201-2/+2
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: determine U table config in or_mode_set()Ben Skeggs2011-09-201-21/+15
| | | | | | | 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>
* drm/nvd0/disp: dac load detectBen Skeggs2011-09-201-1/+16
| | | | | | | | 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>
* drm/nvd0/disp: handle sync polarity, kill off some unknownBen Skeggs2011-09-201-6/+10
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: scalingBen Skeggs2011-09-201-5/+32
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: push the update button in mode_set_base()Ben Skeggs2011-09-201-0/+4
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: fixup clut so it actually worksBen Skeggs2011-09-201-4/+6
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: initial attempt at modeset irq handlingBen Skeggs2011-09-201-0/+130
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: stub dac load detect, prevents oopsBen Skeggs2011-09-201-0/+7
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: dac encoder moduleBen Skeggs2011-09-201-0/+137
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: extend the init voodoo to cover crtcsBen Skeggs2011-09-201-19/+27
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: remove lp reordering from vram dmaobj, create fb dmaobjsBen Skeggs2011-09-201-5/+22
| | | | | | Fixes CLUT being messed up. Mostly. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: some magic to make evo happeirBen Skeggs2011-09-201-0/+12
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: initial crtc object implementationBen Skeggs2011-09-201-1/+456
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: skeletal handling of modeset interruptsBen Skeggs2011-09-201-0/+60
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nvd0/disp: start on SOR encoder functionsBen Skeggs2011-09-201-1/+202
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
OpenPOWER on IntegriCloud