platform/upstream/libdrm.git
11 years agofreedreno: add handle and name tracking
Rob Clark [Wed, 15 May 2013 17:18:02 +0000 (13:18 -0400)]
freedreno: add handle and name tracking

Due to the evil userspace buffer tracking we have to do, and hacks for
creating GEM buffer from fbdev/scanout, "evil-twin" fd_bo objects are
problematic.  So introduce hashtable tracking of bo's and dev's, to
avoid getting duplicate fd_bo ptrs for the same underlying gem object,
in particular when importing via flink name.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
11 years agoconfigure.ac: bump version to 2.4.45 for release 2.4.45 libdrm-2.4.45
Marek Olšák [Wed, 15 May 2013 17:32:05 +0000 (19:32 +0200)]
configure.ac: bump version to 2.4.45 for release

11 years agoradeon: add RADEON_SURF_FMASK flag which disables 2D->1D tiling transition
Marek Olšák [Wed, 24 Apr 2013 18:39:45 +0000 (20:39 +0200)]
radeon: add RADEON_SURF_FMASK flag which disables 2D->1D tiling transition

Signed-off-by: Marek Olšák <maraeo@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
11 years agoradeon: add HAINAN pci ids
Alex Deucher [Mon, 13 May 2013 20:14:28 +0000 (16:14 -0400)]
radeon: add HAINAN pci ids

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agoradeon: add HAINAN family
Alex Deucher [Mon, 13 May 2013 20:15:17 +0000 (16:15 -0400)]
radeon: add HAINAN family

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agodrm: add qxl drm header file
Dave Airlie [Thu, 9 May 2013 02:55:42 +0000 (12:55 +1000)]
drm: add qxl drm header file

Now that this driver is merged add the header file.

Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agointel: Add support for VEBOX ring (v2)
Xiang, Haihao [Wed, 14 Nov 2012 04:46:39 +0000 (12:46 +0800)]
intel: Add support for VEBOX ring (v2)

v2: Fix the test for has_vebox

Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
11 years agofreedreno: add synchronization between mesa and ddx
Rob Clark [Thu, 25 Apr 2013 20:36:15 +0000 (16:36 -0400)]
freedreno: add synchronization between mesa and ddx

Super-cheezy way to synchronization between mesa and ddx..  the
SET_ACTIVE ioctl gives us a way to stash a 32b # w/ a GEM bo, and
GET_BUFINFO gives us a way to retrieve it.  We use this to stash
the timestamp of the last ISSUEIBCMDS on the buffer.

To avoid an obscene amount of syscalls, we:
 1) Only set the timestamp for buffers w/ an flink name, ie.
    only buffers shared across processes.  This is enough to
    catch the DRI2 buffers.
 2) Only set the timestamp for buffers submitted to the 3d ring
    and only check the timestamps on buffers submitted to the
    2d ring.  This should be enough to handle synchronizing of
    presentation blit.  We could do synchronization in the other
    direction too, but that would be problematic if we are using
    the 3d ring from DDX, since client side wouldn't know this.

The waiting on timestamp happens before flush, and setting of
timestamp happens after flush.  It is transparent to the user
of libdrm_freedreno as all the tracking of buffers happens via
_emit_reloc()..

Signed-off-by: Rob Clark <robclark@freedesktop.org>
11 years agoradeon: add new richland pci ids
Alex Deucher [Thu, 25 Apr 2013 18:13:52 +0000 (14:13 -0400)]
radeon: add new richland pci ids

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agoradeon: add new SI pci ids
Alex Deucher [Thu, 25 Apr 2013 18:12:50 +0000 (14:12 -0400)]
radeon: add new SI pci ids

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agoAdd exynos_fimg2d_test to .gitignore
Rob Clark [Mon, 22 Apr 2013 18:50:57 +0000 (14:50 -0400)]
Add exynos_fimg2d_test to .gitignore

