History log of /drivers/gpu/drm/radeon/radeon_atombios.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
70838c4536517458c38249763311ff56727cd293 23-May-2012 Alex Deucher <alexander.deucher@amd.com> drm/radeon: fix XFX quirk

commit 1ebf169ad4dc68f18cc0dab35163b0f324fc6c41 upstream.

Only override the ddc bus if the connector doesn't have
a valid one. The existing code overrode the ddc bus for
all connectors even if it had ddc bus.

Fixes ddc on another XFX card with the same pci ids that
was broken by the quirk overwriting the correct ddc bus.

Reported-by: Mehdi Aqadjani Memar <m.aqadjanimemar@student.ru.nl>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/drivers/gpu/drm/radeon/radeon_atombios.c
14607d08366c3787f70b8e5a0a29adfb28e5f128 20-Mar-2012 Alex Deucher <alexander.deucher@amd.com> drm/radeon/kms: update power table parsing for SI

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
e83753bb61f6d2184daf3c59707094d8994ec85e 20-Mar-2012 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/atom: add support for SI SetVoltage table

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
82d118efc65214f46138371a6daab5e7d71a723d 20-Mar-2012 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: fix up atom HPD gpio parsing for DCE6

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
f73468810ec2492b1bc99da87956023935de4805 20-Mar-2012 Alex Deucher <alexander.deucher@amd.com> drm/radeon/kms: upstream power table updates

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
4c1b2d2da3451f5c8dd59bd7e05bd9729d2aee05 16-Mar-2012 Alex Deucher <alexander.deucher@amd.com> drm/radeon/kms: add connector quirk for Fujitsu D3003-S2 board

vbios lists DVI-I port as VGA and DVI-D.

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=47007

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
3ac0eb6d62fde0a60a6c5c61e562af1db8fbf712 20-Feb-2012 Alex Deucher <alexander.deucher@amd.com> drm/radeon/kms/atom: dpms bios scratch reg updates

dpms bits not used on DCE4+

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
6f9f8a61089bb177e53e14ee62f4a65134f3692f 13-Feb-2012 Alex Deucher <alexander.deucher@amd.com> drm/radeon/kms/atom: bios scratch reg handling updates

- Add missing DFP6 connection state handling
- crtc routing bits not used on DCE4+

Noticed by sylware on phoronix.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
4376eee92e5a8332b470040e672ea99cd44c826a 30-Dec-2011 Alexander Müller <serveralex@gmail.com> drm/radeon/kms/atom: fix possible segfault in pm setup

If we end up with no power states, don't look up
current vddc.

fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=44130

agd5f: fix patch formatting

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
21240f9bc1b0ac925cd18b74618327a110022332 21-Nov-2011 Alex Deucher <alexander.deucher@amd.com> drm/radeon/kms/atom: unify i2c gpio table handling

Split the quirks and i2c_rec assignment into separate
functions used by both radeon_lookup_i2c_gpio() and
radeon_atombios_i2c_init(). This avoids duplicating code
and cases where quirks were only added to one of the
functions.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
d724502a9d7a46f4a56a1663b1f50d2dc9d1ef40 21-Nov-2011 Alex Deucher <alexander.deucher@amd.com> drm/radeon/kms: fix up gpio i2c mask bits for r4xx for real

Fixes i2c test failures when i2c_algo_bit.bit_test=1.

The hw doesn't actually require a mask, so just set it
to the default mask bits for r1xx-r4xx radeon ddc.

I missed this part the first time through.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@kernel.org
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
6991b8f2a3193397461104a27be417addb8d032b 14-Nov-2011 Alex Deucher <alexander.deucher@amd.com> drm/radeon/kms: fix segfault in pm rework

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
6c47e5c23aa2a7c54ad7ac13af4bd56cd9e703bf 14-Nov-2011 Alex Deucher <alexander.deucher@amd.com> drm/radeon/kms: fix up gpio i2c mask bits for r4xx

Fixes i2c test failures when i2c_algo_bit.bit_test=1.

The hw doesn't actually require a mask, so just set it
to the default mask bits for r1xx-r4xx radeon ddc.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@kernel.org
Cc: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
8f3f1c9a22a6420e28c2d3eff59b832893bc8efc 04-Nov-2011 Alex Deucher <alexander.deucher@amd.com> drm/radeon/kms/pm: switch to dynamically allocating clock mode array

On newer chips the number of clock modes per power state varies.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
ce580fab739c815e25d13bae62f96ba7251f6e2e 14-Oct-2011 Andi Kleen <ak@linux.intel.com> drm/radeon: Move more code out of line

With this patch I'm only about 50k larger with DRM debugging
enables (why is that enabled by default?!?), and slightly
smaller without.

[airlied: moved r100.c additions to radeon_ring.c]

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
ee4017f4ac8163737793cc64df535cd246792887 23-Jun-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: handle special cases for vddc

A voltage value of 0xff01 requires that the driver
look up the max voltage for the board based using the
atom SetVoltage command table.

Setting the proper voltage should fix stability on
some newer asics.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
a377e187df725fe7e62d2cec59ec290c5a605d93 20-Jun-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/r6xx+: voltage fixes

0xff01 is not an actual voltage value, but a flag
for the driver. If the power state as that value,
skip setting the voltage.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
b20f9bef8d9ff54be266062eae365ebf4b12ca64 08-Jun-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: check modes against max pixel clock

