4291eea18fd81ca084935fb09a0e97a6661f4f85 |
|
24-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: add support for newer kernel interfaces v2. - leave client-provided pointer unmodified on sclass_get() failure Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
4c92a9d70725ec393899979bbfc21a37684e88d9 |
|
24-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: add new interface to create a nouveau_device Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
4a68c5638e1b0dd62860f1211dbcd751005beb79 |
|
27-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: remove nouveau_object_find() No more internal users, and there's never been external users. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
4283e3f656541c4533c89b2cdc501aa6dc7da3dc |
|
24-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: make use of nouveau_drm::fd instead of nouveau_device::fd The latter is deprecated, and will not be valid for newer clients. v2. - split out nouveau_object_find removal Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
cdf9029f5f2d3d7c7b77eda2a5d3ef3b44a82cdf |
|
24-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: stack legacy nouveau_device on top of nouveau_drm Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
b845d61de93c762f73463a67a634ecb1ae8c4c35 |
|
24-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: introduce object to represent the kernel client Because NVIF intentionally lacks some of the paths necessary to be compatible with various mistakes we've made over the years, libdrm needs to know whether a client has been updated and that it's safe to make use of the new kernel interfaces. Clients still using nouveau_device_open()/wrap() will be forced to make use of ABI16 instead of NVIF. v2. - remove lib_version, nothing used it - leave client-provided pointer unmodified on failure Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
f6b1b5b7c9cf6667d169bad3b33a73e4fe2bc14c |
|
24-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: add interfaces to query information about supported classes This will expose functionality supported by newer kernel interfaces. Current userspace uses the chipset to determine which classes are likely exposed, which generally works pretty well, but isn't as flexible as it could be. Unfortunately, the G98:GF100 video code in Mesa is still relying on the kernel exposing incorrect vdec classes on some chipsets. The ABI16 kernel interfaces have a workaround for this in place, but that will no longer be available once libdrm supports NVIF. To prevent a regression when NVIF support is added, if there's no kernel support for NVIF, libdrm will magic up a class list containing correct vdec classes anyway instead of failing with -ENODEV. v2. - add description of abi16/vdec workaround - add description of sclass/mclass - leave client-provided pointer unmodified on abi16_sclass() failure Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
c00e1a92a24cb84008d90ce67218bb593396fde5 |
|
24-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: add interface to call an object's methods This will expose functionality supported by newer kernel interfaces, giving access to things such as ZBC controls, perfmon, etc. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
343d1ee83e8bf833b575cc1df097d5202e11b8e8 |
|
24-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: make it possible to init object in pre-allocated memory Required for an upcoming patch, not exposed to library clients. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
0996ad0e12a25841f350b8c5cacccff3d0aa24d2 |
|
24-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: move object functions up, to avoid future foward decls Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
4a3cbf5c0a38adf41d637c5d7273480336df39d0 |
|
24-Nov-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: move more abi16-specific logic into abi16.c v2. - add a comment about the (ab)use of nouveau_object::length - add a comment about abi16_object() return values v3. - handle new client + old kernel for sw classes Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Tested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
a9e5880b3e93f2fc981c910d16a9eab2ca81c7a0 |
|
15-Aug-2015 |
Emil Velikov <emil.l.velikov@gmail.com> |
nouveau: use designated initializers Cc: nouveau@lists.freedesktop.org Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
812e8fe6ce46d733c30207ee26c788c61f546294 |
|
06-May-2015 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: restore check that avoids multiple user bos per kernel bo Lost in 5ea6f1c32628887c9df0c53bc8c199eb12633fec, triggering fdo#89842. Unlike the PRIME fd->handle interfaces, the GEM_OPEN interface doesn't do anything at the kernel level to prevent this situation occuring, and we end up with multiple GEM handles for a single kernel buffer. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
/external/libdrm/nouveau/nouveau.c
|
0c8db0a563857239cfe2b38df1590c571db5a1f1 |
|
16-Apr-2015 |
Greg Hackmann <ghackmann@google.com> |
Add missing <strings.h> includes A couple of files use ffs() without explicitly including strings.h. Some systems will pull in ffs()'s declaration through another header anyway, but not when compiling against bionic in AOSP master. Signed-off-by: Greg Hackmann <ghackmann@google.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
0f8da82500ec542e269092c0718479e25eaff5f6 |
|
31-Mar-2015 |
Emil Velikov <emil.l.velikov@gmail.com> |
drm: remove drm_public macro Some compilers (like the Oracle Studio), require that the function declaration must be annotated with the same visibility attribute as the definition. As annotating functions with drm_public is no longer required just remove the macro. Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Damien Lespiau <damien.lespiau@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com> Cc: Michel Dänzer <michel.daenzer@amd.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Thierry Reding <treding@nvidia.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
42465feb9759ef5a6d79d7e628510cd0a081f913 |
|
05-Apr-2015 |
Emil Velikov <emil.l.velikov@gmail.com> |
drm: rename libdrm{,_macros}.h Provide a more meaningful name, considering what it does. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
76e9799b8a465bc3545823ed283a6c3a049c7524 |
|
23-Mar-2015 |
Emil Velikov <emil.l.velikov@gmail.com> |
nouveau: annotate the private symbols They are less and easier to track than the public ones. The macro drm_public will be going away by the end of the series. Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com> Cc: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
ba5a0b6274ad9c493ed3ddaf4e13559b9ff55ac1 |
|
26-Feb-2015 |
Maarten Lankhorst <maarten.lankhorst@ubuntu.com> |
nouveau: Do not add most bo's to the global bo list. Only add wrapped bo's and bo's that have been exported through flink or dma-buf. This avoids a lock in the common case, and decreases traversal needed for importing a dma-buf or flink. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Tested-By: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
5ea6f1c32628887c9df0c53bc8c199eb12633fec |
|
26-Feb-2015 |
Maarten Lankhorst <maarten.lankhorst@ubuntu.com> |
nouveau: make nouveau importing global buffers completely thread-safe, with tests While I've closed off most races in a previous patch, a small race still existed where importing then unreffing cound cause an invalid bo. Add a test for this case. Racing sequence fixed: - thread 1 releases bo, refcount drops to zero, blocks on acquiring nvdev->lock. - thread 2 increases refcount to 1. - thread 2 decreases refcount to zero, blocks on acquiring nvdev->lock. At this point the 2 threads will clean up the same bo. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Reviewed-By: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
7cb1d6e2d6c63e3bc4b275ff073152b550ba5b0f |
|
16-Feb-2015 |
Jerome Glisse <jglisse@redhat.com> |
nouveau: fix unlock nouveau_bo_name_ref() Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
/external/libdrm/nouveau/nouveau.c
|
c98c54f8434e2d38353bbf65b538bfcbf709409b |
|
07-Sep-2014 |
Emil Velikov <emil.l.velikov@gmail.com> |
nouveau: use drm_mmap/drm_munmap wrappers Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
/external/libdrm/nouveau/nouveau.c
|
56c4857f1763b40e566839bdc6fa14f873baf9b8 |
|
31-Jul-2014 |
Maarten Lankhorst <maarten.lankhorst@canonical.com> |
nouveau: Only export public functions. This hides all the abi16_* functions and the nouveau_debug variable, they should have been private to begin with. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/libdrm/nouveau/nouveau.c
|
7974b539d2b46167972b9109046a45dbe852ae4c |
|
16-Apr-2014 |
Maarten Lankhorst <maarten.lankhorst@canonical.com> |
amend previous commit to actually compile Ugh!
/external/libdrm/nouveau/nouveau.c
|
b1d4def05992bf061d6e0cc901ca00b7995e8d75 |
|
13-Mar-2014 |
Maarten Lankhorst <maarten.lankhorst@ubuntu.com> |
nouveau: safen up nouveau_device list usage against concurrent access I cannot make nouveau_bo_wrap thread-safe (by design), but it seems to be used to convert drm fb's to nouveau_bo's and to get a notify handle from fifo->notify in nv30_screen.c Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
/external/libdrm/nouveau/nouveau.c
|
f92d7969bf6ba636d193423cf2388956badde3ff |
|
03-Mar-2013 |
Marcin Slusarz <marcin.slusarz@gmail.com> |
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>
/external/libdrm/nouveau/nouveau.c
|
c41b494c47f8e514e69cb8c2f2ace41d5fa17c94 |
|
22-Nov-2012 |
Ben Skeggs <bskeggs@redhat.com> |
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>
/external/libdrm/nouveau/nouveau.c
|
13c06cde4e9a4ce275c6cbf477d211344f468dbf |
|
16-Jul-2012 |
Dave Airlie <airlied@redhat.com> |
libdrm/nouveau: add prime handle->bo and bo->handle support. This adds prime support to nouveau libdrm. Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/libdrm/nouveau/nouveau.c
|
5288729823ee1c243023758c35fbe8e3a70ccf9c |
|
01-May-2012 |
Marcin Slusarz <marcin.slusarz@gmail.com> |
nouveau: fix channel closing Restore code lost in libdrm_nouveau rewrite. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
/external/libdrm/nouveau/nouveau.c
|
d954648b4872e6b40ec8768a14eee818bc7613a8 |
|
23-Apr-2012 |
Marcin Slusarz <marcin.slusarz@gmail.com> |
nouveau: remove unnecessary EAGAIN loops drmCommandWrite / drmCommandWriteRead already loop on EAGAIN. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
/external/libdrm/nouveau/nouveau.c
|
292da616fe1f936ca78a3fa8e1b1b19883e343b6 |
|
09-Dec-2011 |
Ben Skeggs <bskeggs@redhat.com> |
nouveau: pull in major libdrm rewrite Redesigned primarily to allow us to better take advantage of BO's having fixed GPU virtual addresses on GeForce 8 and up, and to reduce the overhead of handling relocations on earlier chipsets. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Christoph Bumiller <e0425955@student.tuwien.ac.at>
/external/libdrm/nouveau/nouveau.c
|