android/external-libgbm.git
2 years agoMerge pie-platform-release to aosp-master - DO NOT MERGE master
Bill Yi [Wed, 24 Oct 2018 21:46:00 +0000 (14:46 -0700)]
Merge pie-platform-release to aosp-master - DO NOT MERGE

Change-Id: I766eb41d83ed2020ac890f03f012bcadaaa9ff35

2 years agoMerge pi-dr1-dev to aosp-master
Bill Yi [Fri, 19 Oct 2018 19:20:24 +0000 (12:20 -0700)]
Merge pi-dr1-dev to aosp-master

Change-Id: I685b523f3c89dd0efb6aa491251c3e0200ec2083

2 years agoMerge stage-dr1-aosp-master into stage-aosp-master
Xin Li [Mon, 13 Aug 2018 20:01:04 +0000 (13:01 -0700)]
Merge stage-dr1-aosp-master into stage-aosp-master

Bug: 112535855
Change-Id: I1f1f2f8f6588c49411186404505841bbca8119a4

2 years agoMake libdrm recovery_available am: d9aac04d6c
Jerry Zhang [Sat, 4 Aug 2018 01:40:00 +0000 (18:40 -0700)]
Make libdrm recovery_available am: d9aac04d6c
am: 8b8d0170f7

Change-Id: I948476189241b69ede29bb62cef7f3a413caca0f

2 years agoMake libdrm recovery_available
Jerry Zhang [Sat, 4 Aug 2018 01:35:59 +0000 (18:35 -0700)]
Make libdrm recovery_available
am: d9aac04d6c

Change-Id: Idd959a5501a1f73bf7491d9dad576a307c1c3ac0

2 years agoMerge pi-dev-plus-aosp-without-vendor into stage-dr1-aosp-master
Xin Li [Fri, 20 Jul 2018 06:24:25 +0000 (23:24 -0700)]
Merge pi-dev-plus-aosp-without-vendor into stage-dr1-aosp-master
am: 52368c4ddf

Change-Id: I4acd63bbb2d1bb60c71a9bd7b93dafc5f5fdc636

2 years agoMerge pi-dev-plus-aosp-without-vendor into stage-dr1-aosp-master
Xin Li [Thu, 19 Jul 2018 20:50:12 +0000 (13:50 -0700)]
Merge pi-dev-plus-aosp-without-vendor into stage-dr1-aosp-master

Bug: 111615259
Change-Id: I25a175251a1c1240604bf79c8e12f221b4ab1374

2 years agolibdrm: reduce number of reallocations in drmModeAtomicAddProperty
Adrian Salido [Wed, 18 Jul 2018 18:10:14 +0000 (11:10 -0700)]
libdrm: reduce number of reallocations in drmModeAtomicAddProperty
am: c5371788ed

Change-Id: I3815cd86f4bdc41b5c7553e9ca237d8cc8cfd88f

2 years agoMake libdrm recovery_available
Jerry Zhang [Tue, 17 Jul 2018 19:17:19 +0000 (12:17 -0700)]
Make libdrm recovery_available

Bug: 110380063
Test: Compiles, recovery works
Change-Id: I07b36484c1a13783ae32f63a8c05dff130524817

2 years agolibdrm: reduce number of reallocations in drmModeAtomicAddProperty
Adrian Salido [Mon, 9 Jul 2018 20:31:11 +0000 (13:31 -0700)]
libdrm: reduce number of reallocations in drmModeAtomicAddProperty

When calling drmModeAtomicAddProperty allocation of memory happens as
needed in increments of 16 elements. This can be very slow if there are
multiple properties to be updated in an Atomic Commit call.

Increase this to as many as can fit in a memory PAGE to avoid having to
reallocate memory too often.

Bug: 111047515
Change-Id: I043db1e7608b0a606adf1a6e468c90734372f363

2 years agoomap: Add DRM_RDWR flag to dmabuf export am: ad03011fcb
Hemant Hariyani [Wed, 6 Jun 2018 06:05:29 +0000 (23:05 -0700)]
omap: Add DRM_RDWR flag to dmabuf export am: ad03011fcb
am: 3c65100f3e

Change-Id: I940f13f2a9e5c9a30c54304474b3747871a16879

2 years agoomap: Add DRM_RDWR flag to dmabuf export
Hemant Hariyani [Wed, 6 Jun 2018 05:54:09 +0000 (22:54 -0700)]
omap: Add DRM_RDWR flag to dmabuf export
am: ad03011fcb

Change-Id: I24ca6dd0bc75b92b00b07d4c20f7368020b41636

2 years agoomap: Add DRM_RDWR flag to dmabuf export
Hemant Hariyani [Thu, 4 Dec 2014 06:27:35 +0000 (00:27 -0600)]
omap: Add DRM_RDWR flag to dmabuf export

Allows mmap on dmabuf fd with MAP_SHARED and PROT_WRITE.

