platform/upstream/libdrm.git
11 years agolibdrm: Make some drm headers compatible with gcc -std=c89 -pedantic
Daniel Kurtz [Mon, 26 Aug 2013 15:39:16 +0000 (23:39 +0800)]
libdrm: Make some drm headers compatible with gcc -std=c89 -pedantic

The following minor changes were needed to these headers:
 * Convert // comments to /* */
 * No , after final member of enum

With these changes, these header files can be included by a program that
is built with gcc options:
  -std=c89 -Werror -pedantic

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
11 years agoradeon: Fix tiling mode index for 1D tiled depth/stencil surfaces on CIK
Michel Dänzer [Wed, 18 Sep 2013 13:43:05 +0000 (15:43 +0200)]
radeon: Fix tiling mode index for 1D tiled depth/stencil surfaces on CIK

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
11 years agofreedreno: add missing NOSYNC flag
Rob Clark [Wed, 11 Sep 2013 19:55:35 +0000 (15:55 -0400)]
freedreno: add missing NOSYNC flag

Signed-off-by: Rob Clark <robclark@freedesktop.org>
11 years agomodetest: allow setting a scaling factor when showing plane
Ilia Mirkin [Sun, 8 Sep 2013 01:36:02 +0000 (21:36 -0400)]
modetest: allow setting a scaling factor when showing plane

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@gmail.com>
11 years agomodetest: add a -D option to specify a device to be used
Ilia Mirkin [Sun, 8 Sep 2013 01:36:01 +0000 (21:36 -0400)]
modetest: add a -D option to specify a device to be used

This is helpful for differentiating between multiple devices that use
the same module.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Rob Clark <robdclark@gmail.com>
11 years agoradeon: pad CS to 8 DW
Alex Deucher [Fri, 6 Sep 2013 19:58:56 +0000 (15:58 -0400)]
radeon: pad CS to 8 DW

Aligns the IB to 8 DWs.  The aligns the IB to the
CP fetch size.  r6xx also require at least 4 DW
alignment to avoid a hw bug.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agoradeon: add berlin pci ids
Alex Deucher [Thu, 24 Jan 2013 23:12:21 +0000 (18:12 -0500)]
radeon: add berlin pci ids

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agointel: Update package name and description in libdrm_intel.pc
Emil Velikov [Thu, 29 Aug 2013 20:31:54 +0000 (21:31 +0100)]
intel: Update package name and description in libdrm_intel.pc

Currently the package name and description duplicate that of the
core libdrm. Update those to reflect reality.

Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
11 years agofreedreno: set automake options to include subdir-objects
Emil Velikov [Thu, 29 Aug 2013 20:31:53 +0000 (21:31 +0100)]
freedreno: set automake options to include subdir-objects

Handles automake complains about lack of forward-compatibility, due to the
source files in the kgsl and msm backends/folders.

Cc: Rob Clark <robclark@freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
11 years agofreedreno: use local drm.h over the system one
Emil Velikov [Thu, 29 Aug 2013 20:31:52 +0000 (21:31 +0100)]
freedreno: use local drm.h over the system one

Otherwise build will fail, as drm/drm.h is not available.

Cc: Rob Clark <robclark@freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
11 years agotests/modetest: silence compiler warning about uninitialised variables
Emil Velikov [Thu, 29 Aug 2013 20:31:51 +0000 (21:31 +0100)]
tests/modetest: silence compiler warning about uninitialised variables

