Lines Matching refs:dl
591 struct prism2_download_data *dl) in prism2_download_nonvolatile() argument
647 for (i = 0; i < dl->num_areas; i++) { in prism2_download_nonvolatile()
648 int rest_len = dl->data[i].len; in prism2_download_nonvolatile()
655 dev, dl->data[i].addr + data_off, in prism2_download_nonvolatile()
656 dl->data[i].data + data_off, bufaddr, in prism2_download_nonvolatile()
705 static void prism2_download_free_data(struct prism2_download_data *dl) in prism2_download_free_data() argument
709 if (dl == NULL) in prism2_download_free_data()
712 for (i = 0; i < dl->num_areas; i++) in prism2_download_free_data()
713 kfree(dl->data[i].data); in prism2_download_free_data()
714 kfree(dl); in prism2_download_free_data()
724 struct prism2_download_data *dl = NULL; in prism2_download() local
735 dl = kzalloc(sizeof(*dl) + param->num_areas * in prism2_download()
737 if (dl == NULL) { in prism2_download()
741 dl->dl_cmd = param->dl_cmd; in prism2_download()
742 dl->start_addr = param->start_addr; in prism2_download()
743 dl->num_areas = param->num_areas; in prism2_download()
750 dl->data[i].addr = param->data[i].addr; in prism2_download()
751 dl->data[i].len = param->data[i].len; in prism2_download()
760 dl->data[i].data = kmalloc(dl->data[i].len, GFP_KERNEL); in prism2_download()
761 if (dl->data[i].data == NULL) { in prism2_download()
766 if (copy_from_user(dl->data[i].data, param->data[i].ptr, in prism2_download()
776 ret = prism2_download_volatile(local, dl); in prism2_download()
780 ret = prism2_download_genesis(local, dl); in prism2_download()
784 ret = prism2_download_nonvolatile(local, dl); in prism2_download()
799 if (ret == 0 && dl && in prism2_download()
802 local->dl_pri = dl; in prism2_download()
803 } else if (ret == 0 && dl && in prism2_download()
806 local->dl_sec = dl; in prism2_download()
808 prism2_download_free_data(dl); in prism2_download()