aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-08-26drm/nv20: Don't use pushbuf calls on the original nv20.Francisco Jerez1-2/+2
The "return" command is buggy on the original nv20, it jumps back to the caller address as expected, but it doesn't clear the subroutine active bit making the subsequent pushbuf calls fail with a "stack" overflow. Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-26drm/nouveau: Fix TMDS on some DCB1.5 boards.Francisco Jerez1-14/+6
The TMDS output of an nv11 was being detected as LVDS, because it uses DCB type 2 for TMDS instead of type 4. Reported-by: Bertrand VIEILLE <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-26drm/nouveau: Fix backlight control on PPC machines with an internal TMDS panel.Francisco Jerez2-21/+27
This commit fixes fdo bug 29685. Reported-by: Vlado Plaga <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-26drm/nv30: Apply modesetting to the correct slave encoderPatrice Mandin1-3/+5
Signed-off-by: Patrice Mandin <[email protected]> Reviewed-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-26drm/nouveau: Use a helper function to match PCI device/subsystem IDs.Francisco Jerez3-20/+16
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-26drm/nv50: add dcb type 14 to enum to prevent compiler complaintBen Skeggs2-1/+2
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-17drm/nouveau: fix earlier mistake when fixing merge conflictBen Skeggs1-2/+2
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-17drm/nvc0: fix thinko in instmem suspend/resumeBen Skeggs1-4/+7
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-17drm/nouveau: Workaround missing GPIO tables on an Apple iMac G4 NV18.Francisco Jerez1-0/+16
This should fix the reported TV-out load detection false positives (fdo bug 29455). Reported-by: Vlado Plaga <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-17drm/nouveau: Add TV-out quirk for an MSI nForce2 IGP.Francisco Jerez1-0/+8
The blob also thinks there's a TV connected, so hardware bug... Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-17drm/nv50-nvc0: ramht_size is meant to be in bytes, not entriesBen Skeggs2-2/+2
Fixes an infinite loop that can happen in RAMHT lookup. Signed-off-by: Ben Skeggs <[email protected]>
2010-08-17drm/nouveau: punt some more log messages to debug levelBen Skeggs1-5/+5
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-17drm/nouveau: remove warning about unknown tmds table revisionsBen Skeggs1-7/+5
This message is apparently confusing people, and is being blamed for some modesetting issues. Lets remove the message, and instead replace it with an unconditional printout of the table revision. Signed-off-by: Ben Skeggs <[email protected]>
2010-08-17drm/nouveau: check for error when allocating/mapping dummy pageBen Skeggs1-1/+11
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-17drm/nouveau: fix race condition when under memory pressureBen Skeggs3-10/+42
When VRAM is running out it's possible that the client's push buffers get evicted to main memory. When they're validated back in, the GPU may be used for the copy back to VRAM, but the existing synchronisation code only deals with inter-channel sync, not sync between PFIFO and PGRAPH on the same channel. This leads to PFIFO fetching from command buffers that haven't quite been copied by PGRAPH yet. This patch marks push buffers as so, and forces any GPU-assisted buffer moves to be done on a different channel, which triggers the correct synchronisation to happen before we submit them. Signed-off-by: Ben Skeggs <[email protected]>
2010-08-17drm/nv50: fix minor thinko from nvc0 changesBen Skeggs1-1/+1
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-17drm/nouveau: Don't try DDC on the dummy I2C channel.Francisco Jerez1-2/+4
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-09drm/nvc0: fix typo in PRAMIN flushBen Skeggs1-1/+1
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-09drm/nouveau: Fix DCB TMDS config parsing.Francisco Jerez1-4/+4
Thinko caused by 43bda05428a3d2021f3c12220073e0251c65df8b. Signed-off-by: Francisco Jerez <[email protected]>
2010-08-09drm/nv30: Fix PFB init for nv31.Francisco Jerez1-8/+16
Fixes a regression introduced by 58bbb63720c8997e0136fe1884101e7ca40d68fd (fdo bug 29324). Reported-by: Johannes Obermayr <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-09drm/nv04: Fix up SGRAM density detection.Francisco Jerez1-1/+1
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-09drm/i2c/ch7006: Don't use POWER_LEVEL_FULL_POWER_OFF on early chip versions.Francisco Jerez3-1/+6
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-09drm/nouveau: Init dcb->or on cards that have no usable DCB table.Francisco Jerez1-1/+1
We need a valid OR value because there're a few nv17 cards with DCB v1.4. Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nouveau: reduce severity of some "error" messagesBen Skeggs1-2/+2
There's some known configurations where the lack of these tables/scripts is perfectly normal, reduce visibilty of complaint messages to debug. Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nvc0: backup bar3 channel on suspendBen Skeggs1-0/+22
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nouveau: implement init table opcodex 0x5e and 0x9aMarcin Kościelnicki1-0/+123
Signed-off-by: Ben Skeggs <[email protected]> Signed-off-by: Marcin Kościelnicki <[email protected]>
2010-08-06drm/nouveau: implement init table op 0x57, INIT_LTIMEMarcin Kościelnicki1-0/+26
Signed-off-by: Ben Skeggs <[email protected]> Signed-off-by: Marcin Kościelnicki <[email protected]>
2010-08-06drm/nvc0: implement crtc pll settingBen Skeggs2-4/+21
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nvc0: fix evo dma object so we display somethingBen Skeggs1-1/+4
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nvc0: rudimentary instmem supportBen Skeggs1-0/+131
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nvc0: implement memory detectionBen Skeggs1-1/+5
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nvc0: allow INIT_GPIOBen Skeggs1-1/+1
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nvc0: starting point for GF100 support, everything stubbedBen Skeggs10-6/+388
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nv30: Workaround dual TMDS brain damage.Francisco Jerez1-4/+35
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nouveau: No need to set slave TV encoder configs explicitly.Francisco Jerez1-1/+0
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nv17-nv4x: Attempt to init some external TMDS transmitters.Francisco Jerez9-21/+93
sil164 and friends are the most common, usually they just need to be poked once because a fixed configuration is enough for any modes and clocks, so they worked without this patch if the BIOS had done a good job on POST. Display couldn't survive a suspend/resume cycle though. Unfortunately, BIOS scripts are useless here. Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nv10: Fix up switching of NV10TCL_DMA_VTXBUF.Francisco Jerez2-61/+132
Not very nice, but I don't think there's a simpler workaround. Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nouveau: Ack the context switch interrupt before switching contexts.Francisco Jerez1-2/+2
Leaving the IRQ unack'ed while switching contexts makes the switch fail randomly on some nv1x. Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nouveau: Fix the INIT_CONFIGURE_PREINIT BIOS opcode.Francisco Jerez1-1/+1
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nouveau: Don't pass misaligned offsets to io_mapping_map_atomic_wc().Francisco Jerez1-4/+6
Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nouveau: unwind on load errorsDan Carpenter1-10/+30
nouveau_load() just returned directly if there was an error instead of releasing resources. Signed-off-by: Dan Carpenter <[email protected]> Reviewed-by: Marcin Slusarz <[email protected]> Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nouveau: Fix AGP reset when AGP FW is already enabled on init.Francisco Jerez1-3/+4
Previously nouveau_mem_reset_agp() was only disabling AGP fast writes when coming back from suspend. However, the "locked out of the card because of FW" problem can also be reproduced on init if you unload/reload nouveau.ko several times. This patch makes the AGP code reset FW on init. Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nouveau: remove unused ttm bo listBen Skeggs3-10/+0
Signed-off-by: Ben Skeggs <[email protected]>
2010-08-06drm/nv50: use custom i2c algo for dp auxchBen Skeggs3-62/+72
This makes it easier to see how this is working, and lets us transfer the EDID in blocks of 16 bytes. The primary reason for this change is because debug logs are rather hard to read with the hundreds of single-byte auxch transactions that occur. Signed-off-by: Ben Skeggs <[email protected]>
2010-08-05agp: intel-agp: do not use PCI resources before pci_enable_device()Kulikov Vasiliy1-11/+11
IRQ and resource[] may not have correct values until after PCI hotplug setup occurs at pci_enable_device() time. The semantic match that finds this problem is as follows: // <smpl> @@ identifier x; identifier request ~= "pci_request.*|pci_resource.*"; @@ ( * x->irq | * x->resource | * request(x, ...) ) ... *pci_enable_device(x) // </smpl> Signed-off-by: Kulikov Vasiliy <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-05agp: efficeon-agp: do not use PCI resources before pci_enable_device()Kulikov Vasiliy1-11/+11
IRQ and resource[] may not have correct values until after PCI hotplug setup occurs at pci_enable_device() time. The semantic match that finds this problem is as follows: // <smpl> @@ identifier x; identifier request ~= "pci_request.*|pci_resource.*"; @@ ( * x->irq | * x->resource | * request(x, ...) ) ... *pci_enable_device(x) // </smpl> Signed-off-by: Kulikov Vasiliy <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-05drm: kill BKL from common codeArnd Bergmann9-46/+75
This restricts the use of the big kernel lock to the i830 and i810 device drivers. The three remaining users in common code (open, ioctl and release) get converted to a new mutex, the drm_global_mutex, making the locking stricter than the big kernel lock. This may have a performance impact, but only in those cases that currently don't use DRM_UNLOCKED flag in the ioctl list and would benefit from that anyway. The reason why i810 and i830 cannot use drm_global_mutex in their mmap functions is a lock-order inversion problem between the current use of the BKL and mmap_sem in these drivers. Since the BKL has release-on-sleep semantics, it's harmless but it would cause trouble if we replace the BKL with a mutex. Instead, these drivers get their own ioctl wrappers that take the BKL around every ioctl call and then set their own handlers as DRM_UNLOCKED. Signed-off-by: Arnd Bergmann <[email protected]> Cc: David Airlie <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-08-05drm/kms: Simplify setup of the initial I2C encoder config.Francisco Jerez1-0/+7
In most use cases the driver will be using the same static config all the time: interpreting i2c_board_info::platform_data as the default config we can can save the GPU driver a redundant set_config() call. Signed-off-by: Francisco Jerez <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-05drm,io-mapping: Specify slot to use for atomic mappingsChris Wilson4-16/+22
This is required should we ever attempt to use an io-mapping where KM_USER0 is verboten, such as inside an IRQ context. Signed-off-by: Chris Wilson <[email protected]> Cc: Eric Anholt <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-05drm/radeon/kms: only expose underscan on avivo chipsAlex Deucher2-11/+16
R4xx also uses the atom add connector function, but underscan is only supported on avivo chips. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>