Alex Deucher
58fafbaf16
drm/amdgpu/vce3: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:53:02 -04:00
Alex Deucher
9d6b7a6447
drm/amdgpu/vce2: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:53:02 -04:00
Alex Deucher
a6f8d72867
drm/amdgpu/vce: add common ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:53:01 -04:00
Alex Deucher
c3f5875888
drm/amdgpu/uvd6: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:53:01 -04:00
Alex Deucher
cdbbb7846c
drm/amdgpu/uvd5: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:53:00 -04:00
Alex Deucher
23f8f8006a
drm/amdgpu/uvd4.2: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:53:00 -04:00
Alex Deucher
928d467448
drm/amdgpu/sdma3: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:59 -04:00
Alex Deucher
fe7c0f26da
drm/amdgpu/sdma2.4: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:58 -04:00
Alex Deucher
77b52a5bc6
drm/amdgpu/cik_sdma: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:58 -04:00
Alex Deucher
229e2d46da
drm/amdgpu/si_dma: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:57 -04:00
Alex Deucher
7512ad16b5
drm/amdgpu/gfx8: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:57 -04:00
Alex Deucher
b04e26b3c7
drm/amdgpu/gfx7: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:56 -04:00
Alex Deucher
a851d0f4ca
drm/amdgpu/gfx6: add ring callbacks for ib and dma frame size
...
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:55 -04:00
Alex Deucher
b6384ff537
drm/amdgpu/ring: add an interface to get dma frame and ib size
...
Used to properly calculate space on the ring for ib submissions.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:55 -04:00
Alex Deucher
e75a887162
drm/amdgpu/sdma3: drop unused functions
...
These are not used yet.
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:54 -04:00
Alex Deucher
95e588a014
drm/amdgpu/gfx6: drop gds_switch callback
...
GDS works differently on GFX6, plus the callback was
empty.
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:54 -04:00
Alex Deucher
0f444c24dd
drm/amdgpu/gfx6: add ring_emit_cntxcntl
...
Missing for gfx6.
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:53 -04:00
Alex Deucher
668f52c303
drm/amdgpu/gfx6: drop duplicate code
...
The compute functions just called the gfx functions, drop
the wrapper.
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:52 -04:00
Alex Deucher
2255e8c109
drm/amdgpu/si: fix ring size for compute
...
We switched the other asics, but missed this.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:52 -04:00
Rex Zhu
d932f37c4a
drm/amdgpu: not set cg for vce/uvd in late init.
...
no need to set cg for uvd/vce in late init.
As when ring test, uvd/vce's dpm will be enabled/disabled.
the cg will be set.
fix issue suspend when play video or encode, then resume back,
the clock will be bypassed on Polaris/Fiji.
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:51 -04:00
Jordan Lazare
a47c78d964
drm/amdgpu/vi: Use correct external_rev_id for stoney
...
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Jordan Lazare <Jordan.Lazare@amd.com >
Cc: stable@vger.kernel.org
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-16 15:52:48 -04:00
Masahiro Yamada
d912adef4d
drm/amdgpu: squash lines for simple wrapper functions
...
Remove unneeded variables and assignments.
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk >
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com >
Signed-off-by: Sean Paul <seanpaul@chromium.org >
Link: http://patchwork.freedesktop.org/patch/msgid/1473863952-7658-2-git-send-email-yamada.masahiro@socionext.com
2016-09-15 10:39:21 -04:00
Christian König
056472f1d1
drm/amdgpu: use explicit limit for VRAM<->GTT moves
...
Use an explicit limit when moving things around to
force address space allocation.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:46 -04:00
Christian König
08291c5c2e
drm/amdgpu: use explicit GTT limit for evictions
...
This way the address space gets allocated immediately.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:45 -04:00
Christian König
78ab0a38bf
drm/amdgpu: unbind GTT only when it is bound
...
Doesn't make much sense to clear the GTT when it was never filled.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:44 -04:00
Christian König
9702d40dd3
drm/amdgpu: add AMDGPU_BO_INVALID_OFFSET
...
An invalid offset to be used by custom VRAM/GGT manager when we
don't have an offset for an BO.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:44 -04:00
Christian König
aa29040b43
drm/amdgpu: validate size and offset of user fence BO
...
We need to validate the offset to make sure that we don't write after the BO.
Additional to that a page should be enough and can make address space
handling much easier.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:43 -04:00
Christian König
283cde69aa
drm/ttm: rework handling of private mem types
...
Instead of keeping a bunch of potentially unused flags, just define
the start for private memory types and remove the rest.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:42 -04:00
Alex Deucher
7c1fa1db54
drm/amdgpu: handle runtime pm in fbcon (v2)
...
Ported from nouveau.
v2: re-enable runtime autosuspend in the error case
Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:40 -04:00
Alex Deucher
6861c837e2
drm/amdgpu/si/dpm: fix symbol conflicts with radeon
...
Acked-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:40 -04:00
Alex Deucher
a104777732
drm/amdgpu/si/dpm: make a bunch of things static
...
remnants of the port from radeon.
Acked-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:39 -04:00
Baoyou Xie
761c2e8205
drm/amdgpu: mark symbols static where possible
...
We get a few warnings when building kernel with W=1:
drivers/gpu/drm/amd/amdgpu/cz_smc.c:51:5: warning: no previous prototype for 'cz_send_msg_to_smc_async' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/cz_smc.c:143:5: warning: no previous prototype for 'cz_write_smc_sram_dword' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/iceland_smc.c:124:6: warning: no previous prototype for 'iceland_start_smc' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c:3926:6: warning: no previous prototype for 'gfx_v8_0_rlc_stop' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/amdgpu_job.c:94:6: warning: no previous prototype for 'amdgpu_job_free_cb' [-Wmissing-prototypes]
....
In fact, these functions are only used in the file in which they are
declared and don't need a declaration, but can be made static.
So this patch marks these functions with 'static'.
Reviewed-by: Christian König <christian.koenig@amd.com >
Acked-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:37 -04:00
Baoyou Xie
9ca91fdd13
drm/amdgpu: add missing header dependencies
...
We get a few warnings when building kernel with W=1:
drivers/gpu/drm/amd/amdgpu/amdgpu_pll.c:113:6: warning: no previous prototype for 'amdgpu_pll_compute' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/cz_smc.c:38:10: warning: no previous prototype for 'cz_get_argument' [-Wmissing-prototypes]
drivers/gpu/drm/amd/amdgpu/cz_smc.c:302:5: warning: no previous prototype for 'cz_smu_start' [-Wmissing-prototypes]
....
In fact, these functions are declared in
drivers/gpu/drm/amd/amdgpu/atombios_i2c.h
drivers/gpu/drm/amd/amdgpu/amdgpu_pll.h
drivers/gpu/drm/amd/amdgpu/cz_dpm.h
drivers/gpu/drm/amd/amdgpu/vi_dpm.h.
So this patch adds missing header dependencies.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Baoyou Xie <baoyou.xie@linaro.org >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:37 -04:00
Rex Zhu
5141e9d2f7
drm/amd/powerplay: add module parameter to mask pp features
...
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com >
Acked-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:33 -04:00
Huang Rui
e9d035eca4
drm/amdgpu: use error label to handle exceptional case
...
Use error label to decrease global item unref and make codes more
readable.
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Huang Rui <ray.huang@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:32 -04:00
Flora Cui
441f90ecf5
drm/amdgpu: update gart_pin_size if bo is in GTT
...
Signed-off-by: Flora Cui <Flora.Cui@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:31 -04:00
Christian König
c855e25090
drm/amdgpu: bind GTT on demand
...
We don't really need the GTT table any more most of the time. So bind it
only on demand.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:30 -04:00
Christian König
71c76a086f
drm/amdgpu: fix GTT offset handling
...
Otherwise we run into problems on 32bit systems with more than 4GB GART.
Signed-off-by: Christian König <christian.koenig@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:30 -04:00
Monk Liu
753ad49c9f
drm/amdgpu:implement CONTEXT_CONTROL (v5)
...
v1:
for gfx8, use CONTEXT_CONTROL package to dynamically
skip preamble CEIB and other load_xxx command in sequence.
v2:
support GFX7 as well.
remove cntxcntl in compute ring funcs because CPC doesn't
support this packet.
v3: fix reduntant judgement in cntxcntl.
v4: some cleanups, don't change cs_submit()
v5: keep old MESA supported & bump up KMS version.
Signed-off-by: Monk Liu <Monk.Liu@amd.com >
Ack-by: Chunming Zhou <David1.Zhou@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:29 -04:00
Michel Dänzer
e7b54945f5
drm/amdgpu/si: Call amdgpu_ttm_set_active_vram_size from si_dma_start/stop
...
Without this, we were only ever using the first 256MB of VRAM.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97593
Tested-by: Konstantin A. Lepikhov <lakostis@altlinux.org >
Tested-by: Arek Ruśniak <arek.rusi@gmail.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:27 -04:00
Junwei Zhang
8640faed5a
drm/amdgpu: free the BO in kernel by helper amdgpu_bo_free_kernel()
...
Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:27 -04:00
Junwei Zhang
aa1d562e64
drm/amdgpu: add a new helper to free a BO in kernel allocations
...
Free the BO allocated by amdgpu_bo_create_kernel()
Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:26 -04:00
Tom St Denis
ad2473af27
drm/amd/amdgpu: Fix return values in SI DPM code
...
Fix a couple of spots where errors were not returned as
well as add some error messages to
si_patch_dependency_based_on_leakage() which were not being
read.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:26 -04:00
Huang Rui
fd5065584d
drm/amdgpu: move some release handles into fail labels (v2)
...
Clean up the codes to move the release handles into fail labels.
v2: squash in Christian's regression fix
Signed-off-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Chunming Zhou <david1.zhou@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 15:10:25 -04:00
Tom St Denis
f166d9f297
drm/amd/amdgpu: Remove double lock from gfx v6
...
The function gfx_v6_0_get_cu_info() was taking the
grbm_idx_mutex which was then taken by a dependent
function gfx_v6_0_get_cu_active_bitmap().
This patch removes the select from the parent function
to avoid the double lock.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Christian König <christian.koenig@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 09:43:41 -04:00
Tom St Denis
075719c3cb
drm/amd/amdgpu: Convert messages in gmc v6 to dev_*()
...
Make the kernel log messaging more consistent and use the
dev_*() functions instead of a mix of DRM_*() and printk().
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 09:43:40 -04:00
Tom St Denis
e5c5304f13
drm/amd/amdgpu: Comment out currently unused SI DPM struct
...
The tahiti_le structure is not currently used. Comment it out
to avoid warnings.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 09:43:40 -04:00
Tom St Denis
f80c738c61
drm/amd/amdgpu: Tidy up SI SMC code (v2)
...
As well as merge SMC clock functions into one to reduce LOC.
v2: Fix swapped ck enable bit
bug: https://bugs.freedesktop.org/show_bug.cgi?id=97801
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-14 09:43:39 -04:00
Tom St Denis
6e9057a8f9
drm/amd/amdgpu: Tidy up SI IH code
...
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-12 18:12:22 -04:00
Tom St Denis
77d318a6b9
drm/amd/amdgpu: Correct whitespace in SI DPM code
...
Replace 8 spaces with tabs, correct {} braces, etc.
Signed-off-by: Tom St Denis <tom.stdenis@amd.com >
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net >
Reviewed-by: Huang Rui <ray.huang@amd.com >
Reviewed-by: Alex Deucher <alexander.deucher@amd.com >
Signed-off-by: Alex Deucher <alexander.deucher@amd.com >
2016-09-12 18:12:21 -04:00