Filter out modes that are higher than the max pixel
clock.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
05fa7ea7d23980de0014417a0e0af2048a0f9fc1 11-May-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: fix extended lvds info parsing

On rev <= 1.1 tables, the offset is absolute,
on newer tables, it's relative.

Fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=700326

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Reviewed-by: Jerome Glisse <jglisse@redhat.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
4f87af46107499415afd238be104587b5a9d7ac3 04-May-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add pci id to acer travelmate quirk for 5730

Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=34082

Reported by: Sampo Laaksonen <zhamahn@gmail.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
eaa4f5e1d0b816291a59a47917e569c0384f2b6f 01-May-2011 Dave Airlie <airlied@redhat.com> drm/radeon: fix regression on atom cards with hardcoded EDID record.

Since fafcf94e2b5732d1e13b440291c53115d2b172e9 introduced an edid size, it seems to have broken this path.

This manifest as oops on T500 Lenovo laptops with dual graphics primarily.

Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=33812

cc: stable@kernel.org
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
2feea49ae34a2fcea1035136b85f5eaca56f5cd0 12-Apr-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: properly program vddci on evergreen+

Change vddci as well as vddc when changing power modes
on evergreen/ni. Also, properly set vddci on boot up
for ni cards. The vbios only sets the limited clocks
and voltages on boot until the mc ucode is loaded. This
should fix stability problems on some btc cards.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
8a83ec5ee824a6bd431b49bdb2428c8bf88f03eb 12-Apr-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add voltage type to atom set voltage function

This is needed for setting voltages other than vddc.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
97ea530f6fac1f9632b0c4792a2a56411454adbe 25-Mar-2011 John Lindgren <john.lindgren@tds.net> drm/radeon/kms: add some sanity checks to obj info record parsingi (v2)

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=35502

agd5f: also add sanity check to connector records.

v2: fix one more case.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
4589433c57bd34b7e49068549e07a43c8d41e39d 12-Feb-2011 Cédric Cano <ccano@interfaceconcept.com> drm/radeon/kms: atombios big endian fixes

agd5f: additional cleanups/fixes

Signed-off-by: Cédric Cano <ccano@interfaceconcept.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
0975b16274bad1f0bd5c5fd6ab759c5a9ee11949 03-Feb-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: dynamically allocate power state space

We previously used a static array, but some new systems
had more states then we had array space, so dynamically
allocate space based on the number of states in the vbios.

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=33851

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
87364760de5d631390c478fcbac8db1b926e0adf 03-Feb-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: fix s/r issues with bios scratch regs

The accelerate mode bit gets checked by certain atom
command tables to set up some register state. It needs
to be clear when setting modes and set when not.

Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=26942

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
619efb105924d8cafa0c1dd9389e9ab506f5425d 31-Jan-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: Enable new pll calculation for avivo+ asics

New algo is used for r5xx+ and legacy is used for
r1xx-r4xx, rv515.

I've tested on all relevant GPUs and monitors that I
have access to and have found no problems.

Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=26562
https://bugzilla.kernel.org/show_bug.cgi?id=26552
May fix:
https://bugs.freedesktop.org/show_bug.cgi?id=32556

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
be23da8ad219650517cbbb7acbeaeb235667113a 18-Jan-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: make the mac rv630 quirk generic

Seems some other boards do this as well.

Reported-by: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@gmail.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
9ace9f7b168fef492f731ba60da5c76bc0776e6d 07-Jan-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: adjust default clock/vddc tracking for pm on DCE5

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>
/drivers/gpu/drm/radeon/radeon_atombios.c
4fddba1fd9df94caaa03956bf36e1a887a1c92a5 07-Jan-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: handle NI thermal controller

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
36868bda88b92ce8a9aa8b3ee2e0d1e0de09cc19 07-Jan-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: parse DCE5 encoder caps when setting up encoders

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>
/drivers/gpu/drm/radeon/radeon_atombios.c
f82b3ddc5fac044a28ab841bfd4ae48e2e43a21b 07-Jan-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: DCE5 atom SetPixelClock updates

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
f598aa7593427ffe3a61e7767c34bd695a5e7ed0 04-Jan-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add quirk for Mac Radeon HD 2600 card

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>
/drivers/gpu/drm/radeon/radeon_atombios.c
2f299d5de02da3ffb1f9e1a05c91dcd1173ebd3c 04-Jan-2011 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: adjust quirk for acer laptop

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>
/drivers/gpu/drm/radeon/radeon_atombios.c
ae09f09e94d755ed45c58b695675636c0ec53f9e 22-Dec-2010 Dave Airlie <airlied@redhat.com> Merge remote branch 'intel/drm-intel-next' of /ssd/git/drm-next into drm-core-next

* 'intel/drm-intel-next' of /ssd/git/drm-next: (771 commits)
drm/i915: Undo "Uncouple render/power ctx before suspending"
drm/i915: Allow the application to choose the constant addressing mode
drm/i915: dynamic render p-state support for Sandy Bridge
drm/i915: Enable EI mode for RCx decision making on Sandybridge
drm/i915/sdvo: Border and stall select became test bits in gen5
drm/i915: Add Guess-o-matic for pageflip timestamping.
drm/i915: Add support for precise vblank timestamping (v2)
drm/i915: Add frame buffer compression on Sandybridge
drm/i915: Add self-refresh support on Sandybridge
drm/i915: Wait for vblank before unpinning old fb
Revert "drm/i915: Avoid using PIPE_CONTROL on Ironlake"
drm/i915: Pass clock limits down to PLL matcher
drm/i915: Poll for seqno completion if IRQ is disabled
drm/i915/ringbuffer: Make IRQ refcnting atomic
agp/intel: Fix missed cached memory flags setting in i965_write_entry()
drm/i915/sdvo: Only use the SDVO pin if it is in the valid range
drm/i915: Enable RC6 autodownclocking on Sandybridge
drm/i915: Terminate the FORCE WAKE after we have finished reading
drm/i915/gtt: Clear the cachelines upon resume
drm/i915: Restore GTT mapping first upon resume
...
c324acd5032f516b8188da99d2ce05cf8d1294d6 09-Dec-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: parse the extended LCD info block