The compiler is unaware of that we have at least one crts/connector/plane
thus it complains that some of our variables will be used uninitialised.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
11 years agotests/*version: add missing string.h header
Emil Velikov [Thu, 29 Aug 2013 20:31:50 +0000 (21:31 +0100)]
tests/*version: add missing string.h header

Prodives memset() and strlen(), used in tests/setversion
tests/getversion respectively.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
11 years agotests: add msm
Rob Clark [Fri, 30 Aug 2013 15:15:30 +0000 (11:15 -0400)]
tests: add msm

Signed-off-by: Rob Clark <robclark@freedesktop.org>
11 years agofreedreno: add support for msm drm
Rob Clark [Sun, 21 Jul 2013 00:35:31 +0000 (20:35 -0400)]
freedreno: add support for msm drm

This adds support for the "msm" backend, using the upstream msm drm/kms
driver.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
11 years agofreedreno: support either kgsl or msm
Rob Clark [Wed, 10 Jul 2013 19:20:04 +0000 (15:20 -0400)]
freedreno: support either kgsl or msm

Split out common code and backend.  Current backend is for 'kgsl'
android driver, but a new backend will provide support for the
upstream msm drm/kms driver.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
11 years agomodetest: Allocate NV buffers large enough for the two planes
Laurent Pinchart [Fri, 14 Jun 2013 20:57:49 +0000 (22:57 +0200)]
modetest: Allocate NV buffers large enough for the two planes

Multiple the image height by 1.5 for NV12/NV21 and by 2 for NV16/NV61 to
make room for the chroma plane.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Fix line stride in SMPTE YUV packet pattern generator
Laurent Pinchart [Fri, 14 Jun 2013 20:57:30 +0000 (22:57 +0200)]
modetest: Fix line stride in SMPTE YUV packet pattern generator

The line stride passed to the function is expressed in bytes, there's no
need to multiply it by 2.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Try all possible encoders for a connector
Laurent Pinchart [Tue, 19 Mar 2013 14:36:09 +0000 (15:36 +0100)]
modetest: Try all possible encoders for a connector

When building the pipeline, instead of using only the encoders attached
to a connector, take all possible encoders into account to locate a
CRTC.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Support pipes with multiple connectors
Laurent Pinchart [Tue, 19 Mar 2013 12:48:36 +0000 (13:48 +0100)]
modetest: Support pipes with multiple connectors

The -s argument can now take a list of connectors. Configure all of them
in cloned mode using a single CRTC.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Rename struct connector_arg to struct pipe_arg
Laurent Pinchart [Tue, 19 Mar 2013 12:47:39 +0000 (13:47 +0100)]
modetest: Rename struct connector_arg to struct pipe_arg

This prepares the code for handling multiple connectors in a single
pipeline in a cloned configuration.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Split mode setting and plane setup
Laurent Pinchart [Wed, 27 Feb 2013 04:35:13 +0000 (05:35 +0100)]
modetest: Split mode setting and plane setup

There's not reason to require setting a mode to test planes. Split the
two operations.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Give the CRTC ID to the -P option
Laurent Pinchart [Wed, 27 Feb 2013 04:35:13 +0000 (05:35 +0100)]
modetest: Give the CRTC ID to the -P option

Planes are associated with CRTCs, not connectors. Don't try to be too
clever, use the CRTC ID in the -P option. This prepares for splitting
CRTC and planes setup.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Store the mode in the crtc structure
Laurent Pinchart [Wed, 27 Feb 2013 04:35:13 +0000 (05:35 +0100)]
modetest: Store the mode in the crtc structure

This prepares the code for the split in separate functions of CRTC and
planes setup.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Store the crtc in the connector_arg structure
Laurent Pinchart [Wed, 27 Feb 2013 04:35:13 +0000 (05:35 +0100)]
modetest: Store the crtc in the connector_arg structure

This prepares the code for the split in separate functions of CRTC and
planes setup.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Remove the struct connector_arg encoder field
Laurent Pinchart [Wed, 27 Feb 2013 04:35:13 +0000 (05:35 +0100)]
modetest: Remove the struct connector_arg encoder field

The field is no needed, make it a local variable where used.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Compute CRTC pipe number as needed
Laurent Pinchart [Wed, 27 Feb 2013 04:35:13 +0000 (05:35 +0100)]
modetest: Compute CRTC pipe number as needed

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Create a device structure
Laurent Pinchart [Wed, 27 Feb 2013 04:35:13 +0000 (05:35 +0100)]
modetest: Create a device structure

Instead of passing the device fd and resources as global variables group
them in a device structure and pass it explictly to all functions that
need it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Remove the -m argument
Laurent Pinchart [Wed, 27 Feb 2013 04:35:13 +0000 (05:35 +0100)]
modetest: Remove the -m argument

The argument isn't used, remove it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Print the plane ID when setting up a plane
Laurent Pinchart [Wed, 27 Feb 2013 04:35:13 +0000 (05:35 +0100)]
modetest: Print the plane ID when setting up a plane

As modetest automatically selects an unused plan, providing the plane ID
allows modifying plane properties for the selected planes.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Allow specifying plane position
Laurent Pinchart [Wed, 27 Feb 2013 04:35:13 +0000 (05:35 +0100)]
modetest: Allow specifying plane position

Extend the -P option to allow specifying the plane x and y offsets. The
position is optional, if not specified the plane will be positioned at
the center of the screen as before.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Add a command line parameter to set properties
Laurent Pinchart [Wed, 27 Feb 2013 04:35:13 +0000 (05:35 +0100)]
modetest: Add a command line parameter to set properties

The -w parameter can be used to set a property value from the command
line, using the target object ID and the property name.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Don't limit mode set and planes to two instances
Laurent Pinchart [Fri, 1 Mar 2013 01:28:42 +0000 (02:28 +0100)]
modetest: Don't limit mode set and planes to two instances

Configuring mode on more than two connectors or two planes is perfectly
valid. Support it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Retrieve all resources in one go
Laurent Pinchart [Wed, 27 Feb 2013 05:39:36 +0000 (06:39 +0100)]
modetest: Retrieve all resources in one go

Instead of retrieving resources as they are needed, retrieve them all
(except property blobs) in one go at startup.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Add a command line parameter to drop master after mode set
Laurent Pinchart [Wed, 27 Feb 2013 04:19:44 +0000 (05:19 +0100)]
modetest: Add a command line parameter to drop master after mode set

If the -d parameter is specified, modetest will drop master permissions
after setting the mode.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agomodetest: Add a command line parameter to select the driver
Laurent Pinchart [Fri, 8 Feb 2013 12:42:45 +0000 (13:42 +0100)]
modetest: Add a command line parameter to select the driver

If the -M parameter is specified, modetest will use the requested device
name instead of trying its builtin list of device names.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
11 years agomodetest: Sort command line arguments
Laurent Pinchart [Fri, 8 Feb 2013 10:12:03 +0000 (11:12 +0100)]
modetest: Sort command line arguments

The current mostly random sort order hinders code readability. Sort the
options alphabetically in the code, and by group in the help message.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
11 years agomodetest: Remove extern declarations of opt(arg|ind|err|opt)
Laurent Pinchart [Fri, 8 Feb 2013 10:08:38 +0000 (11:08 +0100)]
modetest: Remove extern declarations of opt(arg|ind|err|opt)

Those variables are declared in unistd.h, there's no need to redeclare
them here.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
11 years agomodetest: Fix warnings
Laurent Pinchart [Mon, 11 Feb 2013 20:36:30 +0000 (21:36 +0100)]
modetest: Fix warnings

Enable all standard automake warnings except for -Wpointer-arith (as the
test pattern generation code uses void pointer arithmetics) and fix
them.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11 years agotests: add tilcdc to modetest/vbltest
Rob Clark [Thu, 1 Aug 2013 21:52:13 +0000 (17:52 -0400)]
tests: add tilcdc to modetest/vbltest

Signed-off-by: Rob Clark <robclark@freedesktop.org>
11 years agointel: silence valgrind warnings for unsynchronized maps
Chia-I Wu [Wed, 10 Jul 2013 02:49:59 +0000 (10:49 +0800)]
intel: silence valgrind warnings for unsynchronized maps

Mark the address ranges as accessible with VALGRIND_MAKE_MEM_DEFINED.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
11 years agolibdrm: add missing DRM_CAP_TIMESTAMP_MONOTONIC
Imre Deak [Thu, 22 Nov 2012 14:00:39 +0000 (16:00 +0200)]
libdrm: add missing DRM_CAP_TIMESTAMP_MONOTONIC

Just add the definition according the kernel's copy of drm.h

Signed-off-by: Imre Deak <imre.deak@intel.com>
11 years agolibdrm: bump to 2.4.46 2.4.46 libdrm-2.4.46
Dave Airlie [Tue, 2 Jul 2013 08:24:53 +0000 (09:24 +0100)]
libdrm: bump to 2.4.46

11 years agodrm: add hotspot cursor interface support.
Dave Airlie [Tue, 2 Jul 2013 08:21:06 +0000 (09:21 +0100)]
drm: add hotspot cursor interface support.

Signed-off-by: Dave Airlie <airlied@redhat.com>
11 years agoradeon: add kabini pci ids
Alex Deucher [Thu, 24 Jan 2013 23:01:59 +0000 (18:01 -0500)]
radeon: add kabini pci ids

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agoradeon: add Bonaire pci ids
Alex Deucher [Fri, 7 Jun 2013 17:46:37 +0000 (13:46 -0400)]
radeon: add Bonaire pci ids

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agoradeon: add CIK chip families
Alex Deucher [Fri, 7 Jun 2013 17:45:30 +0000 (13:45 -0400)]
radeon: add CIK chip families

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
11 years agointel/aub: Implement a way to specify the output .aub filename
Damien Lespiau [Wed, 20 Feb 2013 12:11:49 +0000 (12:11 +0000)]
intel/aub: Implement a way to specify the output .aub filename

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
11 years agointel/aub: Return early if we disable aub dumps
Damien Lespiau [Wed, 20 Feb 2013 12:11:50 +0000 (12:11 +0000)]
intel/aub: Return early if we disable aub dumps

No need to prepare the .aub header and dump in that case, it'll be
done with the next call with true.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
11 years agointel/aub: Sync the AUB defines with mesa's
Damien Lespiau [Wed, 20 Feb 2013 12:11:48 +0000 (12:11 +0000)]
intel/aub: Sync the AUB defines with mesa's

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
11 years agoradeon: correct RADEON_GEM_WAIT_IDLE use
Mark Kettenis [Wed, 5 Jun 2013 03:04:30 +0000 (13:04 +1000)]
radeon: correct RADEON_GEM_WAIT_IDLE use

RADEON_GEM_WAIT_IDLE is declared DRM_IOW but libdrm
uses it with drmCommandWriteRead instead of drmCommandWrite
which leads to the ioctl being unmatched and returning an
error on at least OpenBSD.

Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
11 years agointel: Adding more reserved PCI IDs for Haswell.
Rodrigo Vivi [Mon, 13 May 2013 20:48:40 +0000 (17:48 -0300)]
intel: Adding more reserved PCI IDs for Haswell.

At DDX commit Chris mentioned the tendency we have of finding out more
PCI IDs only when users report. So Let's add all new reserved Haswell IDs.

Bugzilla: http://bugs.freedesktop.org/show_bug.cgi?id=63701
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
11 years agointel: Fix Haswell GT3 names.
Rodrigo Vivi [Mon, 13 May 2013 20:48:39 +0000 (17:48 -0300)]
intel: Fix Haswell GT3 names.

When publishing first HSW ids we weren't allowed to use "GT3" codname.
But this is the correct codname and Mesa is using it already.
So to avoid people getting confused why in Mesa it is called GT3 and here
it is called GT2_PLUS let's fix this name in a standard and correct way.

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
11 years agomodetest: Make RGB565 pwetty too
Ville Syrjälä [Thu, 18 Apr 2013 14:26:52 +0000 (17:26 +0300)]
modetest: Make RGB565 pwetty too

Render the crosshairs for 565 and x888/a888 formats.

v2: Use the drm format to determine cairo format

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
11 years agofreedreno: also remove from name table on bo delete
Rob Clark [Fri, 17 May 2013 20:13:02 +0000 (16:13 -0400)]
freedreno: also remove from name table on bo delete

When adding the name tracking, I missed removing from the name table
when the bo was deleted, leaving a dangling pointer.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
11 years agofreedreno: add some asserts
Rob Clark [Wed, 15 May 2013 17:21:24 +0000 (13:21 -0400)]
freedreno: add some asserts

Things are worse if we issueibcmds with bogus gpu ptrs, so it is better
to just make userspace crash when things go pear shaped.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
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>