aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-10-07Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie49-452/+408
into drm-next It looks like you missed my last 3.18 pull from 9/24. This one includes those patches and a few more on top. The additional patches are: - Maarten's radeon fence updates - Some additional debugging output From the previous pull request: - Re-enable some dpm features that were previously disabled due to a bug that was fixed in 3.16 - Make some arrays static - re-arrange some audio code to properly reflect connected status in the audio driver * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon/kv: add uvd/vce info to dpm debugfs output drm/radeon/ci: add uvd/vce info to dpm debugfs output drm/radeon: export reservation_object from dmabuf to ttm drm/radeon: cope with foreign fences inside the reservation object drm/radeon: cope with foreign fences inside display drm/radeon/cik: write gfx ucode version to ucode addr reg drm/radeon/si: print full CS when we hit a packet 0 drm/radeon: remove unecessary includes drm/radeon/combios: declare legacy_connector_convert as static drm/radeon/atombios: declare connector convert tables as static drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table drm/radeon/dpm: drop clk/voltage dependency filters for BTC drm/radeon/dpm: drop clk/voltage dependency filters for CI drm/radeon/dpm: drop clk/voltage dependency filters for SI drm/radeon/dpm: drop clk/voltage dependency filters for NI drm/radeon: disable audio when we disable hdmi (v2) drm/radeon: split audio enable between eg and r600 (v2) drm/radeon: consolidate r600_audio.c into r600_hdmi.c drm/radeon: consolidate duplicate encode is digital function drm/radeon: fix register name to match internal name
2014-10-03drm/radeon/kv: add uvd/vce info to dpm debugfs outputAlex Deucher1-0/+2
Track whether UVD or VCE are enabled in debugfs. Signed-off-by: Alex Deucher <[email protected]>
2014-10-03drm/radeon/ci: add uvd/vce info to dpm debugfs outputAlex Deucher1-0/+4
Track whether UVD or VCE are enabled in debugfs. Signed-off-by: Alex Deucher <[email protected]>
2014-10-03drm/radeon: export reservation_object from dmabuf to ttmMaarten Lankhorst17-25/+35
Adds an extra argument to radeon_bo_create, which is only used in radeon_prime.c. Reviewed-by: Christian König <[email protected]> Signed-off-by: Maarten Lankhorst <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-03drm/radeon: cope with foreign fences inside the reservation objectMaarten Lankhorst12-25/+66
Not the whole world is a radeon! :-) Reviewed-by: Christian König <[email protected]> Signed-off-by: Maarten Lankhorst <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-03drm/radeon: cope with foreign fences inside displayMaarten Lankhorst2-12/+20
Reviewed-by: Christian König <[email protected]> Signed-off-by: Maarten Lankhorst <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon/cik: write gfx ucode version to ucode addr regAlex Deucher1-10/+7
Helpful for debugging as the version shows up in a register dump. Cc: Jay Cornwall <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon/si: print full CS when we hit a packet 0Alex Deucher1-1/+7
We should never have a packet 0 in the command stream. Dump the full command stream to help debug. bug: https://bugs.freedesktop.org/show_bug.cgi?id=84500 Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon: remove unecessary includesAlex Deucher2-2/+0
The requirement for these was removed in: 0a168933976eb483da91161316bbbbcb74d00486 Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon/combios: declare legacy_connector_convert as staticMichele Curti1-1/+1
legacy_connector_convert is used in radeon_combios.c only, so declare it as static. Signed-off-by: Michele Curti <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon/atombios: declare connector convert tables as staticMichele Curti1-3/+3
The tables: * supported_devices_connector_convert * supported_devices_connector_object_id_convert * object_connector_convert are used in redeon_atombios.c only, so declare them as static. Signed-off-by: Michele Curti <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon: drop btc_get_max_clock_from_voltage_dependency_tableAlex Deucher2-19/+0
It's no longer used now that the underlying bugs are fixed. Reviewed-by: Alexandre Demers <[email protected]> Tested-by: Alexandre Demers <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon/dpm: drop clk/voltage dependency filters for BTCAlex Deucher1-34/+0
No longer needed now that the underlying bug was fixed in e07929810f0a19ddd756558290c7d72827cbfcd9 (drm/radeon/dpm: fix typo in vddci setup for eg/btc). bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon/dpm: drop clk/voltage dependency filters for CIAlex Deucher1-26/+0
Not sure this was ever necessary for CI, was just done to be on the safe side. bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon/dpm: drop clk/voltage dependency filters for SIAlex Deucher1-24/+0
Not sure this was ever necessary for SI, was just done to be on the safe side. bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon/dpm: drop clk/voltage dependency filters for NIAlex Deucher1-24/+0
No longer needed now that the underlying bug was fixed in b0880e87c1fd038b84498944f52e52c3e86ebe59 (drm/radeon/dpm: fix vddci setup typo on cayman). bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <[email protected]> Tested-by: Alexandre Demers <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon: disable audio when we disable hdmi (v2)Alex Deucher2-0/+15
This should allow the audio driver to get a better idea of whether the sink is connected or not. v2: fix copy/paste typo noticed by David Henningsson Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon: split audio enable between eg and r600 (v2)Alex Deucher6-24/+81
Clean up the enable sequence as well. V2: clean up duplicate defines Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon: consolidate r600_audio.c into r600_hdmi.cAlex Deucher4-186/+155
Most of that functionality is only used by r600_hdmi.c and I'm planning to change that further. Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon: consolidate duplicate encode is digital functionAlex Deucher4-47/+23
Only need one copy. Signed-off-by: Alex Deucher <[email protected]>
2014-10-01drm/radeon: fix register name to match internal nameAlex Deucher2-2/+2
no functional change. Signed-off-by: Alex Deucher <[email protected]>
2014-10-01Merge branch 'for-airlied-next' of ↵Dave Airlie36-63/+126
git://people.freedesktop.org/~mlankhorst/linux into drm-next fixups for nouveau and fencing * 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux: drm/nouveau: export reservation_object from dmabuf to ttm drm/ttm: add reservation_object as argument to ttm_bo_init drm: Pass dma-buf as argument to gem_prime_import_sg_table drm/nouveau: assign fence_chan->name correctly drm/nouveau: specify if interruptible wait is desired in nouveau_fence_sync drm/nouveau: bump driver patchlevel to 1.2.1
2014-10-01Merge tag 'topic/core-stuff-2014-09-29' of ↵Dave Airlie11-34/+75
git://anongit.freedesktop.org/drm-intel into drm-next Ok, here's the update core-stuff pull request with the locking fixup patch fixed up with another patch. * tag 'topic/core-stuff-2014-09-29' of git://anongit.freedesktop.org/drm-intel: drm: Drop grab fpriv->fbs_lock in drm_fb_release drm/udl: use container_of to resolve udl_fbdev from drm_fb_helper drm/ast: use container_of to resolve ast_fbdev from drm_fb_helper drm/gma500: use container_of to resolve psb_fbdev from drm_fb_helper drm/qxl: use container_of to resolve qxl_fbdev from drm_fb_helper drm/nouveau: use container_of to resolve nouveau_plane from drm_plane drm/nouveau: use container_of to resolve nouveau_fbdev from drm_fb_helper drm/radeon: use container_of to resolve radeon_fbdev from drm_fb_helper drm/mgag200: use container_of to resolve mga_fbdev from drm_fb_helper drm/cirrus: use container_of to resolve cirrus_fbdev from drm_fb_helper drm: Improve debug output for drm_wait_one_vblank drm: Fixup locking for universal cursor planes drm: Don't update vblank timestamp when the counter didn't change
2014-10-01drm/nouveau: export reservation_object from dmabuf to ttmMaarten Lankhorst11-14/+22
Adds an extra argument to nouveau_bo_new, which is only used in nouveau_prime.c. Signed-off-by: Maarten Lankhorst <[email protected]>
2014-09-30drm/ttm: add reservation_object as argument to ttm_bo_initMaarten Lankhorst10-14/+28
This allows importing reservation objects from dma-bufs. Signed-off-by: Maarten Lankhorst <[email protected]>
2014-09-30drm: Pass dma-buf as argument to gem_prime_import_sg_tableMaarten Lankhorst12-17/+24
Allows importing dma_reservation_objects from a dma-buf. Signed-off-by: Maarten Lankhorst <[email protected]>
2014-09-30drm/nouveau: assign fence_chan->name correctlyMaarten Lankhorst5-5/+39
Make nouveau_fence_chan refcounted, to make trace_fence_destroy always return the correct name without a race condition. Signed-off-by: Maarten Lankhorst <[email protected]>
2014-09-30drm/nouveau: specify if interruptible wait is desired in nouveau_fence_syncMaarten Lankhorst5-13/+11
Signed-off-by: Maarten Lankhorst <[email protected]>
2014-09-30drm/nouveau: bump driver patchlevel to 1.2.1Maarten Lankhorst1-1/+3
Allows userspace to detect shared fences are supported. Signed-off-by: Maarten Lankhorst <[email protected]>
2014-09-30drm/nouveau: nv84+: fix fence context seqno'sMaarten Lankhorst1-2/+1
This fixes a regression introduced by "drm/nouveau: rework to new fence interface" (commit 29ba89b2371d466). The fence sequence should not be reset after creation, the old value is used instead. On destruction the final value is written, to prevent another source of accidental wraparound in case of a channel being destroyed after a hang, and unblocking any other channel that may wait on the about-to-be-deleted channel to signal. I'm nothing if not optimistic about any hope of recovery from that. ;-) Reported-by: Ted Percival <[email protected]> Signed-off-by: Maarten Lankhorst <[email protected]> Tested-by: Ted Percival <[email protected]> Acked-by: Ben Skeggs <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-25drm: Drop grab fpriv->fbs_lock in drm_fb_releaseDaniel Vetter1-2/+10
Paulo Zanoni reported a lockdep splat with a locking inversion between fpriv->fbs_lock and the modeset locks. This issue was introduced in commit f2b50c1161590c3bcdbf3455fe4c575f1c1bd293 Author: Daniel Vetter <[email protected]> Date: Fri Sep 12 17:07:32 2014 +0200 drm: Fixup locking for universal cursor planes This here is actually one of the rare cases where lockdep hits a false positive: The deadlock only happens in drm_fb_release, which cleans up the file private structure when all the references are gone. So the locking is the very last one and no one else can deadlock. It also doesn't protect anything at all, since all ioctls are guaranteed to have returned at this point - otherwise they'd still hold a reference on the file. So let's just drop it and replace it with a big comment. Cc: David Herrmann <[email protected]> Cc: Matt Roper <[email protected]> Cc: Paulo Zanoni <[email protected]> Reported-and-Tested-by: Paulo Zanoni <[email protected]> Reviewed-by: Matt Roper <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm/udl: use container_of to resolve udl_fbdev from drm_fb_helperFabian Frederick1-1/+2
Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm/ast: use container_of to resolve ast_fbdev from drm_fb_helperFabian Frederick1-1/+2
Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm/gma500: use container_of to resolve psb_fbdev from drm_fb_helperFabian Frederick1-1/+2
Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm/qxl: use container_of to resolve qxl_fbdev from drm_fb_helperFabian Frederick1-1/+2
Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm/nouveau: use container_of to resolve nouveau_plane from drm_planeFabian Frederick1-5/+10
Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm/nouveau: use container_of to resolve nouveau_fbdev from drm_fb_helperFabian Frederick1-1/+2
Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm/radeon: use container_of to resolve radeon_fbdev from drm_fb_helperFabian Frederick1-1/+2
Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm/mgag200: use container_of to resolve mga_fbdev from drm_fb_helperFabian Frederick1-1/+2
Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm/cirrus: use container_of to resolve cirrus_fbdev from drm_fb_helperFabian Frederick1-1/+2
Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm: Improve debug output for drm_wait_one_vblankDaniel Vetter1-2/+2
This replicates what we've done in i915 in commit 31e4b89acbd7b19c9a8557e6e660a583a0b97daa Author: Damien Lespiau <[email protected]> Date: Mon Aug 18 13:51:00 2014 +0100 drm/i915: Print the pipe on which the vblank wait times out to make sure that when we switch i915 to drm_wait_one_vblank that the debug output doesn't regress. Cc: Damien Lespiau <[email protected]> Cc: Thomas Wood <[email protected]> Reviewed-by: Damien Lespiau <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm: Fixup locking for universal cursor planesDaniel Vetter1-17/+34
Bunch of things amiss: - Updating crtc->cursor_x/y was done without any locking. Spotted by David Herrmann. - Dereferencing crtc->cursor->fb was using the wrong lock, should take the crtc lock. - Grabbing _all_ modeset locks torpedoes the reason why we added fine-grained locks originally: Cursor updates shouldn't stall on background stuff like probing outputs. Best is to just grab the crtc lock around everything and drop all the other locking. The only issue is that we can't switch planes between crtcs with that, so make sure that never happens when someone uses universal plane helpers. This shouldn't be a possible regression ever since legacy ioctls also only grabbed the crtc lock, so switching crtcs was never possible for the underlying plane object. And i915 (the only user of universal cursors thus far) has fixed cursor->crtc links. Cc: David Herrmann <[email protected]> Cc: Pallavi G<[email protected]> Cc: Matt Roper <[email protected]> Reviewed-by: Matt Roper <[email protected]> Tested-by: Matt Roper <[email protected]> Reviewed-by: David Herrmann <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm: Don't update vblank timestamp when the counter didn't changeMario Kleiner1-0/+3
If we already have a timestamp for the current vblank counter, don't update it with a new timestmap. Small errors can creep in between two timestamp queries for the same vblank count, which could be confusing to userspace when it queries the timestamp for the same vblank sequence number twice. This problem gets exposed when the vblank disable timer is not used (or is set to expire quickly) and thus we can get multiple vblank disable<->enable transition during the same frame which would all attempt to update the timestamp with the latest estimate. Testcase: igt/kms_flip/flip-vs-expired-vblank Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Mario Kleiner <[email protected]> v2:Mario: Trivial rebase on top of current drm-next (13-Sep-2014) Signed-off-by: Mario Kleiner <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2014-09-24drm/doc: Fixup drm_irq kerneldoc includes.Daniel Vetter1-1/+1
Only !P can be used together with a function list. Cc: Ville Syrjälä <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Acked-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-24drm: Extract <drm/drm_gem.h>Daniel Vetter22-147/+216
v2: Don't forget git add, noticed by David. Cc: David Herrmann <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Acked-by: David Herrmann <[email protected]> Acked-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-24drm: Move internal debugfs functions to drm_internal.hDaniel Vetter2-25/+28
In my header cleanup I've missed the debugfs functions completely. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: David Herrmann <[email protected]> Acked-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-24drm: Move leftover ioctl declarations to drm_internal.hDaniel Vetter2-7/+9
Somehow I've missed these three, fix this up asap. Plus move drm_master_create since while at it. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: David Herrmann <[email protected]> Acked-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-24drm: Move drm_vm_open_locked into drm_internal.hDaniel Vetter3-2/+1
Leftover from my previous header cleanup. This depends upon the patch to rework exynos mmap support, otherwise it'll break exynos. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: David Herrmann <[email protected]> Acked-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-24drm: move drm_mmap to <drm/drm_legacy.h>Daniel Vetter12-13/+13
Now that we've removed the copypasted users in gem/ttm we can relegate the legacy buffer mapping support to where it belongs. Also give it the proper drm_legacy_ prefix. While at it statify drm_mmap_locked, somehow I've missed that in my previous header rework. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: David Herrmann <[email protected]> Acked-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2014-09-24drm/gem: Don't call drm_mmap from drm_gem_mmapDaniel Vetter1-1/+1
The only user I could dig out was i915 back when ums+gem was still a thing. But we've just very much killed that, and even when someone screams about that we should resurrect that with a special hack (wrapping drm_gem_mmap) in i915, not in the core code. So good riddance to another entry point of the legacy buffer mapping code. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: David Herrmann <[email protected]> Acked-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>