aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* drm/amd: cleanup get_mfd_cell_dev()Dan Carpenter2016-02-26
| | | | | | | | | It's simpler to just use snprintf() to print this to one buffer instead of using strcpy() and strcat(). Also using snprintf() is slightly safer than using sprintf(). Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
* drm/amdgpu: fix error handling in amdgpu_bo_list_setChristian König2016-02-26
| | | | | | | Don't leak BOs in case of some error. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* drm/amd/powerplay: fix code style warning.Rex Zhu2016-02-26
| | | | | Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
* drm/amd: Do not make DRM_AMD_ACP default to yGeert Uytterhoeven2016-02-25
| | | | | | | | | | By default, not only this driver is enabled on all platforms, but also generic PM Domains and Multi-Function Devices. Drop the "default y" to fix this. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
* drm/amdgpu/gfx: fix off by one in rb rework (v2)Alex Deucher2016-02-25
| | | | | | | | | When I reworked this code, I messed up num rb count. v2: use hweight32 Reviewed-by: Ken Wang <Qingquing.Wang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
* Merge branch 'drm-rockchip-next-2016-02-18' of ↵Dave Airlie2016-02-18
|\ | | | | | | | | | | | | | | | | | | https://github.com/markyzq/kernel-drm-rockchip into drm-next add Innosilicon HDMI support. * 'drm-rockchip-next-2016-02-18' of https://github.com/markyzq/kernel-drm-rockchip: dt-bindings: add document for Innosilicon HDMI on Rockchip platform drm/rockchip: hdmi: add Innosilicon HDMI support
| * dt-bindings: add document for Innosilicon HDMI on Rockchip platformYakir Yang2016-02-18
| | | | | | | | | | Signed-off-by: Yakir Yang <ykk@rock-chips.com> Acked-by: Rob Herring <robh@kernel.org>
| * drm/rockchip: hdmi: add Innosilicon HDMI supportYakir Yang2016-02-18
| | | | | | | | | | | | | | | | | | The Innosilicon HDMI is a low power HDMI 1.4 transmitter IP, and it have been integrated on some rockchip CPUs (like RK3036, RK312x). Signed-off-by: Yakir Yang <ykk@rock-chips.com> Tested-by: Heiko Stuebner <heiko@sntech.de>
* | Merge tag 'drm-vc4-next-2016-02-17' of github.com:anholt/linux into drm-nextDave Airlie2016-02-18
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This pull request brings in overlay plane support for vc4. * tag 'drm-vc4-next-2016-02-17' of github.com:anholt/linux: drm/vc4: Add support for YUV planes. drm/vc4: Add support a few more RGB display plane formats. drm/vc4: Add support for scaling of display planes. drm/vc4: Fix which value is being used for source image size. drm/vc4: Add more display planes to each CRTC. drm/vc4: Make the CRTCs cooperate on allocating display lists. drm/vc4: Add a proper short-circut path for legacy cursor updates. drm/vc4: Move the plane clipping/scaling setup to a separate function. drm/vc4: Add missing __iomem annotation to hw_dlist. drm/vc4: Improve comments on vc4_plane_state members.
| * | drm/vc4: Add support for YUV planes.Eric Anholt2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This supports 420 and 422 subsampling with 2 or 3 planes, tested with modetest. It doesn't set up chroma subsampling position (which it appears KMS doesn't deal with yet). The LBM memory is overallocated in many cases, but apparently the docs aren't quite correct and I'll probably need to look at the hardware source to really figure it out. Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/vc4: Add support a few more RGB display plane formats.Eric Anholt2016-02-16
| | | | | | | | | | | | | | | | | | These were all touch-tested with modetest. Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/vc4: Add support for scaling of display planes.Eric Anholt2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | This implements a simple policy for choosing scaling modes (trapezoidal for decimation, PPF for magnification), and a single PPF filter (Mitchell/Netravali's recommendation). Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/vc4: Fix which value is being used for source image size.Eric Anholt2016-02-16
| | | | | | | | | | | | | | | | | | | | | This doesn't matter yet since we only allow 1:1 scaling, but the comment clearly says we should be using the source size. Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/vc4: Add more display planes to each CRTC.Eric Anholt2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | Previously we only did the primary and cursor plane, but overlay planes are useful and just require this setup to add, since all planes go into the HVS display list in the same way. Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/vc4: Make the CRTCs cooperate on allocating display lists.Eric Anholt2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | So far, we've only ever lit up one CRTC, so this has been fine. To extend to more displays or more planes, we need to make sure we don't run our display lists into each other. Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/vc4: Add a proper short-circut path for legacy cursor updates.Eric Anholt2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, on every modeset we would allocate new display list memory, recompute changed planes, write all of them to the new memory, and pointed scanout at the new list (which will latch approximately at the next line of scanout). We let drm_atomic_helper_wait_for_vblanks() decide whether we needed to wait for a vblank after a modeset before cleaning up the old state and letting the next modeset proceed, and on legacy cursor updates we wouldn't wait. If you moved the cursor fast enough, we could potentially wrap around the display list memory area and overwrite the existing display list while it was still being scanned out, resulting in the HVS scanning out garbage or just halting. Instead of making cursor updates wait for scanout to move to the new display list area (which introduces significant cursor lag in X), we just rewrite our current display list. Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/vc4: Move the plane clipping/scaling setup to a separate function.Eric Anholt2016-02-16
| | | | | | | | | | | | | | | | | | As we add actual scaling, this is going to get way more complicated. Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/vc4: Add missing __iomem annotation to hw_dlist.Eric Anholt2016-02-16
| | | | | | | | | | | | | | | | | | | | | This is the pointer to the HVS device's memory where we stored the contents of *dlist. Signed-off-by: Eric Anholt <eric@anholt.net>
| * | drm/vc4: Improve comments on vc4_plane_state members.Eric Anholt2016-02-16
| |/ | | | | | | Signed-off-by: Eric Anholt <eric@anholt.net>
* | Merge branch 'drm-next-4.6' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie2016-02-18
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into drm-next First radeon and amdgpu pull request for 4.6. Highlights: - ACP support for APUs with i2s audio - CS ioctl optimizations - GPU scheduler optimizations - GPUVM optimizations - Initial GPU reset support (not enabled yet) - New powerplay sysfs interface for manually selecting clocks - Powerplay fixes - Virtualization fixes - Removal of hw semaphore support - Lots of other misc fixes and cleanups * 'drm-next-4.6' of git://people.freedesktop.org/~agd5f/linux: (118 commits) drm/amdgpu: Don't call interval_tree_remove in amdgpu_mn_destroy drm/amdgpu: Fix race condition in amdgpu_mn_unregister drm/amdgpu: cleanup gem init/finit drm/amdgpu: rework GEM info printing drm/amdgpu: print the GPU offset as well in gem_info drm/amdgpu: optionally print the pin count in gem_info as well drm/amdgpu: print the BO size only once in amdgpu_gem_info drm/amdgpu: print pid as integer drm/amdgpu: remove page flip work queue v3 drm/amdgpu: stop blocking for page filp fences drm/amdgpu: stop calling amdgpu_gpu_reset from the flip code drm/amdgpu: remove fence reset detection leftovers drm/amdgpu: Fix race condition in MMU notifier release drm/radeon: Fix WARN_ON if DRM_DP_AUX_CHARDEV is enabled drm/amdgpu/vi: move uvd tiling config setup into uvd code drm/amdgpu/vi: move sdma tiling config setup into sdma code drm/amdgpu/cik: move uvd tiling config setup into uvd code drm/amdgpu/cik: move sdma tiling config setup into sdma code drm/amdgpu/gfx7: rework gpu_init() drm/amdgpu/gfx: clean up harvest configuration (v2) ...
| * | drm/amdgpu: Don't call interval_tree_remove in amdgpu_mn_destroyFelix Kuehling2016-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | rbtree_postorder_for_each_entry_safe can skip over some entries if the tree is rebalanced in interval_tree_remove. interval_tree_remove is also redundant when the tree is just about to be freed. Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
| * | drm/amdgpu: Fix race condition in amdgpu_mn_unregisterFelix Kuehling2016-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Exchange locking order of adev->mn_lock and mm_sem, so that rmn->mm->mmap_sem can be taken safely, protected by adev->mn_lock, when amdgpu_mn_destroy runs concurrently. Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
| * | drm/amdgpu: cleanup gem init/finitChristian König2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | Remove the double housekeeping and use something sane to forcefuly delete BOs on unload. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: rework GEM info printingChristian König2016-02-16
| | | | | | | | | | | | | | | | | | | | | Print BOs grouped per client. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: print the GPU offset as well in gem_infoChristian König2016-02-16
| | | | | | | | | | | | | | | | | | | | | To easily find which memory is used. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: optionally print the pin count in gem_info as wellChristian König2016-02-16
| | | | | | | | | | | | | | | | | | | | | Usefull when debugging page flipping. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: print the BO size only once in amdgpu_gem_infoChristian König2016-02-16
| | | | | | | | | | | | | | | | | | | | | Splitting it into KB/MB is just confusing. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: print pid as integerChristian König2016-02-16
| | | | | | | | | | | | | | | | | | | | | Not sure why somebody thought that this is a long. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: remove page flip work queue v3Christian König2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just use the system queue now that we don't block any more. v2: handle DAL as well. v3: agd: split DAL changes out Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Mykola Lysenko <mykola.lysenko@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> (v1)
| * | drm/amdgpu: stop blocking for page filp fencesChristian König2016-02-16
| | | | | | | | | | | | | | | | | | | | | Just register an callback and reschedule the work item if necessary. Signed-off-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: stop calling amdgpu_gpu_reset from the flip codeChristian König2016-02-16
| | | | | | | | | | | | | | | | | | | | | We don't return -EDEADLK any more. Signed-off-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: remove fence reset detection leftoversChristian König2016-02-16
| | | | | | | | | | | | | | | | | | | | | wait_event() never returns before the fence was signaled. Signed-off-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: Fix race condition in MMU notifier releaseFelix Kuehling2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The release notifier can get called a second time from mmu_notifier_unregister depending on a race between __mmu_notifier_release and amdgpu_mn_destroy. Use mmu_notifier_unregister_no_release to avoid this. Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
| * | drm/radeon: Fix WARN_ON if DRM_DP_AUX_CHARDEV is enabledLukas Wunner2016-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rafael Antognolli's new DRM_DP_AUX_CHARDEV feature causes a WARN_ON if drm_dp_aux->dev == drm_connector->kdev and drm_dp_aux_unregister() is called after drm_connector_unregister(). radeon is the only driver affected by this besides i915. (amdgpu calls drm_dp_aux_unregister() before drm_connector_unregister().) Cc: Rafael Antognolli <rafael.antognolli@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Lukas Wunner <lukas@wunner.de> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu/vi: move uvd tiling config setup into uvd codeAlex Deucher2016-02-12
| | | | | | | | | | | | | | | | | | | | | Split uvd and gfx programming. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu/vi: move sdma tiling config setup into sdma codeAlex Deucher2016-02-12
| | | | | | | | | | | | | | | | | | | | | Split sdma and gfx programming. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu/cik: move uvd tiling config setup into uvd codeAlex Deucher2016-02-12
| | | | | | | | | | | | | | | | | | | | | Split uvd and gfx programming. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu/cik: move sdma tiling config setup into sdma codeAlex Deucher2016-02-12
| | | | | | | | | | | | | | | | | | | | | Split sdma and gfx programming. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu/gfx7: rework gpu_init()Alex Deucher2016-02-12
| | | | | | | | | | | | | | | | | | | | | Split the sw and hw parts into separate functions. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu/gfx: clean up harvest configuration (v2)Alex Deucher2016-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Read back harvest configuration from registers and simplify calculations. No need to program the raster config registers. These are programmed as golden registers and the user mode drivers program them as well. v2: rebase on Tom's patches Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: fix coding style in amdgpu_ctx.cChristian König2016-02-12
| | | | | | | | | | | | | | | | | | | | | Don't use pointer arithmetic and fix the indentation. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: nuke the kernel contextChristian König2016-02-12
| | | | | | | | | | | | | | | | | | | | | Not used any more. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: use separate scheduler entity for VCE submissionsChristian König2016-02-12
| | | | | | | | | | | | | | | | | | | | | | | | This allows us to remove the kernel context and use a better priority for the submissions. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: use separate scheduler entity for UVD submissionsChristian König2016-02-12
| | | | | | | | | | | | | | | | | | | | | | | | This allows us to remove the kernel context and use a better priority for the submissions. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: use separate scheduler entitiy for buffer movesChristian König2016-02-12
| | | | | | | | | | | | | | | | | | | | | This allows us to remove the global kernel context. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: use SDMA round robin for VM updates v3Christian König2016-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Distribute the load on both rings. v2: use a loop for the initialization v3: agd: rebase on upstream Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: remove is_pte_ringChristian König2016-02-12
| | | | | | | | | | | | | | | | | | | | | Not used for anything. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: use per VM entity for page table updates (v2)Christian König2016-02-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Updates from different VMs can be processed independently. v2: agd: rebase on upstream Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
| * | drm/amdgpu: remove the userptr rmn->lockChristian König2016-02-12
| | | | | | | | | | | | | | | | | | | | | | | | Avoid a lock inversion problem by just using the mmap_sem to protect the entries of the intervall tree. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
| * | drm/amd/include: Update dce 8 headers for dalHarry Wentland2016-02-12
| | | | | | | | | | | | | | | Signed-off-by: Harry Wentland <harry.wentland@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>