Lines Matching refs:qddev
58 struct qaic_drm_device *qddev = dev->dev_private;
59 struct qaic_device *qdev = qddev->qdev;
81 usr->qddev = qddev;
86 ret = mutex_lock_interruptible(&qddev->users_mutex);
90 list_add(&usr->node, &qddev->users);
91 mutex_unlock(&qddev->users_mutex);
111 struct qaic_drm_device *qddev;
117 qddev = usr->qddev;
119 if (qddev) {
120 qdev = qddev->qdev;
130 mutex_lock(&qddev->users_mutex);
133 mutex_unlock(&qddev->users_mutex);
173 struct qaic_drm_device *qddev;
184 qddev = kzalloc(sizeof(*qddev), GFP_KERNEL);
185 if (!qddev)
194 ddev->dev_private = qddev;
195 qddev->ddev = ddev;
197 qddev->qdev = qdev;
198 qddev->partition_id = partition_id;
199 INIT_LIST_HEAD(&qddev->users);
200 mutex_init(&qddev->users_mutex);
202 qdev->qddev = qddev;
213 mutex_destroy(&qddev->users_mutex);
214 qdev->qddev = NULL;
217 kfree(qddev);
223 struct qaic_drm_device *qddev;
226 qddev = qdev->qddev;
227 qdev->qddev = NULL;
228 if (!qddev)
245 mutex_lock(&qddev->users_mutex);
246 while (!list_empty(&qddev->users)) {
247 usr = list_first_entry(&qddev->users, struct qaic_user, node);
250 usr->qddev = NULL;
251 mutex_unlock(&qddev->users_mutex);
254 mutex_lock(&qddev->users_mutex);
256 mutex_unlock(&qddev->users_mutex);
258 if (qddev->ddev) {
259 drm_dev_unregister(qddev->ddev);
260 drm_dev_put(qddev->ddev);
263 kfree(qddev);