summaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* drm/nouveau: Clean up the nv17-nv4x load detection code a bit.Francisco Jerez2010-01-113-31/+37
| | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm/nv50: fix fillrect colorMarcin Slusarz2010-01-111-1/+2
| | | | | | | | struct fb_fillrect->color is not a color, but index into pseudo_palette array Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv50: ignore vbios table's claim to the contrary if EDID says >8bpcBen Skeggs2010-01-111-0/+17
| | | | | | Should fix dim panel issues reported on Dell M6400/M6500. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: Drop redundant placement initialization.Francisco Jerez2010-01-111-10/+2
| | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm/nouveau: No need to force evict=true when swapping evicted BOs back in.Francisco Jerez2010-01-111-1/+1
| | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm/nouveau: Fix "general protection fault" in the flipd/flips eviction path.Francisco Jerez2010-01-111-2/+2
| | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm/i2c/ch7006: Drop build time dependency to nouveau.Francisco Jerez2010-01-111-3/+2
| | | | | | | | This partially reverts e4b41066, as this driver is intended to be useful with any KMS driver for suitable hardware. The missing build dependency that commit workarounded was DRM_KMS_HELPER. Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm/nouveau: Make the MM aware of pre-G80 tiling.Francisco Jerez2010-01-113-65/+265
| | | | | | | | | | | This commit has also the following 3 bugfix commits squashed into it from the nouveau git tree: drm/nouveau: Fix up the tiling alignment restrictions for nv1x. drm/nouveau: Fix up the nv2x tiling alignment restrictions. drm/nv50: fix align typo for g9x Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm/nouveau: Pre-G80 tiling support.Francisco Jerez2010-01-118-147/+185
| | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm/nouveau: Add cache_flush/pull fifo engine functions.Francisco Jerez2010-01-113-0/+48
| | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm: reduce WARN_ON to a printk.Dave Airlie2010-01-111-1/+1
| | | | | | | Lots of ppl keep thinking this is an oops, it was just a warning for me to see, just make it a printk now. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/kms/fb: check for depth changes from userspace for resizing.Dave Airlie2010-01-111-5/+4
| | | | | | | | | | If userspace (plymouth in this case) asks for a deeper depth, refuse it as well due to lack of resizing. This fixes an issue since < 32MB cards went to 8bpp and plymouth crashes on startup. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm: Keep disabled outputs disabled after suspend / resumeDavid John2010-01-111-1/+23
| | | | | | | | | | | | | With the current DRM code, an output that has been powered off from userspace will automatically power back on when resuming from suspend. This patch fixes this behaviour. Tested only with the Intel i915 driver on an Intel GM45 Express chipset. Signed-off-by: David John <davidjon@xenontk.org> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
* Merge remote branch 'korg/drm-radeon-next' into drm-linusDave Airlie2010-01-079-24/+63
|\ | | | | | | | | | | | | | | | | | | | | | | | | * korg/drm-radeon-next: drm/radeon/kms: rs600: use correct mask for SW interrupt gpu/drm/radeon/radeon_irq.c: move a dereference below a NULL test drm/radeon/radeon_device.c: move a dereference below a NULL test drm/radeon/radeon_fence.c: move a dereference below the NULL test drm/radeon/radeon_connectors.c: add a NULL test before dereference drm/radeon/kms: fix memory leak drm/radeon/kms: add missing breaks in i2c and ss lookups drm/radeon/kms: add primary dac adj values table drm/radeon/kms: fallback to default connector table
| * drm/radeon/kms: rs600: use correct mask for SW interruptLuca Tettamanti2010-01-071-1/+1
| | | | | | | | | | | | | | | | The mask happens to be the same, but the IH is reading the status, not the not the control register. Signed-off-by: Luca Tettamanti <kronos.it@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * gpu/drm/radeon/radeon_irq.c: move a dereference below a NULL testDarren Jenkins2010-01-071-5/+5
| | | | | | | | | | | | | | | | | | | | If a NULL value is possible, the dereference should only occur after the NULL test. Coverity CID: 13338 Signed-off-by: Darren Jenkins <darrenrjenkins@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/radeon_device.c: move a dereference below a NULL testDarren Jenkins2010-01-071-2/+4
| | | | | | | | | | | | | | | | | | | | If a NULL value is possible, the dereference should only occur after the NULL test. Coverity CID: 13335 Signed-off-by: Darren Jenkins <darrenrjenkins@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/radeon_fence.c: move a dereference below the NULL testDarren Jenkins2010-01-071-5/+4
| | | | | | | | | | | | | | | | | | | | If a NULL value is possible, the dereference should only occur after the NULL test. Coverity CID: 13334 Signed-off-by: Darren Jenkins <darrenrjenkins@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/radeon_connectors.c: add a NULL test before dereferenceDarren Jenkins2010-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The encoder variable can be NULL in this function so I believe it should be checked before dereference. Coverity CID: 13253 [airlied: extremely unlikely to happen] Signed-off-by: Darren Jenkins <darrenrjenkins@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: fix memory leakJiri Slaby2010-01-071-0/+1
| | | | | | | | | | | | | | | | Stanse found a memory leak in radeon_master_create. master_priv is not freed/assigned on all paths. Fix that. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: add missing breaks in i2c and ss lookupsAlex Deucher2010-01-061-0/+2
| | | | | | | | | | | | | | Should fix fdo bug 25741 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: add primary dac adj values tableAlex Deucher2010-01-061-9/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | Look up primary dac adj values from the table if there is no bios or bios dac table to reference. The lookup table may need to be adjusted for certain families. Should fix kernel bug 14945. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: fallback to default connector tableAlex Deucher2010-01-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | if necessary for combios Some early combios radeon cards don't have a connector table or dac table in the bios, if they do not, fallback to the default tables. Should fix kernel bug 14963. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | Merge branch 'drm-core-next' into drm-linusDave Airlie2010-01-077-19/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | * drm-core-next: drm/kms: Fix &&/|| confusion in drm_fb_helper_connector_parse_command_line() drm/edid: Fix CVT width/height decode drm/edid: Skip empty CVT codepoints drm: remove address mask param for drm_pci_alloc()
| * | drm/kms: Fix &&/|| confusion in drm_fb_helper_connector_parse_command_line()Roel Kluin2010-01-071-1/+1
| | | | | | | | | | | | | | | | | | | | | This always evaluates to true. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/edid: Fix CVT width/height decodeAdam Jackson2010-01-071-5/+5
| | | | | | | | | | | | | | | Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/edid: Skip empty CVT codepointsAdam Jackson2010-01-071-0/+4
| | | | | | | | | | | | | | | Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm: remove address mask param for drm_pci_alloc()Zhenyu Wang2010-01-075-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drm_pci_alloc() has input of address mask for setting pci dma mask on the device, which should be properly setup by drm driver. And leave it as a param for drm_pci_alloc() would cause confusion or mistake would corrupt the correct dma mask setting, as seen on intel hw which set wrong dma mask for hw status page. So remove it from drm_pci_alloc() function. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | | Merge remote branch 'korg/drm-radeon-next' into drm-linusDave Airlie2009-12-2321-61/+459
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * korg/drm-radeon-next: drm/radeon/kms: add definitions for v4 power tables drm/radeon/kms: never combine LVDS with another encoder drm/radeon/kms: Check module arguments to be valid V2 drm/radeon/kms: Avoid crash when trying to cleanup uninitialized structure drm/radeon/kms: add cvt mode if we only have lvds w/h and no edid (v4) drm/radeon/kms: add 3DC compression support drm/radeon/kms: allow rendering while no colorbuffer is set on r300 drm/radeon/kms: enable memory clock reading on legacy (V2) drm/radeon/kms: prevent parallel AtomBIOS calls drm/radeon/kms: set proper default tv standard drm/radeon/kms: fix legacy rmx drm/radeon/kms/atom: fill in proper defines for digital setup
| * | drm/radeon/kms: add definitions for v4 power tablesAlex Deucher2009-12-231-0/+199
| | | | | | | | | | | | | | | | | | | | | [airlied: just adding this for completeness to avoid drift between public atombios.h files] Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: never combine LVDS with another encoderAlex Deucher2009-12-231-26/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | When linking multiple encoders to a connector, make sure to not link LVDS with another connector. Some bioses have the same i2c line for LVDS and VGA. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: Check module arguments to be valid V2Jerome Glisse2009-12-231-5/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch add a function which check module argument to be valid. On invalid argument it prints a warning and setback the default value. V2: Allow 0 for vram limit & agp mode which are the default value Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: Avoid crash when trying to cleanup uninitialized structureJerome Glisse2009-12-233-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add boolean to record if some part of the driver are initialized or not this allow to avoid a crash when trying to cleanup uninitialized structure members. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: add cvt mode if we only have lvds w/h and no edid (v4)Alex Deucher2009-12-231-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes LVDS on some mac laptops without a panel edid. v2 - Set proper mode type flags v3 - Note that this is not neceesarily the exact panel mode, but an approximation based on the cvt formula. For these systems we should ideally read the mode info out of the registers or add a mode table, but this works and is much simpler. v4 - Update comments and debug message. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: add 3DC compression supportMarek Olšák2009-12-232-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | There are 2 formats: ATI1N: 64 bits per 4x4 block, one-channel format ATI2N: 128 bits per 4x4 block, two-channel format Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: allow rendering while no colorbuffer is set on r300Marek Olšák2009-12-233-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because hardware cannot disable all colorbuffers directly to do depth-only rendering, a user should: - disable reading from a colorbuffer in blending - disable fastfill - set the color channel mask to 0 to prevent writing to a colorbuffer Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: enable memory clock reading on legacy (V2)Rafał Miłecki2009-12-233-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | V2: detect IGP cards (which don't have own memory) Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Acked-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: prevent parallel AtomBIOS callsRafał Miłecki2009-12-233-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | This just adds a mutex around the atombios table execution so we don't call it from two contexts at once. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: set proper default tv standardAlex Deucher2009-12-235-8/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | we were just using 1 before. reported on irc by soreau Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms: fix legacy rmxAlex Deucher2009-12-233-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | This makes 640x480 on my R100 work again, both in aspect and centered mode. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Tested-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * | drm/radeon/kms/atom: fill in proper defines for digital setupAlex Deucher2009-12-231-8/+8
| |/ | | | | | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | Merge remote branch 'nouveau/for-airlied' into drm-linusDave Airlie2009-12-2330-706/+1710
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * nouveau/for-airlied: drm/nouveau: fix bug causing pinned buffers to lose their NO_EVICT flag drm/nv50: fix suspend/resume delays without firmware present drm/nouveau: prevent all channel creation if accel not available drm/nv50: fix two potential suspend/resume oopses drm/nv40: implement ctxprog/state generation drm/nv10: Add the initial graph context and soft methods needed for LMA. drm/nouveau: Fix up buffer eviction, and evict them to GART, if possible. drm/nouveau: Add proper error handling to nouveau_card_init drm/nv04: Fix NV04 set_operation software method. drm/nouveau: Kill global state in BIOS script interpreter drm/nouveau: Kill global state in NvShadowBIOS drm/nouveau: use drm debug levels drm/i2c/ch7006: Fix load detection false positives right after system init. drm/nv04-nv40: Fix "conflicting memory types" when saving/restoring VGA fonts.
| * drm/nouveau: fix bug causing pinned buffers to lose their NO_EVICT flagBen Skeggs2009-12-161-0/+5
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: fix suspend/resume delays without firmware presentBen Skeggs2009-12-161-0/+3
| | | | | | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: prevent all channel creation if accel not availableBen Skeggs2009-12-163-48/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if there was no firmware available, the DRM would just disable channel creation from userspace, but still use a single channel for its own purposes. With a bit of care it should actually be possible to do this, due to the DRM's very limited use of the engine. It currently doesn't work correctly however, resulting in corrupted fbcon and hangs on a number of cards. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv50: fix two potential suspend/resume oopsesBen Skeggs2009-12-162-2/+2
| | | | | | | | | | | | This avoids touching the dummy channel 0/127 we have on nv50. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv40: implement ctxprog/state generationBen Skeggs2009-12-168-182/+1031
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The context programs are *very* simple compared to the ones used by the binary driver. There's notes in nv40_grctx.c explaining most of the things we don't implement. If we discover if/why any of it is required further down the track, we'll handle it then. The PGRAPH state generated for each chipset should match what NVIDIA do almost exactly (there's a couple of exceptions). If someone has a lot of time on their hands, they could figure out the mapping of object/method to PGRAPH register and demagic the initial state a little, it's not terribly important however. At time of commit, confirmed to be working at least well enough for accelerated X (and where tested, for 3D apps) on NV40, NV43, NV44, NV46, NV49, NV4A, NV4B and NV4E. A module option has been added to force the use of external firmware blobs if it becomes required. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nv10: Add the initial graph context and soft methods needed for LMA.Francisco Jerez2009-12-161-43/+154
| | | | | | | | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: Fix up buffer eviction, and evict them to GART, if possible.Francisco Jerez2009-12-161-0/+6
| | | | | | | | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| * drm/nouveau: Add proper error handling to nouveau_card_initMarcin Kościelnicki2009-12-161-25/+48
| | | | | | | | | | | | Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net> Signed-off-by: Maarten Maathuis <madman2003@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
OpenPOWER on IntegriCloud