platform/upstream/libdrm.git
11 years agolibkms: return -EINVAL on fstat error
Maxime Villard [Wed, 2 Jan 2013 15:57:07 +0000 (10:57 -0500)]
libkms: return -EINVAL on fstat error

On error fstat return -1, instead return -EINVAL to caller

Signed-off-by: Maxime Villard <rustyBSD@gmx.fr>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
11 years agolibkms: fix memory leak in error path
Maxime Villard [Wed, 2 Jan 2013 15:55:50 +0000 (10:55 -0500)]
libkms: fix memory leak in error path

Signed-off-by: Maxime Villard <rustyBSD@gmx.fr>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
11 years agodrm/radeon: track global bo name and always return the same
Jerome Glisse [Tue, 27 Nov 2012 18:59:11 +0000 (13:59 -0500)]
drm/radeon: track global bo name and always return the same

To avoid kernel rejecting cs if we return different global name
for same bo keep track of global name and always return the same.
Seems to fix issue with suspend/resume failing and repeatly printing
following message :
[drm:radeon_cs_ioctl] *ERROR* Failed to parse relocation -35!

There might still be way for a rogue program to trigger this issue.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
11 years agoradeon: add new SI pci id
Alex Deucher [Wed, 21 Nov 2012 23:45:14 +0000 (18:45 -0500)]
radeon: add new SI pci id

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
12 years agointel: Fix missing ETIME on BSD operating systems
David Shao [Sat, 10 Nov 2012 05:24:56 +0000 (00:24 -0500)]
intel: Fix missing ETIME on BSD operating systems

Originally posted to Free Desktop bug #52549 by David Shao.
Resolves Gentoo Bug #433403.
Commit message by Richard Yao.

Reviewed-by: Richard Yao <ryao@gentoo.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
References: https://bugs.freedesktop.org/show_bug.cgi?id=52549

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
12 years agoconfigure.ac: bump version to 2.4.40 for release 2.4.40 libdrm-2.4.40
Marek Olšák [Tue, 6 Nov 2012 00:23:53 +0000 (01:23 +0100)]
configure.ac: bump version to 2.4.40 for release

12 years agofix make distcheck
Dave Airlie [Mon, 5 Nov 2012 22:21:42 +0000 (22:21 +0000)]
fix make distcheck

typo,

Reported-by: mareko on irc
Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agoradeon: fix tile_split of 128-bit surface formats with 8x MSAA
Marek Olšák [Tue, 16 Oct 2012 00:08:02 +0000 (02:08 +0200)]
radeon: fix tile_split of 128-bit surface formats with 8x MSAA

The calculation led to the number 8192, which is too high.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoradeon: fix unused-function warning
Andreas Boll [Tue, 28 Aug 2012 10:49:45 +0000 (12:49 +0200)]
radeon: fix unused-function warning

radeon_cs_gem.c:333:13: warning: 'cs_gem_dump_bof' defined but
not used [-Wunused-function]

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoradeon: add some new SI pci ids
Alex Deucher [Tue, 16 Oct 2012 16:58:39 +0000 (12:58 -0400)]
radeon: add some new SI pci ids

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoinitialize width/height fields in drmModeCrtc
Rob Clark [Sun, 14 Oct 2012 21:55:32 +0000 (16:55 -0500)]
initialize width/height fields in drmModeCrtc

If we have valid timings, we can at least set width/height to
*something*, which is I think at least less confusing than always
seeing width/height of zero.  At least modeprint and modetest
seem to expect width/height to mean something.

Signed-off-by: Rob Clark <rob@ti.com>
12 years agoupdate gitignore
Rob Clark [Tue, 9 Oct 2012 14:48:56 +0000 (09:48 -0500)]
update gitignore

Signed-off-by: Rob Clark <rob@ti.com>
12 years agoomap: release lock also on error paths
Vincent Penquerc'h [Tue, 9 Oct 2012 13:48:34 +0000 (14:48 +0100)]
omap: release lock also on error paths

Signed-off-by: Rob Clark <rob@ti.com>
12 years agoconfigure.ac: Allow forcible disabling of Cairo support
Daniel Stone [Thu, 4 Oct 2012 01:21:57 +0000 (01:21 +0000)]
configure.ac: Allow forcible disabling of Cairo support

