summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
Commit message (Collapse)AuthorAgeFilesLines
* drm/radeon/kms: don't enable pcie gen2 on NI yetAlex Deucher2011-01-071-1/+2
| | | | | | | Still needs to be implemented. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add radeon_asic struct for NI asicsAlex Deucher2011-01-071-0/+51
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms/ni: load default sclk/mclk/vddc at pm initAlex Deucher2011-01-071-0/+18
| | | | | | | | | The vbios only partially initializes the memory controller on NI, so now we need to load the MC ucode in the driver and set the default clocks once the ucode is loaded. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add ucode loader for NIAlex Deucher2011-01-075-4/+380
| | | | | | | | | The MC ucode is no longer loaded by the vbios tables as on previous asics. It now must be loaded by the driver. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add support for DCE5 display LUTsAlex Deucher2011-01-071-3/+65
| | | | | | | | | The hardware supports advanced user defined color management but at the moment, there is no infrastructure in place to take advantage of it so for now we just support the legacy LUTs. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add ni_reg.hAlex Deucher2011-01-072-0/+87
| | | | | | | | This adds some new NI (northern islands) specific display register defines. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add bo blit support for NIAlex Deucher2011-01-071-2/+67
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: always use writeback/events for fences on NIAlex Deucher2011-01-071-0/+5
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: adjust default clock/vddc tracking for pm on DCE5Alex Deucher2011-01-073-17/+29
| | | | | | | | | | | | | NI chips no longer load the MC ucode in the asic_init sequence so the asic comes up in a basic mode with low engine/memory clocks and a voltage. Once the MC ucode is loaded by the driver the card can be programmed to it's proper default clocks and voltage. As such the default clocks in the firmware info table as the post clocks, not the default running clocks. Track the default post clocks and default running clocks separately to handle this. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add backend map workaround for bartsAlex Deucher2011-01-071-0/+1
| | | | | | | Same as Cypress. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fill gpu init for NI asicsAlex Deucher2011-01-071-0/+71
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add disabled vbios accessor for NI asicsAlex Deucher2011-01-071-0/+41
| | | | | | | | | Some systems disable the vbios on secondary cards or cards that have been posted. This code re-enabled the vbios so the driver can load it. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: handle NI thermal controllerAlex Deucher2011-01-073-0/+8
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: parse DCE5 encoder caps when setting up encodersAlex Deucher2011-01-073-10/+41
| | | | | | | Needed to tell which DIG encoders are HBR2 capable for DP 1.2. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: dvo dpms updates for DCE5Alex Deucher2011-01-071-1/+15
| | | | | | | | The DVOOutputControl table was removed for DCE5. DVOEncoderControl now handles everything. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: dac dpms updates for DCE5Alex Deucher2011-01-071-6/+22
| | | | | | | | The DAC1OutputControl table was removed for DCE5. DAC1EncoderControl now handles everything. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: DCE5 atom dig encoder updatesAlex Deucher2011-01-071-5/+26
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: DCE5 atom transmitter control updatesAlex Deucher2011-01-071-5/+14
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: DCE5 atom spread spectrum updatesAlex Deucher2011-01-071-1/+25
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: DCE5 atom SetPixelClock updatesAlex Deucher2011-01-072-9/+47
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: DCE5 supports 16k display surfacesAlex Deucher2011-01-071-1/+4
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: update display watermark calculations for DCE5Alex Deucher2011-01-071-4/+16
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add NI chip familiesAlex Deucher2011-01-073-0/+7
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: clean up ASIC_IS_DCE41() macroAlex Deucher2011-01-072-4/+5
| | | | | | | only fusion asics are dce4.1 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: fix some typos in evergreen pm4 definesAlex Deucher2011-01-071-3/+3
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: set the MSB of the HDP slice sizeAlex Deucher2011-01-071-1/+1
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add support for gen2 pcie link speedsAlex Deucher2011-01-077-0/+348
| | | | | | | Supported on rv6xx/r7xx/evergreen. Cards come up in gen1 mode. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add pcie get/set lane support for r6xx/r7xx/evergreenAlex Deucher2011-01-076-11/+145
| | | | | Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: add quirk for Mac Radeon HD 2600 cardAlex Deucher2011-01-061-0/+11
| | | | | | | Reported-by: 屋国遥 <hyagni@gmail.com> Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon: use system_wq instead of dev_priv->wqTejun Heo2011-01-068-44/+23
| | | | | | | | | | | | | | | | | | With cmwq, there's no reason for radeon to use a dedicated workqueue. Drop dev_priv->wq and use system_wq instead. Because radeon_driver_irq_uninstall_kms() may be called from unsleepable context, the work items can't be flushed from there. Instead, init and flush from radeon_irq_kms_init/fini(). While at it, simplify canceling/flushing of rdev->pm.dynpm_idle_work. Always initialize and sync cancel instead of being unnecessarily smart about it. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Alex Deucher <alexdeucher@gmail.com> Cc: dri-devel@lists.freedesktop.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: manage r300 CMASK RAM access and allow CMASK clearMarek Olšák2011-01-065-14/+40
| | | | | | | | | | | | The CMASK RAM is for colorbuffer compression (used in conjunction with MSAA). Only one user (filp) can access it. The CMASK RAM access is managed in the same way as Hyper-Z, but there is a separate ioctl, because an app that uses MSAA does not necessarily have to use zbuffering. Signed-off-by: Marek Olšák <maraeo@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: adjust quirk for acer laptopAlex Deucher2011-01-061-10/+11
| | | | | | | | | | | | | | | | | | | Acer laptop (TravelMate 5730G) has an HDMI connector on the laptop and a DVI connector on the docking station and both share the same encoder, hpd pin, and ddc line. The bios connector table reflects this and is technically correct, however, we drop the DVI connector here since xrandr has no concept of encoders (only crtcs and connectors) and will try and drive both connectors with different crtcs which isn't possible on the hardware side and leaves no crtcs for LVDS or VGA. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=32732 Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by: Dave Airlie <airlied@redhat.com>
* vga_switcheroo: split switching into two stages.Dave Airlie2011-01-051-11/+34
| | | | | | | stage 1: turn card on, switch boot vga pointer. stage 2: switch fbs, switch mux and power off old card. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/switcheroo: track state of switch in drivers.Dave Airlie2011-01-059-12/+35
| | | | | | | | We need to track the state of the switch in drivers, so that after s/r we don't resume the card we've explicitly switched off before. Also don't allow a userspace open to occur if we've switched the gpu off. Signed-off-by: Dave Airlie <airlied@redhat.com>
* vga_switcheroo: add reprobe hook for fbcon to recheck connected outputs.Dave Airlie2011-01-054-0/+15
| | | | | | | This adds a hook after the mux is switched for the driver to reprobe the connected outputs. Signed-off-by: Dave Airlie <airlied@redhat.com>
* nouveau/acpi: improve detection of what is IGD and what is DIS.Dave Airlie2011-01-051-3/+8
| | | | | | | | This improves the IGD/DIS picking using firstly if Intel, then if the bus is bus 0. There may be a correct way to do this, but I've no idea what it is. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/nouveau: add delayed switch complete callback.Dave Airlie2011-01-051-0/+1
| | | | | | this just adds the callback on the delayed switch mechanism. Signed-off-by: Dave Airlie <airlied@redhat.com>
* vga_switcheroo: add debugging mux switch option.Dave Airlie2011-01-051-0/+16
| | | | | | | This allows the mux to be switched from userspace using MIGD/MDIS command to the switch. Signed-off-by: Dave Airlie <airlied@redhat.com>
* vga_switcheroo: make power switch handler optionalDave Airlie2011-01-051-4/+4
| | | | | | | At least on the nvidia mux the power switch seems to be executed by the ACPI PS0/PS3 methods so need to do it explicitly. Signed-off-by: Dave Airlie <airlied@redhat.com>
* vga_switcheroo: print the IGD/DIS flag in the debugfs output.Dave Airlie2011-01-051-1/+2
| | | | | | We really want to see this so we can confirm that we pick the right one. Signed-off-by: Dave Airlie <airlied@redhat.com>
* drm/radeon/kms: implement gpu lockup check for evergreenAlex Deucher2011-01-052-2/+25
| | | | | | | Now that soft reset works, we can add this. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* Merge branch 'master' of /home/airlied/kernel/linux-2.6 into drm-core-nextDave Airlie2011-01-0516-46/+129
|\
| * drm/i915/dvo: Report LVDS attached to ch701x as connectedChris Wilson2010-12-301-1/+1
| | | | | | | | | | | | | | | | As we have already detected something attached to the chip during initialisation, always report the LVDS connector status as connected during probing. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
| * Revert "drm/i915/bios: Reverse order of 100/120 Mhz SSC clocks"Chris Wilson2010-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | As I feared, whilst this fixed the clocks for the Lenovo U160, it broke many other machines. So lets reverts commit 448f53a1ede54eb854d036abf and search for the real bug. Reported-and-tested-by: Travis Hume <travis@computoring.org> [et al] Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=25842 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=32698 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
| * drm/i915: Verify Ironlake eDP presence on DP_A using the capability fuseChris Wilson2010-12-232-1/+25
| | | | | | | | Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
| * drm/i915, intel_ips: When i915 loads after IPS, make IPS relink to i915.Eric Anholt2010-12-231-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The IPS driver is designed to be able to run detached from i915 and just not enable GPU turbo in that case, in order to avoid module dependencies between the two drivers. This means that we don't know what the load order between the two is going to be, and we had previously only supported IPS after (optionally) i915, but not i915 after IPS. If the wrong order was chosen, you'd get no GPU turbo, and something like half the possible graphics performance. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org
| * drm/i915/sdvo: Add hdmi connector properties after initing the connectorChris Wilson2010-12-231-1/+2
| | | | | | | | | | | | Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=25012 Reported-by: Tõnu Raitviir <jussuf@linux.ee> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
| * drm/i915: Set the required VFMUNIT clock gating disable on Ironlake.Eric Anholt2010-12-232-0/+5
| | | | | | | | | | | | | | | | It's required by the specs, but we don't know why. Let's not find out why. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
| * drm: Include the connector name in the output_poll_execute() debug messageChris Wilson2010-12-221-1/+4
| | | | | | | | | | | | | | | | Always useful to know just which connector was polled and had its status updated. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Dave Airlie <airlied@redhat.com>
| * drm/radeon/kms: fix bug in r600_gpu_is_lockupAlex Deucher2010-12-221-2/+8
| | | | | | | | | | | | | | | | We were using the lockup struct from the wrong union. Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Cc: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
OpenPOWER on IntegriCloud