summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2010-05-24drm: Fixes linux-next & linux-2.6 checkstack warnings:Prarit Bhargava2-3/+18
drivers/gpu/drm/nouveau/nv40_graph.c: In function `nv40_graph_init': drivers/gpu/drm/nouveau/nv40_graph.c:400: warning: the frame size of 1184 bytes is larger than 1024 bytes drivers/gpu/drm/radeon/radeon_atombios.c: In function `radeon_get_atom_connector_info_from_supported_devices_table': drivers/gpu/drm/radeon/radeon_atombios.c:857: warning: the frame size of 1872 bytes is larger than 1024 bytes Signed-off-by: Prarit Bhargava <prarit@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-24nouveau: fix acpi_lid_open undefinedRandy Dunlap1-1/+2
When CONFIG_ACPI_BUTTON=m (and probably when ACPI_BUTTON is not enabled) and NOUVEAU is built-in (not as a loadable module): nouveau_connector.c:(.text+0xe17ce): undefined reference to `acpi_lid_open' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Acked-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-24drm/radeon/kms: release AGP bridge at suspendJerome Glisse3-0/+8
I think it's good to release the AGP bridge at suspend and reacquire it at resume. Also fix : https://bugzilla.kernel.org/show_bug.cgi?id=15969 Signed-off-by: Jerome Glisse <jglisse@redhat.com> Cc: stable <stable@kernel.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-21drm/radeon/kms/pm/r600: select the mid clock mode for single head low profileAlex Deucher1-1/+1
This saves some more power at the expense of performance. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-21Merge remote branch 'nouveau/for-airlied' into drm-nextDave Airlie15-223/+1067
* nouveau/for-airlied: drm/nouveau: fix i2c-related init table handlers drm/nouveau: support init table i2c device identifier 0x81 drm/nouveau: ensure we've parsed i2c table entry for INIT_*I2C* handlers drm/nouveau: display error message for any failed init table opcode drm/nouveau: fix init table handlers to return proper error codes drm/nv50: support fractional feedback divider on newer chips drm/nv50: fix monitor detection on certain chipsets drm/nv50: store full dcb i2c entry from vbios drm/nv50: fix suspend/resume with DP outputs drm/nv50: output calculated crtc pll when debugging on drm/nouveau: dump pll limits entries when debugging is on drm/nouveau: bios parser fixes for eDP boards drm/nouveau: fix a nouveau_bo dereference after it's been destroyed drm/nv40: remove some completed ctxprog TODOs drm/nv04: Implement missing nv04 PGRAPH methods in software. drm/nouveau: Use 0x5f instead of 0x9f as imageblit on original NV10.
2010-05-21drm/radeon: fix power supply kconfig interaction.Dave Airlie2-1/+1
radeon needs power supply to get correct PM info so select it at the radeon level not at the kms option. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-21drm/radeon/kms: record object that have been list reservedJerome Glisse2-1/+6
list reservation was too optimistic about ttm object reservation and could think that an object reserved by some other process as reserved by the list reservation which was false. Thus when unreserving the list it might unreserve object that it didn't reserved in the list. Sorry if it's hard to follow but this kind of things are just causing headheck. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-21drm/radeon: AGP memory is only I/O if the aperture can be mapped by the CPU.Michel Dänzer1-1/+1
Fixes AGP initialization failure with Apple UniNorth bridges due to trying to ioremap() normal RAM. Signed-off-by: Michel Dänzer <daenzer@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-21drm/radeon/kms: don't default display priority to high on rs4xxAlex Deucher1-1/+4
Seems to cause issues with the sound hardware. Fixes kernel bug 15982: https://bugzilla.kernel.org/show_bug.cgi?id=15982 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-21drm/edid: fix typo in 1600x1200@75 modeAlex Deucher1-1/+1
Spotted by Scott Bertilson. Fixes fdo bug 28146. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Reviewed-by: Mark Marshall <mark.marshall@csr.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-19drm/nouveau: fix i2c-related init table handlersBen Skeggs1-39/+38
Mutliple issues. INIT_ZM_I2C_BYTE/INIT_I2C_BYTE didn't even try and use the register value, and all the handlers were using the wrong slave address. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nouveau: support init table i2c device identifier 0x81Ben Skeggs1-0/+3
It appears to be meant to reference the second "default index". Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nouveau: ensure we've parsed i2c table entry for INIT_*I2C* handlersBen Skeggs1-77/+88
We may not have parsed the entry yet if the i2c_index is for an i2c bus that's not referenced by a DCB encoder. This could be done oh so much more nicely, except we have to care about prehistoric DCB tables too, and they make life painful. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nouveau: display error message for any failed init table opcodeBen Skeggs1-16/+23
Some handlers don't report specific errors, but we still *really* want to know if we failed to parse a complete init table. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nouveau: fix init table handlers to return proper error codesBen Skeggs1-23/+28
We really want to be able to distinguish between INIT_DONE and an actual error sometimes. This commit fixes up several lazy "return 0;" to be actual error codes, and explicitly reserves "0" as "success, but stop parsing this table". Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nv50: support fractional feedback divider on newer chipsBen Skeggs4-24/+120
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nv50: fix monitor detection on certain chipsetsBen Skeggs1-5/+16
There appears to be some kind of switch on certain chips to control whether the DP auxch or traditional i2c bus will be operational on a connector, this commit hopefully fixes nouveau to do the right thing. Likely only relevent on chips with DP outputs. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nv50: store full dcb i2c entry from vbiosBen Skeggs2-2/+7
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nv50: fix suspend/resume with DP outputsBen Skeggs4-5/+46
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nv50: output calculated crtc pll when debugging onBen Skeggs1-0/+6
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nouveau: dump pll limits entries when debugging is onBen Skeggs1-25/+26
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nouveau: bios parser fixes for eDP boardsBen Skeggs1-0/+124
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nouveau: fix a nouveau_bo dereference after it's been destroyedBen Skeggs1-1/+1
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nv40: remove some completed ctxprog TODOsBen Skeggs1-5/+0
I actually thought these were gone already when the initial commit was done.. I guess not! Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nv04: Implement missing nv04 PGRAPH methods in software.Marcin Kościelnicki1-13/+553
Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/nouveau: Use 0x5f instead of 0x9f as imageblit on original NV10.Marcin Kościelnicki1-1/+1
Signed-off-by: Marcin Kościelnicki <koriakin@0x04.net> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-05-19drm/radeon: fix hdmi offset bug reported by smatch.Dave Airlie1-1/+1
Reported-by: Dan Carpenter Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-19drm/radeon/kms: hpd cleanupAlex Deucher4-16/+15
- Use radeon hpd enum consistently (in both hotplug and dp) - Legacy r100 with DVI should be HPD_1 not NONE Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-19drm/radeon/kms: reset ddc_bus in object header parsingAlex Deucher1-3/+2
Some LVDS connectors don't have a ddc bus, so reset the ddc bus to invalid before parsing the next connector to avoid using stale ddc bus data. Should fix fdo bug 28164. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-19amd64-agp: Probe unknown AGP devices the right wayBen Hutchings1-12/+15
The current initialisation code probes 'unsupported' AGP devices simply by calling its own probe function. It does not lock these devices or even check whether another driver is already bound to them. We must use the device core to manage this. So if the specific device id table didn't match anything and agp_try_unsupported=1, switch the device id table and call driver_attach() again. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-19sis-agp: Remove SIS 760, handled by amd64-agpBen Hutchings1-8/+0
SIS 760 is listed in the device tables for both amd64-agp and sis-agp. amd64-agp is apparently preferable since it has workarounds for some BIOS misconfigurations that sis-agp doesn't handle. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-19Merge remote branch 'anholt/drm-intel-next' into drm-nextDave Airlie239-1076/+4819
* anholt/drm-intel-next: (515 commits) drm/i915: Fix out of tree builds drm/i915: move fence lru to struct drm_i915_fence_reg drm/i915: don't allow tiling changes on pinned buffers v2 drm/i915: Be extra careful about A/D matching for multifunction SDVO drm/i915: Fix DDC bus selection for multifunction SDVO drm/i915: cleanup mode setting before unmapping registers drm/i915: Make fbc control wrapper functions drm/i915: Wait for the GPU whilst shrinking, if truly desperate. drm/i915: Use spatio-temporal dithering on PCH [MTD] Remove zero-length files mtdbdi.c and internal.ho pata_pcmcia / ide-cs: Fix bad hashes for Transcend and kingston IDs libata: Fix several inaccuracies in developer's guide slub: Fix bad boundary check in init_kmem_cache_nodes() raid6: fix recovery performance regression KEYS: call_sbin_request_key() must write lock keyrings before modifying them KEYS: Use RCU dereference wrappers in keyring key type code KEYS: find_keyring_by_name() can gain access to a freed keyring ALSA: hda: Fix 0 dB for Packard Bell models using Conexant CX20549 (Venice) ALSA: hda - Add quirk for Dell Inspiron 19T using a Conexant CX20582 ALSA: take tu->qlock with irqs disabled ...
2010-05-18drm/radeon/pm: fix device_create_file return value checks.Dave Airlie1-2/+7
print an error if these fail. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18drm/radeon/kms/pm: fix r6xx+ profile setupAlex Deucher1-61/+53
This patch is a combination of the previous two profile patches, but without the index bugs. It cleans up and fixes some issues with pm profile setup on r6xx chips. Some tables have different orderings for the power states, also, r600 only has 1 clock mode per power state. On desktop cards there are no battery modes, so the low and high power states are the same. For the low profile case, choose the lower clock mode. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18drm/radeon/kms/pm: make pm spam debug onlyAlex Deucher4-24/+24
Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18drm/radeon/kms/pm: rework power managementAlex Deucher19-519/+790
- Separate dynpm and profile based power management methods. You can select the pm method by echoing the selected method ("dynpm" or "profile") to power_method in sysfs. - Expose basic 4 profile in profile method "default" - default clocks "auto" - select between low and high based on ac/dc state "low" - DC, low power mode "high" - AC, performance mode The current base profile is "default", but it should switched to "auto" once we've tested on more systems. Switching the state is a matter of echoing the requested profile to power_profile in sysfs. The lowest power states are selected automatically when dpms turns the monitors off in all states but default. - Remove dynamic fence-based reclocking for the moment. We can revisit this later once we have basic pm in. - Move pm init/fini to modesetting path. pm is tightly coupled with display state. Make sure display side is initialized before pm. - Add pm suspend/resume functions to make sure pm state is properly reinitialized on resume. - Remove dynpm module option. It's now selectable via sysfs. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18drm/radeon/kms/pm: add support for no display power statesAlex Deucher8-40/+94
The lowest power states often cause display problems, so only enable them when all displays are off. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18drm/radeon/kms: fix lock ordering in ring, ib handlingAlex Deucher1-17/+22
Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18radeon: Use fences to gate entry to reclocking on <r600Matthew Garrett1-0/+8
GUI idle interrupts don't seem to work terribly well on r500 and earlier, so let's use a fence instead. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18radeon: Split out ring locking and allocationMatthew Garrett2-6/+23
We need to handle the ring while we've already locked it, so split out the allocation and commit functions in order to allow them to be used. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18drm/radeon/kms: enable misc pm power state features on r1xx-r4xxAlex Deucher1-2/+0
voltage drop, dynamic voltage, dynamic sclk, pcie lane adjust, etc, Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18drm/radeon/kms: enable misc pm power state features on r5xx, rs6xxAlex Deucher2-4/+12
voltage drop, dynamic voltage, dynamic sclk, pcie lane adjust, etc, Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18drm/radeon/kms: re-enable gui idle interrupts on r6xx+Alex Deucher1-11/+13
Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18drm/radeon/kms: take vram mutex pointer before derefing object.Dave Airlie1-2/+4
since derefing the object might free it. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18drm/radeon/kms: more pm fixesAlex Deucher4-63/+45
- disable gui idle interrupt use Seems to hang some r5xx chips - move vbl range check into existing vbl check function in radeon_pm.c - disable crtc mc acccess for the whole reclocking process Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18drm: move radeon_fixed.h to shared drm_fixed.h headerBen Skeggs9-447/+380
Will be used by nouveau driver also in the near future. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18radeon: Enable memory reclocking on r100-500Matthew Garrett1-4/+5
This seems to be relatively stable now, so enable it for these chipsets too. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18radeon: Try harder to ensure we reclock in vblankMatthew Garrett4-1/+39
The vblank interrupt on r600 doesn't seem to be especially reliable, so perform some sanity checks before the actual reclock. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18radeon: Fix locking in power management pathsMatthew Garrett1-14/+4
The ttm code could take vram_mutex followed by cp_mutex, while the reclocking code would do the reverse. Hilarity could ensue. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-05-18radeon: Make sure that we determine the correct PM state before transitionMatthew Garrett1-0/+3
We need to choose the correct PM state to transition into before starting the actual change. Call radeon_get_power_state() at the top of the clock setting to do so. Signed-off-by: Matthew Garrett <mjg@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>