Lines Matching refs:data
600 static int crc32_threadfn(void *data) in crc32_threadfn() argument
602 struct crc_data *d = data; in crc32_threadfn()
644 static int lzo_compress_threadfn(void *data) in lzo_compress_threadfn() argument
646 struct cmp_data *d = data; in lzo_compress_threadfn()
689 struct cmp_data *data = NULL; in save_image_lzo() local
708 data = vmalloc(array_size(nr_threads, sizeof(*data))); in save_image_lzo()
709 if (!data) { in save_image_lzo()
715 memset(&data[thr], 0, offsetof(struct cmp_data, go)); in save_image_lzo()
729 init_waitqueue_head(&data[thr].go); in save_image_lzo()
730 init_waitqueue_head(&data[thr].done); in save_image_lzo()
732 data[thr].thr = kthread_run(lzo_compress_threadfn, in save_image_lzo()
733 &data[thr], in save_image_lzo()
735 if (IS_ERR(data[thr].thr)) { in save_image_lzo()
736 data[thr].thr = NULL; in save_image_lzo()
752 crc->unc[thr] = data[thr].unc; in save_image_lzo()
753 crc->unc_len[thr] = &data[thr].unc_len; in save_image_lzo()
788 memcpy(data[thr].unc + off, in save_image_lzo()
799 data[thr].unc_len = off; in save_image_lzo()
801 atomic_set_release(&data[thr].ready, 1); in save_image_lzo()
802 wake_up(&data[thr].go); in save_image_lzo()
813 wait_event(data[thr].done, in save_image_lzo()
814 atomic_read_acquire(&data[thr].stop)); in save_image_lzo()
815 atomic_set(&data[thr].stop, 0); in save_image_lzo()
817 ret = data[thr].ret; in save_image_lzo()
824 if (unlikely(!data[thr].cmp_len || in save_image_lzo()
825 data[thr].cmp_len > in save_image_lzo()
826 lzo1x_worst_compress(data[thr].unc_len))) { in save_image_lzo()
832 *(size_t *)data[thr].cmp = data[thr].cmp_len; in save_image_lzo()
843 off < LZO_HEADER + data[thr].cmp_len; in save_image_lzo()
845 memcpy(page, data[thr].cmp + off, PAGE_SIZE); in save_image_lzo()
872 if (data) { in save_image_lzo()
874 if (data[thr].thr) in save_image_lzo()
875 kthread_stop(data[thr].thr); in save_image_lzo()
876 vfree(data); in save_image_lzo()
1130 static int lzo_decompress_threadfn(void *data) in lzo_decompress_threadfn() argument
1132 struct dec_data *d = data; in lzo_decompress_threadfn()
1182 struct dec_data *data = NULL; in load_image_lzo() local
1201 data = vmalloc(array_size(nr_threads, sizeof(*data))); in load_image_lzo()
1202 if (!data) { in load_image_lzo()
1208 memset(&data[thr], 0, offsetof(struct dec_data, go)); in load_image_lzo()
1224 init_waitqueue_head(&data[thr].go); in load_image_lzo()
1225 init_waitqueue_head(&data[thr].done); in load_image_lzo()
1227 data[thr].thr = kthread_run(lzo_decompress_threadfn, in load_image_lzo()
1228 &data[thr], in load_image_lzo()
1230 if (IS_ERR(data[thr].thr)) { in load_image_lzo()
1231 data[thr].thr = NULL; in load_image_lzo()
1247 crc->unc[thr] = data[thr].unc; in load_image_lzo()
1248 crc->unc_len[thr] = &data[thr].unc_len; in load_image_lzo()
1347 data[thr].cmp_len = *(size_t *)page[pg]; in load_image_lzo()
1348 if (unlikely(!data[thr].cmp_len || in load_image_lzo()
1349 data[thr].cmp_len > in load_image_lzo()
1356 need = DIV_ROUND_UP(data[thr].cmp_len + LZO_HEADER, in load_image_lzo()
1367 off < LZO_HEADER + data[thr].cmp_len; in load_image_lzo()
1369 memcpy(data[thr].cmp + off, in load_image_lzo()
1377 atomic_set_release(&data[thr].ready, 1); in load_image_lzo()
1378 wake_up(&data[thr].go); in load_image_lzo()
1395 wait_event(data[thr].done, in load_image_lzo()
1396 atomic_read_acquire(&data[thr].stop)); in load_image_lzo()
1397 atomic_set(&data[thr].stop, 0); in load_image_lzo()
1399 ret = data[thr].ret; in load_image_lzo()
1406 if (unlikely(!data[thr].unc_len || in load_image_lzo()
1407 data[thr].unc_len > LZO_UNC_SIZE || in load_image_lzo()
1408 data[thr].unc_len & (PAGE_SIZE - 1))) { in load_image_lzo()
1415 off < data[thr].unc_len; off += PAGE_SIZE) { in load_image_lzo()
1417 data[thr].unc + off, PAGE_SIZE); in load_image_lzo()
1469 if (data) { in load_image_lzo()
1471 if (data[thr].thr) in load_image_lzo()
1472 kthread_stop(data[thr].thr); in load_image_lzo()
1473 vfree(data); in load_image_lzo()