Signed-off-by: Rob Clark <robclark@freedesktop.org>
11 years agofreedreno: add gpu-id property
Rob Clark [Mon, 22 Apr 2013 18:49:28 +0000 (14:49 -0400)]
freedreno: add gpu-id property

Gallium driver will need to query this to figure out whether to load the
a2xx or a3xx driver.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
11 years agolibdrm 2.4.44 2.4.44
Jerome Glisse [Thu, 18 Apr 2013 19:01:19 +0000 (15:01 -0400)]
libdrm 2.4.44

11 years agomodetest: Add YUV420 support and fix YVU420 Cb/Cr ordering
Ville Syrjälä [Thu, 18 Apr 2013 15:26:59 +0000 (15:26 +0000)]
modetest: Add YUV420 support and fix YVU420 Cb/Cr ordering

YUV420 support is trivial to add since the code already supports
YVU420.

But it looks like the YVU420 support is a bit broken. The chroma
planes are passed in the wrong order to the fill functions, so
fix that while were at it.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
11 years agomodetest: Pass format_info to fill_tiles functions
Ville Syrjälä [Thu, 18 Apr 2013 15:26:57 +0000 (15:26 +0000)]
modetest: Pass format_info to fill_tiles functions

The fourcc is inside the format_info structure, so if we want to use
it inside the various fill_tiles functions, we need to pass down the
whole format_info, not just the rgb/yuv infos.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Reduce the length of the connector type string
Ville Syrjälä [Wed, 17 Apr 2013 19:18:05 +0000 (19:18 +0000)]
modetest: Reduce the length of the connector type string

Spelling out eDP or DP make for a ridicilously long string which plays
havoc with formatting. Just say eDP or DP.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Print possible_crtcs for planes
Ville Syrjälä [Wed, 17 Apr 2013 19:18:04 +0000 (19:18 +0000)]
modetest: Print possible_crtcs for planes

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Add support for all 16/32 bpp RGB formats
Ville Syrjälä [Wed, 17 Apr 2013 19:18:03 +0000 (19:18 +0000)]
modetest: Add support for all 16/32 bpp RGB formats

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Fix pitches, somewhat
Ville Syrjälä [Wed, 17 Apr 2013 19:18:02 +0000 (19:18 +0000)]
modetest: Fix pitches, somewhat

libkms only has the xrgb8888 format, so we're overallocating the bo by
quite a lot in some cases. But we still need to get the pitch from the
libkms since it's the driver that decides how to align it.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agokms: Return a negative error code in kms_bo_create()
Laurent Pinchart [Thu, 1 Nov 2012 09:38:42 +0000 (09:38 +0000)]
kms: Return a negative error code in kms_bo_create()

The function returns returns 0 on success or a negative value in case of an
error, except when given invalid attributes in which case it returns the
positive EINVAL value. Replace that with -EINVAL to allow the caller to detect
errors with a < 0 check.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
11 years agokms: Make libkms.h usable in C++
Laurent Pinchart [Thu, 1 Nov 2012 09:40:30 +0000 (09:40 +0000)]
kms: Make libkms.h usable in C++

Wrap the header in extern "C" { ... };.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com>
11 years agofreedreno: add shifted reloc
Rob Clark [Fri, 12 Apr 2013 15:28:13 +0000 (11:28 -0400)]
freedreno: add shifted reloc

Needed for RB_COPY_DEST_BASE register on a3xx.

Signed-off-by: Rob Clark <robdclark@gmail.com>
11 years agoradeon: add si tiling support v5
Jerome Glisse [Mon, 8 Apr 2013 17:35:37 +0000 (13:35 -0400)]
radeon: add si tiling support v5

v2: Only writte tile index if flags for it is set
v3: Remove useless allow2d scanout flags
v4: Split radeon_drm.h update to its own patch
v5: update against lastest next tree for radeon

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
11 years agoradeon: update radeon_drm.h to kernel last API additions v2
Jerome Glisse [Mon, 8 Apr 2013 17:34:54 +0000 (13:34 -0400)]
radeon: update radeon_drm.h to kernel last API additions v2