We don't want to build libdrm tests with Cairo support under Poky, since
they're never used and also cause a build loop from libdrm -> cairo ->
mesa-dri -> libdrm.

To avoid variance in build results, introduce a --disable-cairo-tests
switch.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agointel: Silence a trivial compiler warning
Chris Wilson [Sun, 7 Oct 2012 09:08:46 +0000 (10:08 +0100)]
intel: Silence a trivial compiler warning

intel_bufmgr_gem.c: In function 'drm_intel_bo_gem_export_to_prime':
intel_bufmgr_gem.c:2477:6: warning: unused variable 'ret' [-Wunused-variable]

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
12 years agointel: Correct the word decoding for gen2 3DSTATE_LOAD_STATE_IMMEDIATE_1
Chris Wilson [Sun, 7 Oct 2012 09:07:23 +0000 (10:07 +0100)]
intel: Correct the word decoding for gen2 3DSTATE_LOAD_STATE_IMMEDIATE_1

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
12 years agointel: Fix "properly test for HAS_LLC"
Chris Wilson [Sun, 7 Oct 2012 09:05:19 +0000 (10:05 +0100)]
intel: Fix "properly test for HAS_LLC"

commit 92fd0ce4f659d7b0680543e9e5b96a3c7737a5f3
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Aug 31 11:16:53 2012 +0200

    intel: properly test for HAS_LLC

missed slightly and in effect had no effect on the outcome of checking
whether the kernel/chipset supported LLC.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
12 years agoradeon: fix stencil miptree allocation of combined ZS buffers on EG and SI
Marek Olšák [Sun, 30 Sep 2012 17:20:04 +0000 (19:20 +0200)]
radeon: fix stencil miptree allocation of combined ZS buffers on EG and SI

This allows texturing with depth-stencil buffers directly without the copy
to CB. The separate miptree description for stencil is added, because
the stencil mipmap offsets are not really depth offsets/4 (at least
for the texture units).

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoradeon: don't force stencil tile split to 0
Marek Olšák [Sun, 30 Sep 2012 17:19:13 +0000 (19:19 +0200)]
radeon: don't force stencil tile split to 0

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoradeon: don't take the stencil-specific codepath for buffers without stencil
Marek Olšák [Sat, 29 Sep 2012 13:10:33 +0000 (15:10 +0200)]
radeon: don't take the stencil-specific codepath for buffers without stencil

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agolibdrm: man page infrastructure and a few sample man pages
Jesse Barnes [Thu, 6 Sep 2012 23:16:50 +0000 (16:16 -0700)]
libdrm: man page infrastructure and a few sample man pages

12 years agointel: Mark bo's exported to prime as not reusable
Kristian Høgsberg [Fri, 14 Sep 2012 20:35:19 +0000 (16:35 -0400)]
intel: Mark bo's exported to prime as not reusable

It's the same situation as flink and we need take the same precautions.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
12 years agointel: add support for ValleyView
Jesse Barnes [Sun, 18 Mar 2012 21:51:18 +0000 (16:51 -0500)]
intel: add support for ValleyView

Just some PCI ID stuff to enable the right features.

12 years agolibkms: link against libdrm
Marcin Slusarz [Fri, 7 Sep 2012 22:49:38 +0000 (00:49 +0200)]
libkms: link against libdrm

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
12 years agoradeon: Sampling pitch for non-mipmaps seems padded to slice alignment on SI.
Michel Dänzer [Wed, 5 Sep 2012 16:44:45 +0000 (18:44 +0200)]
radeon: Sampling pitch for non-mipmaps seems padded to slice alignment on SI.

Another corner case that isn't well-explained yet.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
12 years agoradeon: Memory footprint of SI mipmap base level is padded to powers of two.
Michel Dänzer [Tue, 4 Sep 2012 16:53:55 +0000 (18:53 +0200)]
radeon: Memory footprint of SI mipmap base level is padded to powers of two.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
12 years agoradeon: Fix layout of linear aligned mipmaps on SI.
Michel Dänzer [Fri, 31 Aug 2012 17:29:33 +0000 (19:29 +0200)]
radeon: Fix layout of linear aligned mipmaps on SI.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
12 years agointel: properly test for HAS_LLC
Daniel Vetter [Fri, 31 Aug 2012 09:16:53 +0000 (11:16 +0200)]
intel: properly test for HAS_LLC

