11.01.2021 16:00, Mikko Perttunen пишет:
> +int tegra_drm_ioctl_channel_open(struct drm_device *drm, void *data,
> +                              struct drm_file *file)
> +{
> +     struct tegra_drm_file *fpriv = file->driver_priv;
> +     struct tegra_drm *tegra = drm->dev_private;
> +     struct drm_tegra_channel_open *args = data;
> +     struct tegra_drm_client *client = NULL;
> +     struct tegra_drm_channel_ctx *ctx;
> +     int err;
> +
> +     if (args->flags)
> +             return -EINVAL;
> +
> +     ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
> +     if (!ctx)
> +             return -ENOMEM;
> +
> +     err = -ENODEV;
> +     list_for_each_entry(client, &tegra->clients, list) {
> +             if (client->base.class == args->host1x_class) {
> +                     err = 0;
> +                     break;
> +             }
> +     }
> +     if (err)
> +             goto free_ctx;
> +
> +     if (client->shared_channel) {
> +             ctx->channel = host1x_channel_get(client->shared_channel);

Let's omit the shared_channel until it will be really needed and used.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to