Lines Matching defs:strm

25 		struct z_erofs_lzma *strm;
28 strm = z_erofs_lzma_head;
29 if (!strm) {
37 while (strm) {
38 struct z_erofs_lzma *n = strm->next;
40 if (strm->state)
41 xz_dec_microlzma_end(strm->state);
42 kfree(strm);
44 strm = n;
58 struct z_erofs_lzma *strm = kzalloc(sizeof(*strm), GFP_KERNEL);
60 if (!strm) {
65 strm->next = z_erofs_lzma_head;
66 z_erofs_lzma_head = strm;
79 struct z_erofs_lzma *strm, *head = NULL;
112 strm = z_erofs_lzma_head;
113 if (!strm) {
122 for (last = strm; last->next; last = last->next)
125 head = strm;
130 for (strm = head; strm; strm = strm->next) {
131 if (strm->state)
132 xz_dec_microlzma_end(strm->state);
133 strm->state = xz_dec_microlzma_alloc(XZ_PREALLOC, dict_size);
134 if (!strm->state)
158 struct z_erofs_lzma *strm;
176 strm = z_erofs_lzma_head;
177 if (!strm) {
182 z_erofs_lzma_head = strm->next;
188 xz_dec_microlzma_reset(strm->state, inlen, outlen,
191 strm->buf.in = kin + rq->pageofs_in;
192 strm->buf.in_pos = 0;
193 strm->buf.in_size = min_t(u32, inlen, PAGE_SIZE - rq->pageofs_in);
194 inlen -= strm->buf.in_size;
195 strm->buf.out = NULL;
196 strm->buf.out_pos = 0;
197 strm->buf.out_size = 0;
202 if (strm->buf.out_pos == strm->buf.out_size) {
203 if (strm->buf.out) {
205 strm->buf.out = NULL;
213 strm->buf.out_pos = 0;
214 strm->buf.out_size = min_t(u32, outlen,
216 outlen -= strm->buf.out_size;
227 strm->buf.out = kmap(rq->out[no]) + pageofs;
229 } else if (strm->buf.in_pos == strm->buf.in_size) {
237 strm->buf.in_pos = 0;
238 strm->buf.in_size = min_t(u32, inlen, PAGE_SIZE);
239 inlen -= strm->buf.in_size;
241 strm->buf.in = kin;
252 memcpy(strm->bounce, strm->buf.in, strm->buf.in_size);
253 strm->buf.in = strm->bounce;
270 xz_err = xz_dec_microlzma_run(strm->state, &strm->buf);
271 DBG_BUGON(strm->buf.out_pos > strm->buf.out_size);
272 DBG_BUGON(strm->buf.in_pos > strm->buf.in_size);
284 if (no < nrpages_out && strm->buf.out)
290 strm->next = z_erofs_lzma_head;
291 z_erofs_lzma_head = strm;