If the kernel supports the test, we need to check the param.
Copy&pasta from the above checks that only look at the return value.
Interesting how much one can get such a simple interface wrong.

Issue created in

commit 151cdcfe685ee280a4344dfc40e6087d74a5590f
Author: Eugeni Dodonov <eugeni.dodonov@intel.com>
Date:   Tue Jan 17 15:20:19 2012 -0200

    intel: query for LLC support

Patch even claims to have fixed this in v2, but is actually unchanged
from v1.

Reported-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
12 years agovmwgfx: No longer experimental
Jakob Bornecrantz [Mon, 13 Aug 2012 11:35:07 +0000 (13:35 +0200)]
vmwgfx: No longer experimental

And hasn't been in a long while.

Reviewed-by: Zack Rusin <zackr@vmware.com>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
12 years agoconfigure: bump version for 2.4.39 release 2.4.39 libdrm-2.4.39 upstream/2.4.39
Marek Olšák [Fri, 24 Aug 2012 15:03:13 +0000 (17:03 +0200)]
configure: bump version for 2.4.39 release

12 years agoradeon: align r600 msaa buffers to a multiple of macrotile size * num samples
Marek Olšák [Mon, 20 Aug 2012 15:15:15 +0000 (17:15 +0200)]
radeon: align r600 msaa buffers to a multiple of macrotile size * num samples

I am not sure whether this is needed, but better be safe than sorry.

12 years agoradeon: fix allocation of MSAA surfaces on r600-r700
Marek Olšák [Sun, 19 Aug 2012 01:54:34 +0000 (03:54 +0200)]
radeon: fix allocation of MSAA surfaces on r600-r700

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
12 years agoomap: include omap_drm.h independently
Víctor Manuel Jáquez Leal [Thu, 9 Aug 2012 11:34:54 +0000 (13:34 +0200)]
omap: include omap_drm.h independently

omap_drm.h uses data type defined in stdint.h, but that header was
not included.

omap_drm.h includes drm.h as a local file when it is part of the
compiler c flags.

This two issues are fixed. New code can include omap_drm.h alone.

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Signed-off-by: Rob Clark <rob@ti.com>
12 years agoradeon: add prime import/export support
Dave Airlie [Tue, 12 Jun 2012 16:31:12 +0000 (17:31 +0100)]
radeon: add prime import/export support

this adds radeon version of the prime import/export support.

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agointel: Use VG_CLEAR on the context destroy ioctl as well.
Kenneth Graunke [Sun, 12 Aug 2012 20:33:05 +0000 (13:33 -0700)]
intel: Use VG_CLEAR on the context destroy ioctl as well.

Otherwise pad appears uninitialized and valgrind grumbles.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agotests/modetest: Add a forgotten return, needed for opensuse buildservice
Tobias Klausmann [Sat, 11 Aug 2012 22:00:40 +0000 (00:00 +0200)]
tests/modetest: Add a forgotten return, needed for opensuse buildservice

Signed-off-by: Marek Olšák <maraeo@gmail.com>
12 years agoconfigure: bump version for 2.4.38 release 2.4.38 libdrm-2.4.38
Marek Olšák [Sat, 11 Aug 2012 18:05:24 +0000 (20:05 +0200)]
configure: bump version for 2.4.38 release

12 years agotests/modetest: fix distcheck
Marek Olšák [Sat, 11 Aug 2012 18:02:03 +0000 (20:02 +0200)]
tests/modetest: fix distcheck

12 years agointel: Add a function for the new register read ioctl.
Eric Anholt [Wed, 1 Aug 2012 23:43:16 +0000 (16:43 -0700)]
intel: Add a function for the new register read ioctl.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
12 years agointel: Import updated i915_drm.h.
Eric Anholt [Wed, 1 Aug 2012 23:38:19 +0000 (16:38 -0700)]
intel: Import updated i915_drm.h.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
12 years agoDrop "-Wunsafe-loop-optimizations".
Eric Anholt [Thu, 2 Aug 2012 18:25:57 +0000 (11:25 -0700)]
Drop "-Wunsafe-loop-optimizations".

