summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* drm/nouveau: create function for "dealing" with gpu lockupMarcin Slusarz2010-01-114-26/+22
| | | | | | | | It's mostly a cleanup, but in nv50_fbcon_accel_init gpu lockup message was printed, but HWACCEL_DISBALED flag was not set. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: remove unused nouveau_channel_idle() functionBen Skeggs2010-01-112-42/+0
| | | | Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nouveau: fix handling of fbcon colours in 8bppBen Skeggs2010-01-112-4/+10
| | | | | | | Depending on the visual, the colours handed to us in fillrect() can either be an actual colour, or an index into the pseudo-palette. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
* drm/nv04: Context switching fixes.Francisco Jerez2010-01-111-74/+78
| | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm/nouveau: Use the software object for fencing.Francisco Jerez2010-01-112-3/+4
| | | | | | | | | | | | | This should avoid a race condition on nv0x, if we're doing it with actual PGRAPH objects and a there's a fence within the FIFO DMA fetch area when a context switch kicks in. In that case we get an ILLEGAL_MTHD interrupt as expected, but the values in PGRAPH_TRAPPED_ADDR aren't calculated correctly and they're almost useless (e.g. you can see ILLEGAL_MTHDs for the now inactive channel, with a wrong offset/data pair). Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm/nouveau: Allocate a per-channel instance of NV_SW.Francisco Jerez2010-01-116-24/+48
| | | | | | | | It will be useful for various synchronization purposes, mostly stolen from "[PATCH] drm/nv50: synchronize user channel after buffer object move on kernel channel" by Maarten Maathuis. Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm/nv50: make the blocksize depend on vram sizeMaarten Maathuis2010-01-111-17/+19
| | | | | | | - This should be better than what we have now. - I'm less sure about the non power of two path. Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
* drm/nouveau: better alignment of bo sizes and use roundup instead of ALIGNMaarten Maathuis2010-01-112-4/+8
| | | | | | | - Aligning to block size should ensure that the extra size is enough. - Using roundup, because not all sizes are powers of two. Signed-off-by: Maarten Maathuis <madman2003@gmail.com>
* drm/nouveau: Don't skip card take down on nv0x.Francisco Jerez2010-01-111-2/+2
| | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* drm/nouveau: Implement nv42-nv43 TV load detection.Francisco Jerez2010-01-111-1/+89
| | | | Signed-off-by: Francisco Jerez <currojerez@riseup.net>
* 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>
* Merge remote branch 'korg/drm-radeon-testing' into drm-testingDave Airlie2010-01-0830-468/+649
|\
| * drm/radeon/kms: Don't try to enable IRQ if we have no handler installedJerome Glisse2010-01-084-5/+28
| | | | | | | | | | | | | | | | | | If for any reason we haven't installed handler we shouldn't try to enable IRQ/MSI on the hw so we don't get unhandled IRQ/MSI which makes the kernel sad. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm: Avoid calling vblank function is vblank wasn't initializedJerome Glisse2010-01-081-1/+4
| | | | | | | | | | | | | | | | | | | | In some case vblank might not be initialized and we shouldn't try to use associated function. This patch make sure this is the case. It also export drm_vblank_cleanup so driver can cleanup vblank if for any reason IRQ/MSI is not working. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon: mkregtable.c: close a file before exitAlexander Beregalov2010-01-081-1/+3
| | | | | | | | | | Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: Make sure we release AGP device if we acquired itJerome Glisse2010-01-085-8/+6
| | | | | | | | | | | | | | | | | | In some case we weren't releasing the AGP device at module unloading. This leaded to unfunctional AGP at next module load. This patch make sure we release the AGP bus if we acquire it. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: Schedule host path read cache flush through the ring V2Jerome Glisse2010-01-0813-32/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | R300 family will hard lockup if host path read cache flush is done through MMIO to HOST_PATH_CNTL. But scheduling same flush through ring seems harmless. This patch remove the hdp_flush callback and add a flush after each fence emission which means a flush after each IB schedule. Thus we should have same behavior without the hard lockup. Tested on R100,R200,R300,R400,R500,R600,R700 family. V2: Adjust fence counts in r600_blit_prepare_copy() Signed-off-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: Workaround RV410/R420 CP errata (V3)Corbin Simpson2010-01-082-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Long story short, this fixes sporadic hardlocks with my rv410 during times of intense 2D acceleration (Flash on Fx3). V2: Fix indentation and move errata_fini to suspend function so we don't leak scratch register over suspend/resume cycle. V3: Move scratch_reg to asic specific structure (aim is to slowly move stuff to asic specific structure and avoid poluting radeon_device struct with asic specific variables) Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com> Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: detect sideport memory on IGP chipsAlex Deucher2010-01-088-3/+64
| | | | | | | | | | | | | | | | | | | | This detects if the sideport memory is enabled and if it is VRAM is evicted on suspend/resume. This should fix s/r issues on some IGPs. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon: fix a couple of array index errorsDarren Jenkins2010-01-081-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a couple of array overruns, and some associated confusion in the code. This is just a wild guess at what the code should actually look like. Coverity CID: 13305 13306 agd5f: fix up the original intent of the timing code Signed-off-by: Darren Jenkins <darrenrjenkins@gmail.com> Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: add support for eDP (embedded DisplayPort)Alex Deucher2010-01-085-12/+32
| | | | | | | | | | | | | | | | This is displayport used for internal connections such as laptop panels and systems with integrated monitors. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm: Add eDP connector typeAlex Deucher2010-01-082-0/+2
| | | | | | | | | | | | | | | | | | | | Add a new connector type for eDP (embedded displayport) eDP is more or less the same as DP but there are some cases when you might want to handle it separately. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: pull in the latest upstream ObjectID.h changesAlex Deucher2010-01-081-1/+126
| | | | | | | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: whitespace changes to ObjectID.hAlex Deucher2010-01-081-369/+309
| | | | | | | | | | | | | | | | Makes it easier to keep in sync with ddx and the upstream AMD versions. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: fix typo in atom connector type handlingAlex Deucher2010-01-082-31/+5
| | | | | | | | | | | | | | | | Also remove the problematic enums that were unused remnants from the ddx. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* | Merge remote branch 'korg/drm-core-next' into drm-testingDave Airlie2010-01-082-6/+27
|\ \
| * | drm/kms/fb: check for depth changes from userspace for resizing.Dave Airlie2010-01-081-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-081-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-078-20/+24
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | * 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>
OpenPOWER on IntegriCloud