summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
AgeCommit message (Collapse)Author
2013-07-09Merge branch 'drm-nouveau-next' of ↵Dave Airlie
git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next Two minor fixes for regressions. * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nvc0/gr: fix gpc firmware regression drm/nouveau: fix minor thinko causing bo moves to not be async on kepler
2013-07-08drm/nvc0/gr: fix gpc firmware regressionMaarten Lankhorst
"drm/nve0-/gr: some new gpc registers can have multiple copies" 5ee86c4190f9e caused a regression for nvc0, because the bit indicating last transfer has occured was no longer set, resulting in random system lockups. Reported-by: Ronald Uitermark <ronald645@gmail.com> Tested-by: Ronald Uitermark <ronald645@gmail.com> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-08drm/nouveau: fix minor thinko causing bo moves to not be async on keplerBen Skeggs
Reported-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05Merge branch 'drm-nouveau-next' of ↵Dave Airlie
git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next - GF117 acceleration support - GK110 acceleration-with-blob-ucode support, and initial work towards fixing our own ucode to be suitable. - Large cleanups of fermi/kepler context handling * 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (22 commits) drm/nva3/disp: Fix HDMI audio regression drm/nv50-/disp: Use output specific mask in interrupt drm/nouveau: use vmalloc for pgt allocation drm/nvc0-/gr: remove some more of the hardcoded register writes drm/nvc0-/gr: factor out yet more unknown magic into versioned functions drm/nvd7/devinit: use fermi class, not tesla drm/nvf0-/gr: ctxsw scratch reg count got bumped to 16 drm/nvc0-/gr: remove hardcoding of UNK count/mask in GPCCS ucode drm/nvf0/gr: build cs ucode for GK110 drm/nvc0-/gr: extend one of the magic calculations for >4 GPCs drm/nvf0/gr: fix ddx shaders locking up on me drm/nvc0/devinit: minor typo drm/nvf0/gr: enable support, if external cs ucode is available drm/nvf0/gr: magic sequence that makes PGRAPH come out of hiding drm/nvf0/ce: enable support drm/nvf0/fifo: enable support drm/nvd7/gr: initial support drm/nvc0-/gr: generate cs register lists from grctx data drm/nvc0-/gr: tpc regs a subset of gpc, add separate list for gpc/unk regs drm/nve0-/gr: some new gpc registers can have multiple copies ...
2013-07-05drm/cma: remove GEM CMA specific dma_buf functionalityJoonyoung Shim
We can use prime helpers instead. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-07-05drm/cma: add low-level hook functions to use prime helpersJoonyoung Shim
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 <jy0922.shim@samsung.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-07-05drm: add mmap function to prime helpersJoonyoung Shim
This adds to call low-level mmap() from prime helpers. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-07-05drm/prime: fix sgt NULL checkingJoonyoung Shim
The drm_gem_map_detach() can be called with sgt is NULL. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-07-05Merge branch 'exynos-drm-next' of ↵Dave Airlie
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 Pinchart
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 <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-07-05drm/rcar-du: Don't ignore rcar_du_crtc_create() return valueLaurent Pinchart
Handle error cases correctly. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-07-05drm/nva3/disp: Fix HDMI audio regressionIlia Mirkin
This is the nva3 counterpart to commit beba44b17 (drm/nv84/disp: Fix HDMI audio regression). The regression happened as a result of refactoring in commit 8e9e3d2de (drm/nv84/disp: move hdmi control into core). Reported-and-tested-by: Max Baldwin <archerseven@gmail.com> Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Cc: stable@vger.kernel.org
2013-07-05drm/nv50-/disp: Use output specific mask in interruptEmil Velikov
The commit commit 476e84e126171d809f9c0b5d97137f5055f95ca8 Author: Ben Skeggs <bskeggs@redhat.com> Date: Mon Feb 11 09:24:23 2013 +1000 drm/nv50-/disp: initial supervisor support for off-chip encoders changed the write mask in one of the interrupt functions for on-chip encoders, causing a regression in certain VGA dual-head setups. This commit reintroduces the mask thus resolving the regression Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66129 Reported-and-Tested-by: Yves-Alexis <corsac@debian.org> Cc: stable@vger.kernel.org [3.9+] CC: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nouveau: use vmalloc for pgt allocationMarcin Slusarz
Page tables on nv50 take 48kB, which can be hard to allocate in one piece. Let's use vmalloc. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Cc: stable@vger.kernel.org [3.7+] Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvc0-/gr: remove some more of the hardcoded register writesBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvc0-/gr: factor out yet more unknown magic into versioned functionsBen Skeggs
NVC1/NVD9 are the only chipsets that should have anything different happen on them after this. We previously weren't doing these register modifications, and NVIDIA do. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvd7/devinit: use fermi class, not teslaBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvf0-/gr: ctxsw scratch reg count got bumped to 16Ben Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvc0-/gr: remove hardcoding of UNK count/mask in GPCCS ucodeBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvf0/gr: build cs ucode for GK110Ben Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvc0-/gr: extend one of the magic calculations for >4 GPCsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvf0/gr: fix ddx shaders locking up on meBen Skeggs
This can be generalised and used on GK104 (probably even GF117), but lets just make it work for now. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvc0/devinit: minor typoBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvf0/gr: enable support, if external cs ucode is availableBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvf0/gr: magic sequence that makes PGRAPH come out of hidingBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvf0/ce: enable supportBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvf0/fifo: enable supportBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvd7/gr: initial supportMaarten Lankhorst
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvc0-/gr: generate cs register lists from grctx dataBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvc0-/gr: tpc regs a subset of gpc, add separate list for gpc/unk regsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nve0-/gr: some new gpc registers can have multiple copiesBen Skeggs
GK110 exposes more than one, and needs to be dealt with in the ctxsw ucode just like the TPC sets are. Broadcast is at +0xe00. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvc0-/gr: pull out a group of separately context-switched gpc regsBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05drm/nvc0-/gr: make register lists from initvals functionsBen Skeggs
Generated context verified to be the same for all supported chipsets. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2013-07-05qxl: use drm helper hotplug supportDave Airlie
This uses the helper to deal with hotplug so fbdev gets included. Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-07-05qxl: add suspend/resume/hibernate support.Dave Airlie
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 <airlied@redhat.com>
2013-07-05qxl: add fb and ttm entry points for use by suspend/resume.Dave Airlie
This just ports some APIs like radeon uses to provide hooks for s/r to call. Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-07-05qxl: add ring prep code for s/rDave Airlie
This prepare the ring code for s/r additions, the release ring will need reinitialising. Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-07-05qxl: prepare memslot code for suspend/resumeDave Airlie
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 <airlied@redhat.com>
2013-07-05qxl: split monitors_config object creation out.Dave Airlie
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 <airlied@redhat.com>
2013-07-05drm/qxl: set time on drawables from userspaceDave Airlie
This just sets the qxl time on the drawables. Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-07-05drm/qxl: add support for > 1 outputDave Airlie
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 <airlied@redhat.com>
2013-07-05drm/qxl: make dynamic resizing work properly.Dave Airlie
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 <airlied@redhat.com>
2013-07-04drm/exynos: remove duplicated error routine and unnecessary assignSeung-Woo Kim
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 <sw0312.kim@samsung.com> Signed-off-by: YoungJun Cho <yj44.cho@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2013-07-04drm/exynos: fix pages allocation size in lowlevel_buffer_allocateYoungJun Cho
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 <yj44.cho@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2013-07-04drm/exynos: use drm_calloc_large when allocates pointer arrayYoungJun Cho
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 <yj44.cho@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2013-07-04drm/exynos: add error check routine in exynos_drm_openYoungJun Cho
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 <yj44.cho@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2013-07-04drm/exynos: initialize the buf_num in vp_video_bufferYoungJun Cho
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 <yj44.cho@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2013-07-04drm/exynos: remove dead code in vidi_power_onYoungJun Cho
The type of input parameter enable is bool, so it does not need to check whether true or false. Signed-off-by: YoungJun Cho <yj44.cho@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2013-07-04drm/exynos: fix not to remain exynos_gem_obj as a leakYoungJun Cho
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 <yj44.cho@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
2013-07-04drm: fix print format of sequence in trace pointSeung-Woo Kim
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 <sw0312.kim@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Dave Airlie <airlied@redhat.com>