This block may contain various additional LCD info such
as physical size and a stored EDID.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
7a868e18a4907dc8f1f05d99bcb9fd3fa8881ee4 09-Dec-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: use LCD physical size from vbios tables if available

Some systems have the LCD width and height in mm available in the
LCD info table. Use this info if there is no EDID to provide it.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
d8c58fabd75021cdd99abcd96513cb088d41092b 16-Dec-2010 Chris Wilson <chris@chris-wilson.co.uk> Merge remote branch 'airlied/drm-core-next' into drm-intel-next
3074adc8b6d9bf28b574a58241b958057a69a7a0 30-Nov-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add workaround for dce3 ddc line vbios bug

fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=23752

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc:stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
b0e664140a170382531a8c8b5396bf7e6903d5e3 22-Nov-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add power table parsing support for Ontario fusion APUs

The vbios power tables on my inagua board seem a bit funky...

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
560154e9a27f2f260fcb2dd18c488203246f257e 22-Nov-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: refactor atombios power state fetching

The function was getting too large. Rework it to share
more state better handle new power table formats.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
4339c442c0736db42329b68602308e95bcc75a30 22-Nov-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add support for ss overrides on Fusion APUs

System specific spread spectrum overrides can be specified in
the integrated system info table for Fusion APUs. This adds
support for using those overrides.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
bdd91b2b571c80dacfca88667d935f9907e62931 08-Nov-2010 Tyson Whitehead <twhitehead@gmail.com> drm/radeon/kms: fix bugs in ddc and cd path router code

This is a follow on to:
2b5b1d7da9583484b3a9e7e375a90ca0e8ca07c2
(drm/radeon/kms: add support for clock/data path routers)

That patch completed mux support for ddc and cd line routing
between connectors. This patch fixes an indexing typo that was
resulting in the atom bios router objects not always being walked,
ensures the validity entries for the reused router structure are
reset for every connector object walked, and corrects the masking
operations used to update the mux control bits.

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=31339

Signed-off-by: Tyson Whitehead <twhitehead@gmail.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
fb939dfcf2a3a70357000617799925b6a11f9348 08-Nov-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add support for clock/data path routers

This is a follow on to:
26b5bc986423cf3887e09188cb662ed651c5374d
(drm/radeon/kms: add support for router objects)

That patch added support for systems that use a mux to control
the ddc line routing between the connectors. This patch adds
support for systems that use a mux to control the encoder
clock and data path routing to the connectors.

Should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=31339

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
b7ae5056c94a8191c1fd0b5697707377516c0c5d 19-Oct-2010 Dave Airlie <airlied@redhat.com> Merge branch 'drm-fixes' of /home/airlied/kernel/linux-2.6 into drm-core-next

Conflicts:
drivers/gpu/drm/i915/intel_fb.c
drivers/gpu/drm/radeon/r600_blit_kms.c
drivers/gpu/drm/ttm/ttm_bo.c
40f76d81fb45c1399f93500afa2aed9f84f7dee6 08-Oct-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: make TV/DFP table info less verbose

Make TV standard and DFP table revisions debug only.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
ba032a58d1f320039e7850fb6e8651695c1aa571 04-Oct-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: rework spread spectrum handling

This patch reworks spread spectrum handling to enable it
properly on lvds and DP/eDP links. It also fixes several
bugs in the old spread spectrum code.

- Use the ss recommended reference divider if available
when calculating the pll
- Use the proper ss command tables on pre-DCE3 asics
- Avoid reading past the end of the ss info tables
- Enable ss on evergreen asics (lvds, dp, tmds)
- Enable ss on DP/eDP links

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
48dfaaeb6637240af3089bf9b7a00a6cf24e0182 29-Sep-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: remove new pll algo

The recent changes to the old algo (prefer high post div)
coupled with the range and precision limitations of using
fixed point with the new algo make the new algo less
useful. So drop the new algo. This should work as well
or better than the old new/old combinations and simplifies
the code a lot.

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=30218
among others.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
f36fce0f49ed40f3e843d45fa53d476d63444b58 27-Sep-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add quirk for MSI K9A2GM motherboard

Board has no digital connectors

Reported-by: Andy Walls <awalls@md.metrocast.net>
Tested-by: Andy Walls <awalls@md.metrocast.net>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
ea39302b87b8d944d567ef29c0647c09da5743fa 27-Aug-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/evergreen: work around bad data in some i2c tables

The 7th entry in a lot of evergreen i2c gpio tables is partially
zeroed. Fix the entry.

Should fix the missing ddc entry in:
https://bugs.freedesktop.org/show_bug.cgi?id=29255

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
4b80d954a7e54c13a5063af18d01719ad6a0daf3 20-Aug-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: fix sideport detection on newer rs880 boards

