aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-08-10drm/edid: Split mode lists out to their own header for readabilityAdam Jackson2-353/+381
... of the code, not of the mode lists. Signed-off-by: Adam Jackson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm/edid: Rewrite mode parse to use the generic detailed block walkAdam Jackson1-253/+273
This brings us in line with the EDID spec recommendation for mode priority sorting. We still don't extract all the modes we could from VTB, but VTB is so rare in the wild that I'm not really concerned. Signed-off-by: Adam Jackson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm/edid: Add detailed block walk for VTB extensionsAdam Jackson1-0/+16
Signed-off-by: Adam Jackson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm/edid: Add detailed block walk for CEA extensionsAdam Jackson2-1/+43
Signed-off-by: Adam Jackson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm: Remove unused fields from drm_display_infoAdam Jackson2-49/+1
Signed-off-by: Adam Jackson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm: Use ENOENT consistently for the error return for an unmatched handle.Chris Wilson9-30/+30
This is consistent with trying to access a filename that not exist within a directory which is a good analogy here. The main reason for the change is that it is easy to confuse the error code of EBADF as an performing an ioctl on an invalid file descriptor (rather than an unknown object). Signed-off-by: Chris Wilson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm/radeon/kms: mark 3D power states as performanceAlex Deucher1-0/+5
Fixes lack of power saving with multiple heads on some desktop cards. Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=16474 Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm: Only set DPMS once on the CRTC not after every encoder.Chris Wilson1-5/+5
Signed-off-by: Chris Wilson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm/radeon/kms: add additional quirk for Acer rv620 laptopAlex Deucher1-2/+12
HPD pins are reversed Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=29387 Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm: Propagate error code from fb_create()Chris Wilson6-17/+18
Change the interface to expect a PTR_ERR specifing the real error code as opposed to assuming a NULL return => -EINVAL. Just once the user may not be at fault! Signed-off-by: Chris Wilson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10radeon: handle errors in radeon_hwmon_init()Dan Carpenter1-5/+19
Smatch complained that the ERR_PTR from hwmon_device_register() wasn't handled.  I added some error handling in radeon_hwmon_init() to silence the warning. Unfortunately errors from radeon_pm_init() aren't handled so this doesn't really make a difference beyond silencing the warning. Also I changed DRM_ERROR() to dev_err() which is the new preferred method. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm/radeon/kms: add support for router objectsAlex Deucher5-15/+147
router objects are found on systems that use a mux to control ddc line to connector routing or to control the actual clock and data routing from the chip to the connectors. This patch implements ddc line routing. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm/radeon/kms: rework combios i2c handlingAlex Deucher1-247/+168
Handle asic specific table to hw mappings in combios_setup_i2c_bus() directly. This allows us to remove most of the combios quirks and clean up the i2c bus setup. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm/radeon/kms: unify i2c handlingAlex Deucher7-32/+214
Previously we added i2c buses as needed when enumerating connectors power management, etc. This only exposed the actual buses used and could have lead to the same buse getting created more than once if one buses was used for more than one purpose. This patch sets up all i2c buses on the card in one place and users of the buses just point back to the one instance. Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm/radeon/kms: r600 CS parser fixesAlex Deucher1-12/+15
- buffer offsets in the base regs are 256b aligned so shift properly when comparing, fixed by Andre Maasikas - mipmap size was calculated wrong when nlevel=0 - texture bo offsets were used after the bo base address was added - vertex resource size register is size - 1, not size Signed-off-by: Alex Deucher <[email protected]> Cc: Andre Maasikas <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm/radeon: add a way to revoke hyper-z accessMarek Olšák1-5/+19
Signed-off-by: Marek Olšák <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10drm: Fix support for PCI domainsBenjamin Herrenschmidt3-7/+18
(For some reason I thought that went in ages ago ...) This fixes support for PCI domains in what should hopefully be a backward compatible way along with a change to libdrm. When the interface version is set to 1.4, we assume userspace understands domains and the world is at peace. We thus pass proper domain numbers instead of 0 to userspace. The newer libdrm will then try 1.4 first, and fallback to 1.1, along with ignoring domains in the later case (well, except on alpha of course) Signed-off-by: Benjamin Herrenschmidt <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2010-08-10Merge remote branch 'nouveau/for-airlied' of /ssd/git/drm-nouveau-next into ↵Dave Airlie30-201/+1118
drm-core-next * 'nouveau/for-airlied' of /ssd/git/drm-nouveau-next: (27 commits) drm/nvc0: fix typo in PRAMIN flush drm/nouveau: Fix DCB TMDS config parsing. drm/nv30: Fix PFB init for nv31. drm/nv04: Fix up SGRAM density detection. drm/i2c/ch7006: Don't use POWER_LEVEL_FULL_POWER_OFF on early chip versions. drm/nouveau: Init dcb->or on cards that have no usable DCB table. drm/nouveau: reduce severity of some "error" messages drm/nvc0: backup bar3 channel on suspend drm/nouveau: implement init table opcodex 0x5e and 0x9a drm/nouveau: implement init table op 0x57, INIT_LTIME drm/nvc0: implement crtc pll setting drm/nvc0: fix evo dma object so we display something drm/nvc0: rudimentary instmem support drm/nvc0: implement memory detection drm/nvc0: allow INIT_GPIO drm/nvc0: starting point for GF100 support, everything stubbed drm/nv30: Workaround dual TMDS brain damage. drm/nouveau: No need to set slave TV encoder configs explicitly. drm/nv17-nv4x: Attempt to init some external TMDS transmitters. drm/nv10: Fix up switching of NV10TCL_DMA_VTXBUF. ...
2010-08-10drm/radeon/kms: add missing copy from userDr. David Alan Gilbert1-1/+3
This hasn't mattered up until the ioctl started using the value, and it fell apart. fixes fd.o 29340, Ubuntu LP 606081 [airlied: cleaned up whitespace and don't need an error before pushing] Signed-off-by: Dr. David Alan Gilbert <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[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]>