Example #1
0
int via_mem_alloc(struct drm_device *dev, void *data, struct drm_file *file_priv)
{
	drm_via_mem_t *mem = data;

	switch (mem.type) {
	case VIA_MEM_VIDEO:
		if (via_fb_alloc(mem) < 0)
			return -EFAULT;
		return 0;
	case VIA_MEM_AGP:
		if (via_agp_alloc(mem) < 0)
			return -EFAULT;
		return 0;
	}

	return -EFAULT;
}
Example #2
0
int via_mem_alloc(DRM_IOCTL_ARGS)
{
	drm_via_mem_t mem;

	DRM_COPY_FROM_USER_IOCTL(mem, (drm_via_mem_t *) data, sizeof(mem));
	switch (mem.type) {
	case VIDEO:
		if (via_fb_alloc(&mem) < 0)
			return -EFAULT;
		DRM_COPY_TO_USER_IOCTL((drm_via_mem_t *) data, mem,
				       sizeof(mem));
		return 0;
	case AGP:
		if (via_agp_alloc(&mem) < 0)
			return -EFAULT;
		DRM_COPY_TO_USER_IOCTL((drm_via_mem_t *) data, mem,
				       sizeof(mem));
		return 0;
	}

	return -EFAULT;
}