Age | Commit message (Collapse) | Author | Files | Lines |
|
into drm-fixes
fixes a resume regression on pre-r6xx asics.
* 'drm-fixes-3.6' of git://people.freedesktop.org/~agd5f/linux:
drm/radeon: Prevent leak of scratch register on resume from suspend
|
|
Compare the adjusted clock as well as the crtc mode
clock. This handles cases where the driver adjusts
the clock for specific special cases.
Signed-off-by: Alex Deucher <[email protected]>
|
|
This saves lots of lookups later.
Signed-off-by: Alex Deucher <[email protected]>
|
|
We need the calculate the pixel clock before allocating a PPLL
in order to insure the clocks really match.
Signed-off-by: Alex Deucher <[email protected]>
|
|
If several non-DP displays use the same pixel clock
we can use the same PPLL for all of them. If all
relevant displays have the same pixel clock, this
allows the driver to:
- use fewer PPLLs which saves power
- support more than two non-DP displays on DCE4+
The current drm modesetting infrastructure doesn't
really provide a good framework for validating combinations
that work or won't work, so it's possible you could go from
a working configuration to a non-working one by changing the
mode a one of the displays. However, there this is better
than what was there before.
Signed-off-by: Alex Deucher <[email protected]>
|
|
If possible, use a single PPLL for multiple DP displays
on DCE3.x.
Signed-off-by: Alex Deucher <[email protected]>
|
|
For DP we can use the same PPLL for all active DP
encoders. Take advantage of that to prevent cases
where we may end up sharing a PPLL between DP and
non-DP which won't work. Also clean up the code
a bit.
v2: - fix missing pll_id assignment in crtc init
v3: - fix DP PPLL check
- document functions
- break in main encoder search loop after matching.
no need to keep checking additional encoders.
v4: - same as v3, but re-apply to drm-next as the corner
cases are fixed properly in subsequent patches.
fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=54471
Signed-off-by: Alex Deucher <[email protected]>
|
|
comparing the encoder mode to the encoder id for DVO.
Signed-off-by: Alex Deucher <[email protected]>
|
|
MiscInfo field should be programmed with the crtc id
rather than the pll id. However, at this point the
two are the same for chips with this version of the table.
Signed-off-by: Alex Deucher <[email protected]>
|
|
Makes it more consistent with the surrounding code.
Signed-off-by: Alex Deucher <[email protected]>
|
|
Use the proper struct in the union. That field
has the same offset in every struct, so no functional
change.
Signed-off-by: Alex Deucher <[email protected]>
|
|
Roughly based on how nouveau is handling it. Instead of
adding the bo_va when the address is set add the bo_va
when the handle is opened, but set the address to zero
until userspace tells us where to place it.
This fixes another bunch of problems with glamor.
v2: agd5f: fix build after dropping patch 7/8.
Signed-off-by: Christian König <[email protected]>
|
|
Make the reserve non interruptible.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
The no_wait param isn't used anywhere, and actually isn't
very usefull at all.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
It doesn't really belong into the object functions,
also rename it to avoid collisions with struct radeon_bo_va.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
Even GPUs can have a null pointer dereference, so move
the IB pool to another offset to catch those.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
The end offset is exclusive not inclusive.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
When a VM is used on more than one ring we need to
sync to the last user.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
This applies on top of drm/radeon: Mark all possible functions / structs as static.
Signed-off-by: Lauri Kasanen <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
|
|
Let's allow GCC to optimize better.
This exposed some five unused functions, but this patch doesn't remove them.
Signed-off-by: Lauri Kasanen <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
|
|
Was removed in the async VM update series.
Signed-off-by: Alex Deucher <[email protected]>
|
|
Don't read past the end of the array if we encounter an unknown
thermal controller.
Signed-off-by: Alex Deucher <[email protected]>
|
|
Signed-off-by: Alex Deucher <[email protected]>
|
|
Currently doing the update with the CP.
v2: Rebased on Jeromes bugfix. Make validity comparison
more human readable.
Signed-off-by: Christian König <[email protected]>
|
|
Make sure that the ib bo is bound and is page table is up to date
in the virtual address space.
Signed-off-by: Jerome Glisse <[email protected]>
Reviewed-by: Christian König <[email protected]>
|
|
Makes it easier to move it into the rings.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
Removing the need to wait for anything.
Still not ideal, since we need to free pt on va remove.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
Move binding onto the ring, simplifying handling a bit.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
Move flushing the VMs as function into the rings.
First step to make VM operations async.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
It actually isn't very useful.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
So it looks more like the rest of the driver.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
Store a reference to the VM into the IB structure, that
makes calculating the IBs address a bit less complicated.
Signed-off-by: Christian König <[email protected]>
Reviewed-by: Jerome Glisse <[email protected]>
|
|
Several encoder setup functions had the same duplicated
code for selecting the proper bpc setting for various
atom tables. Consolidate it.
Signed-off-by: Alex Deucher <[email protected]>
|
|
This cleans up the interface a bit as well.
Signed-off-by: Alex Deucher <[email protected]>
|
|
Just verify the interface and track what functions are
supported. Not actually used yet.
Signed-off-by: Alex Deucher <[email protected]>
|
|
v2: rebase updates
Signed-off-by: Alex Deucher <[email protected]>
|
|
- rework the acpi execute code
- User proper parameters for ATPX functions
v2: rebase fixes
Signed-off-by: Alex Deucher <[email protected]>
|
|
Verify the ATPX interface and track what ATPX functions
are available for future use.
v2: rework due to tree changes
Signed-off-by: Alex Deucher <[email protected]>
|
|
Signed-off-by: Alex Deucher <[email protected]>
|
|
The AMD ACPI interface may use ACPI_VIDEO_NOTIFY_PROBE to signal SBIOS
requests; block the keypress in this case since the user did not
actually press the mode switch key.
Signed-off-by: Luca Tettamanti <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
|
|
Move it out of the radeon_pm.c and into radeon_acpi.c since
we use it for more than just pm now.
Signed-off-by: Alex Deucher <[email protected]>
|
|
Set up an handler for ACPI events and respond to brightness change
requests from the system BIOS.
v2: fix notification when using device-specific command codes
(tested by Pali Rohár <[email protected]>); cache the encoder
controlling the backlight during the initialization to avoid searching
it every time (suggested by Alex Deucher).
v3: whitespace fixes (Alex Deucher).
Signed-off-by: Luca Tettamanti <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
|
|
Use GET_SYSTEM_PARAMS for retrieving the configuration for the system
BIOS notifications.
v2: packed struct (Lee, Chun-Yi <[email protected]>)
v3: fix enable with device specific command code
Signed-off-by: Luca Tettamanti <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
|
|
Wrap the call to VERIFY_INTERFACE and add the parsing of the support
vectors.
v2: use a packed struct for handling the output of ACPI calls, hides
ugly pointer arithmetics (Lee, Chun-Yi <[email protected]>).
v3: fix radeon_atif_parse_functions handling (Alex Deucher)
Signed-off-by: Luca Tettamanti <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
|
|
Don't hard-code function number, this will allow to reuse the function.
v2: add support for the 2nd parameter (from Lee, Chun-Yi
<[email protected]>).
Signed-off-by: Luca Tettamanti <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
|
|
On systems that use the build in GPU backlight controller,
we can use atom tables to change the brightness level.
v2: use firmware flags
Signed-off-by: Alex Deucher <[email protected]>
|
|
To better enable sharing with atom backlight control.
Signed-off-by: Alex Deucher <[email protected]>
|
|
A table in the vbios tells us whether the GPU backlight controller
is used or not. If the bit is set, the GPU backlight controller is
used; if it is not set, an off-chip backlight controller is used.
v2: store all the firmware flags, not just BL control
Signed-off-by: Alex Deucher <[email protected]>
|