Lines Matching refs:comp
65 static void zcomp_strm_free(struct zcomp *comp, struct zcomp_strm *zstrm) in zcomp_strm_free() argument
68 comp->backend->destroy(zstrm->private); in zcomp_strm_free()
77 static struct zcomp_strm *zcomp_strm_alloc(struct zcomp *comp) in zcomp_strm_alloc() argument
83 zstrm->private = comp->backend->create(); in zcomp_strm_alloc()
90 zcomp_strm_free(comp, zstrm); in zcomp_strm_alloc()
100 static struct zcomp_strm *zcomp_strm_multi_find(struct zcomp *comp) in zcomp_strm_multi_find() argument
102 struct zcomp_strm_multi *zs = comp->stream; in zcomp_strm_multi_find()
124 zstrm = zcomp_strm_alloc(comp); in zcomp_strm_multi_find()
138 static void zcomp_strm_multi_release(struct zcomp *comp, struct zcomp_strm *zstrm) in zcomp_strm_multi_release() argument
140 struct zcomp_strm_multi *zs = comp->stream; in zcomp_strm_multi_release()
152 zcomp_strm_free(comp, zstrm); in zcomp_strm_multi_release()
156 static bool zcomp_strm_multi_set_max_streams(struct zcomp *comp, int num_strm) in zcomp_strm_multi_set_max_streams() argument
158 struct zcomp_strm_multi *zs = comp->stream; in zcomp_strm_multi_set_max_streams()
171 zcomp_strm_free(comp, zstrm); in zcomp_strm_multi_set_max_streams()
178 static void zcomp_strm_multi_destroy(struct zcomp *comp) in zcomp_strm_multi_destroy() argument
180 struct zcomp_strm_multi *zs = comp->stream; in zcomp_strm_multi_destroy()
187 zcomp_strm_free(comp, zstrm); in zcomp_strm_multi_destroy()
192 static int zcomp_strm_multi_create(struct zcomp *comp, int max_strm) in zcomp_strm_multi_create() argument
197 comp->destroy = zcomp_strm_multi_destroy; in zcomp_strm_multi_create()
198 comp->strm_find = zcomp_strm_multi_find; in zcomp_strm_multi_create()
199 comp->strm_release = zcomp_strm_multi_release; in zcomp_strm_multi_create()
200 comp->set_max_streams = zcomp_strm_multi_set_max_streams; in zcomp_strm_multi_create()
205 comp->stream = zs; in zcomp_strm_multi_create()
212 zstrm = zcomp_strm_alloc(comp); in zcomp_strm_multi_create()
221 static struct zcomp_strm *zcomp_strm_single_find(struct zcomp *comp) in zcomp_strm_single_find() argument
223 struct zcomp_strm_single *zs = comp->stream; in zcomp_strm_single_find()
228 static void zcomp_strm_single_release(struct zcomp *comp, in zcomp_strm_single_release() argument
231 struct zcomp_strm_single *zs = comp->stream; in zcomp_strm_single_release()
235 static bool zcomp_strm_single_set_max_streams(struct zcomp *comp, int num_strm) in zcomp_strm_single_set_max_streams() argument
241 static void zcomp_strm_single_destroy(struct zcomp *comp) in zcomp_strm_single_destroy() argument
243 struct zcomp_strm_single *zs = comp->stream; in zcomp_strm_single_destroy()
244 zcomp_strm_free(comp, zs->zstrm); in zcomp_strm_single_destroy()
248 static int zcomp_strm_single_create(struct zcomp *comp) in zcomp_strm_single_create() argument
252 comp->destroy = zcomp_strm_single_destroy; in zcomp_strm_single_create()
253 comp->strm_find = zcomp_strm_single_find; in zcomp_strm_single_create()
254 comp->strm_release = zcomp_strm_single_release; in zcomp_strm_single_create()
255 comp->set_max_streams = zcomp_strm_single_set_max_streams; in zcomp_strm_single_create()
260 comp->stream = zs; in zcomp_strm_single_create()
262 zs->zstrm = zcomp_strm_alloc(comp); in zcomp_strm_single_create()
271 ssize_t zcomp_available_show(const char *comp, char *buf) in zcomp_available_show() argument
277 if (!strcmp(comp, backends[i]->name)) in zcomp_available_show()
289 bool zcomp_available_algorithm(const char *comp) in zcomp_available_algorithm() argument
291 return find_backend(comp) != NULL; in zcomp_available_algorithm()
294 bool zcomp_set_max_streams(struct zcomp *comp, int num_strm) in zcomp_set_max_streams() argument
296 return comp->set_max_streams(comp, num_strm); in zcomp_set_max_streams()
299 struct zcomp_strm *zcomp_strm_find(struct zcomp *comp) in zcomp_strm_find() argument
301 return comp->strm_find(comp); in zcomp_strm_find()
304 void zcomp_strm_release(struct zcomp *comp, struct zcomp_strm *zstrm) in zcomp_strm_release() argument
306 comp->strm_release(comp, zstrm); in zcomp_strm_release()
309 int zcomp_compress(struct zcomp *comp, struct zcomp_strm *zstrm, in zcomp_compress() argument
312 return comp->backend->compress(src, zstrm->buffer, dst_len, in zcomp_compress()
316 int zcomp_decompress(struct zcomp *comp, const unsigned char *src, in zcomp_decompress() argument
319 return comp->backend->decompress(src, src_len, dst); in zcomp_decompress()
322 void zcomp_destroy(struct zcomp *comp) in zcomp_destroy() argument
324 comp->destroy(comp); in zcomp_destroy()
325 kfree(comp); in zcomp_destroy()
338 struct zcomp *comp; in zcomp_create() local
346 comp = kzalloc(sizeof(struct zcomp), GFP_KERNEL); in zcomp_create()
347 if (!comp) in zcomp_create()
350 comp->backend = backend; in zcomp_create()
352 error = zcomp_strm_multi_create(comp, max_strm); in zcomp_create()
354 error = zcomp_strm_single_create(comp); in zcomp_create()
356 kfree(comp); in zcomp_create()
359 return comp; in zcomp_create()