The meaning of ucMemoryType changed on recent boards, however,
ulBootUpSidePortClock should be set properly across all boards.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
5137ee940c3e593ae5578a7a12a604eb8f239ac0 13-Aug-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: rework encoder handling

On most newer asics, digital encoders have two links each
and they can be used independantly. As such, treat them as
separate encoders otherwise the individual links will not
get programmed properly at modeset time.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
1d978dac7e99bd551df5001f0cc92369054dca0d 15-Aug-2010 Jean Delvare <khali@linux-fr.org> drm/radeon: Fix stack data leak

Always zero-init a structure on the stack which is returned by a
function. Otherwise you may leak random stack data from previous
function calls.

This fixes the following warning I was seeing:
CC [M] drivers/gpu/drm/radeon/radeon_atombios.o
drivers/gpu/drm/radeon/radeon_atombios.c: In function "radeon_atom_get_hpd_info_from_gpio":
drivers/gpu/drm/radeon/radeon_atombios.c:261: warning: "hpd.plugged_state" is used uninitialized in this function

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: David Airlie <airlied@linux.ie>
Cc: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
a44d2f37253cb7a8dc302e345d8909828b093e3c 04-Aug-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: mark 3D power states as performance

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 <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
9ea2c4be978d597076ddc6c550557de5d243cea8 06-Aug-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add additional quirk for Acer rv620 laptop

HPD pins are reversed

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=29387

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
26b5bc986423cf3887e09188cb662ed651c5374d 06-Aug-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add support for router objects

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 <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
f376b94fbc0a313a606748206340cbef6c2adf6b 06-Aug-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: unify i2c handling

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 <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
4c70b2eae371ebe83019ac47de6088b78124ab36 03-Aug-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/igp: sideport is AMD only

Intel variants don't support it.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
d9fdaafbe912a34ef06ed569c6606fe2811f325b 02-Aug-2010 Dave Airlie <airlied@redhat.com> drm/radeon/kms: move a bunch of modesetting debug to correct debug usage.

This migrates a bunch of DRM_DEBUG->DRM_DEBUG_KMS so we can get more modesetting related info without all the other ioctl handling easily.

Also the PM code moves to DRM_DEBUG_DRIVER mostly.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
d656ae53f64cb0f01dac8a02c4d31453d64ef97c 02-Aug-2010 Dave Airlie <airlied@redhat.com> Merge tag 'v2.6.35-rc6' into drm-radeon-next

Need this to avoid conflicts with future radeon fixes
21a8122ad38c60d73fe5dc51051414c3564d174a 02-Jul-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add support for internal thermal sensors (v3)

rv6xx/rv7xx/evergreen families supported; older asics did
not have an internal thermal sensor.

Note, not all oems use the internal thermal sensor, so it's
only exposed in cases where it is used.

Note also, that most laptops use an oem specific ACPI solution for
GPU thermal information rather than using the internal thermal
sensor directly.

v2: export millidegrees celsius, use hwmon device properly.
v3: fix Kconfig

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
e153b70b89770968a704eda0b55707c6066b2d44 21-Jul-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add quirk for ASUS HD 3600 board

Connector is actually DVI rather than HDMI.

Reported-by: trapDoor <trapdoor6@gmail.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
5099fa7f23d3711538cbe9fe072b4ce1ba814035 12-Jul-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: fix possible mis-detection of sideport on rs690/rs740

Check ulBootUpMemoryClock on AMD IGPs.

Fix regression noticed by Torsten Kaiser <just.for.lkml@googlemail.com>

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
4d60173fc1b12b0c308f861620fe8e2a84f6e5da 08-Jun-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/pm: track current voltage (v2)

track the current voltage level and avoid setting it
if the requested voltage is already set.

v2: check voltage type before checking current voltage

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
aa1df0f229829109e49d1dc493252fd94a7af2a1 07-Jun-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/pm: Disable voltage adjust on RS780/RS880

The vddc value in the power tables is not an actual voltage
like on discrete r6xx/r7xx/evergreen systems, but instead has
a symbolic meaning (e.g., NONE, LOW, HIGH, etc.). See atombios.h

Most RS780/RS880 vbioses don't have a SetVoltage table anyway,
so it shouldn't be doing anything to the hardware at the moment.

I need to figure out how voltage is supposed to work on the newer
IGPs; until then, disable it.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
84d88f4c92763f519b9e081cdd685a44de14f8c0 27-May-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/pm: voltage fixes

- Enable GPIO voltage for non pm modes as well so resetting
the default voltage works.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
c5e8ce61d64995f4076c6a9b2f8b4b71e0be2e37 27-May-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/pm: patch default power state with default clocks/voltages on r6xx+

The default power state does not always match the default clocks and voltage
for a particular card. The information in the firmware info table is correct
and should be used in preference to the info the default power state.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
7ac9aa5a1f1b87adb69bcbec2b89e228f074103a 28-May-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/pm: add support for SetVoltage cmd table (V2)

- This enables voltage adjustment on r6xx+ and certain
r5xx asics.
- Voltage drop support is already available for most
r1xx-r5xx asics.

V2: endian fix for voltage table.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
f49d273df9087d92e20c485fe9f8355d4f55b933 24-May-2010 Prarit Bhargava <prarit@redhat.com> drm: Fixes linux-next & linux-2.6 checkstack warnings:

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>
/drivers/gpu/drm/radeon/radeon_atombios.c
8e36ed00842668a39a6ed1b0a00b8ac92b7c4cd5 19-May-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: hpd cleanup