It warns about totally sensible things done in intel_decode.c.  I've
never seen this warn do anything useful, and apparently I was the one
to introduce it when I added the giant pile of warning flags back in
2008.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
12 years agoradeon: tweak TILE_SPLIT for MSAA surfaces
Marek Olšák [Tue, 7 Aug 2012 21:38:19 +0000 (23:38 +0200)]
radeon: tweak TILE_SPLIT for MSAA surfaces

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
12 years agoradeon: force 2D tiling for MSAA surfaces
Marek Olšák [Tue, 7 Aug 2012 20:50:39 +0000 (22:50 +0200)]
radeon: force 2D tiling for MSAA surfaces

Reviewed-by: Jerome Glisse <jglisse@redhat.com>
12 years agoradeon: optimize allocation for depth w/o stencil and stencil w/o depth on EG
Marek Olšák [Sun, 29 Jul 2012 13:20:15 +0000 (15:20 +0200)]
radeon: optimize allocation for depth w/o stencil and stencil w/o depth on EG

If we don't need stencil, don't allocate it.
If we need only stencil (like PIPE_FORMAT_S8_UINT), don't allocate depth.

v2: actually do it correctly

Reviewed-by: Christian König <christian.koenig@amd.com>
12 years agoradeon: simplify ZS buffer checking on r600
Marek Olšák [Sun, 29 Jul 2012 12:10:07 +0000 (14:10 +0200)]
radeon: simplify ZS buffer checking on r600

Setting those flags has no effect anywhere else.

Reviewed-by: Christian König <christian.koenig@amd.com>
12 years agointel: add more Haswell PCI IDs
Paulo Zanoni [Mon, 6 Aug 2012 17:55:23 +0000 (14:55 -0300)]
intel: add more Haswell PCI IDs

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
12 years agointel: Bail gracefully if we encounter an unknown Intel device
Chris Wilson [Wed, 25 Jul 2012 15:28:59 +0000 (16:28 +0100)]
intel: Bail gracefully if we encounter an unknown Intel device

Otherwise we end up with X hitting a fail-loop as the embedded libGL
stacks asserts whilst initialising.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
12 years agoradeon: add some new SI pci ids
Alex Deucher [Mon, 6 Aug 2012 14:32:19 +0000 (10:32 -0400)]
radeon: add some new SI pci ids

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoradeon: add some missing evergreen pci ids
Alex Deucher [Mon, 6 Aug 2012 14:29:24 +0000 (10:29 -0400)]
radeon: add some missing evergreen pci ids

Noticed by: Harald van Dijk <fdo@gigawatt.nl>

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=53124

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
12 years agointel: Quiet valgrind warnings in context creation.
Eric Anholt [Wed, 18 Jul 2012 20:45:14 +0000 (13:45 -0700)]
intel: Quiet valgrind warnings in context creation.

12 years agointel: Remove two unused variables
Damien Lespiau [Thu, 26 Jul 2012 16:50:09 +0000 (17:50 +0100)]
intel: Remove two unused variables

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
12 years agomodetest: fix uninitialized fourcc
Rob Clark [Mon, 23 Jul 2012 16:35:06 +0000 (11:35 -0500)]
modetest: fix uninitialized fourcc

If color format for CRTC layer is not specified on commandline, then
c->fourcc is unintialized resulting in addfb call failing.

Signed-off-by: Rob Clark <rob@ti.com>
12 years agomodeset: Split buffer allocation to a separate file
Laurent Pinchart [Fri, 20 Jul 2012 14:37:00 +0000 (16:37 +0200)]
modeset: Split buffer allocation to a separate file

As the modeset test application is often referred to as an example of
the KMS API usage, move test pattern generation and buffer allocation to
a separate file to keep it simple and clear.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agomodetest: Make frame buffer format configurable on the command line
Laurent Pinchart [Fri, 20 Jul 2012 12:50:48 +0000 (14:50 +0200)]
modetest: Make frame buffer format configurable on the command line

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agomodetest: Move connector and plane parsing to separate functions
Laurent Pinchart [Fri, 20 Jul 2012 12:50:47 +0000 (14:50 +0200)]
modetest: Move connector and plane parsing to separate functions