v2: sync with radeon-next tree for 3.10

http://cgit.freedesktop.org/~agd5f/linux/log/?h=drm-next-3.10-wip

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
11 years agointel-decode: Fix gen6 HIER_DEPTH_BUFFER decoding
Daniel Vetter [Wed, 3 Apr 2013 16:25:12 +0000 (18:25 +0200)]
intel-decode: Fix gen6 HIER_DEPTH_BUFFER decoding

It accidentally used the cmd id for the gen7 command and had an
outdated lenght field. Spotted while trying to make sense of an ivb
error_state from mesa 7.11 ...

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agointel: Fix Haswell CRW PCI IDs.
Kenneth Graunke [Fri, 1 Mar 2013 23:37:01 +0000 (15:37 -0800)]
intel: Fix Haswell CRW PCI IDs.

The second digit was off by one, which meant we accidentally treated
GT(n) as GT(n-1).  This also meant no support for GT1 at all.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
11 years agodrm: Fix error message in drmWaitVBlank
Daniel Kurtz [Thu, 28 Mar 2013 06:05:40 +0000 (14:05 +0800)]
drm: Fix error message in drmWaitVBlank

If clock_gettime did fail, it would return -1 and set errno.
What we really want to strerror() is the errno.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
11 years agomakefiles: Add missing headers.
Maarten Lankhorst [Wed, 27 Mar 2013 13:06:43 +0000 (14:06 +0100)]
makefiles: Add missing headers.

I even compile time tested this on a panda with make dist!

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
11 years agoRemove unused header xf86mm.h.
Maarten Lankhorst [Wed, 27 Mar 2013 12:55:54 +0000 (13:55 +0100)]
Remove unused header xf86mm.h.

it's not even shipped in the tarball.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
11 years agoconfigure.ac: bump version to 2.4.43 for release libdrm-2.4.43
Maarten Lankhorst [Wed, 27 Mar 2013 09:42:20 +0000 (10:42 +0100)]
configure.ac: bump version to 2.4.43 for release

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
11 years agointel_chipset: Fix up VLV confusion
Ville Syrjälä [Mon, 18 Feb 2013 18:50:01 +0000 (20:50 +0200)]
intel_chipset: Fix up VLV confusion

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
11 years agointel_chipset: Use parens around macro arguments
Ville Syrjälä [Mon, 18 Feb 2013 18:22:21 +0000 (20:22 +0200)]
intel_chipset: Use parens around macro arguments

Protect the macro argument evaluations with parens.

This is already touching most lines, so while at it, fix up all white
space to uniform style throughout the file.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
11 years agonouveau: add a way to override single pushbuffer memory limits
Marcin Slusarz [Sun, 3 Mar 2013 21:34:38 +0000 (22:34 +0100)]
nouveau: add a way to override single pushbuffer memory limits

Currently single pushbuffer can take up to 80% of VRAM and 80% of GART.
As this value seems to be arbitrary (and user may need to set it differently)
this patch adds support for 2 environment variables:
NOUVEAU_LIBDRM_VRAM_LIMIT_PERCENT (default 80)
NOUVEAU_LIBDRM_GART_LIMIT_PERCENT (default 80)
which will let users override pushbuffer VRAM/GART limits.

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
11 years agonouveau: return error from pushbuf_validate
Marcin Slusarz [Sun, 3 Mar 2013 21:13:38 +0000 (22:13 +0100)]
nouveau: return error from pushbuf_validate

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
11 years agotests: allow tests programs to be installed (cumulative patch)
Benjamin Gaignard [Tue, 26 Mar 2013 10:11:41 +0000 (11:11 +0100)]
tests: allow tests programs to be installed (cumulative patch)

