|
@@ -451,18 +451,6 @@ fail:
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_DRM_TEGRA_STAGING
|
|
|
-static struct tegra_drm_context *
|
|
|
-tegra_drm_file_get_context(struct tegra_drm_file *file, u32 id)
|
|
|
-{
|
|
|
- struct tegra_drm_context *context;
|
|
|
-
|
|
|
- mutex_lock(&file->lock);
|
|
|
- context = idr_find(&file->contexts, id);
|
|
|
- mutex_unlock(&file->lock);
|
|
|
-
|
|
|
- return context;
|
|
|
-}
|
|
|
-
|
|
|
static int tegra_gem_create(struct drm_device *drm, void *data,
|
|
|
struct drm_file *file)
|
|
|
{
|
|
@@ -551,7 +539,7 @@ static int tegra_client_open(struct tegra_drm_file *fpriv,
|
|
|
if (err < 0)
|
|
|
return err;
|
|
|
|
|
|
- err = idr_alloc(&fpriv->contexts, context, 0, 0, GFP_KERNEL);
|
|
|
+ err = idr_alloc(&fpriv->contexts, context, 1, 0, GFP_KERNEL);
|
|
|
if (err < 0) {
|
|
|
client->ops->close_channel(context);
|
|
|
return err;
|
|
@@ -606,7 +594,7 @@ static int tegra_close_channel(struct drm_device *drm, void *data,
|
|
|
|
|
|
mutex_lock(&fpriv->lock);
|
|
|
|
|
|
- context = tegra_drm_file_get_context(fpriv, args->context);
|
|
|
+ context = idr_find(&fpriv->contexts, args->context);
|
|
|
if (!context) {
|
|
|
err = -EINVAL;
|
|
|
goto unlock;
|
|
@@ -631,7 +619,7 @@ static int tegra_get_syncpt(struct drm_device *drm, void *data,
|
|
|
|
|
|
mutex_lock(&fpriv->lock);
|
|
|
|
|
|
- context = tegra_drm_file_get_context(fpriv, args->context);
|
|
|
+ context = idr_find(&fpriv->contexts, args->context);
|
|
|
if (!context) {
|
|
|
err = -ENODEV;
|
|
|
goto unlock;
|
|
@@ -660,7 +648,7 @@ static int tegra_submit(struct drm_device *drm, void *data,
|
|
|
|
|
|
mutex_lock(&fpriv->lock);
|
|
|
|
|
|
- context = tegra_drm_file_get_context(fpriv, args->context);
|
|
|
+ context = idr_find(&fpriv->contexts, args->context);
|
|
|
if (!context) {
|
|
|
err = -ENODEV;
|
|
|
goto unlock;
|
|
@@ -685,7 +673,7 @@ static int tegra_get_syncpt_base(struct drm_device *drm, void *data,
|
|
|
|
|
|
mutex_lock(&fpriv->lock);
|
|
|
|
|
|
- context = tegra_drm_file_get_context(fpriv, args->context);
|
|
|
+ context = idr_find(&fpriv->contexts, args->context);
|
|
|
if (!context) {
|
|
|
err = -ENODEV;
|
|
|
goto unlock;
|