This will make it easier to add additional parameters to the connector
and plane arguments.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agomodetest: Add test pattern support for missing RGB formats
Laurent Pinchart [Fri, 20 Jul 2012 12:50:46 +0000 (14:50 +0200)]
modetest: Add test pattern support for missing RGB formats

Implement tiles and SMPTE test pattern generation for the RGB565,
BGR888, RGB888, ARGB8888, BGRA8888 and BGRX8888 formats.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agomodetest: Add test pattern support for missing planar YUV formats
Laurent Pinchart [Fri, 20 Jul 2012 12:50:45 +0000 (14:50 +0200)]
modetest: Add test pattern support for missing planar YUV formats

Implement tiles and SMPTE test pattern generation for the NV12, NV21,
NV16 and NV61 formats.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agomodetest: Add test pattern support for missing packed YUV formats
Laurent Pinchart [Fri, 20 Jul 2012 12:50:44 +0000 (14:50 +0200)]
modetest: Add test pattern support for missing packed YUV formats

Implement tiles and SMPTE test pattern generation for the UYVY, VYUY and
YVYU formats.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agomodetest: Add SMPTE test pattern
Laurent Pinchart [Fri, 20 Jul 2012 12:50:42 +0000 (14:50 +0200)]
modetest: Add SMPTE test pattern

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agomodetest: Unify buffer allocation
Laurent Pinchart [Fri, 20 Jul 2012 12:50:41 +0000 (14:50 +0200)]
modetest: Unify buffer allocation

Merge the create_test_buffer() and create_grey_buffer() functions into a
single buffer allocation function that takes the pixel format and fill
pattern as parameters.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 years agointel: fix build error
Rob Clark [Fri, 20 Jul 2012 15:26:11 +0000 (10:26 -0500)]
intel: fix build error

  CCLD   test_decode
./.libs/libdrm_intel.so: undefined reference to `drmPrimeHandleToFD'
./.libs/libdrm_intel.so: undefined reference to `drmPrimeFDToHandle'
collect2: ld returned 1 exit status

From Adam Jackson's explaination:

  most distros have changed it so ld defaults to --no-copy-dt-needed-entries,
  so if you use something from libdrm you can't just assume libdrm_intel
  will bring it in for you, you have to be explicit

Signed-off-by: Rob Clark <rob@ti.com>
12 years agointel: add prime interface for getting/setting a prime bo. (v4)
Dave Airlie [Sun, 15 Jul 2012 00:22:46 +0000 (00:22 +0000)]
intel: add prime interface for getting/setting a prime bo. (v4)

This adds interfaces for the X driver to use to create a
prime handle from a buffer, and create a bo from a handle.

v2: use Chris's suggested naming (well from at least for consistency)
v3: git commit --amend fail
v4: fix as per Chris's suggestions, group assignments, add get tiling

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agolibdrm/nouveau: add prime handle->bo and bo->handle support.
Dave Airlie [Mon, 16 Jul 2012 01:51:37 +0000 (02:51 +0100)]
libdrm/nouveau: add prime handle->bo and bo->handle support.

This adds prime support to nouveau libdrm.

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agolibdrm: add prime fd->handle and handle->fd interfaces
Dave Airlie [Sat, 14 Jul 2012 09:52:17 +0000 (09:52 +0000)]
libdrm: add prime fd->handle and handle->fd interfaces

These are just basic ioctl wrappers around the prime ioctls,
along with the capability reporting.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agolibdrm: add missing caps from kernel to drm.h
Dave Airlie [Sat, 14 Jul 2012 09:52:16 +0000 (09:52 +0000)]
libdrm: add missing caps from kernel to drm.h

This just moves over some missing caps from the kernel.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoomap: add refcnting and handle tracking
Rob Clark [Fri, 13 Jul 2012 21:18:25 +0000 (16:18 -0500)]
omap: add refcnting and handle tracking

There can be scenarios, especially when re-importing an existing buffer,
where you end up with multiple 'struct omap_bo's wrapping a single GEM
object handle.  Which causes badness when the first of the evil-clones
is omap_bo_del()'d.