fix error in previous patch

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.com>
Signed-off-by: Andreas Boll <andreas.boll.dev@gmail.com>
11 years agotests: allow tests programs to be installed
Benjamin Gaignard [Wed, 30 Jan 2013 13:34:00 +0000 (14:34 +0100)]
tests: allow tests programs to be installed

Install test programs is useful in cross compilation case.  By default
the behavior is the same and test programs aren't installed in $bindir.
If --enable-install-test-programs is set then test programs are
installed in $bindir.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
11 years agoradeon: add pci ids for Richland APUs
Alex Deucher [Fri, 8 Mar 2013 19:12:32 +0000 (14:12 -0500)]
radeon: add pci ids for Richland APUs

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agolibdrm/exynos: add test application for 2d gpu.
Inki Dae [Mon, 18 Feb 2013 12:51:00 +0000 (21:51 +0900)]
libdrm/exynos: add test application for 2d gpu.

This patch adds library and test application for g2d gpu(fimg2d).

The fimg2d hardware is a 2D graphics accelerator(G2D) that
supports Bit Block Transfer(BitBLT).

The library includes the following primitive drawing operations:
.solid fill - This operation fills the given buffer with
the given color data.
.copy - This operation copies contents in source buffer to
destination buffer.
.copy_with_scale - This operation copies contents in source buffer
to destination buffer scaling up or down properly.
.blend - This operation blends contents in source buffer with
the ones in destination buffer.

And the above operations uses gem handle or user space address
allocated by malloc() as source or destination buffer.

And the test application includes just simple primitive drawing
tests with the above library.
And the guide to test is as the following,
"#exynos_fimg2d_test -s connector_id@crtc_id:mode"

With this above simple command, four primitive drawing operations
would be called step by step and also rendered on the output device
to the given connector and crtc id.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Rob Clark <robdclark@gmail.com>
11 years agoradeonsi: make sure tile_split field are not garbage
Jerome Glisse [Thu, 7 Mar 2013 14:49:53 +0000 (09:49 -0500)]
radeonsi: make sure tile_split field are not garbage

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
11 years agofreedreno: add freedreno DRM
Rob Clark [Sun, 7 Oct 2012 23:57:31 +0000 (18:57 -0500)]
freedreno: add freedreno DRM

The libdrm_freedreno helper layer for use by xf86-video-freedreno,
fdre (freedreno r/e library and tests for driving gpu), and eventual
gallium driver for the Adreno GPU.  This uses the msm gpu driver
from QCOM's android kernel tree.

Note that current msm kernel driver is a bit strange.  It provides a
DRM interface for GEM, which is basically sufficient to have DRI2
working.  But it does not provide KMS.  And interface to 2d and 3d
cores is via different other devices (/dev/kgsl-*).  This is not
quite how I'd write a DRM driver, but at this stage it is useful for
xf86-video-freedreno and fdre (and eventual gallium driver) to be
able to work on existing kernel driver from QCOM, to allow to
capture cmdstream dumps from the binary blob drivers without having
to reboot.  So libdrm_freedreno attempts to hide most of the crazy.
The intention is that when there is a proper kernel driver, it will
be mostly just changes in libdrm_freedreno to adapt the gallium
driver and xf86-video-freedreno (ignoring the fbdev->KMS changes).

So don't look at freedreno as an example of how to write a libdrm
module or a DRM driver.. it is just an attempt to paper over a non-
standard kernel driver architecture.