- 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>
/drivers/gpu/drm/radeon/radeon_atombios.c
2bfcc0fc698d550689ef020c73b2d977b73e728c 19-May-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: reset ddc_bus in object header parsing

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>
/drivers/gpu/drm/radeon/radeon_atombios.c
05ea893c46805b2981ea8ba6df881e3d65edd63b 19-May-2010 Dave Airlie <airlied@redhat.com> Merge remote branch 'anholt/drm-intel-next' into drm-next

* 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
...
d7311171c4cc8d6231427f7ac5056b939a184b80 03-May-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/pm: add support for no display power states

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>
/drivers/gpu/drm/radeon/radeon_atombios.c
79daedc942813c0417ff5e277da6f7f35705cde5 22-Apr-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: minor pm cleanups

- remove non_clock_info struct
- track power state misc flags

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
678e7dfa9e1bb0d1ad31b7cddce58fc3b67cfb27 22-Apr-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/atom: load hwmon drivers

Hook the atom table parsing up to module loading, so we can automatically
load the appropriate hwmon drivers.

Based on initial patch for r6xx from Matthew Garrett

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
a48b9b4edb8bb87deb13b9f088a595cf71457b69 22-Apr-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/pm: add asic specific callbacks for getting power state (v2)

This also simplifies the code and enables reclocking with multiple heads
active by tracking whether the power states are single or multi-head
capable.

Eventually, we will want to select a power state based on external
factors (AC/DC state, user selection, etc.).

(v2) Update for evergreen

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
02b17cc05372ab58e9638008d0206f1c1ee0cf5c 22-Apr-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/atom/pm: rework power mode parsing

On pre-r6xx, the power mode array is usually ordered:
low
...
high
default

On r6xx+:
default
low
...
high

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
1ff26a3604d0292988d4cade0e49ba9918dbfd46 18-May-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/atom: fix typo in LVDS panel info parsing

Fixes LVDS issues on some laptops; notably laptops with
2048x1536 panels.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
34dc4d4423dc342848d72be764832cbc0852854a 07-May-2010 Eric Anholt <eric@anholt.net> Merge remote branch 'origin/master' into drm-intel-next

Conflicts:
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/radeon/r300.c

The BSD ringbuffer support that is landing in this branch
significantly conflicts with the Ironlake PIPE_CONTROL fix on master,
and requires it to be tested successfully anyway.
0031c41be5c529f8329e327b63cde92ba1284842 27-Apr-2010 Dan Carpenter <error27@gmail.com> drivers/gpu/drm/radeon/radeon_atombios.c: range check issues

This change makes the array larger, "MAX_SUPPORTED_TV_TIMING_V1_2" is 3
and the original size "MAX_SUPPORTED_TV_TIMING" is 2.

Also there were checks that were off by one.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Acked-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
49f6598277635af13d60e7d2601963356bc48bd8 24-Mar-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add support for evergreen power tables

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
95beb690170e6ce918fe53c73a0fcc7cf64d704a 01-Apr-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/atom: fix gpio i2c table overrun (v2)

The GPIO_I2C_INFO table does not always have
ATOM_MAX_SUPPORTED_DEVICE entries. Limit
the number of indices to the size of the
table.

Should fix Novell bug 589022.

v2: fix typo

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: Stable <stable@kernel.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
e1e8a5dd4faf356b5d31c620c5787eaa83ee831d 26-Mar-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: fix macbookpro connector quirk

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
a084e6ee6e64a76f1a9665d527203cdab7d6048f 18-Mar-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/atom: make sure tables are valid (v2)

Check that atom cmd and data tables are valid
before using them.

(v2)
- fix some whitespace errors noticed by Rafał Miłecki
- check a few more cases

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
c1bcad9d16831859373d8f579fa1e146409f9960 18-Mar-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: remove lvds quirks

- no longer needed with the latest new pll algo fixes.
- also don't use lcd pll limits. They don't seem
to work well for all systems. If we have a case where
they are useful, we can set the flag for that case.

fixes fdo bug 27083

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
06abdb0ec6b91f634631404012c4d646389e9e0b 15-Mar-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/pm: fix typo in power table parsing

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
29fb52ca78b4e265ec6c626b0c7b2927953949cf 11-Mar-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: expose thermal/fan i2c buses

Look up i2c bus in the power table and expose it.
You'll need to load a hwmon driver for any chips
on the bus, this patch just exposes the bus.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
86cb2bbfda2cf402aee46779ee90bbb7d915482b 08-Mar-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: use lcd pll limits when available

The bios has alternate pll output limits for LCD panels.
If available, use these for pll divider calculations.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
eb6b6d7cdd5548fa03a919d14615195600013be2 25-Feb-2010 Dave Airlie <airlied@redhat.com> Merge remote branch 'korg/drm-radeon-testing' into drm-next-stage

