[RFC libdrm] Add NVIDIA Tegra support
Arto Merilainen
amerilainen at nvidia.com
Tue Dec 4 23:39:11 PST 2012
On 12/04/2012 05:13 PM, Thierry Reding wrote:
> +int drm_tegra_open(const char *path, struct drm_tegra **devicep)
> +{
> + struct drm_tegra *device;
> + int err;
> +
> + if (!path || !devicep)
> + return -EINVAL;
> +
> + device = calloc(1, sizeof(*device));
> + if (!device)
> + return -ENOMEM;
> +
> + DRMINITLISTHEAD(&device->bo_list);
> +
> + device->fd = open(path, O_RDWR);
> + if (device->fd < 0) {
> + err = -errno;
> + free(device);
> + return err;
> + }
> +
> + *devicep = device;
> +
> + return 0;
> +}
I think you shouldn't ask the path from the application (=DDX) here, but
use drmOpen() that automatically finds the correct device for you.
I'd also prefer letting the application open and close the device and
modify drm_tegra_open() to take the fd as a parameter. That way the DDX
could easily access also all generic libdrm functions.
- Arto
More information about the dri-devel
mailing list