v1: original
v2: hold ref's to pending bo's (because qcom's kernel driver doesn't),
    various bug fixes, add ringbuffer markers so we can emit IB's to
    portion of ringbuffer (so that gallium driver can use a single
    ringbuffer for both tile cmds and draw cmds.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
11 years agointel_chipset: Merge intel-gpu-tools chipsets
Ben Widawsky [Tue, 4 Dec 2012 01:43:29 +0000 (17:43 -0800)]
intel_chipset: Merge intel-gpu-tools chipsets

Intel GPU Tools is newer and arguably better. This change doesn't
completely merge the files because it's a bit simpler if we move the
I9XX macro over to Intel GPU Tools, and don't move over a few macros
from IGT that libdrm doesn't care about.

It has been discussed, and would seem even easier if Intel GPU Tools
simply used the libdrm header files. Whether or not we move to that,
this should help that effort.

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
11 years agointel: fix length mask for Gen5/Gen6 3DSTATE_CLEAR_PARAMS upstream/2.4.45
Chris Forbes [Mon, 28 Jan 2013 08:01:18 +0000 (08:01 +0000)]
intel: fix length mask for Gen5/Gen6 3DSTATE_CLEAR_PARAMS

On Gen6, bit 15 is now `Depth Clear Value Valid`. This was being treated
as part of the length, and failing the rest of the batchbuffer decode.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
11 years agointel/aub: Actually run BLT batches on the blit ring.
Kenneth Graunke [Sun, 13 Jan 2013 00:54:59 +0000 (16:54 -0800)]
intel/aub: Actually run BLT batches on the blit ring.

We didn't set the ring flag for BLT batches, so they got run on the
render ring.  Shenanigans ensued, especially when we sent commands that
were only valid on the BLT ring.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
11 years agoconfigure.ac: bump version to 2.4.42 for release libdrm-2.4.42 upstream/2.4.42
Maarten Lankhorst [Tue, 5 Feb 2013 13:08:41 +0000 (14:08 +0100)]
configure.ac: bump version to 2.4.42 for release

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
11 years agolibdrm: remove DISTCHECK_CONFIGURE_FLAGS
Maarten Lankhorst [Tue, 5 Feb 2013 13:12:06 +0000 (14:12 +0100)]
libdrm: remove DISTCHECK_CONFIGURE_FLAGS

I'm fairly sure the extra flags it specifies no longer exist, so
there is no point in keeping it. It only adds a warning when
running make distcheck.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
11 years agoradeon: add OLAND pci ids
Alex Deucher [Thu, 24 Jan 2013 22:53:37 +0000 (17:53 -0500)]
radeon: add OLAND pci ids

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agoradeon: add OLAND family
Alex Deucher [Thu, 24 Jan 2013 22:37:10 +0000 (17:37 -0500)]
radeon: add OLAND family

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agointel: add more VLV PCI IDs
Jesse Barnes [Sat, 2 Feb 2013 10:10:24 +0000 (11:10 +0100)]
intel: add more VLV PCI IDs

11 years agoman: Fix typo and use $() for make expressions
Thierry Reding [Fri, 18 Jan 2013 12:22:01 +0000 (13:22 +0100)]
man: Fix typo and use $() for make expressions

Due to the typo, none of the .xml files would end up in the release
tarball and cause make distcheck as well as builds from the tarball to
fail.

Using $() isn't strictly necessary but other variables and expressions
use that variant already so it makes the usage consistent.

Reviewed-by: David Herrmann <dh.herrmann@googlemail.com>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
11 years agoradeon: Fix 1D tiling layout on SI.
Michel Dänzer [Thu, 17 Jan 2013 18:03:42 +0000 (19:03 +0100)]
radeon: Fix 1D tiling layout on SI.

Very similar to Evergreen, but slightly different rules for tile / slice
alignment. Fortunately, these map quite naturally onto the previous fixes for
linear aligned layout on SI.

2D tiling still needs more work here and possibly in the kernel.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
11 years agoman: fix manpage build instructions
David Herrmann [Wed, 16 Jan 2013 18:35:25 +0000 (19:35 +0100)]
man: fix manpage build instructions

This fixes all the out-of-tree build-failures with manpages and uses a
.man_fixup file to avoid overriding man-pages on every build.

Manpages are only built if xsltproc is found and the stylesheets are
available locally. You can disable building manpages with
--disable-manpages so the quite expensive xsltproc procedure can be
skipped.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
11 years agonouveau: use @PACKAGE_VERSION@ in libdrm_nouveau.pc
Maarten Lankhorst [Wed, 16 Jan 2013 13:29:14 +0000 (14:29 +0100)]
nouveau: use @PACKAGE_VERSION@ in libdrm_nouveau.pc

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
11 years agoconfigure.ac: bump version to 2.4.41 for release libdrm-2.4.41
Maarten Lankhorst [Wed, 16 Jan 2013 12:06:52 +0000 (13:06 +0100)]
configure.ac: bump version to 2.4.41 for release

11 years agonouveau: expose channel engine selection on kepler chipsets
Ben Skeggs [Fri, 23 Nov 2012 02:40:30 +0000 (12:40 +1000)]
nouveau: expose channel engine selection on kepler chipsets

v2: Take Maarten Lankhorst's suggestion of nesting the struct to prevent
    sizeof() issues due to padding on older revisions.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
11 years agolibdrm_nouveau.pc: don't include I${includedir}/nouveau
Marcin Slusarz [Sun, 16 Dec 2012 18:28:24 +0000 (19:28 +0100)]
libdrm_nouveau.pc: don't include I${includedir}/nouveau

Nouveau headers are installed in I${includedir}/libdrm.

11 years agointel: Remove the fence count contributions when clearing relocs
Chris Wilson [Fri, 11 Jan 2013 00:55:12 +0000 (00:55 +0000)]
intel: Remove the fence count contributions when clearing relocs

As we clear the relocs from the bo, we also need to clear the
contribution of the reloc_target_bo from the fence count. Otherwise they
are leaked and prevent any further relocations being added to the bo.

11 years agoman: disable man page building until David saves us all
Jesse Barnes [Thu, 10 Jan 2013 01:28:41 +0000 (17:28 -0800)]
man: disable man page building until David saves us all

I must have botched something in the push of the xml switchover, since I
now get errors when building the pages and aliases.  Just disable for
now.

11 years agoman: add drm-memory overview page
David Herrmann [Fri, 28 Sep 2012 21:44:22 +0000 (23:44 +0200)]
man: add drm-memory overview page

This adds an overview page that describes Dumb-Buffers, TTM and GEM. It
does not describe chipset-specific features. You should do that in the
driver-manpages.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
11 years agoman: add drm-kms overview page
David Herrmann [Fri, 28 Sep 2012 21:44:21 +0000 (23:44 +0200)]
man: add drm-kms overview page

This is an overview page for KMS. It is again targeted at novice users
that need redirection to the correct function man-pages.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
11 years agoman: add drm.7 overview page
David Herrmann [Fri, 28 Sep 2012 21:44:20 +0000 (23:44 +0200)]
man: add drm.7 overview page

The drm.xml file compiles to drm.7 and is meant as a global overview page
for libdrm. It is targeted to new users of libdrm and redirects to all
other main man-pages.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
11 years agoman: convert manpages to XML instead of plain troff
David Herrmann [Fri, 28 Sep 2012 21:44:19 +0000 (23:44 +0200)]
man: convert manpages to XML instead of plain troff

If we want to use the manpages in external documentation other than normal
manpages, we should rather use XML. Furthermore, almost no-one knows troff
today, anyway, and XML allows others to easily add more pages without
having to learn troff.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
11 years agonouveau: disallow pushbuf BOs in multiple memory types
Ben Skeggs [Mon, 7 Jan 2013 03:07:13 +0000 (13:07 +1000)]
nouveau: disallow pushbuf BOs in multiple memory types

Under certain circumstances it's possible for libdrm to decide to move
a GART|VRAM pushbuf to be VRAM-only.  This causes the kernel to reject
the command submission on GF8 and up, due to a stricter policy where
buffers are only allowed to move to memory types that were specified
at creation time.

The simplest fix for this is to force the creation-time memory type for
the lifetime of the push buffer.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
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>
11 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>
11 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

11 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