* korg/drm-radeon-testing: (62 commits)
drm/radeon/kms: update new pll algo
drm/radeon/kms: add support for square microtiles on r3xx-r5xx
drm/radeon/kms: force pinning buffer into visible VRAM
drm/radeon/kms/evergreen: fix typo in cursor code
drm/radeon/kms: implement reading active PCIE lanes on R600+
drm/radeon/kms: for downclocking non-mobility check PERFORMANCE state
drm/radeon/kms: simplify storing current and requested PM mode
drm/radeon: fixes for r6xx/r7xx gfx init
drm/radeon/rv740: fix backend setup
drm/radeon/kms: fix R3XX/R4XX memory controller initialization
[rfc] drm/radeon/kms: pm debugging check for vbl.
drm/radeon: Fix memory allocation failures in the preKMS command stream checking.
drm: Add generic multipart buffer.
drm/radeon/kms: simplify memory controller setup V2
drm/radeon: Add asic hook for dma copy to r200 cards.
drm/radeon/kms: Create asic structure for r300 pcie cards.
drm/radeon/kms: remove unused r600_gart_clear_page
drm/radeon/kms: remove HDP flushes from fence emit (v2)
drm/radeon/kms: add LVDS pll quirk for Dell Studio 15
drm/radeon/kms: simplify picking power state
...

Conflicts:
drivers/gpu/drm/radeon/atom.c
drivers/gpu/drm/radeon/atombios.h
drivers/gpu/drm/radeon/atombios_dp.c
drivers/gpu/drm/radeon/r600.c
drivers/gpu/drm/radeon/r600_audio.c
drivers/gpu/drm/radeon/r600_cp.c
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon_connectors.c
drivers/gpu/drm/radeon/radeon_ring.c
drivers/gpu/drm/radeon/rv770.c
383be5d1789d9a7a2e77dca1cb0aca89507d069e 23-Feb-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: update new pll algo

- add support for pre-avivo chips
- add support for fixed post/ref dividers
- add support for non-fractional fb dividers

By default avivo chips use the new algo and
pre-avivo chips use the old algo. Use the "new_pll"
module option to toggle between them.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
9038dfdf699a3227004f1f6da32a3ef4ef3ba5a4 21-Feb-2010 Rafał Miłecki <zajec5@gmail.com> drm/radeon/kms: simplify storing current and requested PM mode

We kept pointers to requested and current clock modes in every power state.
That was useless, more /global/ pointers in power struct are enough.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
c86a90383638fa830c32cf086a1520be72167086 18-Feb-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/rs600: add connector quirk

rs600 board lists DVI port as HDMI.

Fixes fdo bug 26605

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
8e0d84a63af351f5367103b83478f2cd4d9a3727 16-Feb-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add LVDS pll quirk for Dell Studio 15

fixes fdo bug 26358

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
2745932495ca3634b11a8662b464d2bf0325ae78 11-Feb-2010 Rafał Miłecki <zajec5@gmail.com> drm/radeon/kms: accept slightly overclocked power modes

Fixes fdo bug #26329

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Tested-by: Tobias Jakobi <liquid.acid@gmx.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
bcc1c2a1d22974215e39dc87ce746ba9a39223e5 12-Jan-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add initial Evergreen support (Radeon HD 5xxx)

This adds initial Evergreen KMS support, it doesn't include
any acceleration features or interrupt handling yet.

Major changes are DCE4 handling for PLLs for the > 2 crtcs.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
6d7f2d8da106ecf794a5a3e98c4239f348119e3c 05-Feb-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: dynclks fixes

- only r4xx/r5xx/rs6xx/rs740 have clock gating atom table,
so disable it on r6xx. it's already disabled on r7xx
- check to make sure the clock_gating hook exists before
calling it. This avoids a segfault on asics without
that function.
- remove unused static power management function.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
0ec0e74f784ca08eab0354ab1dada46924c39b73 23-Dec-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add a power state type based on power state flags

The idea is to flag a power state with a certain type and use
that type to decide on what state to select. On r6xx+, we
select a state and then transition between clock modes in that
state. On pre-r6xx, we transition between states directly.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
845db70da0bd285813b25bb522a0281f28efbf89 23-Dec-2009 Rafał Miłecki <zajec5@gmail.com> drm/radeon/kms: don't set pcie lanes for ignored power_state

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
56278a8edacee9ae9e3bc9d8c8e2d37e9969f3eb 28-Dec-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: pull power mode info from bios tables (v3)

The general idea is to validate the current hw state
against the set of power states and select a power
state based on that. This patch just pulls the power
states from the bios and prints the information. It
is not currently hooked up in the actual power management
code. Hooking it up will require reworking the the current
power state selection code and will be handled in a future
patch.

Additionally, we'd need to decide on some default lower
power states for cards without power tables.

v2 - increment state_index after checking for default state
v3 - fix typo in pm init on pre-atom cards, handle pre-atom
cards without x86 bioses

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
093972788f009cabf8f8fb726dc5267b60b3d09e 02-Feb-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add pll quirk for toshiba laptop panel

The panel on the Toshiba A300-1BU laptop does not like the
PLL dividers selected by the avivo pll algo, but works fine
using the older method. Add a quirk to handle it.

Should fix fdo bug 26358.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
7c27f87d2bde885e9bcda74c208a7aae8bef8e76 02-Feb-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: rework pll algo selection

Rework the pll algo selection so that the pll algo
in use can be selected more easily. This allows
us to select different pll divider selection algos
for specific monitors that work better with one algo
or the other. This is needed for the next patch which
adds an LVDS pll quirk for a specific notebook.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
efa8450f6c93c9d4c99adfea2f52f1d02d878d5b 09-Feb-2010 Dave Airlie <airlied@redhat.com> drm/radeon/kms: add quirk for VGA without DDC on rv730 XFX card.

Reported on irc by nirbheek.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
06b6476d6b291473d0928ed242158a001d50c0f0 05-Jan-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: detect sideport memory on IGP chips

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>
/drivers/gpu/drm/radeon/radeon_atombios.c
196c58d21fc47fbabab6a98e23e5a6335f717e44 07-Jan-2010 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add support for eDP (embedded DisplayPort)

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>
/drivers/gpu/drm/radeon/radeon_atombios.c
1d3d51b6d2d6fb51c6c30a8c7ed0fd939f6100bf 28-Dec-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add missing breaks in i2c and ss lookups

Should fix fdo bug 25741

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
f56cd64f5f713a3013c4d980a5695c198d839671 18-Dec-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: never combine LVDS with another encoder

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>
/drivers/gpu/drm/radeon/radeon_atombios.c
d79766fab9975c6414ebab7d2abf017834a48c35 18-Dec-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: set proper default tv standard

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>
/drivers/gpu/drm/radeon/radeon_atombios.c
b27b63750d912e80d61d2120c4a1664062d0f808 09-Dec-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/avivo: add support for new pll selection algo

Supported on all AVIVO-based asics.
Can be disabled via the new_pll module parameter:
new_pll=0 - disable
new_pll=1 - enable
enabled by default

[airlied: fixed to use do_div]
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
/drivers/gpu/drm/radeon/radeon_atombios.c
d3f420d1089169fb48366e1aa750bdd92db0a04b 08-Dec-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: make sure i2c id matches

Entries in the i2c table aren't always ordered
by id. This allows us to remove some quirks
that are no longer needed.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
279b215ecb8acc735c01ac89b1aa28c4a27dcafa 08-Dec-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: make sure ss id matches

entries in the ss table aren't always ordered
by id.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
eed45b30cd1423f8dc10b4312700773cac13c1c8 04-Dec-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: get HPD info for connectors

This populates the connectors with HPD (Hot Plug Detect)
information. This will be used in subsequent patches
for automatic digital monitor connect/disconnect handling.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
6a93cb250a60af1bb7b4070949f8546a2fdc52ef 23-Nov-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: i2c reorg

- keep the atom i2c id in the i2c rec
- fix gpio regs for GPIO and MDGPIO on pre-avivo chips
- track whether the i2c line is hw capable
- track whether the i2c line uses the multimedia i2c block

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
746c1aa4d100f7441423050f34be79f401fbf7d4 07-Dec-2009 Dave Airlie <airlied@redhat.com> drm/radeon/kms: initial radeon displayport porting

This is enough to retrieve EDID and DPCP.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
aa1a750ecb3412f69fe34081b249aa978154f360 04-Dec-2009 Dave Airlie <airlied@redhat.com> drm/radeon/kms: quirk for Gigabyte RV515 card, DVI+VGA not 2xDVI.

Similiar to other quirks for RV515, this card has no second DVI port.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
4e3f9b78ff917cc5c833858fdb5d96bc262e0bf3 01-Dec-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: Add quirk for HIS X1300 board

Board is DVI+VGA, not DVI+DVI

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
7dde8a19656ddec769b609e8b5662aa7243b8b6a 30-Nov-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/atom: pull misc mode info for lvds from bios tables

sync polarity, etc. This will likely fix LVDS problems
on some laptops.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
3e5f8ff3a9f4e7a71c5371b2122b32faf31c563a 17-Nov-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: add quirk for Acer laptop

DVI-I port is actually DVI-D

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
9b9fe72488a3a637e0550cc888e3f7a8f70e521e 10-Nov-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: clean up i2c

- Change reg/mask names to match what we use internally
and in the bios
- Clarify how i2c over gpio on radeon actually works

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
7433874e31f7f2e6e942b12012790565731d0f4a 03-Nov-2009 Rafał Miłecki <zajec5@gmail.com> drm/radeon/kms: add debugfs for power management for AtomBIOS devices

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
b75fad0682caacb16012582deecbd7d19bc2f68e 05-Nov-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: store detailed connector info

This will be useful for mode validation and certain
atom tables.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
ee59f2b462b0a7d2eb57ae59340d016589fa8e42 05-Nov-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/r600: fix rs880 support v2

Lots of cases were wrong or missing.

v2: rebased against drm-next

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
8f552a66a40bcc6e903e91310f42fe140e0342c4 27-Oct-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/atom: loosen pll min output limits

Limiting the pll output range is a good thing generally as
it limits the number of possible pll combinations for a given
frequency presumably to the ones that work best on each card.
That's why the limits are in the bios tables. However, certain
duallink DVI monitors seem to like pll combinations that would
be limited by this at least on pre-DCE 3.0 r6xx hardware. This
might need to be adjusted per family or per clock range in the
future.

See fdo bug 24727.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
ebbe1cb936dfc96d809ccf4d64a9755f8ba0c0ff 16-Oct-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/atom: add support for spread spectrum (v2)

Spread spectrum is a periodic disturbance added
to the feedback divider to change the pixel clock
periodically to reduce interference.

Only enabled on LVDS.

v2: add support for r4xx and fix DCE 3

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
bc293e58cb4095f2ad43fe672ae269e31d1a18e2 19-Oct-2009 Mathias Fröhlich <Mathias.Froehlich@web.de> drm/radeon/kms/atom: get better min pixel clock info

Where supported use ulMinPixelClockPLL_Output rather than
usMinPixelClockPLL_Output for pll_out_min. This seems to
improve pll selection on some boards.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
de2103e452ec7f2db5db7c44279735688608381d 09-Oct-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: use drm_mode directly for panel modes

This reduces the number of mode format conversions needed
and makes native panel mode support cleaner.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
5a9bcacc0a56f0d9577494e834519480018a6cc3 08-Oct-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms/atom: rework crtc modeset

