Lines Matching refs:dl

592 				       struct prism2_download_data *dl)  in prism2_download_nonvolatile()  argument
648 for (i = 0; i < dl->num_areas; i++) { in prism2_download_nonvolatile()
649 int rest_len = dl->data[i].len; in prism2_download_nonvolatile()
656 dev, dl->data[i].addr + data_off, in prism2_download_nonvolatile()
657 dl->data[i].data + data_off, bufaddr, in prism2_download_nonvolatile()
706 static void prism2_download_free_data(struct prism2_download_data *dl) in prism2_download_free_data() argument
710 if (dl == NULL) in prism2_download_free_data()
713 for (i = 0; i < dl->num_areas; i++) in prism2_download_free_data()
714 kfree(dl->data[i].data); in prism2_download_free_data()
715 kfree(dl); in prism2_download_free_data()
725 struct prism2_download_data *dl = NULL; in prism2_download() local
736 dl = kzalloc(sizeof(*dl) + param->num_areas * in prism2_download()
738 if (dl == NULL) { in prism2_download()
742 dl->dl_cmd = param->dl_cmd; in prism2_download()
743 dl->start_addr = param->start_addr; in prism2_download()
744 dl->num_areas = param->num_areas; in prism2_download()
751 dl->data[i].addr = param->data[i].addr; in prism2_download()
752 dl->data[i].len = param->data[i].len; in prism2_download()
761 dl->data[i].data = kmalloc(dl->data[i].len, GFP_KERNEL); in prism2_download()
762 if (dl->data[i].data == NULL) { in prism2_download()
767 if (copy_from_user(dl->data[i].data, param->data[i].ptr, in prism2_download()
777 ret = prism2_download_volatile(local, dl); in prism2_download()
781 ret = prism2_download_genesis(local, dl); in prism2_download()
785 ret = prism2_download_nonvolatile(local, dl); in prism2_download()
800 if (ret == 0 && dl && in prism2_download()
803 local->dl_pri = dl; in prism2_download()
804 } else if (ret == 0 && dl && in prism2_download()
807 local->dl_sec = dl; in prism2_download()
809 prism2_download_free_data(dl); in prism2_download()