To do this, introduce reference counting and a hashtable to track the
handles per fd.

First, to avoid bo's slipping through the crack if multiple 'struct
omap_device's are created for one drm fd, a hashtable mapping drm
fd to omap_device, and the omap_device itself is reference counted.
Per omap_device, we keep a handle_table mapping GEM handle to omap_bo.
When buffers are imported from flink name or dmabuf fd, the handle
table is consulted, and if an omap_bo already exists, it's refcnt is
incremented and it is returned.  For good measure, to avoid the
handle_table being deleted before the omap_bo is freed, the omap_bo
holds a reference to the omap_device.

TODO: check the overhead of the hashtable.  If too much we could maybe
get away with only tracking exported and imported bo's in the table.

TODO: all the import/export flink/dmabuf operations are generic DRM
ioctls.  Really all this functionality could be handled by a generic
drm_bo and drm_device "base class" that could be extended by omap,
exynos, etc.  That would also allow more common userspace code by
avoiding artificial libdrm_omap dependencies.

Signed-off-by: Rob Clark <rob@ti.com>
12 years agoomap: add API to import bo's from dmabuf fd's
Rob Clark [Mon, 11 Jun 2012 22:17:17 +0000 (17:17 -0500)]
omap: add API to import bo's from dmabuf fd's

Signed-off-by: Rob Clark <rob@ti.com>
12 years agoomap: clarify dmabuf file descriptor ownership
Rob Clark [Mon, 11 Jun 2012 13:52:24 +0000 (08:52 -0500)]
omap: clarify dmabuf file descriptor ownership

Signed-off-by: Rob Clark <rob@ti.com>
12 years agointel: Change context create failure message to from fprintf to DBG().
Kenneth Graunke [Thu, 12 Jul 2012 20:41:11 +0000 (13:41 -0700)]
intel: Change context create failure message to from fprintf to DBG().

Since there is no getparam for hardware context support, Mesa always
tries to obtain a context by calling drm_intel_gem_context_create and
NULL-checking the result.  On an older kernel without context support,
this caused libdrm to print an unwanted message to stderr:

DRM_IOCTL_I915_GEM_CONTEXT_CREATE failed: Invalid argument

In fact, this caused every Piglit test to fail with a "warn" status due
to the unrecognized error message.

Change the message to use DBG() rather than fprintf(), so people can
still get the debug message, but it won't spam normally.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agolibdrm/exynos: padding gem_mmap structure to 64-bit aligned
Cooper Yuan [Fri, 6 Jul 2012 14:26:49 +0000 (16:26 +0200)]
libdrm/exynos: padding gem_mmap structure to 64-bit aligned

12 years agointel: Fix build failure in test_decode.c
Lauri Kasanen [Sat, 30 Jun 2012 10:12:45 +0000 (13:12 +0300)]
intel: Fix build failure in test_decode.c

Hi list

The recently released libdrm 2.4.37 does not compile the Intel part:

test_decode.c: In function 'compare_batch':
test_decode.c:107: error: implicit declaration of function 'open_memstream'

PS: Please CC me.

Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
12 years agoconfigure: bump version for release 2.4.37 libdrm-2.4.37
Ben Widawsky [Fri, 29 Jun 2012 18:08:05 +0000 (11:08 -0700)]
configure: bump version for release

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
12 years agointel/context: create/destroy implementation
Ben Widawsky [Fri, 13 Jan 2012 19:31:52 +0000 (11:31 -0800)]
intel/context: create/destroy implementation

Add relevant code to set up minimal state and call the appropriate
kernel IOCTLs.

This was missed in the previous cherry-picking for 2.3.36.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
12 years agomodetest: Dump bit field names
Kristian Høgsberg [Thu, 28 Jun 2012 14:48:31 +0000 (10:48 -0400)]
modetest: Dump bit field names

12 years agointel/decode: fix the reference file for 2.4.36 libdrm-2.4.36
Ben Widawsky [Wed, 27 Jun 2012 17:10:53 +0000 (10:10 -0700)]
intel/decode: fix the reference file for

I mistakenly "fixed" a bad decode with

