Clean-ups and reformatting.
Use 4-space indentation consistently. Replace occurances of: if (cond) code; with: if (cond) code; to facilitate putting breakpoints on code.main
parent
056c2f249a
commit
ccd7b6e8dd
306
libdrm/xf86drm.c
306
libdrm/xf86drm.c
|
@ -144,13 +144,15 @@ void *drmGetHashTable(void)
|
|||
void *drmMalloc(int size)
|
||||
{
|
||||
void *pt;
|
||||
if ((pt = malloc(size))) memset(pt, 0, size);
|
||||
if ((pt = malloc(size)))
|
||||
memset(pt, 0, size);
|
||||
return pt;
|
||||
}
|
||||
|
||||
void drmFree(void *pt)
|
||||
{
|
||||
if (pt) free(pt);
|
||||
if (pt)
|
||||
free(pt);
|
||||
}
|
||||
|
||||
/* drmStrdup can't use strdup(3), since it doesn't call _DRM_MALLOC... */
|
||||
|
@ -186,7 +188,8 @@ drmHashEntry *drmGetEntry(int fd)
|
|||
void *value;
|
||||
drmHashEntry *entry;
|
||||
|
||||
if (!drmHashTable) drmHashTable = drmHashCreate();
|
||||
if (!drmHashTable)
|
||||
drmHashTable = drmHashCreate();
|
||||
|
||||
if (drmHashLookup(drmHashTable, key, &value)) {
|
||||
entry = drmMalloc(sizeof(*entry));
|
||||
|
@ -283,7 +286,8 @@ static int drmOpenDevice(long dev, int minor)
|
|||
}
|
||||
|
||||
if (stat(DRM_DIR_NAME, &st)) {
|
||||
if (!isroot) return DRM_ERR_NOT_ROOT;
|
||||
if (!isroot)
|
||||
return DRM_ERR_NOT_ROOT;
|
||||
mkdir(DRM_DIR_NAME, DRM_DEV_DIRMODE);
|
||||
chown(DRM_DIR_NAME, 0, 0); /* root:root */
|
||||
chmod(DRM_DIR_NAME, DRM_DEV_DIRMODE);
|
||||
|
@ -291,7 +295,8 @@ static int drmOpenDevice(long dev, int minor)
|
|||
|
||||
/* Check if the device node exists and create it if necessary. */
|
||||
if (stat(buf, &st)) {
|
||||
if (!isroot) return DRM_ERR_NOT_ROOT;
|
||||
if (!isroot)
|
||||
return DRM_ERR_NOT_ROOT;
|
||||
remove(buf);
|
||||
mknod(buf, S_IFCHR | devmode, dev);
|
||||
}
|
||||
|
@ -304,13 +309,15 @@ static int drmOpenDevice(long dev, int minor)
|
|||
fd = open(buf, O_RDWR, 0);
|
||||
drmMsg("drmOpenDevice: open result is %d, (%s)\n",
|
||||
fd, fd < 0 ? strerror(errno) : "OK");
|
||||
if (fd >= 0) return fd;
|
||||
if (fd >= 0)
|
||||
return fd;
|
||||
|
||||
/* Check if the device node is not what we expect it to be, and recreate it
|
||||
* and try again if so.
|
||||
*/
|
||||
if (st.st_rdev != dev) {
|
||||
if (!isroot) return DRM_ERR_NOT_ROOT;
|
||||
if (!isroot)
|
||||
return DRM_ERR_NOT_ROOT;
|
||||
remove(buf);
|
||||
mknod(buf, S_IFCHR | devmode, dev);
|
||||
if (drm_server_info) {
|
||||
|
@ -321,7 +328,8 @@ static int drmOpenDevice(long dev, int minor)
|
|||
fd = open(buf, O_RDWR, 0);
|
||||
drmMsg("drmOpenDevice: open result is %d, (%s)\n",
|
||||
fd, fd < 0 ? strerror(errno) : "OK");
|
||||
if (fd >= 0) return fd;
|
||||
if (fd >= 0)
|
||||
return fd;
|
||||
|
||||
drmMsg("drmOpenDevice: Open failed\n");
|
||||
remove(buf);
|
||||
|
@ -346,10 +354,12 @@ static int drmOpenMinor(int minor, int create)
|
|||
int fd;
|
||||
char buf[64];
|
||||
|
||||
if (create) return drmOpenDevice(makedev(DRM_MAJOR, minor), minor);
|
||||
if (create)
|
||||
return drmOpenDevice(makedev(DRM_MAJOR, minor), minor);
|
||||
|
||||
sprintf(buf, DRM_DEV_NAME, DRM_DIR_NAME, minor);
|
||||
if ((fd = open(buf, O_RDWR, 0)) >= 0) return fd;
|
||||
if ((fd = open(buf, O_RDWR, 0)) >= 0)
|
||||
return fd;
|
||||
return -errno;
|
||||
}
|
||||
|
||||
|
@ -373,7 +383,8 @@ int drmAvailable(void)
|
|||
if ((fd = drmOpenMinor(0, 1)) < 0) {
|
||||
#ifdef __linux__
|
||||
/* Try proc for backward Linux compatibility */
|
||||
if (!access("/proc/dri/0", R_OK)) return 1;
|
||||
if (!access("/proc/dri/0", R_OK))
|
||||
return 1;
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
@ -424,7 +435,8 @@ static int drmOpenByBusid(const char *busid)
|
|||
drmFreeBusid(buf);
|
||||
return fd;
|
||||
}
|
||||
if (buf) drmFreeBusid(buf);
|
||||
if (buf)
|
||||
drmFreeBusid(buf);
|
||||
close(fd);
|
||||
}
|
||||
}
|
||||
|
@ -454,13 +466,13 @@ static int drmOpenByName(const char *name)
|
|||
char * id;
|
||||
|
||||
if (!drmAvailable()) {
|
||||
if (!drm_server_info)
|
||||
if (!drm_server_info) {
|
||||
return -1;
|
||||
}
|
||||
else {
|
||||
/* try to load the kernel module now */
|
||||
if (!drm_server_info->load_module(name)) {
|
||||
drmMsg("[drm] failed to load kernel module \"%s\"\n",
|
||||
name);
|
||||
drmMsg("[drm] failed to load kernel module \"%s\"\n", name);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
@ -548,16 +560,13 @@ int drmOpen(const char *name, const char *busid)
|
|||
if (!drmAvailable() && name != NULL && drm_server_info) {
|
||||
/* try to load the kernel */
|
||||
if (!drm_server_info->load_module(name)) {
|
||||
drmMsg("[drm] failed to load kernel module \"%s\"\n",
|
||||
name);
|
||||
drmMsg("[drm] failed to load kernel module \"%s\"\n", name);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (busid) {
|
||||
int fd;
|
||||
|
||||
fd = drmOpenByBusid(busid);
|
||||
int fd = drmOpenByBusid(busid);
|
||||
if (fd >= 0)
|
||||
return fd;
|
||||
}
|
||||
|
@ -580,7 +589,8 @@ int drmOpen(const char *name, const char *busid)
|
|||
*/
|
||||
void drmFreeVersion(drmVersionPtr v)
|
||||
{
|
||||
if (!v) return;
|
||||
if (!v)
|
||||
return;
|
||||
drmFree(v->name);
|
||||
drmFree(v->date);
|
||||
drmFree(v->desc);
|
||||
|
@ -599,7 +609,8 @@ void drmFreeVersion(drmVersionPtr v)
|
|||
*/
|
||||
static void drmFreeKernelVersion(drm_version_t *v)
|
||||
{
|
||||
if (!v) return;
|
||||
if (!v)
|
||||
return;
|
||||
drmFree(v->name);
|
||||
drmFree(v->date);
|
||||
drmFree(v->desc);
|
||||
|
@ -756,9 +767,11 @@ char *drmGetBusid(int fd)
|
|||
u.unique_len = 0;
|
||||
u.unique = NULL;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_GET_UNIQUE, &u)) return NULL;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_UNIQUE, &u))
|
||||
return NULL;
|
||||
u.unique = drmMalloc(u.unique_len + 1);
|
||||
if (ioctl(fd, DRM_IOCTL_GET_UNIQUE, &u)) return NULL;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_UNIQUE, &u))
|
||||
return NULL;
|
||||
u.unique[u.unique_len] = '\0';
|
||||
|
||||
return u.unique;
|
||||
|
@ -795,7 +808,8 @@ int drmGetMagic(int fd, drm_magic_t * magic)
|
|||
drm_auth_t auth;
|
||||
|
||||
*magic = 0;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_MAGIC, &auth)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_MAGIC, &auth))
|
||||
return -errno;
|
||||
*magic = auth.magic;
|
||||
return 0;
|
||||
}
|
||||
|
@ -805,7 +819,8 @@ int drmAuthMagic(int fd, drm_magic_t magic)
|
|||
drm_auth_t auth;
|
||||
|
||||
auth.magic = magic;
|
||||
if (ioctl(fd, DRM_IOCTL_AUTH_MAGIC, &auth)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_AUTH_MAGIC, &auth))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -869,8 +884,10 @@ int drmAddMap(int fd, drm_handle_t offset, drmSize size, drmMapType type,
|
|||
map.handle = 0;
|
||||
map.type = type;
|
||||
map.flags = flags;
|
||||
if (ioctl(fd, DRM_IOCTL_ADD_MAP, &map)) return -errno;
|
||||
if (handle) *handle = (drm_handle_t)map.handle;
|
||||
if (ioctl(fd, DRM_IOCTL_ADD_MAP, &map))
|
||||
return -errno;
|
||||
if (handle)
|
||||
*handle = (drm_handle_t)map.handle;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -880,7 +897,8 @@ int drmRmMap(int fd, drm_handle_t handle)
|
|||
|
||||
map.handle = (void *)handle;
|
||||
|
||||
if(ioctl(fd, DRM_IOCTL_RM_MAP, &map)) return -errno;
|
||||
if(ioctl(fd, DRM_IOCTL_RM_MAP, &map))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -912,7 +930,8 @@ int drmAddBufs(int fd, int count, int size, drmBufDescFlags flags,
|
|||
request.flags = flags;
|
||||
request.agp_start = agp_offset;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_ADD_BUFS, &request)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_ADD_BUFS, &request))
|
||||
return -errno;
|
||||
return request.count;
|
||||
}
|
||||
|
||||
|
@ -924,9 +943,11 @@ int drmMarkBufs(int fd, double low, double high)
|
|||
info.count = 0;
|
||||
info.list = NULL;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_INFO_BUFS, &info)) return -EINVAL;
|
||||
if (ioctl(fd, DRM_IOCTL_INFO_BUFS, &info))
|
||||
return -EINVAL;
|
||||
|
||||
if (!info.count) return -EINVAL;
|
||||
if (!info.count)
|
||||
return -EINVAL;
|
||||
|
||||
if (!(info.list = drmMalloc(info.count * sizeof(*info.list))))
|
||||
return -ENOMEM;
|
||||
|
@ -972,7 +993,8 @@ int drmFreeBufs(int fd, int count, int *list)
|
|||
|
||||
request.count = count;
|
||||
request.list = list;
|
||||
if (ioctl(fd, DRM_IOCTL_FREE_BUFS, &request)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_FREE_BUFS, &request))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1020,7 +1042,8 @@ int drmMap(int fd, drm_handle_t handle, drmSize size, drmAddressPtr address)
|
|||
{
|
||||
static unsigned long pagesize_mask = 0;
|
||||
|
||||
if (fd < 0) return -EINVAL;
|
||||
if (fd < 0)
|
||||
return -EINVAL;
|
||||
|
||||
if (!pagesize_mask)
|
||||
pagesize_mask = getpagesize() - 1;
|
||||
|
@ -1028,7 +1051,8 @@ int drmMap(int fd, drm_handle_t handle, drmSize size, drmAddressPtr address)
|
|||
size = (size + pagesize_mask) & ~pagesize_mask;
|
||||
|
||||
*address = mmap(0, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, handle);
|
||||
if (*address == MAP_FAILED) return -errno;
|
||||
if (*address == MAP_FAILED)
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1058,7 +1082,8 @@ drmBufInfoPtr drmGetBufInfo(int fd)
|
|||
info.count = 0;
|
||||
info.list = NULL;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_INFO_BUFS, &info)) return NULL;
|
||||
if (ioctl(fd, DRM_IOCTL_INFO_BUFS, &info))
|
||||
return NULL;
|
||||
|
||||
if (info.count) {
|
||||
if (!(info.list = drmMalloc(info.count * sizeof(*info.list))))
|
||||
|
@ -1108,9 +1133,11 @@ drmBufMapPtr drmMapBufs(int fd)
|
|||
bufs.count = 0;
|
||||
bufs.list = NULL;
|
||||
bufs.virtual = NULL;
|
||||
if (ioctl(fd, DRM_IOCTL_MAP_BUFS, &bufs)) return NULL;
|
||||
if (ioctl(fd, DRM_IOCTL_MAP_BUFS, &bufs))
|
||||
return NULL;
|
||||
|
||||
if (!bufs.count) return NULL;
|
||||
if (!bufs.count)
|
||||
return NULL;
|
||||
|
||||
if (!(bufs.list = drmMalloc(bufs.count * sizeof(*bufs.list))))
|
||||
return NULL;
|
||||
|
@ -1265,20 +1292,25 @@ drm_context_t *drmGetReservedContextList(int fd, int *count)
|
|||
|
||||
res.count = 0;
|
||||
res.contexts = NULL;
|
||||
if (ioctl(fd, DRM_IOCTL_RES_CTX, &res)) return NULL;
|
||||
if (ioctl(fd, DRM_IOCTL_RES_CTX, &res))
|
||||
return NULL;
|
||||
|
||||
if (!res.count) return NULL;
|
||||
if (!res.count)
|
||||
return NULL;
|
||||
|
||||
if (!(list = drmMalloc(res.count * sizeof(*list)))) return NULL;
|
||||
if (!(list = drmMalloc(res.count * sizeof(*list))))
|
||||
return NULL;
|
||||
if (!(retval = drmMalloc(res.count * sizeof(*retval)))) {
|
||||
drmFree(list);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
res.contexts = list;
|
||||
if (ioctl(fd, DRM_IOCTL_RES_CTX, &res)) return NULL;
|
||||
if (ioctl(fd, DRM_IOCTL_RES_CTX, &res))
|
||||
return NULL;
|
||||
|
||||
for (i = 0; i < res.count; i++) retval[i] = list[i].handle;
|
||||
for (i = 0; i < res.count; i++)
|
||||
retval[i] = list[i].handle;
|
||||
drmFree(list);
|
||||
|
||||
*count = res.count;
|
||||
|
@ -1313,7 +1345,8 @@ int drmCreateContext(int fd, drm_context_t *handle)
|
|||
drm_ctx_t ctx;
|
||||
|
||||
ctx.flags = 0; /* Modified with functions below */
|
||||
if (ioctl(fd, DRM_IOCTL_ADD_CTX, &ctx)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_ADD_CTX, &ctx))
|
||||
return -errno;
|
||||
*handle = ctx.handle;
|
||||
return 0;
|
||||
}
|
||||
|
@ -1323,7 +1356,8 @@ int drmSwitchToContext(int fd, drm_context_t context)
|
|||
drm_ctx_t ctx;
|
||||
|
||||
ctx.handle = context;
|
||||
if (ioctl(fd, DRM_IOCTL_SWITCH_CTX, &ctx)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_SWITCH_CTX, &ctx))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1339,9 +1373,12 @@ int drmSetContextFlags(int fd, drm_context_t context, drm_context_tFlags flags)
|
|||
*/
|
||||
ctx.handle = context;
|
||||
ctx.flags = 0;
|
||||
if (flags & DRM_CONTEXT_PRESERVED) ctx.flags |= _DRM_CONTEXT_PRESERVED;
|
||||
if (flags & DRM_CONTEXT_2DONLY) ctx.flags |= _DRM_CONTEXT_2DONLY;
|
||||
if (ioctl(fd, DRM_IOCTL_MOD_CTX, &ctx)) return -errno;
|
||||
if (flags & DRM_CONTEXT_PRESERVED)
|
||||
ctx.flags |= _DRM_CONTEXT_PRESERVED;
|
||||
if (flags & DRM_CONTEXT_2DONLY)
|
||||
ctx.flags |= _DRM_CONTEXT_2DONLY;
|
||||
if (ioctl(fd, DRM_IOCTL_MOD_CTX, &ctx))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1351,10 +1388,13 @@ int drmGetContextFlags(int fd, drm_context_t context,
|
|||
drm_ctx_t ctx;
|
||||
|
||||
ctx.handle = context;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_CTX, &ctx)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_CTX, &ctx))
|
||||
return -errno;
|
||||
*flags = 0;
|
||||
if (ctx.flags & _DRM_CONTEXT_PRESERVED) *flags |= DRM_CONTEXT_PRESERVED;
|
||||
if (ctx.flags & _DRM_CONTEXT_2DONLY) *flags |= DRM_CONTEXT_2DONLY;
|
||||
if (ctx.flags & _DRM_CONTEXT_PRESERVED)
|
||||
*flags |= DRM_CONTEXT_PRESERVED;
|
||||
if (ctx.flags & _DRM_CONTEXT_2DONLY)
|
||||
*flags |= DRM_CONTEXT_2DONLY;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1379,14 +1419,16 @@ int drmDestroyContext(int fd, drm_context_t handle)
|
|||
{
|
||||
drm_ctx_t ctx;
|
||||
ctx.handle = handle;
|
||||
if (ioctl(fd, DRM_IOCTL_RM_CTX, &ctx)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_RM_CTX, &ctx))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int drmCreateDrawable(int fd, drm_drawable_t *handle)
|
||||
{
|
||||
drm_draw_t draw;
|
||||
if (ioctl(fd, DRM_IOCTL_ADD_DRAW, &draw)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_ADD_DRAW, &draw))
|
||||
return -errno;
|
||||
*handle = draw.handle;
|
||||
return 0;
|
||||
}
|
||||
|
@ -1395,7 +1437,8 @@ int drmDestroyDrawable(int fd, drm_drawable_t handle)
|
|||
{
|
||||
drm_draw_t draw;
|
||||
draw.handle = handle;
|
||||
if (ioctl(fd, DRM_IOCTL_RM_DRAW, &draw)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_RM_DRAW, &draw))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1410,7 +1453,8 @@ int drmUpdateDrawableInfo(int fd, drm_drawable_t handle,
|
|||
update.num = num;
|
||||
update.data = (unsigned long long)(unsigned long)data;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_UPDATE_DRAW, &update)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_UPDATE_DRAW, &update))
|
||||
return -errno;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1429,7 +1473,8 @@ int drmUpdateDrawableInfo(int fd, drm_drawable_t handle,
|
|||
*/
|
||||
int drmAgpAcquire(int fd)
|
||||
{
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_ACQUIRE, NULL)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_ACQUIRE, NULL))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1446,7 +1491,8 @@ int drmAgpAcquire(int fd)
|
|||
*/
|
||||
int drmAgpRelease(int fd)
|
||||
{
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_RELEASE, NULL)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_RELEASE, NULL))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1468,7 +1514,8 @@ int drmAgpEnable(int fd, unsigned long mode)
|
|||
drm_agp_mode_t m;
|
||||
|
||||
m.mode = mode;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_ENABLE, &m)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_ENABLE, &m))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1498,8 +1545,10 @@ int drmAgpAlloc(int fd, unsigned long size, unsigned long type,
|
|||
b.size = size;
|
||||
b.handle = 0;
|
||||
b.type = type;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_ALLOC, &b)) return -errno;
|
||||
if (address != 0UL) *address = b.physical;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_ALLOC, &b))
|
||||
return -errno;
|
||||
if (address != 0UL)
|
||||
*address = b.physical;
|
||||
*handle = b.handle;
|
||||
return 0;
|
||||
}
|
||||
|
@ -1523,7 +1572,8 @@ int drmAgpFree(int fd, drm_handle_t handle)
|
|||
|
||||
b.size = 0;
|
||||
b.handle = handle;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_FREE, &b)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_FREE, &b))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1547,7 +1597,8 @@ int drmAgpBind(int fd, drm_handle_t handle, unsigned long offset)
|
|||
|
||||
b.handle = handle;
|
||||
b.offset = offset;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_BIND, &b)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_BIND, &b))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1570,7 +1621,8 @@ int drmAgpUnbind(int fd, drm_handle_t handle)
|
|||
|
||||
b.handle = handle;
|
||||
b.offset = 0;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_UNBIND, &b)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_UNBIND, &b))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1590,7 +1642,8 @@ int drmAgpVersionMajor(int fd)
|
|||
{
|
||||
drm_agp_info_t i;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i))
|
||||
return -errno;
|
||||
return i.agp_version_major;
|
||||
}
|
||||
|
||||
|
@ -1610,7 +1663,8 @@ int drmAgpVersionMinor(int fd)
|
|||
{
|
||||
drm_agp_info_t i;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i))
|
||||
return -errno;
|
||||
return i.agp_version_minor;
|
||||
}
|
||||
|
||||
|
@ -1630,7 +1684,8 @@ unsigned long drmAgpGetMode(int fd)
|
|||
{
|
||||
drm_agp_info_t i;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i)) return 0;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i))
|
||||
return 0;
|
||||
return i.mode;
|
||||
}
|
||||
|
||||
|
@ -1650,7 +1705,8 @@ unsigned long drmAgpBase(int fd)
|
|||
{
|
||||
drm_agp_info_t i;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i)) return 0;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i))
|
||||
return 0;
|
||||
return i.aperture_base;
|
||||
}
|
||||
|
||||
|
@ -1670,7 +1726,8 @@ unsigned long drmAgpSize(int fd)
|
|||
{
|
||||
drm_agp_info_t i;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i)) return 0;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i))
|
||||
return 0;
|
||||
return i.aperture_size;
|
||||
}
|
||||
|
||||
|
@ -1690,7 +1747,8 @@ unsigned long drmAgpMemoryUsed(int fd)
|
|||
{
|
||||
drm_agp_info_t i;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i)) return 0;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i))
|
||||
return 0;
|
||||
return i.memory_used;
|
||||
}
|
||||
|
||||
|
@ -1710,7 +1768,8 @@ unsigned long drmAgpMemoryAvail(int fd)
|
|||
{
|
||||
drm_agp_info_t i;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i)) return 0;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i))
|
||||
return 0;
|
||||
return i.memory_allowed;
|
||||
}
|
||||
|
||||
|
@ -1730,7 +1789,8 @@ unsigned int drmAgpVendorId(int fd)
|
|||
{
|
||||
drm_agp_info_t i;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i)) return 0;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i))
|
||||
return 0;
|
||||
return i.id_vendor;
|
||||
}
|
||||
|
||||
|
@ -1750,7 +1810,8 @@ unsigned int drmAgpDeviceId(int fd)
|
|||
{
|
||||
drm_agp_info_t i;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i)) return 0;
|
||||
if (ioctl(fd, DRM_IOCTL_AGP_INFO, &i))
|
||||
return 0;
|
||||
return i.id_device;
|
||||
}
|
||||
|
||||
|
@ -1761,7 +1822,8 @@ int drmScatterGatherAlloc(int fd, unsigned long size, drm_handle_t *handle)
|
|||
*handle = 0;
|
||||
sg.size = size;
|
||||
sg.handle = 0;
|
||||
if (ioctl(fd, DRM_IOCTL_SG_ALLOC, &sg)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_SG_ALLOC, &sg))
|
||||
return -errno;
|
||||
*handle = sg.handle;
|
||||
return 0;
|
||||
}
|
||||
|
@ -1772,7 +1834,8 @@ int drmScatterGatherFree(int fd, drm_handle_t handle)
|
|||
|
||||
sg.size = 0;
|
||||
sg.handle = handle;
|
||||
if (ioctl(fd, DRM_IOCTL_SG_FREE, &sg)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_SG_FREE, &sg))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1802,12 +1865,21 @@ int drmWaitVBlank(int fd, drmVBlankPtr vbl)
|
|||
int drmError(int err, const char *label)
|
||||
{
|
||||
switch (err) {
|
||||
case DRM_ERR_NO_DEVICE: fprintf(stderr, "%s: no device\n", label); break;
|
||||
case DRM_ERR_NO_ACCESS: fprintf(stderr, "%s: no access\n", label); break;
|
||||
case DRM_ERR_NOT_ROOT: fprintf(stderr, "%s: not root\n", label); break;
|
||||
case DRM_ERR_INVALID: fprintf(stderr, "%s: invalid args\n", label);break;
|
||||
case DRM_ERR_NO_DEVICE:
|
||||
fprintf(stderr, "%s: no device\n", label);
|
||||
break;
|
||||
case DRM_ERR_NO_ACCESS:
|
||||
fprintf(stderr, "%s: no access\n", label);
|
||||
break;
|
||||
case DRM_ERR_NOT_ROOT:
|
||||
fprintf(stderr, "%s: not root\n", label);
|
||||
break;
|
||||
case DRM_ERR_INVALID:
|
||||
fprintf(stderr, "%s: invalid args\n", label);
|
||||
break;
|
||||
default:
|
||||
if (err < 0) err = -err;
|
||||
if (err < 0)
|
||||
err = -err;
|
||||
fprintf( stderr, "%s: error %d (%s)\n", label, err, strerror(err) );
|
||||
break;
|
||||
}
|
||||
|
@ -1833,7 +1905,8 @@ int drmCtlInstHandler(int fd, int irq)
|
|||
|
||||
ctl.func = DRM_INST_HANDLER;
|
||||
ctl.irq = irq;
|
||||
if (ioctl(fd, DRM_IOCTL_CONTROL, &ctl)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_CONTROL, &ctl))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1855,7 +1928,8 @@ int drmCtlUninstHandler(int fd)
|
|||
|
||||
ctl.func = DRM_UNINST_HANDLER;
|
||||
ctl.irq = 0;
|
||||
if (ioctl(fd, DRM_IOCTL_CONTROL, &ctl)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_CONTROL, &ctl))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1871,7 +1945,8 @@ int drmFinish(int fd, int context, drmLockFlags flags)
|
|||
if (flags & DRM_LOCK_FLUSH_ALL) lock.flags |= _DRM_LOCK_FLUSH_ALL;
|
||||
if (flags & DRM_HALT_ALL_QUEUES) lock.flags |= _DRM_HALT_ALL_QUEUES;
|
||||
if (flags & DRM_HALT_CUR_QUEUES) lock.flags |= _DRM_HALT_CUR_QUEUES;
|
||||
if (ioctl(fd, DRM_IOCTL_FINISH, &lock)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_FINISH, &lock))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1896,7 +1971,8 @@ int drmGetInterruptFromBusID(int fd, int busnum, int devnum, int funcnum)
|
|||
p.busnum = busnum;
|
||||
p.devnum = devnum;
|
||||
p.funcnum = funcnum;
|
||||
if (ioctl(fd, DRM_IOCTL_IRQ_BUSID, &p)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_IRQ_BUSID, &p))
|
||||
return -errno;
|
||||
return p.irq;
|
||||
}
|
||||
|
||||
|
@ -1923,7 +1999,8 @@ void *drmGetContextTag(int fd, drm_context_t context)
|
|||
drmHashEntry *entry = drmGetEntry(fd);
|
||||
void *value;
|
||||
|
||||
if (drmHashLookup(entry->tagTable, context, &value)) return NULL;
|
||||
if (drmHashLookup(entry->tagTable, context, &value))
|
||||
return NULL;
|
||||
|
||||
return value;
|
||||
}
|
||||
|
@ -1936,7 +2013,8 @@ int drmAddContextPrivateMapping(int fd, drm_context_t ctx_id,
|
|||
map.ctx_id = ctx_id;
|
||||
map.handle = (void *)handle;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_SET_SAREA_CTX, &map)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_SET_SAREA_CTX, &map))
|
||||
return -errno;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1947,8 +2025,10 @@ int drmGetContextPrivateMapping(int fd, drm_context_t ctx_id,
|
|||
|
||||
map.ctx_id = ctx_id;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_GET_SAREA_CTX, &map)) return -errno;
|
||||
if (handle) *handle = (drm_handle_t)map.handle;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_SAREA_CTX, &map))
|
||||
return -errno;
|
||||
if (handle)
|
||||
*handle = (drm_handle_t)map.handle;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1960,7 +2040,8 @@ int drmGetMap(int fd, int idx, drm_handle_t *offset, drmSize *size,
|
|||
drm_map_t map;
|
||||
|
||||
map.offset = idx;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_MAP, &map)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_MAP, &map))
|
||||
return -errno;
|
||||
*offset = map.offset;
|
||||
*size = map.size;
|
||||
*type = map.type;
|
||||
|
@ -1976,7 +2057,8 @@ int drmGetClient(int fd, int idx, int *auth, int *pid, int *uid,
|
|||
drm_client_t client;
|
||||
|
||||
client.idx = idx;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_CLIENT, &client)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_CLIENT, &client))
|
||||
return -errno;
|
||||
*auth = client.auth;
|
||||
*pid = client.pid;
|
||||
*uid = client.uid;
|
||||
|
@ -1990,7 +2072,8 @@ int drmGetStats(int fd, drmStatsT *stats)
|
|||
drm_stats_t s;
|
||||
int i;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_GET_STATS, &s)) return -errno;
|
||||
if (ioctl(fd, DRM_IOCTL_GET_STATS, &s))
|
||||
return -errno;
|
||||
|
||||
stats->count = 0;
|
||||
memset(stats, 0, sizeof(*stats));
|
||||
|
@ -2381,13 +2464,9 @@ int drmFenceUpdate(int fd, drmFence *fence)
|
|||
int drmFenceSignaled(int fd, drmFence *fence, unsigned fenceType,
|
||||
int *signaled)
|
||||
{
|
||||
int
|
||||
ret;
|
||||
|
||||
if ((fence->flags & DRM_FENCE_FLAG_SHAREABLE) ||
|
||||
((fenceType & fence->signaled) != fenceType)) {
|
||||
|
||||
ret = drmFenceFlush(fd, fence, fenceType);
|
||||
int ret = drmFenceFlush(fd, fence, fenceType);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
@ -2514,8 +2593,8 @@ void drmBOFreeList(drmBOList *list)
|
|||
}
|
||||
}
|
||||
|
||||
int drmBOResetList(drmBOList *list) {
|
||||
|
||||
int drmBOResetList(drmBOList *list)
|
||||
{
|
||||
drmMMListHead *l;
|
||||
int ret;
|
||||
|
||||
|
@ -2524,7 +2603,7 @@ int drmBOResetList(drmBOList *list) {
|
|||
return ret;
|
||||
|
||||
l = list->list.next;
|
||||
while(l != &list->list) {
|
||||
while (l != &list->list) {
|
||||
DRMLISTDEL(l);
|
||||
DRMLISTADD(l, &list->free);
|
||||
list->numOnList--;
|
||||
|
@ -2547,7 +2626,8 @@ static drmBONode *drmAddListItem(drmBOList *list, drmBO *item,
|
|||
return NULL;
|
||||
}
|
||||
list->numCurrent++;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
DRMLISTDEL(l);
|
||||
node = DRMLISTENTRY(drmBONode, l, head);
|
||||
}
|
||||
|
@ -2584,7 +2664,6 @@ drmBO *drmBOListBuf(void *iterator)
|
|||
drmBONode *node;
|
||||
drmMMListHead *l = (drmMMListHead *) iterator;
|
||||
node = DRMLISTENTRY(drmBONode, l, head);
|
||||
|
||||
return node->buf;
|
||||
}
|
||||
|
||||
|
@ -2599,8 +2678,7 @@ int drmBOCreateList(int numTarget, drmBOList *list)
|
|||
return drmAdjustListNodes(list);
|
||||
}
|
||||
|
||||
static void drmBOCopyReply(const drm_bo_arg_reply_t *rep,
|
||||
drmBO *buf)
|
||||
static void drmBOCopyReply(const drm_bo_arg_reply_t *rep, drmBO *buf)
|
||||
{
|
||||
buf->handle = rep->handle;
|
||||
buf->flags = rep->flags;
|
||||
|
@ -2614,8 +2692,6 @@ static void drmBOCopyReply(const drm_bo_arg_reply_t *rep,
|
|||
buf->pageAlignment = rep->page_alignment;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int drmBOCreate(int fd, unsigned long start, unsigned long size,
|
||||
unsigned pageAlignment, void *user_buffer, drm_bo_type_t type,
|
||||
unsigned mask,
|
||||
|
@ -2704,7 +2780,6 @@ int drmBODestroy(int fd, drmBO *buf)
|
|||
|
||||
int drmBOReference(int fd, unsigned handle, drmBO *buf)
|
||||
{
|
||||
|
||||
drm_bo_arg_t arg;
|
||||
drm_bo_arg_request_t *req = &arg.d.req;
|
||||
drm_bo_arg_reply_t *rep = &arg.d.rep;
|
||||
|
@ -2737,7 +2812,6 @@ int drmBOUnReference(int fd, drmBO *buf)
|
|||
drm_bo_arg_request_t *req = &arg.d.req;
|
||||
drm_bo_arg_reply_t *rep = &arg.d.rep;
|
||||
|
||||
|
||||
if (buf->mapVirtual && (buf->type != drm_bo_type_fake)) {
|
||||
(void) munmap(buf->mapVirtual, buf->start + buf->size);
|
||||
buf->mapVirtual = NULL;
|
||||
|
@ -2770,7 +2844,6 @@ int drmBOUnReference(int fd, drmBO *buf)
|
|||
int drmBOMap(int fd, drmBO *buf, unsigned mapFlags, unsigned mapHint,
|
||||
void **address)
|
||||
{
|
||||
|
||||
drm_bo_arg_t arg;
|
||||
drm_bo_arg_request_t *req = &arg.d.req;
|
||||
drm_bo_arg_reply_t *rep = &arg.d.rep;
|
||||
|
@ -2830,7 +2903,6 @@ int drmBOUnmap(int fd, drmBO *buf)
|
|||
drm_bo_arg_request_t *req = &arg.d.req;
|
||||
drm_bo_arg_reply_t *rep = &arg.d.rep;
|
||||
|
||||
|
||||
memset(&arg, 0, sizeof(arg));
|
||||
req->handle = buf->handle;
|
||||
req->op = drm_bo_unmap;
|
||||
|
@ -2959,7 +3031,8 @@ int drmBOBusy(int fd, drmBO *buf, int *busy)
|
|||
!(buf->replyFlags & DRM_BO_REP_BUSY)) {
|
||||
*busy = 0;
|
||||
return 0;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
int ret = drmBOInfo(fd, buf);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@ -2995,7 +3068,8 @@ int drmAddValidateItem(drmBOList *list, drmBO *buf, unsigned flags,
|
|||
*newItem = 1;
|
||||
cur->arg0 = flags;
|
||||
cur->arg1 = mask;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
unsigned memMask = (cur->arg1 | mask) & DRM_BO_MASK_MEM;
|
||||
unsigned memFlags = cur->arg0 & flags & memMask;
|
||||
|
||||
|
@ -3027,7 +3101,6 @@ int drmAddValidateItem(drmBOList *list, drmBO *buf, unsigned flags,
|
|||
|
||||
int drmBOValidateList(int fd, drmBOList *list)
|
||||
{
|
||||
|
||||
drmBONode *node;
|
||||
drmMMListHead *l;
|
||||
drm_bo_arg_t *arg, *first;
|
||||
|
@ -3063,11 +3136,10 @@ int drmBOValidateList(int fd, drmBOList *list)
|
|||
if (!first)
|
||||
return 0;
|
||||
|
||||
do{
|
||||
do {
|
||||
ret = ioctl(fd, DRM_IOCTL_BUFOBJ, first);
|
||||
} while (ret && errno == EAGAIN);
|
||||
|
||||
|
||||
if (ret)
|
||||
return -errno;
|
||||
|
||||
|
@ -3093,7 +3165,6 @@ int drmBOValidateList(int fd, drmBOList *list)
|
|||
|
||||
int drmBOFenceList(int fd, drmBOList *list, unsigned fenceHandle)
|
||||
{
|
||||
|
||||
drmBONode *node;
|
||||
drmMMListHead *l;
|
||||
drm_bo_arg_t *arg, *first;
|
||||
|
@ -3136,10 +3207,8 @@ int drmBOFenceList(int fd, drmBOList *list, unsigned fenceHandle)
|
|||
|
||||
for (l = list->list.next; l != &list->list; l = l->next) {
|
||||
node = DRMLISTENTRY(drmBONode, l, head);
|
||||
|
||||
arg = &node->bo_arg;
|
||||
rep = &arg->d.rep;
|
||||
|
||||
if (!arg->handled)
|
||||
return -EFAULT;
|
||||
if (rep->ret)
|
||||
|
@ -3163,7 +3232,6 @@ int drmMMInit(int fd, unsigned long pOffset, unsigned long pSize,
|
|||
|
||||
if (ioctl(fd, DRM_IOCTL_MM_INIT, &arg))
|
||||
return -errno;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -3171,14 +3239,12 @@ int drmMMTakedown(int fd, unsigned memType)
|
|||
{
|
||||
drm_mm_init_arg_t arg;
|
||||
|
||||
|
||||
memset(&arg, 0, sizeof(arg));
|
||||
arg.req.op = mm_takedown;
|
||||
arg.req.mem_type = memType;
|
||||
|
||||
if (ioctl(fd, DRM_IOCTL_MM_INIT, &arg))
|
||||
return -errno;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -3194,7 +3260,6 @@ int drmMMLock(int fd, unsigned memType)
|
|||
do{
|
||||
ret = ioctl(fd, DRM_IOCTL_MM_INIT, &arg);
|
||||
} while (ret && errno == EAGAIN);
|
||||
|
||||
return -errno;
|
||||
}
|
||||
|
||||
|
@ -3210,7 +3275,6 @@ int drmMMUnlock(int fd, unsigned memType)
|
|||
do{
|
||||
ret = ioctl(fd, DRM_IOCTL_MM_INIT, &arg);
|
||||
} while (ret && errno == EAGAIN);
|
||||
|
||||
return -errno;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue