Lines Matching refs:strm

26 		struct z_erofs_lzma *strm;
29 strm = z_erofs_lzma_head;
30 if (!strm) {
38 while (strm) {
39 struct z_erofs_lzma *n = strm->next;
41 if (strm->state)
42 xz_dec_microlzma_end(strm->state);
43 kfree(strm);
45 strm = n;
59 struct z_erofs_lzma *strm = kzalloc(sizeof(*strm), GFP_KERNEL);
61 if (!strm) {
66 strm->next = z_erofs_lzma_head;
67 z_erofs_lzma_head = strm;
80 struct z_erofs_lzma *strm, *head = NULL;
115 strm = z_erofs_lzma_head;
116 if (!strm) {
125 for (last = strm; last->next; last = last->next)
128 head = strm;
133 for (strm = head; strm; strm = strm->next) {
134 if (strm->state)
135 xz_dec_microlzma_end(strm->state);
136 strm->state = xz_dec_microlzma_alloc(XZ_PREALLOC, dict_size);
137 if (!strm->state)
161 struct z_erofs_lzma *strm;
179 strm = z_erofs_lzma_head;
180 if (!strm) {
185 z_erofs_lzma_head = strm->next;
191 xz_dec_microlzma_reset(strm->state, inlen, outlen,
194 strm->buf.in = kin + rq->pageofs_in;
195 strm->buf.in_pos = 0;
196 strm->buf.in_size = min_t(u32, inlen, PAGE_SIZE - rq->pageofs_in);
197 inlen -= strm->buf.in_size;
198 strm->buf.out = NULL;
199 strm->buf.out_pos = 0;
200 strm->buf.out_size = 0;
205 if (strm->buf.out_pos == strm->buf.out_size) {
206 if (strm->buf.out) {
208 strm->buf.out = NULL;
216 strm->buf.out_pos = 0;
217 strm->buf.out_size = min_t(u32, outlen,
219 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);
283 if (no < nrpages_out && strm->buf.out)
289 strm->next = z_erofs_lzma_head;
290 z_erofs_lzma_head = strm;