summaryrefslogtreecommitdiff
path: root/xf86drm.c
AgeCommit message (Collapse)Author
2015-07-16xf86drm: fix incorrect fd comparison in drmOpenOnce{,WithType}Emil Velikov
Spotted by looking for similar "let's assume fd == 0 is invalid" bugs. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Thierry Reding <treding@nvidia.com>
2015-06-29Revert "Add device enumeration interface (v4)"Emil Velikov
This reverts commit fde4969176822fe54197b6baa78f8b0ef900baba. The commit adds an API that does not seem flexible enough to be used in current open-source projects. Additionally it adds a hidden dependency of libudev, which when used in mesa caused grief when combined with Steam('s runtime). Let's revert this for now and add a tweaked API later on that can be used in mesa/xserver. Cc: Frank Min <frank.min@amd.com> Cc: Christian König <christian.koenig@amd.com> Cc: Alex Deucher <alexander.deucher@amd.com> Cc: Jammy Zhou <Jammy.Zhou@amd.com>
2015-05-28drmPrime*: initialize output args to 0Guillaume Desmottes
Fix Valgrind errors because those memory was uninitialized. https://bugs.freedesktop.org/show_bug.cgi?id=90194 Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> v2: Explicitly zero the whole struct using memclear. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-05-28Fix one warning (v2)Jammy Zhou
xf86drm.c:356:2: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits] group = (serv_group >= 0) ? serv_group : DRM_DEV_GID; ^ v2: do 'int' cast to fix the warning Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-05-28xf86drm: simplify drmMalloc/drmFreeEmil Velikov
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-26Add device enumeration interface (v4)frank
Add an interface for enumerating PCI devices on a system. v3: switch to udev/sysfs for the enumeration v4: fix warnings Signed-off-by: Frank Min <frank.min@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
2015-04-28drm: rename libdrm{,_macros}.hEmil Velikov
Provide a more meaningful name, considering what it does. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-05xf86drm: Fix ioctl struct clearing in drmAgpEnableConnor Behan
This one is a bit harder to notice. Signed-off-by: Connor Behan <connor.behan@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-03-20Remove drmSetDebugMsgFunction and related infrastructureJan Vesely
Not used anywhere Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-03-20Fix unused function warningsJan Vesely
v2: Remove the handler function instead of commenting out split debugmsg function removal to a separate patch Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-03-14Fix unused, and unused-but-set variables warningsJan Vesely
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Emil Velikov <eil.l.velikov@gmail.com>
2015-03-14On Solaris, #include <sys/mkdev.h> in xf86drm.cAlan Coopersmith
Needed on Solaris for the definitions of major() & minor() used in drmGetNodeTypeFromFd() and makedev() used in drmOpenMinor() Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-03-10drm: add drmGet(Primary|Render)DeviceNameFromFd functionsEmil Velikov
Currently most places assume reliable primary(master) <> render node mapping. Although this may work in some cases, it is not correct. Add a couple of helpers that hide the details and provide the name of the master or render device name, given an fd. The latter may belong to either the master, control or render node device. v2: - Rename Device and Primary to Master (aka the /dev/dri/cardX device). - Check for the file via readdir_r() rather than stat(). - Wrap the check into a single function. - Return NULL for non-linux platforms. v3: - Don't segfault if name is NULL. - Update function names, as suggested by Frank Binns. v4: - Update commit message to reflect the function name changes. Cc: Frank Binns <frank.binns@imgtec.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: David Herrmann <dh.herrmann@googlemail.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Frank Binns <frank.binns@imgtec.com>
2015-02-23Add new drmGetNodeTypeFromFd functionFrank Binns
Add a helper function that returns the type of device node from an fd. Signed-off-by: Frank Binns <frank.binns@imgtec.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-02-12Add new drmOpenOnceWithType function (v2)Jammy Zhou
v2: call drmOpenOnceWithType in drmOpenOnce, and drop unused param for drmOpenOnceWithType Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
2015-02-12Add new drmOpenWithType function (v4)Jammy Zhou
v2: Add drmGetMinorBase, and call drmOpenWithType in drmOpen v3: Pass 'type' to drmOpenByBusid and drmOpenDevice in drmOpenByName v4: Renumber node type definitions, and return -1 for unsupported type Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v3) Reviewed-by: Frank Binns <frank.binns@imgtec.com>
2015-02-11xf86drm: Fix ioctl struct clearing in drmGetVersionDaniel Vetter
Oops, fumbled that one. Reported-by: Jan Vesely <jan.vesely@rutgers.edu> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-02-11xf86drm: Unconditionally clear ioctl structsDaniel Vetter
We really have to do this to avoid surprises when extending the ABI later on. Especially when growing the structures. A bit overkill to update all the old legacy ioctl wrappers, but can't hurt really either. Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-02-11drm: use drmIoctl everywhereDaniel Vetter
Well just core drm. All the other callers in there that still use direct calls to ioctl have some custom retry logic already, so should be good already. All the other offenders (tests, freedreno/kgsl, ...) don't really matter (e.g. kgsl is the blob library and so not a drm thing) or are again special exceptions with their own retry loops. Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2015-02-10Fix gcc -Wextra warningsJan Vesely
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> Reviewed-by: Ian Romanick <idr@freedesktop.org> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-01-23Add new drmOpenRender functionFrank Binns
Add a new function, drmOpenRender, that can be used to open render nodes. This can be used in the same way that drmOpenControl is used to open control nodes. Signed-off-by: Frank Binns <frank.binns@imgtec.com> Reviewed-by: Rob Clark <robdclark@gmail.com>
2015-01-23Rename DRM_NODE_RENDER to DRM_NODE_PRIMARYFrank Binns
Now that there are render nodes it doesn't seem appropriate for the type of the card nodes to be DRM_NODE_RENDER. For this reason, rename this type to DRM_NODE_PRIMARY as this name better represents the purpose of these nodes. Signed-off-by: Frank Binns <frank.binns@imgtec.com> Reviewed-by: Rob Clark <robdclark@gmail.com>
2014-09-28drm: use drm_mmap/drm_munmap wrappersEmil Velikov
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-05-13drmOpenByName: remove redundant drmAvailable checkDaniel Kurtz
drmOpenByName() is a static function that is only called by drmOpen(). drmOpen() already checks drmAvailable(), so the check in drmOpenByName() is redundant. Signed-off-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-04-17libdrm: Remove extraneous parameterThierry Reding
The debug message's format string doesn't contain any conversion specifiers, therefore making the fd argument unused. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-04-17Mark functions printf-like where possibleThierry Reding
These functions all take a format string and either a list of variable arguments or a va_list. Use the new DRM_PRINTFLIKE macro to tell the compiler about it so that the arguments can be checked against the format string. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Thierry Reding <treding@nvidia.com>
2013-09-30drm: Introduce a drmSetClientCap() wrapperDamien Lespiau
That wraps around the new DRM_SET_CLIENT_CAP ioctl. v2: SET_CAP -> SET_CLIENT_CAP renaming Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2013-03-28drm: Fix error message in drmWaitVBlankDaniel Kurtz
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>
2012-07-16libdrm: add prime fd->handle and handle->fd interfacesDave Airlie
These are just basic ioctl wrappers around the prime ioctls, along with the capability reporting. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-11-01Fix compilation with -Werror=int-to-pointer-cast -Werror=pointer-to-int-castJeremy Huddleston
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-03-04libdrm: oops fix get cap return value.Dave Airlie
2011-03-04Implement drmGetCap() to query device/driver capabilitiesBen Skeggs
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2010-12-07drm: don't do the create the node ourselves if we have udev.Dave Airlie
this can remove nodes it shouldn't, let udev run the show. this is needed for reliably GPU switch. Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-27s/drmStrdup/strdup/Adam Jackson
_DRM_MALLOC hasn't been a relevant concern since we split libdrm out from xserver. Signed-off-by: Adam Jackson <ajax@redhat.com>
2010-08-06libdrm: Fix PCI domain domain supportBenjamin Herrenschmidt
This works in conjunction with newer kernels. If we succeed in requesting interface 1.4, the we know the kernel provides proper domain numbers. If not, ignore the domain number as it's bogus (except on Alpha). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Adam Jackson <ajax@redhat.com>
2009-12-15Be less chatty in drmSetMaster/drmDropMasterKristian Høgsberg
2009-11-25Correctly set DRM_MAX_MINOR for all platforms.Robert Noland
DRM_MAJOR is platform specific, but not used outside of xf86drm.c that I can find.
2009-11-23Add drmGetDeviceNameFromFd functionKristian Høgsberg
Determines the /dev filename of the drm fd argument.
2009-11-17Move libdrm/ up one levelKristian Høgsberg