Lines Matching refs:zs
102 struct zcomp_strm_multi *zs = comp->stream; in zcomp_strm_multi_find() local
106 spin_lock(&zs->strm_lock); in zcomp_strm_multi_find()
107 if (!list_empty(&zs->idle_strm)) { in zcomp_strm_multi_find()
108 zstrm = list_entry(zs->idle_strm.next, in zcomp_strm_multi_find()
111 spin_unlock(&zs->strm_lock); in zcomp_strm_multi_find()
115 if (zs->avail_strm >= zs->max_strm) { in zcomp_strm_multi_find()
116 spin_unlock(&zs->strm_lock); in zcomp_strm_multi_find()
117 wait_event(zs->strm_wait, !list_empty(&zs->idle_strm)); in zcomp_strm_multi_find()
121 zs->avail_strm++; in zcomp_strm_multi_find()
122 spin_unlock(&zs->strm_lock); in zcomp_strm_multi_find()
126 spin_lock(&zs->strm_lock); in zcomp_strm_multi_find()
127 zs->avail_strm--; in zcomp_strm_multi_find()
128 spin_unlock(&zs->strm_lock); in zcomp_strm_multi_find()
129 wait_event(zs->strm_wait, !list_empty(&zs->idle_strm)); in zcomp_strm_multi_find()
140 struct zcomp_strm_multi *zs = comp->stream; in zcomp_strm_multi_release() local
142 spin_lock(&zs->strm_lock); in zcomp_strm_multi_release()
143 if (zs->avail_strm <= zs->max_strm) { in zcomp_strm_multi_release()
144 list_add(&zstrm->list, &zs->idle_strm); in zcomp_strm_multi_release()
145 spin_unlock(&zs->strm_lock); in zcomp_strm_multi_release()
146 wake_up(&zs->strm_wait); in zcomp_strm_multi_release()
150 zs->avail_strm--; in zcomp_strm_multi_release()
151 spin_unlock(&zs->strm_lock); in zcomp_strm_multi_release()
158 struct zcomp_strm_multi *zs = comp->stream; in zcomp_strm_multi_set_max_streams() local
161 spin_lock(&zs->strm_lock); in zcomp_strm_multi_set_max_streams()
162 zs->max_strm = num_strm; in zcomp_strm_multi_set_max_streams()
167 while (zs->avail_strm > num_strm && !list_empty(&zs->idle_strm)) { in zcomp_strm_multi_set_max_streams()
168 zstrm = list_entry(zs->idle_strm.next, in zcomp_strm_multi_set_max_streams()
172 zs->avail_strm--; in zcomp_strm_multi_set_max_streams()
174 spin_unlock(&zs->strm_lock); in zcomp_strm_multi_set_max_streams()
180 struct zcomp_strm_multi *zs = comp->stream; in zcomp_strm_multi_destroy() local
183 while (!list_empty(&zs->idle_strm)) { in zcomp_strm_multi_destroy()
184 zstrm = list_entry(zs->idle_strm.next, in zcomp_strm_multi_destroy()
189 kfree(zs); in zcomp_strm_multi_destroy()
195 struct zcomp_strm_multi *zs; in zcomp_strm_multi_create() local
201 zs = kmalloc(sizeof(struct zcomp_strm_multi), GFP_KERNEL); in zcomp_strm_multi_create()
202 if (!zs) in zcomp_strm_multi_create()
205 comp->stream = zs; in zcomp_strm_multi_create()
206 spin_lock_init(&zs->strm_lock); in zcomp_strm_multi_create()
207 INIT_LIST_HEAD(&zs->idle_strm); in zcomp_strm_multi_create()
208 init_waitqueue_head(&zs->strm_wait); in zcomp_strm_multi_create()
209 zs->max_strm = max_strm; in zcomp_strm_multi_create()
210 zs->avail_strm = 1; in zcomp_strm_multi_create()
214 kfree(zs); in zcomp_strm_multi_create()
217 list_add(&zstrm->list, &zs->idle_strm); in zcomp_strm_multi_create()
223 struct zcomp_strm_single *zs = comp->stream; in zcomp_strm_single_find() local
224 mutex_lock(&zs->strm_lock); in zcomp_strm_single_find()
225 return zs->zstrm; in zcomp_strm_single_find()
231 struct zcomp_strm_single *zs = comp->stream; in zcomp_strm_single_release() local
232 mutex_unlock(&zs->strm_lock); in zcomp_strm_single_release()
243 struct zcomp_strm_single *zs = comp->stream; in zcomp_strm_single_destroy() local
244 zcomp_strm_free(comp, zs->zstrm); in zcomp_strm_single_destroy()
245 kfree(zs); in zcomp_strm_single_destroy()
250 struct zcomp_strm_single *zs; in zcomp_strm_single_create() local
256 zs = kmalloc(sizeof(struct zcomp_strm_single), GFP_KERNEL); in zcomp_strm_single_create()
257 if (!zs) in zcomp_strm_single_create()
260 comp->stream = zs; in zcomp_strm_single_create()
261 mutex_init(&zs->strm_lock); in zcomp_strm_single_create()
262 zs->zstrm = zcomp_strm_alloc(comp); in zcomp_strm_single_create()
263 if (!zs->zstrm) { in zcomp_strm_single_create()
264 kfree(zs); in zcomp_strm_single_create()