commit 7d0a1d5ebbe2c6aecd96eef94b0af038858a0178
Author: Ben Widawsky <ben@bwidawsk.net>
Date:   Sun Jun 24 20:35:57 2012 -0700

    intel/decode: VERTEX_ELEMENT_STATE, 1 means valid

However the actual fix is just to update the reference file, and
include GEN7 in the decode.

Props to Eric Anholt for putting the test in distcheck, or else I
wouldn't have caught this.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
12 years agoRevert "intel/decode: VERTEX_ELEMENT_STATE, 1 means valid"
Ben Widawsky [Wed, 27 Jun 2012 17:19:49 +0000 (10:19 -0700)]
Revert "intel/decode: VERTEX_ELEMENT_STATE, 1 means valid"

This reverts commit 7d0a1d5ebbe2c6aecd96eef94b0af038858a0178.

The actual fix

12 years agointel: add decoding of MI_SET_CONTEXT
Ben Widawsky [Sun, 27 May 2012 23:10:51 +0000 (16:10 -0700)]
intel: add decoding of MI_SET_CONTEXT

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agointel/context: new execbuf interface for contexts
Ben Widawsky [Mon, 19 Mar 2012 01:28:28 +0000 (18:28 -0700)]
intel/context: new execbuf interface for contexts

To support this we extract the common execbuf2 functionality to be
called with, or without contexts.

The context'd execbuf does not support some of the dri1 stuff.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agointel/context: Add drm_intel_context type
Ben Widawsky [Fri, 13 Jan 2012 19:31:31 +0000 (11:31 -0800)]
intel/context: Add drm_intel_context type

Add an opaque type representing a HW context.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
12 years agointel: updated header for contexts
Ben Widawsky [Wed, 27 Jun 2012 16:52:42 +0000 (09:52 -0700)]
intel: updated header for contexts

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-By: Kenneth Graunke <kenneth@whitecape.org>
12 years agointel/decode: VERTEX_ELEMENT_STATE, 1 means valid
Ben Widawsky [Mon, 25 Jun 2012 03:35:57 +0000 (20:35 -0700)]
intel/decode: VERTEX_ELEMENT_STATE, 1 means valid

The logic seemed to be inverse to me.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
12 years agointel/decode: add sampler state pointers for [HD]S
Ben Widawsky [Mon, 25 Jun 2012 04:53:50 +0000 (21:53 -0700)]
intel/decode: add sampler state pointers for [HD]S

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
12 years agointel: wait render timeout implementation
Ben Widawsky [Tue, 5 Jun 2012 18:30:48 +0000 (11:30 -0700)]
intel: wait render timeout implementation

int drm_intel_gem_bo_wait(drm_intel_bo *bo, uint64_t timeout_ns)

This should bump the libdrm version. We're waiting for context support
so we can do both features in one bump.

v2: don't return remaining timeout amount
use get param and fallback for older kernels

v3: only doing getparam at init
prototypes now have a signed input value

v4: update comments
fall back to correct polling behavior with new userspace and old kernel

v5: since the drmIoctl patch was not well received, return appropriate
values in this function instead. As Daniel pointed out, the polling
case (timeout == 0) should also return -ETIME.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
12 years agointel: Add IVB PUSH_CONSTANT decodes
Ben Widawsky [Mon, 25 Jun 2012 00:12:24 +0000 (17:12 -0700)]
intel: Add IVB PUSH_CONSTANT decodes

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
12 years agoradeon/surface: free version after using it.
Dave Airlie [Sun, 17 Jun 2012 08:18:03 +0000 (09:18 +0100)]
radeon/surface: free version after using it.

fixes leak in valgrind.

Signed-off-by: Dave Airlie <airlied@redhat.com>
12 years agoradeon: force 1D array mode for z/stencil surface
Jerome Glisse [Tue, 12 Jun 2012 22:09:55 +0000 (18:09 -0400)]
radeon: force 1D array mode for z/stencil surface

On r6xx or evergreen z/stencil surface don't support linear or
linear aligned surface, force 1D tiled mode for those.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
12 years agoradeon: enabled 2D tiling for evergreen only on fixed kernel
Jerome Glisse [Mon, 11 Jun 2012 19:04:45 +0000 (15:04 -0400)]
radeon: enabled 2D tiling for evergreen only on fixed kernel

