aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linuxLinus Torvalds2016-01-17149-2358/+51269
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull drm updates from Dave Airlie: "This is the main drm pull request for 4.5. I don't think I've missed anything too major, I'm mostly back at work now but I'll probably get some sleep in 5 years time. Summary: New drivers: - etnaviv: GPU driver for the 3D core on the Vivante core used in numerous ARM boards. Highlights: Core: - Atomic suspend/resume helpers - Move the headers to using userspace friendlier types. - Documentation updates - Lots of struct_mutex removal. - Bunch of DP MST fixes from AMD. Panel: - More DSI helpers - Support for some new basic panels i915: - Basic Kabylake support - DP link training and detect code refactoring - fbc/psr fixes - FIFO underrun fixes - SDE interrupt handling fixes - dma-buf/fence support in pageflip path. - GPU side for MST audio support radeon/amdgpu: - Drop UMS support - GPUVM/Scheduler optimisations - Initial Powerplay support for Tonga/Fiji/CZ/ST - ACP audio prerequisites nouveau: - GK20a instmem improvements - PCIE link speed change support msm: - DSI support for msm8960/apq8064 tegra: - Host1X support for Tegra210 SoC vc4: - 3D acceleration support armada: - Get rid of struct mutex tda998x: - Atomic modesetting support - TMDS clock limitations omapdrm: - Atomic modesetting support - improved TILER performance rockchip: - RK3036 VOP support - Atomic modesetting support - Synopsys DW MIPI DSI support exynos: - Runtime PM support - of_graph binding for DP panels - Cleanup of IPP code - Configurable plane support - Kernel panic fixes at release time" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (711 commits) drm/fb_cma_helper: Remove implicit call to disable_unused_functions drm/amdgpu: add missing irq.h include drm/vmwgfx: Fix a width / pitch mismatch on framebuffer updates drm/vmwgfx: Fix an incorrect lock check drm: nouveau: fix nouveau_debugfs_init prototype drm/nouveau/pci: fix check in nvkm_pcie_set_link drm/amdgpu: validate duplicates first drm/amdgpu: move VM page tables to the LRU end on CS v2 drm/ttm: add ttm_bo_move_to_lru_tail function v2 drm/ttm: fix adding foreign BOs to the swap LRU drm/ttm: fix adding foreign BOs to the LRU during init v2 drm/radeon: use kobj_to_dev() drm/amdgpu: use kobj_to_dev() drm/amdgpu/cz: force vce clocks when sclks are forced drm/amdgpu/cz: force uvd clocks when sclks are forced drm/amdgpu/cz: add code to enable forcing VCE clocks drm/amdgpu/cz: add code to enable forcing UVD clocks drm/amdgpu: fix lost sync_to if scheduler is enabled. drm/amd/powerplay: fix static checker warning for return meaningless value. drm/sysfs: use kobj_to_dev() ...
| * drm/amdgpu: add missing irq.h includeDave Airlie2016-01-131-0/+1
| | | | | | | | | | | | this fixes the build on arm. Signed-off-by: Dave Airlie <[email protected]>
| * Merge branch 'drm-next-4.5' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie2016-01-1316-18/+524
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into drm-next A few more misc things for radeon and amdgpu for 4.5: - TTM fixes for imported buffers - amdgpu fixes to avoid -ENOMEM in CS ioctl - CZ UVD and VCE clock force options for debugging video issues - A couple of ACP prerequisites - Misc fixes * 'drm-next-4.5' of git://people.freedesktop.org/~agd5f/linux: drm/amdgpu: validate duplicates first drm/amdgpu: move VM page tables to the LRU end on CS v2 drm/ttm: add ttm_bo_move_to_lru_tail function v2 drm/ttm: fix adding foreign BOs to the swap LRU drm/ttm: fix adding foreign BOs to the LRU during init v2 drm/radeon: use kobj_to_dev() drm/amdgpu: use kobj_to_dev() drm/amdgpu/cz: force vce clocks when sclks are forced drm/amdgpu/cz: force uvd clocks when sclks are forced drm/amdgpu/cz: add code to enable forcing VCE clocks drm/amdgpu/cz: add code to enable forcing UVD clocks drm/amdgpu: fix lost sync_to if scheduler is enabled. drm/amd/powerplay: fix static checker warning for return meaningless value. drm/amdgpu: add irq domain support drm/amdgpu/cgs: add an interface to access PCI resources
| | * drm/amdgpu: validate duplicates firstChristian König2016-01-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Most VM BOs end up in the duplicates list, validate it first make -ENOMEM less likely. Signed-off-by: Christian König <[email protected]> Reviewed-by: Chunming Zhou <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| | * drm/amdgpu: move VM page tables to the LRU end on CS v2Christian König2016-01-133-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it less likely to run into an ENOMEM because VM page tables are evicted last. v2: move the BOs in the LRU tail after validation Signed-off-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| | * drm/amdgpu: use kobj_to_dev()Geliang Tang2016-01-131-1/+1
| | | | | | | | | | | | | | | | | | | | | Use kobj_to_dev() instead of open-coding it. Signed-off-by: Geliang Tang <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| | * drm/amdgpu/cz: force vce clocks when sclks are forcedAlex Deucher2016-01-131-1/+23
| | | | | | | | | | | | | | | Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| | * drm/amdgpu/cz: force uvd clocks when sclks are forcedAlex Deucher2016-01-131-0/+24
| | | | | | | | | | | | | | | Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| | * drm/amdgpu/cz: add code to enable forcing VCE clocksAlex Deucher2016-01-132-1/+98
| | | | | | | | | | | | | | | | | | | | | | | | VCE DPM works similarly to SCLK DPM. Add a similar interface for VCE for forcing the VCE clocks. Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| | * drm/amdgpu/cz: add code to enable forcing UVD clocksAlex Deucher2016-01-132-0/+130
| | | | | | | | | | | | | | | | | | | | | | | | UVD DPM works similarly to SCLK DPM. Add a similar interface for UVD for forcing the UVD clocks. Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| | * drm/amdgpu: fix lost sync_to if scheduler is enabled.Chunming Zhou2016-01-131-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | when scheduler is enabled, the semaphore isn't used at all. Signed-off-by: Chunming Zhou <[email protected]> Reviewed-by: Christian König <[email protected]> Cc: [email protected]
| | * drm/amd/powerplay: fix static checker warning for return meaningless value.Rex Zhu2016-01-131-3/+3
| | | | | | | | | | | | | | | | | | | | | The return value should be either negative or zero, no positive. Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
| | * drm/amdgpu: add irq domain supportAlex Deucher2016-01-116-8/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware blocks on the GPU like ACP generate interrupts in the GPU interrupt controller, but are driven by a separate driver. Add an irq domain to the GPU driver so that blocks like ACP can register a Linux interrupt. Acked-by: Dave Airlie <[email protected]> Acked-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| | * drm/amdgpu/cgs: add an interface to access PCI resourcesAlex Deucher2016-01-112-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides an interface to get access to the base address of PCI resources (MMIO, DOORBELL, etc.). Only MMIO and DOORBELL are implemented right now. This is necessary to properly utilize shared drivers on platform devices. IP modules can use this interface to get the base address of the resource and add any additional offset and set the size when setting up the platform driver(s). Acked-by: Dave Airlie <[email protected]> Acked-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * | drm/amdgpu/powerplay: include asm/div64.h for do_div()Stephen Rothwell2016-01-112-2/+2
| |/ | | | | | | | | | | Fixes: 1e4854e96c35 ("drm/amdgpu/powerplay: implement thermal control for tonga.") Signed-off-by: Stephen Rothwell <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
| * drm/amdgpu: add warning to amdgpu_bo_gpu_offset() v2Christian König2016-01-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | Check if there really is a valid offset for the BO. v2: user WARN_ON_ONCE Signed-off-by: Christian König <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Alex Deucher <[email protected]> (v1) Signed-off-by: Alex Deucher <[email protected]>
| * drm/amd/powerplay: implement power down asic task for CZRex Zhu2016-01-081-0/+55
| | | | | | | | | | | | Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amd/powerplay: enable power down asic task. (v2)Rex Zhu2016-01-084-5/+23
| | | | | | | | | | | | | | | | v2: AGD: rebase on upstream Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amd/powerplay: enable set boot state taskRex Zhu2016-01-083-5/+6
| | | | | | | | | | | | Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amd/powerplay: add thermal control task when resume.Rex Zhu2016-01-081-0/+1
| | | | | | | | | | | | Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amdgpu: fix hex/decimal bug when show gpu load.Rex Zhu2016-01-082-10/+10
| | | | | | | | | | | | Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Rex Zhu <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amdgpu: Show gpu load when display gpu performance for Fiji of VI.Rex Zhu2016-01-081-1/+10
| | | | | | | | | | | | Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Rex Zhu <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amdgpu: Show gpu load when display gpu performance for Ci.Rex Zhu2016-01-081-2/+12
| | | | | | | | | | | | Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Rex Zhu <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amd/powerplay: Reload and initialize the smc firmware on powerplay resume.Rex Zhu2016-01-081-0/+17
| | | | | | | | | | | | Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Rex Zhu <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amd/powerplay: add powerplay valid check to avoid null point. (v2)Rex Zhu2016-01-082-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | In case CONFIG_DRM_AMD_POWERPLAY is defined and amdgpu.powerplay=0. some functions in powrplay can also be called by DAL. and the input parameter is *adev. if just check point not NULL was not enough and will lead to NULL point error. V2: AGD: rebase on upstream Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amd/powerplay: fix Smatch static checker warningsRex Zhu2016-01-088-32/+51
| | | | | | | | | | | | | | | | | | | | 1. return -1 instead of -ENOMEM 2. The struct type mismatch warnings. Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Ken Wang <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amd/powerplay: fix Smatch static checker warnings with indenting (v2)Rex Zhu2016-01-086-303/+298
| | | | | | | | | | | | | | | | | | v2: AGD: rebase on upstream Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Ken Wang <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amd/powerplay: fix bug that NULL checks are reversed.Rex Zhu2016-01-081-5/+5
| | | | | | | | | | | | | | | | | | && was used instead of ||. Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Ken Wang <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * amdgpu/dce11: Add test for crtc < 0 to various DCEv11 functionsTom St Denis2016-01-041-4/+4
| | | | | | | | | | | | | | To be consistent with other DCE11 functions test for crtc < 0. Signed-off-by: Tom St Denis <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
| * amdgpu/dce11: Remove division from dce_v11_0_vblank_wait()Tom St Denis2016-01-041-3/+5
| | | | | | | | | | | | | | Mimics odd behaviour where (i++ % 100 == 0) is true in the first iteration of each loop... Signed-off-by: Tom St Denis <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
| * amdgpu/vce3: Simplify vce_v3_0_hw_init and ensure both rings default to not ↵Tom St Denis2016-01-041-15/+9
| | | | | | | | | | | | | | | | | | | | | | ready. Simplified the ring test and added logic to ensure rings are marked not ready by default. Signed-off-by: Tom St Denis <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
| * amdgpu/vce3: Remove magic constants from harvest register masks.Tom St Denis2016-01-041-4/+4
| | | | | | | | | | Signed-off-by: Tom St Denis <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
| * amdgpu/vce3: Simplify vce_v3_0_process_interrupt()Tom St Denis2016-01-041-3/+1
| | | | | | | | | | | | | | Fold two cases into one for a LOC reduction. Signed-off-by: Tom St Denis <[email protected]> Reviewed-by: Christian König <[email protected]>
| * amdgpu/vce3: Simplify vce_v3_0_soft_reset()Tom St Denis2016-01-041-9/+2
| | | | | | | | | | | | | | LOC reduction and simplification. Signed-off-by: Tom St Denis <[email protected]> Reviewed-by: Christian König <[email protected]>
| * amdgpu/vce3: Simplify idle and wait for idle codeTom St Denis2016-01-041-25/+5
| | | | | | | | | | | | | | | | More LOC reductions in VCE3 code. This patch simplifies the is_idle and wait_for_idle logic. Signed-off-by: Tom St Denis <[email protected]> Reviewed-by: Christian König <[email protected]>
| * amdgpu/vce3: Cleanup harvest config function.Tom St Denis2016-01-041-14/+6
| | | | | | | | | | | | | | Basic LOC reduction. Signed-off-by: Tom St Denis <[email protected]> Reviewed-by: Christian König <[email protected]>
| * drm/amdgpu: fix NULL in vm_grab_id while S3 backChunming Zhou2016-01-042-2/+0
| | | | | | | | | | | | | | vm_manager_fini shouldn't be in suspend phase. Signed-off-by: Chunming Zhou <[email protected]> Reviewed-by: Ken Wang <[email protected]>
| * drm/amd/powerplay: precedence bug in init_non_clock_fields()Dan Carpenter2016-01-041-2/+2
| | | | | | | | | | | | | | | | | | The cast to uint8_t happens before the right shift so this always sets .m3arb to zero. The cast is actually a no-op so we can remove it. Fixes: 3bace3591493 ('drm/amd/powerplay: add hardware manager sub-component') Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amdgpu/cgs: cleanup some indentingDan Carpenter2016-01-041-9/+9
| | | | | | | | | | | | | | | | This code is indented too far. Also we normally use spaces to align if statement conditions. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm/amd/powerplay: fix a reversed conditionDan Carpenter2016-01-041-1/+1
| | | | | | | | | | | | | | | | This test was reversed so it would end up leading to a NULL dereference. Fixes: 4630f0faae80 ('drm/amd/powerplay: add Carrizo smu support') Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| * drm: powerplay: use div64_s64 instead of do_divArnd Bergmann2016-01-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The newly added code for Fiji creates a correct compiler warning about invalid use of the do_div macro: In file included from powerplay/hwmgr/ppatomctrl.c:31:0: drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/ppevvmath.h: In function 'fDivide': drivers/gpu/drm/amd/amdgpu/../powerplay/hwmgr/ppevvmath.h:382:89: warning: comparison of distinct pointer types lacks a cast do_div(longlongX, longlongY); /*Q(32,32) divided by Q(16,16) = Q(16,16) Back to original format */ do_div() divides an unsigned 64-bit number by an unsigned 32-bit number. The code instead wants to divide two signed 64-bit numbers, which is done using the div64_s64 function. Reviewed-by: Thierry Reding <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]> Fixes: 770911a3cfbb ("drm/amd/powerplay: add/update headers for Fiji SMU and DPM") Signed-off-by: Alex Deucher <[email protected]>
| * Backmerge drm-fixes merge into Linus's tree into drm-next.Dave Airlie2015-12-233-22/+52
| |\ | | | | | | | | | | | | | | | | | | | | | This merges '5b726e06d6e8309e5c9ef4109a32caf27c71dfc8' into drm-next Just to resolve some merges to make Daniel's life easier. Signed-off-by: DAve Airlie <[email protected]>
| * \ Merge branch 'drm-next-4.5' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie2015-12-23134-2246/+50554
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into drm-next [airlied: fixup build problems on arm - added errno.h include] * 'drm-next-4.5' of git://people.freedesktop.org/~agd5f/linux: (152 commits) amd/powerplay: fix copy paste typo in hardwaremanager.c amd/powerplay: disable powerplay by default initially amd/powerplay: don't enable ucode fan control if vbios has no fan table drm/amd/powerplay: show gpu load when print gpu performance for Cz. (v2) drm/amd/powerplay: check whether need to enable thermal control. (v2) drm/amd/powerplay: add point check to avoid NULL point hang. drm/amdgpu/powerplay: Program a calculated value as Deep Sleep clock. drm/amd/powerplay: Don't return an error if fan table is missing drm/powerplay/hwmgr: log errors in tonga_hwmgr_backend_init drm/powerplay: add debugging output to processpptables.c drm/powerplay: add debugging output to tonga_processpptables.c amd/powerplay: Add structures required to report configuration change amd/powerplay: Fix get dal power level amd\powerplay Implement get dal power level drm/amd/powerplay: display gpu load when print performance for tonga. drm/amdgpu/powerplay: enable sysfs and debugfs interfaces late drm/amd/powerplay: move shared function of vi to hwmgr. (v2) drm/amd/powerplay: check whether enable dpm in powerplay. drm/amd/powerplay: fix bug that dpm funcs in debugfs/sysfs missing. drm/amd/powerplay: fix boolreturn.cocci warnings ...
| | * | amd/powerplay: fix copy paste typo in hardwaremanager.cAlex Deucher2015-12-211-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Alex Deucher <[email protected]>
| | * | amd/powerplay: disable powerplay by default initiallyAlex Deucher2015-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Hopefully we can enable this by default once we get more upstream feedback on stability, etc. Signed-off-by: Alex Deucher <[email protected]>
| | * | amd/powerplay: don't enable ucode fan control if vbios has no fan tableAlex Deucher2015-12-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some systems have a single fan controlled by ACPI or some other method. Reviewed-by: Tom St Denis <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
| | * | drm/amd/powerplay: show gpu load when print gpu performance for Cz. (v2)Rex Zhu2015-12-211-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Show GPU load in in the debugfs output. v2: integrate Tom's optimization Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Rex Zhu <[email protected]>
| | * | drm/amd/powerplay: check whether need to enable thermal control. (v2)Rex Zhu2015-12-211-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In I+A platform(skylake), it is controlled by intel. v2: integrate Tom's fix Reviewed-by: Alex Deucher <[email protected]> Signed-off-by: Rex Zhu <[email protected]>
| | * | drm/amd/powerplay: add point check to avoid NULL point hang.Rex Zhu2015-12-211-13/+47
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Rex Zhu <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
| | * | drm/amdgpu/powerplay: Program a calculated value as Deep Sleep clock.David Rokhvarg2015-12-211-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | This replaces programming of a hardcoded value. Signed-off-by: David Rokhvarg <[email protected]>