This fixes boot failures caused due to mmap() returning error

Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
[picked and updated commitmsg from http://git.ti.com/cgit/cgit.cgi/android/external-libdrm.git/]
Bug: 74437007
Change-Id: I8ed3ed3ecb8a5005b3aa69a852e3c0f29ef9f43d
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Alistair Strachan <astrachan@google.com>
2 years agolibdrm: Add rotation property fields am: 7551405900
Sean Paul [Wed, 2 May 2018 19:17:44 +0000 (12:17 -0700)]
libdrm: Add rotation property fields am: 7551405900
am: a9e7af11ef

Change-Id: I661dfa858c52749f730d241222f576992aca0a42

2 years agolibdrm: Add rotation property fields
Sean Paul [Wed, 2 May 2018 19:13:40 +0000 (12:13 -0700)]
libdrm: Add rotation property fields
am: 7551405900

Change-Id: I72368485f2294befe5283be11932dda6d182a5f1

2 years agolibdrm: Add rotation property fields
Sean Paul [Tue, 14 Jul 2015 19:43:20 +0000 (15:43 -0400)]
libdrm: Add rotation property fields

From drm_crtc.h, for use with the plane "rotation" property

NOTE: These are legacy definitions for old code, similar
DRM_MODE_* mask values are defined in the upstream code.

Change-Id: I9240dede6a53817e6d8cedb31f6877312078b5ab
Signed-off-by: Sean Paul <seanpaul@chromium.org>
[jstultz: Added note about legacy definitions ]
Signed-off-by: John Stultz <john.stultz@linaro.org>
2 years agolibdrm: amdgpu: Fix Android.bp build issues am: dffc3a32a1
John Stultz [Wed, 2 May 2018 17:34:27 +0000 (10:34 -0700)]
libdrm: amdgpu: Fix Android.bp build issues am: dffc3a32a1
am: bae5e71e53

Change-Id: Ib257a7ae060da26fc973295e1487583249a64bc6

2 years agolibdrm: amdgpu: Initialize unions with memset rather than "= {0}" am: a428014f95
John Stultz [Wed, 2 May 2018 17:34:22 +0000 (10:34 -0700)]
libdrm: amdgpu: Initialize unions with memset rather than "= {0}" am: a428014f95
am: a719d8b000

Change-Id: I5b0c0b5740161459e0832dd2559fb4a4d734e0a0

2 years agolibdrm: Switch to Android.bp for omap driver am: 898243f460
John Stultz [Wed, 2 May 2018 17:34:18 +0000 (10:34 -0700)]
libdrm: Switch to Android.bp for omap driver am: 898243f460
am: 3e48fd62c1

Change-Id: Icf991273a6d1644ca9c4d372d054e191b2ed7f77

2 years agolibdrm: planetest/atomictest: Fix up build issue missed in rebasing am: 843b239004
John Stultz [Wed, 2 May 2018 17:34:13 +0000 (10:34 -0700)]
libdrm: planetest/atomictest: Fix up build issue missed in rebasing am: 843b239004
am: 1ba95114c2

Change-Id: Ie0cbf6979440565a012802443a061f80679de840

2 years agoMerge remote-tracking branch 'aosp/upstream-aosp-merge-fdo-master' into libdrm am...
Dmitry Shmidt [Wed, 2 May 2018 17:34:08 +0000 (10:34 -0700)]
Merge remote-tracking branch 'aosp/upstream-aosp-merge-fdo-master' into libdrm am: 16adcbf47e
am: c06fca4106

Change-Id: Id94ce953b15d915ea6e2a56f0574bece45bea241

2 years agolibdrm: amdgpu: Fix Android.bp build issues
John Stultz [Wed, 2 May 2018 17:31:02 +0000 (10:31 -0700)]
libdrm: amdgpu: Fix Android.bp build issues
am: dffc3a32a1

Change-Id: Ie48f80d96f099127ec2b82c5935df043cda9d32e

2 years agolibdrm: amdgpu: Initialize unions with memset rather than "= {0}"
John Stultz [Wed, 2 May 2018 17:30:58 +0000 (10:30 -0700)]
libdrm: amdgpu: Initialize unions with memset rather than "= {0}"
am: a428014f95

Change-Id: Ib145107df1b05ed524918d19421250b8049e4f2a

2 years agolibdrm: Switch to Android.bp for omap driver
John Stultz [Wed, 2 May 2018 17:30:54 +0000 (10:30 -0700)]
libdrm: Switch to Android.bp for omap driver
am: 898243f460

Change-Id: I7e105925a3183f8e837c260c1b0bde25645b07f6

2 years agolibdrm: planetest/atomictest: Fix up build issue missed in rebasing
John Stultz [Wed, 2 May 2018 17:30:50 +0000 (10:30 -0700)]
libdrm: planetest/atomictest: Fix up build issue missed in rebasing
am: 843b239004

Change-Id: Id6d6384184d495753a65e3bd17e8d8fbe21c85ae

2 years agoMerge remote-tracking branch 'aosp/upstream-aosp-merge-fdo-master' into libdrm
Dmitry Shmidt [Wed, 2 May 2018 17:30:45 +0000 (10:30 -0700)]
Merge remote-tracking branch 'aosp/upstream-aosp-merge-fdo-master' into libdrm
am: 16adcbf47e

Change-Id: I01b8c6af2316c0f7e0ad7cdd18d491a040a5abb3

2 years agolibdrm: amdgpu: Fix Android.bp build issues
John Stultz [Tue, 1 May 2018 21:33:42 +0000 (14:33 -0700)]
libdrm: amdgpu: Fix Android.bp build issues

Add missing files and required build time defines

Change-Id: I4c417ebeef390f2e64c6b019954829cda93c0ec9
Signed-off-by: John Stultz <john.stultz@linaro.org>
2 years agolibdrm: amdgpu: Initialize unions with memset rather than "= {0}"
John Stultz [Tue, 1 May 2018 21:29:48 +0000 (14:29 -0700)]
libdrm: amdgpu: Initialize unions with memset rather than "= {0}"

Clang complains when initializing unions using "= {0}"
so instead use memset.

Change-Id: Ib2fba6226ac4adfde7f0d271b3c953ac66cb84ee
Signed-off-by: John Stultz <john.stultz@linaro.org>
2 years agolibdrm: Switch to Android.bp for omap driver
John Stultz [Tue, 1 May 2018 17:44:24 +0000 (10:44 -0700)]
libdrm: Switch to Android.bp for omap driver

The omap driver got missed in forward porting
the change to the Android.bp make files, so fix
that.

Change-Id: I94dee0852f418090f861a0930c862512083a46ee
Signed-off-by: John Stultz <john.stultz@linaro.org>
2 years agolibdrm: planetest/atomictest: Fix up build issue missed in rebasing
John Stultz [Mon, 30 Apr 2018 18:54:43 +0000 (11:54 -0700)]
libdrm: planetest/atomictest: Fix up build issue missed in rebasing

We dropped commit 5a6afa130317 (BACKPORT: libdrm: atomic mode set)
when moving forward to upstream libdrm, as it should be redundent.

Unfortunately, the API in that commit is slightly different
upstream, and thus the planetest and atomictest tests needed some
updates to use the upstream API

Change-Id: I76cd52f12f6679792a0cedb529973e426932c98c
Signed-off-by: John Stultz <john.stultz@linaro.org>
2 years agoMerge remote-tracking branch 'aosp/upstream-aosp-merge-fdo-master' into libdrm
Dmitry Shmidt [Sat, 28 Apr 2018 00:29:55 +0000 (17:29 -0700)]
Merge remote-tracking branch 'aosp/upstream-aosp-merge-fdo-master' into libdrm

Change-Id: Ifff1b65a81b838a6ab77c9f33eb5c3c514c250db

3 years agoAndroid.bp: Add include exports for android dir
John Stultz [Fri, 13 Apr 2018 23:26:43 +0000 (16:26 -0700)]
Android.bp: Add include exports for android dir

This forward ports Stefan Schake's patch
32ee9c0e0566 "android: Add missing include exports" to the
Android.bp file.

Change-Id: Ie07582b87ae3bda0d49073c524e5c0a394e614bb
Signed-off-by: John Stultz <john.stultz@linaro.org>
3 years agoMerge remote-tracking branch 'freedesktop/master' into aosp/master
John Stultz [Fri, 13 Apr 2018 23:31:33 +0000 (16:31 -0700)]
Merge remote-tracking branch 'freedesktop/master' into aosp/master

This merges the freedesktop/master branch into aosp/master

Change-Id: I3104d45924f67d37808154d04c15518394204478
Signed-off-by: John Stultz <john.stultz@linaro.org>
3 years agolibdrm: gralloc_handle.h: Fix build issue with Android
John Stultz [Tue, 3 Apr 2018 03:37:33 +0000 (20:37 -0700)]
libdrm: gralloc_handle.h: Fix build issue with Android

In trying to integrate the new gralloc_handle.h with the
drm_hwcomposer, I started seeing the following compilation
errors:

In file included from external/drm_hwcomposer/platformdrmgeneric.cpp:28:
external/libdrm/android/gralloc_handle.h:108:9: error: cannot initialize return object of type 'native_handle_t *' (aka 'native_handle *') with an lvalue of type 'struct gralloc_handle_t *'
        return handle;
               ^~~~~~
1 error generated.

This seems to be due to the gralloc_handle_create() definition
needs to return a native_handle_t * type, rather then a
gralloc_handle_t *, which is what the code actually returns.

After talking w/ Rob Herring, having the code return the
native handle should be the proper fix, so that is what
this patch changes.

Cc: Chih-Wei Huang <cwhuang@android-x86.org>
Cc: Stefan Schake <stschake@gmail.com>
Cc: Robert Foss <robert.foss@collabora.com>
Cc: Sean Paul <seanpaul@google.com>
Cc: Rob Herring <robh@kernel.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Reviewed-by: Robert Foss <robert.foss@collabora.com>
3 years agoheaders: Update README
Daniel Stone [Fri, 30 Mar 2018 12:23:45 +0000 (13:23 +0100)]
headers: Update README

Nouveau has made a very deliberate choice to hide its actual kernel ABI
behind libdrm. i915 is no longer out of date.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
3 years agoheaders: Sync with drm-next
Daniel Stone [Fri, 30 Mar 2018 12:04:30 +0000 (13:04 +0100)]
headers: Sync with drm-next

Taken from the drm-next pull for 4.17-rc1 (694f54f680f7), and manually
reconciled:

  core:
    - Dropped DRM_MODE_TYPE_ALL and DRM_MODE_FLAG_ALL; these are purely
      internal details of the bits accepted by the currently running
      kernel, and can not be generally relied on by userspace
    - Add HDCP flags
    - Note CTM entry representation is sign-magnitude format, not
      two's-complement
  amdgpu:
    - Add QUERY_STATE2 context op
    - Add VCN firmware version query
  etnaviv:
    - Add more GPU feature flags
  i915:
    - Add caps, params and ioctls for PMU / perf-stream
    - Add support for explicit fencing
  nouveau:
    - Add TILE_COMP layout
  vc4:
    - Add perfmon ioctls
  virtgpu:
    - Add capset-fix param
  vmware:
    - Add handle-close ioctl and explicit-fencing support

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3 years agoheaders: sync up amdgpu_drm.h with drm-next
Rex Zhu [Tue, 20 Mar 2018 06:08:09 +0000 (14:08 +0800)]
headers: sync up amdgpu_drm.h with drm-next

Add sensor_info type
AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_MCLK
AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_SCLK

Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
3 years agoRevert "libdrm: intel/Android.mk: Filter libdrm_intel library requirements on x86...
Emil Velikov [Tue, 20 Mar 2018 17:32:37 +0000 (17:32 +0000)]
Revert "libdrm: intel/Android.mk: Filter libdrm_intel library requirements on x86/x86_64"

This reverts commit ed07718ae7bab596297abf210bb0c37c6dba58ed.

The commit added a guard since libpciaccess may be missing on some
setups. As of last commit there are no traces of the project, from
Android POV.

Hence, we can revert this workaround - which caused similar breakage to
the one it's trying to fix. This time in Mesa.

Cc: Rob Herring <rob.herring@linaro.org>
Acked-by: John Stultz <john.stultz@linaro.org>
3 years agointel: Do not use libpciaccess on Android
Tomasz Figa [Mon, 14 Dec 2015 10:46:34 +0000 (19:46 +0900)]
intel: Do not use libpciaccess on Android

This patch makes the code not rely anymore on libpciaccess when compiled
for Android to eliminate ioperm() and iopl() syscalls required by that
library. As a side effect, the mappable aperture size is hardcoded to 64
MiB on Android, however nothing seems to rely on this value anyway, as
checked be grepping relevant code in drm_gralloc and Mesa.

Cc: Rob Herring <rob.herring@linaro.org>
Signed-off-by: Tomasz Figa <tfiga@google.com>
[Emil Velikov: rebase against master. add missing __func__, Eric]
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Acked-by: John Stultz <john.stultz@linaro.org>
3 years agoxf86drmMode: merge successive mutually-exclusive #ifs
Eric Engestrom [Thu, 22 Mar 2018 17:08:37 +0000 (17:08 +0000)]
xf86drmMode: merge successive mutually-exclusive #ifs

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
3 years agolibdrm: Use readdir instead of readdir_r to avoid build warnings
John Stultz [Tue, 20 Mar 2018 17:48:23 +0000 (17:48 +0000)]
libdrm: Use readdir instead of readdir_r to avoid build warnings

Building libdrm under AOSP, we see the following build warning:
external/libdrm/xf86drm.c:2861:12: warning: 'readdir_r' is deprecated: readdir_r is deprecated; use readdir instead [-Wdeprecated-declarations]
    while (readdir_r(sysdir, pent, &ent) == 0 && ent != NULL) {
           ^

Building on Linux with glibc produces the same warning.
Thus, this patch replaces readdir_r with readdir.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102031
Cc: Robert Foss <robert.foss@collabora.com>
Cc: Rob Herring <robh@kernel.org>
Cc: Stefan Schake <stschake@gmail.com>
Cc: John Stultz <john.stultz@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
[Emil Velikov: remove unused variables, Eric]
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
3 years agoandroid: Add missing include exports
Stefan Schake [Sun, 18 Mar 2018 01:26:59 +0000 (02:26 +0100)]
android: Add missing include exports

They were set for the static library but not the shared variant.

Signed-off-by: Stefan Schake <stschake@gmail.com>
Acked-by: John Stultz <john.stultz@linaro.org>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
3 years agoomap: add Android build support
Gowtham Tammana [Wed, 28 Feb 2018 18:54:51 +0000 (12:54 -0600)]
omap: add Android build support

Add Android.mk file to build libdrm_omap library.

Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
3 years agolibdrm: amdgpu: Adding DRM_RDWR flag in amdgpu_bo_export
Satyajit [Mon, 26 Feb 2018 12:37:03 +0000 (18:07 +0530)]
libdrm: amdgpu: Adding DRM_RDWR flag in amdgpu_bo_export

Currently while exporting prime handle to fd read write access is
not granted. mmap fails because of this. mmap was not supported on
prime initially.
Here is link to related discussion
https://lists.freedesktop.org/archives/dri-devel/2017-February/131840.html

Adding the DRM_RDWR flag in amdgpu_bo_export to support mmap.

Signed-off-by: Satyajit <satyajit.sahu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
3 years agomeson: drop unnecessary variable
Eric Engestrom [Tue, 20 Mar 2018 14:59:40 +0000 (14:59 +0000)]
meson: drop unnecessary variable

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
3 years agomeson: move line to allow using `config` earlier
Eric Engestrom [Tue, 20 Mar 2018 14:54:45 +0000 (14:54 +0000)]
meson: move line to allow using `config` earlier

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
3 years agomeson: drop unneeded dependency to libudev
Eric Engestrom [Tue, 20 Mar 2018 14:55:50 +0000 (14:55 +0000)]
meson: drop unneeded dependency to libudev

libdrm only needed libudev for a few days 3 years ago,
between fde4969176822fe54197 and its revert 5b0e76f143887c4ec7db.

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
3 years agomeson,configure: include config.h automatically
Eric Engestrom [Thu, 1 Feb 2018 11:12:05 +0000 (11:12 +0000)]
meson,configure: include config.h automatically

This will prevent any more missing `#include "config.h"` bug, at the
cost of having to recompile some files that didn't need to be when
changing build options.

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
3 years agomeson: replace `if(compiles) have=true` with `have=compiles`
Eric Engestrom [Fri, 16 Mar 2018 17:10:26 +0000 (17:10 +0000)]
meson: replace `if(compiles) have=true` with `have=compiles`

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
3 years agomeson,configure: always define UDEV
Eric Engestrom [Fri, 16 Mar 2018 17:04:50 +0000 (17:04 +0000)]
meson,configure: always define UDEV

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
3 years agomeson,configure: always define HAVE_VISIBILITY
Eric Engestrom [Fri, 16 Mar 2018 17:07:08 +0000 (17:07 +0000)]
meson,configure: always define HAVE_VISIBILITY

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
3 years agomeson,configure: always define HAVE_OPEN_MEMSTREAM
Eric Engestrom [Fri, 26 Jan 2018 17:04:28 +0000 (17:04 +0000)]
meson,configure: always define HAVE_OPEN_MEMSTREAM

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
3 years agotests: fix memory leak issue
Inki Dae [Tue, 20 Mar 2018 03:47:33 +0000 (12:47 +0900)]
tests: fix memory leak issue

Fixed memory leak issue to drmModeRes and drmModePlaneRes objects.

These objects were allocated by drmModeGetResources and
drmModeGetPlaneResources functions but not freed properly.

So this patch frees them by calling drmModeFreeResources
drmModeFreePlaneResources functions at failure case.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
3 years agolibdrm: intel/Android.mk: Filter libdrm_intel library requirements on x86/x86_64
John Stultz [Wed, 14 Mar 2018 16:47:36 +0000 (09:47 -0700)]
libdrm: intel/Android.mk: Filter libdrm_intel library requirements on x86/x86_64

When building AOSP after updating libdrm project to the
freedesktop/master branch, I've seen the following build errors:

external/libdrm/intel/Android.mk: error: libdrm_intel
(SHARED_LIBRARIES android-arm64) missing libpciaccess
(SHARED_LIBRARIES android-arm64) You can set
ALLOW_MISSING_DEPENDENCIES=true in your environment if this is
intentional, but that may defer real problems until later in the
build.

Using ALLOW_MISSING_DEPENDENCIES=true when building allows
things to function properly, but is not ideal.

So basically, while I'm not including the libdrm_intel package
into the build, just the fact that the Android.mk file references
libpciaccess which isn't a repo included in AOSP causes the build
failure.

So it seems we need some sort of conditional filter in the
Android.mk to skip over it if we're not building for intel.

Cc: Chad Versace <chad.versace@linux.intel.com>
Cc: Marissa Wall <marissaw@google.com>
Cc: Sean Paul <seanpaul@google.com>
Cc: Dan Willemsen <dwillemsen@google.com>
Cc: Tomasz Figa <tfiga@google.com>
Cc: Robert Foss <robert.foss@collabora.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Rob Herring <robh@kernel.org>
3 years agotests/exynos: remove dead condition
Seung-Woo Kim [Wed, 14 Mar 2018 05:48:37 +0000 (14:48 +0900)]
tests/exynos: remove dead condition

There is already condition checking input values between 2 and 4096
so condition checking 0 is always false. Remove the dead condition.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
3 years agomeson: detect alloca.h
Eric Engestrom [Tue, 13 Mar 2018 14:31:29 +0000 (14:31 +0000)]
meson: detect alloca.h

amdgpu makes use of it

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
3 years agomeson: make it easy to add headers to check
Eric Engestrom [Mon, 12 Mar 2018 16:17:55 +0000 (16:17 +0000)]
meson: make it easy to add headers to check

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
3 years agomeson: don't use compiler.has_header
Dylan Baker [Mon, 12 Mar 2018 17:10:51 +0000 (10:10 -0700)]
meson: don't use compiler.has_header

Meson's compiler.has_header is completely useless, it only checks that a
header exists, not whether it's usable. This creates problems if a
header contains a conditional #error declaration, like so:

> #if __x86_64__
> # error "Doesn't work with x86_64!"
> #endif

Compiler.has_header will return true in this case, even when compiling
for x86_64. This is useless.

Instead, we'll do a compile check so that any #error declarations will
be treated as errors, and compilation will work.

Fixes compilation on x32 architecture.

Gentoo Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=649746
meson bug: https://github.com/mesonbuild/meson/issues/2246
CC: Matt Turner <mattst88@gmail.com>
Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
3 years agomeson: use pkg-config to detect libatomic_ops
Eric Engestrom [Wed, 7 Feb 2018 14:20:52 +0000 (14:20 +0000)]
meson: use pkg-config to detect libatomic_ops

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
3 years agodrm/amdgpu: Remove IB count checking
Sabre Shao [Fri, 8 Sep 2017 09:43:51 +0000 (17:43 +0800)]
drm/amdgpu: Remove IB count checking

Signed-off-by: Sabre Shao <Sabre.Shao@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
3 years agoRevert "amdgpu:support 16 ibs per submit for PAL/SRIOV"
Marek Olšák [Fri, 9 Mar 2018 01:04:01 +0000 (20:04 -0500)]
Revert "amdgpu:support 16 ibs per submit for PAL/SRIOV"

This reverts commit 924f856a9047b87e8bfdc2867f7fe484e3f71343.

Wrong patch.

3 years agoamdgpu:support 16 ibs per submit for PAL/SRIOV
Qiang Yu [Tue, 7 Mar 2017 07:00:34 +0000 (15:00 +0800)]
amdgpu:support 16 ibs per submit for PAL/SRIOV

to support SRIOV and MCBP, need 16 IBs per submit

Signed-off-by: Qiang Yu <Qiang.Yu@amd.com>
Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
3 years agofreedreno: add missing symbols to symbol-check
Eric Engestrom [Tue, 6 Mar 2018 15:37:55 +0000 (15:37 +0000)]
freedreno: add missing symbols to symbol-check

Fixes: 1384c081233751569473 "freedreno: add interface to get buffer address"
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
3 years agodrm/atomic: Refuse to add invalid objects to requests
Daniel Stone [Wed, 7 Mar 2018 12:41:12 +0000 (12:41 +0000)]
drm/atomic: Refuse to add invalid objects to requests

Object and property IDs cannot be zero. Prevent them from being added to
the request stream at all, rather than breaking at commit time.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
3 years agointel/intel_chipset.h: Sync Cannonlake IDs.
Rodrigo Vivi [Thu, 8 Feb 2018 06:46:43 +0000 (22:46 -0800)]
intel/intel_chipset.h: Sync Cannonlake IDs.

Let's sync CNL ids with Spec and kernel.

Sync with kernel commit '3f43031b1693 ("drm/i915/cnl:
Add Cannonlake PCI IDs for another SKU.")' and
commit 'e3890d05b342 ("drm/i915/cnl: Sync PCI ID with Spec.")'

Cc: James Ausmus <james.ausmus@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
3 years agobump version for release
Rob Clark [Mon, 5 Mar 2018 20:55:51 +0000 (15:55 -0500)]
bump version for release

Signed-off-by: Rob Clark <robclark@freedesktop.org>
3 years agomeson: add configuration summary
Eric Engestrom [Mon, 26 Feb 2018 15:42:18 +0000 (15:42 +0000)]
meson: add configuration summary

The message block printed is the same as the one in configure.ac

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
3 years agotests/amdgpu: Fix misspellings of "suite"
Michel Dänzer [Thu, 1 Mar 2018 10:15:42 +0000 (11:15 +0100)]
tests/amdgpu: Fix misspellings of "suite"

Acked-by: Christian König <christian.koenig@amd.com>
3 years agotest/amdgpu: disable bo eviction test by default
Chunming Zhou [Thu, 1 Mar 2018 10:04:07 +0000 (18:04 +0800)]
test/amdgpu: disable bo eviction test by default

if some system has no swap space and memory is less, than the test
could fail.
And bo eviction test takes much more time in some system, which effects
automation test result and efficiency.
So disable it by default now, only be used by developer manually.

Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
3 years agoamdgpu: fix "add AMDGPU_VA_RANGE_HIGH"
Christian König [Wed, 28 Feb 2018 14:39:46 +0000 (15:39 +0100)]
amdgpu: fix "add AMDGPU_VA_RANGE_HIGH"

The range is stored as exclusive, not inclusive. Subtracts one to get
the inclusive interval for the calculation. This fixes crashes when 32bit
addresses are in use.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com>
3 years agoamdgpu: add AMDGPU_VA_RANGE_HIGH
Christian König [Mon, 26 Feb 2018 13:11:52 +0000 (14:11 +0100)]
amdgpu: add AMDGPU_VA_RANGE_HIGH

Return high addresses if requested and available.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
3 years agoamdgpu: mostly revert "use the high VA range if possible v2"
Christian König [Mon, 26 Feb 2018 11:30:36 +0000 (12:30 +0100)]
amdgpu: mostly revert "use the high VA range if possible v2"

This reverts commit 07ea20d5beb24315b721adf83bbfa72ce016e146.

Unfortunately it turned out that this change broke some corner cases in
Mesa.

Revert it for now, but keep the high range in separate VA managers.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
3 years agofreedreno: add interface to get buffer address
Rob Clark [Sun, 25 Feb 2018 19:56:18 +0000 (14:56 -0500)]
freedreno: add interface to get buffer address

Needed for clover/OpenCL.  Fortunately the kernel interface is already
in place.

Include a stub _put_iova() so mesa can tell us when it no longer needs
the buffer to be pinned.  There is no kernel interface for this (yet),
but at least if we want to unpin buffers we won't need mesa changes.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
3 years ago*-symbol-check: Don't hard-code nm executable
Heiko Becker [Mon, 19 Feb 2018 15:13:15 +0000 (15:13 +0000)]
*-symbol-check: Don't hard-code nm executable

Helpful if your nm executable has a prefix based on the
architecture, for example.

Signed-off-by: Heiko Becker <heirecka@exherbo.org>
Cc: Timo Gurr <timo.gurr@gmail.com>
[Eric: v2: rebase and add Meson support]
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
3 years agoandroid: fix gralloc_handle_create() problems
Rob Herring [Wed, 14 Feb 2018 23:03:56 +0000 (17:03 -0600)]
android: fix gralloc_handle_create() problems

There's a number of problems with gralloc_handle_create starting with it
doesn't even compile. More importantly, it doesn't really create (i.e.
allocate) a handle. It allocates a native_handle_t, copies it to a
struct gralloc_handle_t on the stack and returns the struct (not a ptr).
So the caller still has to allocate a struct gralloc_handle_t to hold
the returned struct.

Rework gralloc_handle_create() to allocate a new handle and return the
pointer to the allocated handle. Callers should free the handle with
native_handle_close() and native_handle_delete(). In the interest of
making gralloc_handle_t opaque, return a native_handle_t ptr instead.

Reviewed-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Rob Herring <robh@kernel.org>
3 years agoandroid: add helper to convert buffer_handle_t to gralloc_handle_t ptr
Rob Herring [Wed, 14 Feb 2018 23:05:42 +0000 (17:05 -0600)]
android: add helper to convert buffer_handle_t to gralloc_handle_t ptr

Clients frequently need to convert a buffer_handle_t (aka
native_handle_t *) to a gralloc_handle_t ptr. This is a simple cast, but
add an inline function to do the conversion.

Reviewed-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Rob Herring <robh@kernel.org>
3 years agoandroid: fix mis-named alloc_handle_t
Rob Herring [Wed, 14 Feb 2018 23:06:46 +0000 (17:06 -0600)]
android: fix mis-named alloc_handle_t

Fix a typo where alloc_handle_t should be gralloc_handle_t. One still
remains in gralloc_handle_create, but a subsequent commit will fix that
along with other problems in gralloc_handle_create.

Reviewed-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Rob Herring <robh@kernel.org>
3 years agoandroid: revert making handle magic and version members const
Rob Herring [Wed, 14 Feb 2018 23:10:25 +0000 (17:10 -0600)]
android: revert making handle magic and version members const

Const members are problematic for dynamically allocating struct
gralloc_handle_t, so just drop the const modifier.

Reviewed-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Rob Herring <robh@kernel.org>
3 years agomeson/configure.ac: pthread-stubs not present on OpenBSD
Jonathan Gray [Tue, 20 Feb 2018 06:09:14 +0000 (17:09 +1100)]
meson/configure.ac: pthread-stubs not present on OpenBSD

pthread-stubs is no longer required on OpenBSD and has been removed.
libpthread parts involved moved to libc.

Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
[Eric: add meson equivalent]
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
3 years agomeson: do not use cairo/valgrind if disabled
Igor Gnatenko [Mon, 19 Feb 2018 12:55:27 +0000 (13:55 +0100)]
meson: do not use cairo/valgrind if disabled

-Dcairo-tests=false currently results into enabling cairo support if it
was found. Same for valgrind.

v2:
* Use underscore-prefixed variables to not change type of variable
* Use empty array for "fake" dependency instead of real empty object

v3:
* Fix typo

Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
3 years agoamdgpu: Fix mistake in initial hole size calculation.
Andrey Grodzovsky [Mon, 19 Feb 2018 07:18:36 +0000 (02:18 -0500)]
amdgpu: Fix mistake in initial hole size calculation.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
3 years agodrm/tegra: Sanitize format modifiers
Thierry Reding [Tue, 14 Nov 2017 17:50:30 +0000 (18:50 +0100)]
drm/tegra: Sanitize format modifiers

The existing format modifier definitions were merged prematurely, and
recent work has unveiled that the definitions are suboptimal in several
ways:

  - The format specifiers, except for one, are not Tegra specific, but
    the names don't reflect that.
  - The number space is split into two, reserving 32 bits for some
    "parameter" which most of the modifiers are not going to have.
  - Symbolic names for the modifiers are not using the standard
    DRM_FORMAT_MOD_* prefix, which makes them awkward to use.
  - The vendor prefix NV is somewhat ambiguous.

Fortunately, nobody's started using these modifiers, so we can still fix
the above issues. Do so by using the standard prefix. Also, remove TEGRA
from the name of those modifiers that exist on NVIDIA GPUs as well. In
case of the block linear modifiers, make the "parameter" smaller (4
bits, though only 6 values are valid) and don't let that leak into any
of the other modifiers.

Finally, also use the more canonical NVIDIA instead of the ambiguous NV
prefix.

This is based on commit 5843f4e02fbe86a59981e35adc6cabebee46fdc0 from
Linux v4.16-rc1 and also updates modetest to use the new defines.

Acked-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
3 years agodrm/fourcc: Fix fourcc_mod_code() definition
Thierry Reding [Tue, 14 Nov 2017 17:51:26 +0000 (18:51 +0100)]
drm/fourcc: Fix fourcc_mod_code() definition

Avoid compiler warnings when the val parameter is an expression.

This is based on commit 5843f4e02fbe86a59981e35adc6cabebee46fdc0 from
Linux v4.16-rc1.

Acked-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
3 years agoRELEASING: mention meson
Marek Olšák [Sat, 17 Feb 2018 19:25:02 +0000 (20:25 +0100)]
RELEASING: mention meson

3 years agomeson: bump the version number
Marek Olšák [Sat, 17 Feb 2018 19:20:33 +0000 (20:20 +0100)]
meson: bump the version number

3 years agoconfigure.ac: bump version to 2.4.90
Marek Olšák [Sat, 17 Feb 2018 03:28:42 +0000 (04:28 +0100)]
configure.ac: bump version to 2.4.90

3 years agoandroid: Change gralloc_handle_t members to be fixed width
Robert Foss [Tue, 16 Jan 2018 17:07:15 +0000 (18:07 +0100)]
android: Change gralloc_handle_t members to be fixed width

In order to lessen future alignment issues, lets switch to
fixed width integers where possible.

This excludes the data_owner since it is a pid_t which
in theory could be larger than 32 bits.

Signed-off-by: Robert Foss <robert.foss@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
3 years agoandroid: Remove member name from gralloc_handle_t
Robert Foss [Tue, 16 Jan 2018 13:38:41 +0000 (14:38 +0100)]
android: Remove member name from gralloc_handle_t

The name member of gralloc_handle_t is no longer needed and has been removed.
The version field has also been bumped.

Signed-off-by: Robert Foss <robert.foss@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
3 years agoandroid: Mark gralloc_handle_t magic variable as const
Robert Foss [Tue, 16 Jan 2018 14:19:15 +0000 (15:19 +0100)]
android: Mark gralloc_handle_t magic variable as const

Mark magic member of gralloc_handle_t as const.

Signed-off-by: Robert Foss <robert.foss@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
3 years agoandroid: Add version variable to gralloc_handle_t
Robert Foss [Tue, 16 Jan 2018 13:36:13 +0000 (14:36 +0100)]
android: Add version variable to gralloc_handle_t

The version variable will be used for versioning of this
struct and the corresponding accessor functions.

Signed-off-by: Robert Foss <robert.foss@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
3 years agoandroid: Move gralloc handle struct to libdrm
Robert Foss [Wed, 6 Dec 2017 18:28:13 +0000 (19:28 +0100)]
android: Move gralloc handle struct to libdrm

This struct is used in mesa and drm_hwcomposer.
Versions of if have been implemented in several grallocs:
drm_gralloc, gbm_gralloc, minigbm and intel-minigbm.

Other than the 1:1 move of the struct a new generic name
has been chosen and variables have had comments added to them.

Signed-off-by: Robert Foss <robert.foss@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
3 years agoamdgpu: Add amdgpu_query_sw_info to amdgpu-symbol-check
Michel Dänzer [Mon, 12 Feb 2018 14:47:55 +0000 (15:47 +0100)]
amdgpu: Add amdgpu_query_sw_info to amdgpu-symbol-check

Fixes make check. Trivial.

3 years agoamdgpu: add amdgpu_query_sw_info for querying high bits of 32-bit address space
Marek Olšák [Fri, 2 Feb 2018 17:15:00 +0000 (18:15 +0100)]
amdgpu: add amdgpu_query_sw_info for querying high bits of 32-bit address space

Reviewed-by: Christian König <christian.koenig@amd.com>
3 years agomeson: include headers in root directory in ext_libdrm
Dylan Baker [Wed, 7 Feb 2018 23:35:24 +0000 (15:35 -0800)]
meson: include headers in root directory in ext_libdrm

Which is used in wraps.

Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
3 years agoamdgpu: clean up non list code path for vamgr v2
Chunming Zhou [Thu, 8 Feb 2018 06:52:11 +0000 (14:52 +0800)]
amdgpu: clean up non list code path for vamgr v2

v2: Add missing "goto out"

Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
3 years agoRevert "amdgpu: clean up non list code path for vamgr"
Michel Dänzer [Thu, 8 Feb 2018 08:50:53 +0000 (09:50 +0100)]
Revert "amdgpu: clean up non list code path for vamgr"

This reverts commit 41b94a3fb6e87d057fad78568d920d29489e5060.

It caused crashes with radeonsi in at least glxgears and Xorg.

3 years agotests/amdgpu: add bo eviction test
Chunming Zhou [Thu, 8 Feb 2018 07:03:01 +0000 (15:03 +0800)]
tests/amdgpu: add bo eviction test

for(( i=1; i < 100; i++))
do
     echo "Hello, Welcome $i times "
     sudo ./amdgpu_test -s 1 -t 5
done

with above stricpt, run in two terminals, will reproduce Felix's swap leeking issue.

Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
3 years agoamdgpu: clean up non list code path for vamgr
Chunming Zhou [Thu, 8 Feb 2018 06:52:11 +0000 (14:52 +0800)]
amdgpu: clean up non list code path for vamgr

Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
3 years agoamdgpu: fix inefficient vamgr algorithm
Chunming Zhou [Thu, 8 Feb 2018 06:35:26 +0000 (14:35 +0800)]
amdgpu: fix inefficient vamgr algorithm

issue: UMD allocates top 4GB, but don't do anything, just reserve top 4GB space,
but the performance of VP13 drops from 162fps to 99fps.

root cause:
our va hole list of vamgr is too long by time going.

fix:
reusing old hole as much as possible can make the list shortest.

result:
performance recovers as non-list path, next patch will remove non-list code path.

Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
3 years agofix return value for syncobj wait
Chunming Zhou [Wed, 7 Feb 2018 03:22:32 +0000 (11:22 +0800)]
fix return value for syncobj wait

otherwise -ETIME is missed.

Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>