Due to a kernel bug, enabled 2D tiling for evergreen only on
newer fixed kernel.

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
12 years agoradeon: always properly initialize stencil_offset field
Jerome Glisse [Mon, 11 Jun 2012 19:01:12 +0000 (15:01 -0400)]
radeon: always properly initialize stencil_offset field

Reported-by: Vadim Girlin <vadimgirlin@gmail.com>
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
12 years agonouveau: silence some remaining valgrind warnings
Marcin Slusarz [Sat, 9 Jun 2012 18:56:37 +0000 (20:56 +0200)]
nouveau: silence some remaining valgrind warnings

Valgrind can't understand some of the fields passed to ioctls are overwritten
by kernel, so we need to initialize them. Almost all of our ioctl wrappers
already do it and the cost of remaining 3 is very small.

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
12 years agomodetest: support plane properties
Rob Clark [Tue, 5 Jun 2012 17:28:47 +0000 (12:28 -0500)]
modetest: support plane properties

Add support to display plane properties.

Signed-off-by: Rob Clark <rob@ti.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
12 years agomodetest: support bitmask properties
Rob Clark [Tue, 5 Jun 2012 17:28:38 +0000 (12:28 -0500)]
modetest: support bitmask properties

Add support to display bitmask properties.

Signed-off-by: Rob Clark <rob@ti.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
12 years agoAdd support for bitmask properties
Rob Clark [Tue, 5 Jun 2012 17:28:22 +0000 (12:28 -0500)]
Add support for bitmask properties

A bitmask property is similar to an enum.  The enum value is a bit
position (0-63), and valid property values consist of a mask of
zero or more of (1 << enum_val[n]).

Signed-off-by: Rob Clark <rob@ti.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
12 years agomodetest: print CRTC properties
Paulo Zanoni [Tue, 15 May 2012 21:38:29 +0000 (18:38 -0300)]
modetest: print CRTC properties

Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Reviewed-by: Rob Clark <rob@ti.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
12 years agoAdd support for generic object properties IOCTLs
Paulo Zanoni [Tue, 15 May 2012 21:38:28 +0000 (18:38 -0300)]
Add support for generic object properties IOCTLs

New library calls:
- drmModeObjectGetProperties
- drmModeFreeObjectProperties
- drmModeObjectSetProperties

Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Reviewed-by: Rob Clark <rob@ti.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
12 years agoautogen.sh: Restore passing --enable-maintainer-mode to configure.
Michel Dänzer [Fri, 8 Jun 2012 13:23:46 +0000 (15:23 +0200)]
autogen.sh: Restore passing --enable-maintainer-mode to configure.

Otherwise build system files aren't automagically regenerated after updating
from Git.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
12 years agoconfigure: bump version for release 2.4.35 libdrm-2.4.35
Alex Deucher [Thu, 7 Jun 2012 14:45:55 +0000 (10:45 -0400)]
configure: bump version for release

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
12 years agoradeon: fall back to 1D tiling only with broken kernels
Alex Deucher [Wed, 6 Jun 2012 13:12:37 +0000 (09:12 -0400)]
radeon: fall back to 1D tiling only with broken kernels

Certain cards report the the wrong bank setup which causes
surface init to fail in the ddx and leads to no accel.
If we hit an invalid tiling parameter, just set a default
value and disable 2D tiling.

Should fix:
https://bugs.freedesktop.org/show_bug.cgi?id=43448

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
12 years agointel: wait render header updates
Ben Widawsky [Tue, 5 Jun 2012 18:30:08 +0000 (11:30 -0700)]
intel: wait render header updates

make headers_install in kernel. Copy to here.

v2: signed ns_timeout

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
12 years agointel: sanitize i915_drm.h
Ben Widawsky [Tue, 5 Jun 2012 18:28:01 +0000 (11:28 -0700)]
intel: sanitize i915_drm.h

run make headers_isntall on d-i-n, copy to here

Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
12 years agoradeon: add new pci ids
Alex Deucher [Tue, 5 Jun 2012 14:07:15 +0000 (10:07 -0400)]
radeon: add new pci ids

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>