- clean up tv timing handling
- unify SetCRTC_Timing and SetCRTC_UsingDTDTiming

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
4bbd4973703bf8a5f00f05eff30a99cd9814f37f 25-Sep-2009 Dave Airlie <airlied@linux.ie> drm/radeon/kms: enable r600 tv outputs.

I never changed this back when I wrote tv-out support.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
445282db9e815e7f5e82761c3c971dc9ea988d85 09-Sep-2009 Dave Airlie <airlied@redhat.com> drm/radeon/kms: add initial connector properties

This adds:
coherent mode: TMDS coherent mode for atom cards.
scaling mode: LVDS scaler mode
load detect: DAC load detection, DVI-I, VGA, TV
tmds pll: legacy TMDS pll selection
tv standard: TV standard selection.

for later: other TV ones? dvi subconnector selection using std prop

[contains fixes pointed out on dri-devel for atom bios mixups
by Michel]

Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
f657c2a7310ad56e2b67f35f4c5c6106a7146b9c 14-Sep-2009 Yang Zhao <yang@yangman.ca> drm/radeon: Save and restore bios scratch regs during S/R

[airlied:- adapted slightly in naming]

Signed-off-by: Yang Zhao <yang@yangman.ca>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
d42571efe33552cd519b7f3800a788b5f2d51798 11-Sep-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: fix typo in quirks

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
/drivers/gpu/drm/radeon/radeon_atombios.c
705af9c7a8bcb9c8752a73be9ca356acb5c7688c 10-Sep-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: pull in latest quirks and fixes from ddx

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
3ce0a23d2d253185df24e22e3d5f89800bb3dd1c 08-Sep-2009 Jerome Glisse <jglisse@redhat.com> drm/radeon/kms: add r600 KMS support

This adds the r600 KMS + CS support to the Linux kernel.

The r600 TTM support is quite basic and still needs more
work esp around using interrupts, but the polled fencing
should work okay for now.

Also currently TTM is using memcpy to do VRAM moves,
the code is here to use a 3D blit to do this, but
isn't fully debugged yet.

Authors:
Alex Deucher <alexdeucher@gmail.com>
Dave Airlie <airlied@redhat.com>
Jerome Glisse <jglisse@redhat.com>

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
4ce001abafafe77e5dd943d1480fc9f87894e96f 13-Aug-2009 Dave Airlie <airlied@redhat.com> drm/radeon/kms: add initial radeon tv-out support.

This ports the tv-out code from the DDX to KMS.

adds a radeon.tv module option, radeon.tv=0 to disable tv

Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
848577ee27f704231b1860ae987a1be78b88b06e 08-Jul-2009 Alex Deucher <alexdeucher@gmail.com> drm/radeon/kms: fix quirk for MSI laptop

The line mux for the connector in the bios tables
is used for enumerating drm connectors. Since
this laptop has a quirk where the same line much is
listed for both VGA and LVDS, the connectors get
combined. Setting the line mux on LVDS to an unused
value prevents both encoders from being combined into
the same connector. This should fix bko bug 13720.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
fc436d9d3720b382566e03bef2d7391a58714999 19-Jun-2009 Dave Airlie <airlied@redhat.com> drm/radeon: fix unused variables warning

just remove i variable left over from previous code.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
6fe7ac3f5b544703581f3829c8c950dc721d976e 12-Jun-2009 Alex Deucher <alexdeucher@gmail.com> radeon legacy chips: tv dac bg/dac adj updates

COMBIOS - fallback to table values if there are no tv dac or lvds bios tables
ATOMBIOS - add support for looking up these values from the bios table

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c
771fe6b912fca54f03e8a72eb63058b582775362 05-Jun-2009 Jerome Glisse <jglisse@redhat.com> drm/radeon: introduce kernel modesetting for radeon hardware

Add kernel modesetting support to radeon driver, use the ttm memory
manager to manage memory and DRM/GEM to provide userspace API.
In order to avoid backward compatibility issue and to allow clean
design and code the radeon kernel modesetting use different code path
than old radeon/drm driver.

When kernel modesetting is enabled the IOCTL of radeon/drm
driver are considered as invalid and an error message is printed
in the log and they return failure.

KMS enabled userspace will use new API to talk with the radeon/drm
driver. The new API provide functions to create/destroy/share/mmap
buffer object which are then managed by the kernel memory manager
(here TTM). In order to submit command to the GPU the userspace
provide a buffer holding the command stream, along this buffer
userspace have to provide a list of buffer object used by the
command stream. The kernel radeon driver will then place buffer
in GPU accessible memory and will update command stream to reflect
the position of the different buffers.

The kernel will also perform security check on command stream
provided by the user, we want to catch and forbid any illegal use
of the GPU such as DMA into random system memory or into memory
not owned by the process supplying the command stream. This part
of the code is still incomplete and this why we propose that patch
as a staging driver addition, future security might forbid current
experimental userspace to run.

This code support the following hardware : R1XX,R2XX,R3XX,R4XX,R5XX
(radeon up to X1950). Works is underway to provide support for R6XX,
R7XX and newer hardware (radeon from HD2XXX to HD4XXX).

Authors:
Jerome Glisse <jglisse@redhat.com>
Dave Airlie <airlied@redhat.com>
Alex Deucher <alexdeucher@gmail.com>

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/drivers/gpu/drm/radeon/radeon_atombios.c