Lines Matching defs:info
60 struct fpga_image_info *info)
66 ret = mgr->mops->write_complete(mgr, info);
78 struct fpga_image_info *info,
82 return mgr->mops->parse_header(mgr, info, buf, count);
87 struct fpga_image_info *info,
91 return mgr->mops->write_init(mgr, info, buf, count);
104 * fpga_image_info_alloc - Allocate an FPGA image info struct
111 struct fpga_image_info *info;
115 info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
116 if (!info) {
121 info->dev = dev;
123 return info;
128 * fpga_image_info_free - Free an FPGA image info struct
129 * @info: FPGA image info struct to free
131 void fpga_image_info_free(struct fpga_image_info *info)
135 if (!info)
138 dev = info->dev;
139 if (info->firmware_name)
140 devm_kfree(dev, info->firmware_name);
142 devm_kfree(dev, info);
149 * buffer on the input. This will set info->header_size and info->data_size.
152 struct fpga_image_info *info,
158 ret = fpga_mgr_parse_header(mgr, info, buf, count);
160 if (info->header_size + info->data_size > count) {
176 * parse_header will set info->header_size and info->data_size. If it is not,
177 * parse_header will set desired size to info->header_size and -EAGAIN will be
181 struct fpga_image_info *info,
191 miter.length >= info->header_size)
192 ret = fpga_mgr_parse_header(mgr, info, miter.addr, miter.length);
213 struct fpga_image_info *info,
221 new_header_size = info->header_size;
246 ret = fpga_mgr_parse_header(mgr, info, buf, header_size);
265 * info->header_size bytes in the buffer. If info->header_size is 0,
269 struct fpga_image_info *info,
272 size_t header_size = info->header_size;
280 ret = fpga_mgr_write_init(mgr, info, NULL, 0);
282 ret = fpga_mgr_write_init(mgr, info, buf, count);
294 struct fpga_image_info *info,
304 return fpga_mgr_write_init_buf(mgr, info, NULL, 0);
310 ret = fpga_mgr_parse_header_sg_first(mgr, info, sgt);
315 ret = fpga_mgr_write_init_buf(mgr, info, miter.addr,
333 buf = fpga_mgr_parse_header_sg(mgr, info, sgt, &len);
337 ret = fpga_mgr_write_init_buf(mgr, info, buf, len);
347 * @info: fpga image specific information
362 struct fpga_image_info *info,
367 ret = fpga_mgr_prepare_sg(mgr, info, sgt);
376 size_t length, count = 0, data_size = info->data_size;
382 !sg_miter_skip(&miter, info->header_size)) {
411 return fpga_mgr_write_complete(mgr, info);
415 struct fpga_image_info *info,
420 ret = fpga_mgr_parse_header_mapped(mgr, info, buf, count);
424 ret = fpga_mgr_write_init_buf(mgr, info, buf, count);
429 buf += info->header_size;
430 count -= info->header_size;
433 if (info->data_size)
434 count = info->data_size;
447 return fpga_mgr_write_complete(mgr, info);
453 * @info: fpga image info
465 struct fpga_image_info *info,
481 return fpga_mgr_buf_load_mapped(mgr, info, buf, count);
516 rc = fpga_mgr_buf_load_sg(mgr, info, &sgt);
525 * @info: fpga image specific information
529 * Update the state before each step to provide info on what step failed if
537 struct fpga_image_info *info,
555 ret = fpga_mgr_buf_load(mgr, info, fw->data, fw->size);
565 * @info: fpga image information.
567 * Load the FPGA from an image which is indicated in @info. If successful, the
572 int fpga_mgr_load(struct fpga_manager *mgr, struct fpga_image_info *info)
574 info->header_size = mgr->mops->initial_header_size;
576 if (info->sgt)
577 return fpga_mgr_buf_load_sg(mgr, info, info->sgt);
578 if (info->buf && info->count)
579 return fpga_mgr_buf_load(mgr, info, info->buf, info->count);
580 if (info->firmware_name)
581 return fpga_mgr_firmware_load(mgr, info, info->firmware_name);
771 * @info: parameters for fpga manager
779 fpga_mgr_register_full(struct device *parent, const struct fpga_manager_info *info)
781 const struct fpga_manager_ops *mops = info->mops;
790 if (!info->name || !strlen(info->name)) {
807 mgr->name = info->name;
808 mgr->mops = info->mops;
809 mgr->priv = info->priv;
810 mgr->compat_id = info->compat_id;
865 struct fpga_manager_info info = { 0 };
867 info.name = name;
868 info.mops = mops;
869 info.priv = priv;
871 return fpga_mgr_register_full(parent, &info);
905 * @info: parameters for fpga manager
913 devm_fpga_mgr_register_full(struct device *parent, const struct fpga_manager_info *info)
922 mgr = fpga_mgr_register_full(parent, info);
952 struct fpga_manager_info info = { 0 };
954 info.name = name;
955 info.mops = mops;
956 info.priv = priv;
958 return devm_fpga_mgr_register_full(parent, &info);