Backmerge tag 'v4.12-rc7' into drm-next
Linux 4.12-rc7 Needed at least rc6 for drm-misc-next-fixes, may as well go to rc7
这个提交包含在:
@@ -562,18 +562,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)
|
||||
{
|
||||
@@ -662,7 +650,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;
|
||||
@@ -717,7 +705,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;
|
||||
@@ -742,7 +730,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;
|
||||
@@ -771,7 +759,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;
|
||||
@@ -796,7 +784,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;
|
||||
|
在新工单中引用
屏蔽一个用户