aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-07-05drm/cma: remove GEM CMA specific dma_buf functionalityJoonyoung Shim2-292/+0
We can use prime helpers instead. Signed-off-by: Joonyoung Shim <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-05drm/cma: add low-level hook functions to use prime helpersJoonyoung Shim2-0/+88
Instead of using the dma_buf functionality for GEM CMA, we can use prime helpers if we can provide low-level hook functions for GEM CMA. Signed-off-by: Joonyoung Shim <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-05drm: add mmap function to prime helpersJoonyoung Shim2-1/+9
This adds to call low-level mmap() from prime helpers. Signed-off-by: Joonyoung Shim <[email protected]> Acked-by: Laurent Pinchart <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-05drm/prime: fix sgt NULL checkingJoonyoung Shim1-5/+6
The drm_gem_map_detach() can be called with sgt is NULL. Signed-off-by: Joonyoung Shim <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-05Merge branch 'exynos-drm-next' of ↵Dave Airlie7-31/+29
git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next This is final pull request for 3.11. This resolves some memory leak issues, and includes some code and dt document file cleanups; just removed unnecessary descriptions. And the patch work for enhancing hdmiphy driver isn't in progress so this patch may go to 3.12. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: drm/exynos: remove duplicated error routine and unnecessary assign drm/exynos: fix pages allocation size in lowlevel_buffer_allocate drm/exynos: use drm_calloc_large when allocates pointer array drm/exynos: add error check routine in exynos_drm_open drm/exynos: initialize the buf_num in vp_video_buffer drm/exynos: remove dead code in vidi_power_on drm/exynos: fix not to remain exynos_gem_obj as a leak of/documentation: Update hpd gpio property for exynos_hdmi
2013-07-05drm/rcar-du: Fix buffer pitch alignmentLaurent Pinchart3-2/+22
The DU requires a 16 pixels pitch alignement. Make sure dumb buffers are allocated with the correct pitch, and validate the pitch when creating frame buffers. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-05drm/rcar-du: Don't ignore rcar_du_crtc_create() return valueLaurent Pinchart1-2/+5
Handle error cases correctly. Signed-off-by: Laurent Pinchart <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-05Merge branch 'qxl-next' of git://people.freedesktop.org/~airlied/linux into ↵Dave Airlie8-128/+326
drm-next Adds 3 features that UMS had to the KMS driver. dynamic resizing - resizing remote-viewer makes guest resize multiple crtcs - remote-viewer can access > 1 crtc. suspend/resume/hibernate: guests can do suspend/resume/hibernate now. * 'qxl-next' of git://people.freedesktop.org/~airlied/linux: qxl: use drm helper hotplug support qxl: add suspend/resume/hibernate support. qxl: add fb and ttm entry points for use by suspend/resume. qxl: add ring prep code for s/r qxl: prepare memslot code for suspend/resume qxl: split monitors_config object creation out. drm/qxl: set time on drawables from userspace drm/qxl: add support for > 1 output drm/qxl: make dynamic resizing work properly.
2013-07-05qxl: use drm helper hotplug supportDave Airlie2-1/+6
This uses the helper to deal with hotplug so fbdev gets included. Signed-off-by: Dave Airlie <[email protected]>
2013-07-05qxl: add suspend/resume/hibernate support.Dave Airlie3-8/+132
This adds suspend/resume and hibernate support for the KMS driver. it evicts all the objects, turns off the outputs, and waits for the hw to go idle, On resume, it resets the memslots, rings, monitors object and forces modeset. Signed-off-by: Dave Airlie <[email protected]>
2013-07-05qxl: add fb and ttm entry points for use by suspend/resume.Dave Airlie3-0/+18
This just ports some APIs like radeon uses to provide hooks for s/r to call. Signed-off-by: Dave Airlie <[email protected]>
2013-07-05qxl: add ring prep code for s/rDave Airlie2-2/+9
This prepare the ring code for s/r additions, the release ring will need reinitialising. Signed-off-by: Dave Airlie <[email protected]>
2013-07-05qxl: prepare memslot code for suspend/resumeDave Airlie2-4/+19
this splits out initing the hw memslots from the guest info, and creates an entrypoint for s/r to use. Signed-off-by: Dave Airlie <[email protected]>
2013-07-05qxl: split monitors_config object creation out.Dave Airlie2-4/+52
This splits the creation of the monitors config object out so we can re-use it across suspend/resume later. Signed-off-by: Dave Airlie <[email protected]>
2013-07-05drm/qxl: set time on drawables from userspaceDave Airlie1-0/+6
This just sets the qxl time on the drawables. Signed-off-by: Dave Airlie <[email protected]>
2013-07-05drm/qxl: add support for > 1 outputDave Airlie5-58/+85
This adds support for a default of 4 heads, with a command line parameter to change the default number. It also overhauls the modesetting code to handle this case properly, and send the correct things to the hardware at the right time. Signed-off-by: Dave Airlie <[email protected]>
2013-07-05drm/qxl: make dynamic resizing work properly.Dave Airlie1-55/+3
qxl has a feature to allow the userspace driver do arbitrary resizes when the viewer resizes, this fixes it by removing unnecessary code from the kernel side. Signed-off-by: Dave Airlie <[email protected]>
2013-07-04drm/exynos: remove duplicated error routine and unnecessary assignSeung-Woo Kim2-11/+7
There were duplicated error handling routines during allocating pages in lowlevel_buffer_allocate() and g2d_userptr_get_dma_addr(). Also unnecessary NULL assignments for variable used not any more are removed from g2d_userptr_get_dma_addr() and g2d_userptr_put_dma_addr(). Signed-off-by: Seung-Woo Kim <[email protected]> Signed-off-by: YoungJun Cho <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2013-07-04drm/exynos: fix pages allocation size in lowlevel_buffer_allocateYoungJun Cho1-1/+1
When IOMMU is not supported, buf->pages has to be allocated to assign the result of phys_to_page() which return type is struct page *. So it is sufficient to allocate buf->pages with the size of multiple struct page pointers. Signed-off-by: YoungJun Cho <[email protected]> Signed-off-by: Seung-Woo Kim <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2013-07-04drm/exynos: use drm_calloc_large when allocates pointer arrayYoungJun Cho2-8/+7
If the type of object is pointer array, the drm_calloc_large() is more suitable than kzalloc() for its allocation function. And uses drm_free_large() instead of kfree() also. Signed-off-by: YoungJun Cho <[email protected]> Signed-off-by: Seung-Woo Kim <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2013-07-04drm/exynos: add error check routine in exynos_drm_openYoungJun Cho1-1/+8
When the exynos_drm_subdrv_open() returns error, the file_priv should be released and file->driver_priv set to NULL. Signed-off-by: YoungJun Cho <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2013-07-04drm/exynos: initialize the buf_num in vp_video_bufferYoungJun Cho1-1/+1
The buf_num in vp_video_buffer() should be 1 or 2, but it is not initialized, and only set to 2 in NV12M or NV12MT cases. So this patch initializes the buf_num with 1 as default. Signed-off-by: YoungJun Cho <[email protected]> Signed-off-by: Seung-Woo Kim <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2013-07-04drm/exynos: remove dead code in vidi_power_onYoungJun Cho1-3/+0
The type of input parameter enable is bool, so it does not need to check whether true or false. Signed-off-by: YoungJun Cho <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2013-07-04drm/exynos: fix not to remain exynos_gem_obj as a leakYoungJun Cho1-4/+5
The exynos_drm_gem_create() only calls drm_gem_object_release() when exynos_drm_alloc_buf() is failed, and exynos_gem_obj remains as a leak, which is allocated in exynos_drm_gem_init(). So this patch fixes it not to remain as a leak. Signed-off-by: YoungJun Cho <[email protected]> Signed-off-by: Seung-Woo Kim <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2013-07-04of/documentation: Update hpd gpio property for exynos_hdmiSachin Kamat1-4/+2
Signed-off-by: Sachin Kamat <[email protected]> Signed-off-by: Rahul Sharma <[email protected]> Signed-off-by: Inki Dae <[email protected]>
2013-07-04drm/mm: kill color_search_free/get_blockDaniel Vetter1-31/+1
drm/i915 is the only user of the color allocation handling and switched to insert_node a while ago. So we can ditch this. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-04drm: fix print format of sequence in trace pointSeung-Woo Kim1-3/+3
seq of a trace point is unsigned int but print format was %d. So it fixes the format as %u. Signed-off-by: Seung-Woo Kim <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-04drm: fix error routines in drm_open_helperSeung-Woo Kim1-5/+20
There are missing parts to handle error in drm_open_helper(). The priv->minor, assigned by idr_find() which can return NULL, should be checked whether it is NULL or not before referencing it. put_pid(), drm_gem_release(), and drm_prime_destory_file_private() should be called when error happens after their pair functions are called. If an error occurs after executing dev->driver->open() which allocates driver specific per-file private data, then the private data should be released. Signed-off-by: YoungJun Cho <[email protected]> Signed-off-by: Seung-Woo Kim <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Reviewed-by: Chris Wilson <chris-wilson.co.uk> Signed-off-by: Dave Airlie <[email protected]>
2013-07-04drm: add assertion for checking null edid to drm_edid_block_validSeung-Woo Kim1-3/+6
If raw_edid of drm_edid_block_vaild() is null, it will crash, so checking in bad label is removed and instead assertion is added at the top of the function. The type of return for the function is bool, so it fixes to return true and false instead of 1 and 0. Signed-off-by: Seung-Woo Kim <[email protected]> Signed-off-by: Kyungmin Park <[email protected]> Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-04drm: Convert drm class driver from legacy pm ops to dev_pm_opsShuah Khan1-4/+29
Convert drivers/gpu/drm class to use dev_pm_ops for power management and remove Legacy PM ops hooks. With this change, drm class registers suspend/resume callbacks via class->pm (dev_pm_ops) instead of Legacy class->suspend/resume. When __device_suspend() runs call-backs, it will find class->pm ops for the drm class. drm_class_suspend() hook calls driver legacy ops with the state information. e.g: drm_class_suspend() calls into driver suspend routines via drm_dev->driver->suspend(drm_dev, state). Once drm_class_suspend() is converted to dev_pm_ops, it will no longer have access to pm_transition which it has to pass into driver legacy suspend calls. A new freeze and suspend hooks are added to address the not having access to the state information. The new freeze and suspend hooks simply call __drm_class_suspend() with the appropriate pm state information. __drm_class_suspend() is the original suspend hook with a new name. Signed-off-by: Shuah Khan <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-04Merge tag 'drm-intel-fixes-2013-07-03' of ↵Dave Airlie15-322/+498
git://people.freedesktop.org/~danvet/drm-intel into drm-next Pile of fixes for 3.11. A bit large in patch count, but that's simply due to two fixes being split up into really small parts. Also I've included a few more vlv patches than I'd have included for other platforms. But since vlv is officially supported for the first time only in 3.11 that shouldn't result in unbearable risks. Highlights: - ghost eDP fixes for hsw from Paulo - fix PCH detection in virtualized enviroments (Rui Guo) - duct-tape dma sg construction when swiotlb is in use (Konrad), dupe with a patch in your drm-fixes branch - fix sdvo hotplug on i965g - tune down a bunch of dmesg ERRORs which can be hit under normal conditions - detect invalid pitches for tiled scanout buffers (Chris) - a pile of vlv fixes from Ville: rps improvements, fixes for the dpll LPF, fixup the sprite mmio offsets - fix context size on hsw (Ben) - locking fixes for the hotplug code, specifically the storm handling - fix get_config on CPT (Xiong Zhang) - Fix the domain tracking when an unlocked seqno wait was interrupt (Chris), this seems to explain tons of little corruption bugs in the ddx. Chris also added a nice igt to exercise this. - work around stack-corrupting vnsprintf in our error state dumper * tag 'drm-intel-fixes-2013-07-03' of git://people.freedesktop.org/~danvet/drm-intel: (39 commits) drm/i915: Don't try to tear down the stolen drm_mm if it's not there drm/i915: Break up the large vsnprintf() in print_error_buffers() drm/i915: Refactor the wait_rendering completion into a common routine drm/i915: Only clear write-domains after a successful wait-seqno drm/i915: correct intel_dp_get_config() function for DevCPT drm/i915: fix hpd interrupt register locking drm/i915: fold the no-irq check into intel_hpd_irq_handler drm/i915: fold the queue_work into intel_hpd_irq_handler drm/i915: fold the hpd_irq_setup call into intel_hpd_irq_handler drm/i915: s/hotplug_irq_storm_detect/intel_hpd_irq_handler/ drm/i915: close tiny race in the ilk pcu even interrupt setup drm/i915: fix locking around ironlake_enable|disable_display_irq drm/i915: Fix context sizes on HSW drm/i915: Fix VLV sprite register offsets Revert "drm/i915: Don't use the HDMI port color range bit on Valleyview" drm/i915: s/LFP/LPF in DPIO PLL register names drm/i915: Fix VLV PLL LPF coefficients for DAC drm/i915: Jump to at least RPe on VLV when increasing the GPU frequency drm/i915: Don't increase the GPU frequency from the delayed VLV rps timer drm/i915: GEN6_RP_INTERRUPT_LIMITS doesn't seem to exist on VLV ...
2013-07-04Merge branch 'drm-next-3.11' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie9-6/+37
into drm-next A few more DPM fixes. * 'drm-next-3.11' of git://people.freedesktop.org/~agd5f/linux: drm/radeon/sumo: implement support for disable_gfx_power_gating_in_uvd flag drm/radeon/tn: disable PG when changing UVD clocks drm/radeon/sumo: disable PG when changing UVD clocks drm/radeon/aruba: disable additional rlc features drm/radeon: fix endian bug in radeon_atom_get_mclk_range_table() drm/radeon/dpm: fix compilation with certain versions of gcc drm/radeon/dpm: clarify debugfs warning
2013-07-04drm/mm: WARN for unclean mm takedownDaniel Vetter1-2/+2
The usual drm driver has tons of different drm_mm memory managers so the drm error message in dmesg is pretty useless. WARN instead so that we have the full backtrace. Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: Ben Widawsky <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-04drm/mm: fix debug table BUGDaniel Vetter1-18/+19
In commit 3a359f0b21ab218c1bf7a6a1b638b6fd143d0b99 Author: Daniel Vetter <[email protected]> Date: Sat Apr 20 12:08:11 2013 +0200 drm/mm: fix dump table BUG I've failed to fix both instances of the regression introduced in commit 9e8944ab564f2e3dde90a518cd32048c58918608 Author: Chris Wilson <[email protected]> Date: Thu Nov 15 11:32:17 2012 +0000 drm: Introduce an iterator over holes in the drm_mm range manager Patch this up in the same way by extracting the hole debug logic into it's own function, since that'll also clarify the logic a bit. Cc: Chris Wilson <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-04drm/prime: fix up handle_to_fd ioctl return valueDaniel Vetter1-2/+5
In commit da34242e5e0638312130f5bd5d2d277afbc6f806 Author: YoungJun Cho <[email protected]> Date: Wed Jun 26 10:21:42 2013 +0900 drm/prime: add return check for dma_buf_fd the failure case handling was fixed up. But in the case when we already had the buffer exported it changed the return value: Previously we've return 0 on success, now we return the fd. This ABI change has been caught by i-g-t/prime_self_import/with_one_bo. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66436 Cc: YoungJun Cho <[email protected]> Cc: Seung-Woo Kim <[email protected]> Cc: Kyungmin Park <[email protected]> Tested-by: lu hua <[email protected]> Signed-off-by: Daniel Vetter <[email protected]> Reviewed-by: YoungJun Cho <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-03drm/radeon/sumo: implement support for disable_gfx_power_gating_in_uvd flagAlex Deucher1-1/+3
Some asic revisions need to disable PG when UVD is active. Signed-off-by: Alex Deucher <[email protected]>
2013-07-03drm/radeon/tn: disable PG when changing UVD clocksAlex Deucher1-0/+8
Causes hangs for some people. Signed-off-by: Alex Deucher <[email protected]>
2013-07-03drm/radeon/sumo: disable PG when changing UVD clocksAlex Deucher1-2/+19
Causes hangs for some people. Signed-off-by: Alex Deucher <[email protected]>
2013-07-03drm/radeon/aruba: disable additional rlc featuresAlex Deucher1-2/+0
They cause problems with dynamic clocking. Signed-off-by: Alex Deucher <[email protected]>
2013-07-03drm/radeon: fix endian bug in radeon_atom_get_mclk_range_table()Alex Deucher1-1/+1
Signed-off-by: Alex Deucher <[email protected]>
2013-07-02drm/radeon/dpm: fix compilation with certain versions of gccMike Lothian6-0/+6
Add #include <linux/seq_file.h> to *_dpm.c files Signed-off-by: Alex Deucher <[email protected]>
2013-07-02drm/radeon/dpm: clarify debugfs warningAlex Deucher1-1/+1
For chips without debugfs dpm support say that it's not implemented rather than not supported to avoid confusion about DPM support in general. Signed-off-by: Alex Deucher <[email protected]>
2013-07-02drm/i915: Don't try to tear down the stolen drm_mm if it's not thereDaniel Vetter1-3/+6
Every other place properly checks whether we've managed to set up the stolen allocator at boot-up properly, with the exception of the cleanup code. Which results in an ugly *ERROR* Memory manager not clean. Delaying takedown at module unload time since the drm_mm isn't initialized at all. v2: While at it check whether the stolen drm_mm is initialized instead of the more obscure stolen_base == 0 check. v3: Fix up the logic. Also we need to keep the stolen_base check in i915_gem_object_create_stolen_for_preallocated since that can be called before stolen memory is fully set up. Spotted by Chris Wilson. v4: Readd the conversion in i915_gem_object_create_stolen_for_preallocated, the check is for the dev_priv->mm.gtt_space drm_mm, the stolen allocatot must already be initialized when calling that function (if we indeed have stolen memory). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65953 Cc: Chris Wilson <[email protected]> Tested-by: lu hua <[email protected]> (v3) Reviewed-by: Chris Wilson <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2013-07-02drm: make drm_mm_init() return voidDavid Herrmann5-24/+8
There is no reason to return "int" as this function never fails. Furthermore, several drivers (ast, sis) already depend on this. Signed-off-by: David Herrmann <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2013-07-02Merge branch 'drm-next-3.11' of git://people.freedesktop.org/~agd5f/linux ↵Dave Airlie15-39/+206
into drm-next A few more patches for 3.11: - add debugfs interface to check current DPM state - Fix a bug that caused problems with DPM on BTC+ asics. * 'drm-next-3.11' of git://people.freedesktop.org/~agd5f/linux: drm/radeon/dpm: add debugfs support for SI drm/radeon/dpm: add debugfs support for cayman drm/radeon/dpm: add debugfs support for TN drm/radeon/dpm: add debugfs support for ON/LN drm/radeon/dpm: add debugfs support for 7xx/evergreen/btc drm/radeon/dpm: add debugfs support for rv6xx drm/radeon/dpm: add infrastructure to support debugfs info drm/radeon/dpm: re-enable state transitions for Cayman drm/radeon/dpm: re-enable state transitions for BTC drm/radeon: fix typo in radeon_atom_init_mc_reg_table() drm/radeon/atom: fix endian bug in radeon_atom_init_mc_reg_table() drm/radeon: remove sumo dpm/uvd bringup leftovers
2013-07-01drm/radeon/dpm: add debugfs support for SIAlex Deucher4-0/+26
This allows you to look at the current DPM state via debugfs. Signed-off-by: Alex Deucher <[email protected]>
2013-07-01drm/radeon/dpm: add debugfs support for caymanAlex Deucher4-0/+27
This allows you to look at the current DPM state via debugfs. Signed-off-by: Alex Deucher <[email protected]>
2013-07-01drm/radeon/dpm: add debugfs support for TNAlex Deucher3-0/+24
This allows you to look at the current DPM state via debugfs. Signed-off-by: Alex Deucher <[email protected]>
2013-07-01drm/radeon/dpm: add debugfs support for ON/LNAlex Deucher3-0/+31
This allows you to look at the current DPM state via debugfs. Signed-off-by: Alex Deucher <[email protected]>
2013-07-01drm/radeon/dpm: add debugfs support for 7xx/evergreen/btcAlex Deucher4-0/+39
This allows you to look at the current DPM state via debugfs. Signed-off-by: Alex Deucher <[email protected]>