Martin Tsai
2a0b4d858f
drm/amd/display: To prevent detecting new sink from spurious HPD
...
Signed-off-by: Martin Tsai <martin.tsai@amd.com >
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com >
Acked-by: Harry Wentland <Harry.Wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-16 21:47:06 -04:00
Dave Airlie
bd21a37d41
Merge remote-tracking branch 'pfdo/drm-next' into drm-next
...
Pull in drm-next for the object find API changes.
Fix the one place the API crashes.
Signed-off-by: Dave Airlie <airlied@redhat.com >
2017-10-17 10:53:43 +10:00
Alex Deucher
d7205d5c0f
drm/amd/display: drop unused dm_delay_in_microseconds
...
No longer used.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:43:06 +10:00
Alex Deucher
4770b18493
drm/amd/display/dc: drop dm_delay_in_microseconds
...
Use udelay directly.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:43:05 +10:00
Alex Deucher
8db02ca341
drm/amd/display: make amdgpu_dm_irq_handler static
...
It's not used outside the file.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:43:04 +10:00
Alex Deucher
f1548455ce
drm/amd/display: remove unused functions in amdgpu_dm_irq.c
...
Not used.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:43:04 +10:00
Alex Deucher
e637525659
drm/amd/display: whitespace cleanup in amdgpu_dm_irq.c/h
...
To match kernel standards. No intended functional change.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:43:03 +10:00
Alex Deucher
6563617fbb
drm/amd/display: make log_dpcd static
...
It's only used in this file.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:43:02 +10:00
Alex Deucher
aaa6346d75
drm/amd/display: whitespace cleanup in amdgpu_dm_mst_types.c/h
...
To match kernel standards. No intended functional change.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:43:02 +10:00
Alex Deucher
8ceb1cab8e
drm/amd/display: drop unused functions in amdgpu_dm_services.c
...
not used.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:43:01 +10:00
Alex Deucher
b4133c09e4
drm/amd/display: drop unused functions in amdgpu_dm.c
...
Not used anywhere.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:43:00 +10:00
Alex Deucher
7578ecda14
drm/amd/display: make a bunch of stuff in amdgpu_dm.c static
...
Not used outside of that file.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:43:00 +10:00
Alex Deucher
3ee6b26b78
drm/amd/display: whitespace cleanup in amdgpu_dm.c/h
...
To match kernel standards. No intended functional change.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:42:59 +10:00
Alex Deucher
1daf8c6348
drm/amd/display: fix typo in function name
...
s/amdgpu_dm_find_first_crct_matching_connector/
amdgpu_dm_find_first_crtc_matching_connector/
And while here, make it static.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:42:58 +10:00
Leo (Sunpeng) Li
5cc6dcbd45
drm/amd/display: Remove useless pcrtc pointer
...
in amdgpu_dm_atomic_commit_tail. Just use crtc instead.
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:42:58 +10:00
Leo (Sunpeng) Li
ebdd27e1a5
drm/amd/display: Fix typo
...
undersacn -> underscan
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:42:57 +10:00
Leo (Sunpeng) Li
54d7657524
drm/amd/display: Unify amdgpu_dm state variable namings.
...
Use dm_new_*_state and dm_old_*_state for their respective amdgpu_dm new
and old object states. Helps with readability, and enforces use of new
DRM api (choose either new, or old).
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:42:56 +10:00
Leo (Sunpeng) Li
c2cea7063b
drm/amd/display: Unify DRM state variable namings.
...
Use new_*_state and old_*_state for their respective new/old DRM object
states.
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:42:56 +10:00
Leo (Sunpeng) Li
0bc9706db3
drm/amd/display: Use new DRM API where possible
...
To conform to DRM's new API, we should not be accessing a DRM object's
internal state directly. Rather, the DRM for_each_old/new_* iterators,
and drm_atomic_get_old/new_* interface should be used.
This is an ongoing process. For now, update the DRM-facing atomic
functions, where the atomic state object is given.
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:42:55 +10:00
Dave Airlie
9ba29fcb76
drm/amd/display: Use DRM new-style object iterators.
...
Use the correct for_each_new/old_* iterators instead of for_each_*
The following functions were considered:
amdgpu_dm_find_first_crtc_matching_connector: use for_each_new
- Old from_state_var flag was always choosing the new state
amdgpu_dm_display_resume: use for_each_new
- drm_atomic_helper_duplicate_state is called during suspend to
cache the state
- It sets 'state' within the state triplet to 'new_state'
amdgpu_dm_commit_planes: use for_each_old
- Called after the state was swapped (via atomic commit tail)
amdgpu_dm_atomic_commit: use for_each_new
- Called before the state is swapped
amdgpu_dm_atomic_commit_tail: use for_each_old
- Called after the state was swapped
dm_update_crtcs_state: use for_each_new
- Called before the state is swapped (via atomic check)
amdgpu_dm_atomic_check: use for_each_new
- Called before the state is swapped
v2: Split out typo fixes to a new patch.
v3: Say "functions considered" instead of "affected functions". The
latter implies that changes are made to each.
[airlied: squashed with my hacks]
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com >
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-17 10:42:38 +10:00
Dave Airlie
8ee5702afd
amdgpu/dc: use kref for dc_state.
...
I'm not a huge fan of those copying around refcounts bits, might
want to consider alternates, but this should work for now.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:10:25 -04:00
Dave Airlie
cb56aceabd
amdgpu/dc: convert dc_sink to kref.
...
Refcounts use krefs.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:10:08 -04:00
Dave Airlie
bfe0feb143
amdgpu/dc: convert dc_stream_state to kref.
...
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:09:50 -04:00
Dave Airlie
4d090f0fae
amdgpu/dc: use kref for dc_plane_state.
...
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:09:34 -04:00
Dave Airlie
5c58ab0bd6
amdgpu/dc: convert dc_gamma to kref reference counting.
...
Rolling your own reference counting is frowned upon.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:09:10 -04:00
Dave Airlie
9305213256
amdgpu/dc: convert dc_transfer to use a kref.
...
Rolling your own atomic ref counts is frowned upon.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:08:55 -04:00
Dave Airlie
5d15ae23f8
amdgpu/dc: kill a bunch of dead code.
...
None of this code is used currently.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:08:26 -04:00
Dave Airlie
44858055bb
amdgpu/dc: set a bunch of functions to static.
...
All of these are unused outside the file they are in.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:07:58 -04:00
Dave Airlie
c6fa531809
amdgpu/dc: kill some deadcode in dc core.
...
Moves one function to an inline, but kills a bunch of deadcode.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:07:39 -04:00
Dave Airlie
c1199962f5
amdgpu/dc: fix indentation on a couple of returns.
...
These were misaligned.
found by the cocci ifcol script.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:07:06 -04:00
Dave Airlie
ae3a27d19b
amdgpu/dm: don't use after free.
...
This dereference acrtc after freeing it.
Found by the kfree cocci script.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:05:22 -04:00
Dave Airlie
d029810caa
amdgpu/dc: kfree already checks for NULL.
...
Don't bother checking for it.
Found with the cocci ifnullfree.cocci script.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:05:03 -04:00
Dave Airlie
5667ff5c11
amdgpu/dc: fix a bunch of misc whitespace.
...
This just aligns a few things with kernel style.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:04:42 -04:00
Dave Airlie
2016b641f4
amdgpu/dc: drop hw_sequencer_types.h
...
This isn't used or required.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:03:20 -04:00
Dave Airlie
bd42a6f451
amdgpu/dc: drop dce110_types.h
...
Doesn't appear to be used.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:02:57 -04:00
Dave Airlie
23d433fabe
amdgpu/dc: use kernel ilog2 for log_2.
...
This should produce the same result.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 13:00:27 -04:00
Dave Airlie
4ee67c71b8
amdgpu/dc: don't memset after kzalloc.
...
We allocate this struct zeroed, so don't need to memset in the
constructor.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 12:59:20 -04:00
Dave Airlie
48aa3ddfd5
amdgpu/dc: inline dal grph object id functions.
...
This is worth 400 bytes.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-10-06 12:58:50 -04:00
Dave Airlie
d8c893b44b
amdgpu/dc: inline dml_round_to_multiple
...
turns out to be a win to inline this.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:04:16 -04:00
Dave Airlie
2a206cc20a
amdgpu/dc: rename bios get_image symbol to something more searchable.
...
This just makes it easier to find.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:04:10 -04:00
Dave Airlie
04e212926f
amdgpu/dc: set some of the link dp code to static.
...
These aren't currently used outside this file.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:04:03 -04:00
Dave Airlie
69e3fdaabe
amdgpu/dc: inline all the signal_types code.
...
This is worth 300 bytes, and one less source file.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:03:56 -04:00
Dave Airlie
bd6d15769e
amdgpu/dc: inline fixed31_32 div_int
...
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:03:49 -04:00
Dave Airlie
c233e91b0f
amdgpu/dc: use the builtin constant p trick on the 31/32 fixed point.
...
This only gets us 100 bytes, but may as well be consistent.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:03:43 -04:00
Dave Airlie
dfd1e5ce67
amdgpu/dc: allow inlining constant int to fixed a lot better.
...
This uses two things that might be Linux specific,
__builtin_constant_p (might be gcc)
and
BUILD_BUG_ON. (maybe other dm's can have something similiar).
This saves 4k in the bw calcs code.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:03:35 -04:00
Dave Airlie
1fcd8c53b0
amdgpu/dc: inline some of the bw_fixed code.
...
This results in a ~4.5k code size reduction.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:03:28 -04:00
Dave Airlie
450619d328
amdgpu/dc: move some one line dp functions to inlines.
...
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:03:22 -04:00
Dave Airlie
736b4f153b
amdgpu/dc: hide some unused aux/i2c payload apis.
...
I've no idea if these are used on other platforms, but they
aren't used outside this file here, so make them static.
Drops 300 bytes.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:03:15 -04:00
Dave Airlie
204de25fd0
amdgpu/dc: inline a bunch of the fixed 31_32 helpers.
...
This decreases code size by a few hundred bytes.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:03:09 -04:00
Dave Airlie
c4fee87961
amdgpu/dc: inline some of the fixed 32_32 fns
...
This drops ~400 bytes here.
Signed-off-by: Dave Airlie <airlied@redhat.com >
Reviewed-by: Harry Wentland <harry.wentland@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2017-09-29 13:03:01 -04:00