Searched refs:zstrm (Results 1 - 3 of 3) sorted by relevance
/linux-4.4.14/drivers/block/zram/ |
H A D | zcomp.c | 28 struct zcomp_strm *zstrm; member in struct:zcomp_strm_single 37 /* max possible number of zstrm streams */ 39 /* number of available zstrm streams */ 65 static void zcomp_strm_free(struct zcomp *comp, struct zcomp_strm *zstrm) zcomp_strm_free() argument 67 if (zstrm->private) zcomp_strm_free() 68 comp->backend->destroy(zstrm->private); zcomp_strm_free() 69 free_pages((unsigned long)zstrm->buffer, 1); zcomp_strm_free() 70 kfree(zstrm); zcomp_strm_free() 79 struct zcomp_strm *zstrm = kmalloc(sizeof(*zstrm), GFP_NOIO); zcomp_strm_alloc() local 80 if (!zstrm) zcomp_strm_alloc() 83 zstrm->private = comp->backend->create(); zcomp_strm_alloc() 88 zstrm->buffer = (void *)__get_free_pages(GFP_NOIO | __GFP_ZERO, 1); zcomp_strm_alloc() 89 if (!zstrm->private || !zstrm->buffer) { zcomp_strm_alloc() 90 zcomp_strm_free(comp, zstrm); zcomp_strm_alloc() 91 zstrm = NULL; zcomp_strm_alloc() 93 return zstrm; zcomp_strm_alloc() 103 struct zcomp_strm *zstrm; zcomp_strm_multi_find() local 108 zstrm = list_entry(zs->idle_strm.next, zcomp_strm_multi_find() 110 list_del(&zstrm->list); zcomp_strm_multi_find() 112 return zstrm; zcomp_strm_multi_find() 114 /* zstrm streams limit reached, wait for idle stream */ zcomp_strm_multi_find() 120 /* allocate new zstrm stream */ zcomp_strm_multi_find() 124 zstrm = zcomp_strm_alloc(comp); zcomp_strm_multi_find() 125 if (!zstrm) { zcomp_strm_multi_find() 134 return zstrm; zcomp_strm_multi_find() 138 static void zcomp_strm_multi_release(struct zcomp *comp, struct zcomp_strm *zstrm) zcomp_strm_multi_release() argument 144 list_add(&zstrm->list, &zs->idle_strm); zcomp_strm_multi_release() 152 zcomp_strm_free(comp, zstrm); zcomp_strm_multi_release() 159 struct zcomp_strm *zstrm; zcomp_strm_multi_set_max_streams() local 168 zstrm = list_entry(zs->idle_strm.next, zcomp_strm_multi_set_max_streams() 170 list_del(&zstrm->list); zcomp_strm_multi_set_max_streams() 171 zcomp_strm_free(comp, zstrm); zcomp_strm_multi_set_max_streams() 181 struct zcomp_strm *zstrm; zcomp_strm_multi_destroy() local 184 zstrm = list_entry(zs->idle_strm.next, zcomp_strm_multi_destroy() 186 list_del(&zstrm->list); zcomp_strm_multi_destroy() 187 zcomp_strm_free(comp, zstrm); zcomp_strm_multi_destroy() 194 struct zcomp_strm *zstrm; zcomp_strm_multi_create() local 212 zstrm = zcomp_strm_alloc(comp); zcomp_strm_multi_create() 213 if (!zstrm) { zcomp_strm_multi_create() 217 list_add(&zstrm->list, &zs->idle_strm); zcomp_strm_multi_create() 225 return zs->zstrm; zcomp_strm_single_find() 229 struct zcomp_strm *zstrm) zcomp_strm_single_release() 244 zcomp_strm_free(comp, zs->zstrm); zcomp_strm_single_destroy() 262 zs->zstrm = zcomp_strm_alloc(comp); zcomp_strm_single_create() 263 if (!zs->zstrm) { zcomp_strm_single_create() 304 void zcomp_strm_release(struct zcomp *comp, struct zcomp_strm *zstrm) zcomp_strm_release() argument 306 comp->strm_release(comp, zstrm); zcomp_strm_release() 309 int zcomp_compress(struct zcomp *comp, struct zcomp_strm *zstrm, zcomp_compress() argument 312 return comp->backend->compress(src, zstrm->buffer, dst_len, zcomp_compress() 313 zstrm->private); zcomp_compress() 228 zcomp_strm_single_release(struct zcomp *comp, struct zcomp_strm *zstrm) zcomp_strm_single_release() argument
|
H A D | zcomp.h | 48 void (*strm_release)(struct zcomp *comp, struct zcomp_strm *zstrm); 60 void zcomp_strm_release(struct zcomp *comp, struct zcomp_strm *zstrm); 62 int zcomp_compress(struct zcomp *comp, struct zcomp_strm *zstrm,
|
H A D | zram_drv.c | 657 struct zcomp_strm *zstrm = NULL; zram_bvec_write() local 676 zstrm = zcomp_strm_find(zram->comp); zram_bvec_write() 702 ret = zcomp_compress(zram->comp, zstrm, uncmem, &clen); zram_bvec_write() 713 src = zstrm->buffer; zram_bvec_write() 747 zcomp_strm_release(zram->comp, zstrm); zram_bvec_write() 748 zstrm = NULL; zram_bvec_write() 766 if (zstrm) zram_bvec_write() 767 zcomp_strm_release(zram->comp, zstrm); zram_bvec_write()
|
Completed in 97 milliseconds