Lines Matching full:fpga
3 * FPGA Manager Core
12 #include <linux/fpga/fpga-mgr.h>
56 * After all the FPGA image has been written, do the device specific steps to
57 * finish and set the FPGA into operating mode.
68 dev_err(&mgr->dev, "Error after writing image data to FPGA\n"); in fpga_mgr_write_complete()
104 * fpga_image_info_alloc - Allocate an FPGA image info struct
128 * fpga_image_info_free - Free an FPGA image info struct
129 * @info: FPGA image info struct to free
148 * Call the low level driver's parse_header function with entire FPGA image
161 dev_err(&mgr->dev, "Bitstream data outruns FPGA image\n"); in fpga_mgr_parse_header_mapped()
166 dev_err(&mgr->dev, "Error while parsing FPGA image header\n"); in fpga_mgr_parse_header_mapped()
175 * scattered FPGA image on the input. If header fits first fragment,
198 dev_err(&mgr->dev, "Error while parsing FPGA image header\n"); in fpga_mgr_parse_header_sg_first()
206 * Copy scattered FPGA image fragments to temporary buffer and call the
250 dev_err(&mgr->dev, "Error while parsing FPGA image header\n"); in fpga_mgr_parse_header_sg()
263 * device-specific things to get the FPGA into the state where it is ready to
264 * receive an FPGA image. The low level driver gets to see at least first
285 dev_err(&mgr->dev, "Error preparing FPGA for writing\n"); in fpga_mgr_write_init_buf()
345 * fpga_mgr_buf_load_sg - load fpga from image in buffer from a scatter list
346 * @mgr: fpga manager
347 * @info: fpga image specific information
350 * Step the low level fpga manager through the device-specific steps of getting
351 * an FPGA ready to be configured, writing the image to it, then doing whatever
356 * This is the preferred entry point for FPGA programming, it does not require
371 /* Write the FPGA image to the FPGA. */ in fpga_mgr_buf_load_sg()
406 dev_err(&mgr->dev, "Error while writing image data to FPGA\n"); in fpga_mgr_buf_load_sg()
437 * Write the FPGA image to the FPGA. in fpga_mgr_buf_load_mapped()
442 dev_err(&mgr->dev, "Error while writing image data to FPGA\n"); in fpga_mgr_buf_load_mapped()
451 * fpga_mgr_buf_load - load fpga from image in buffer
452 * @mgr: fpga manager
453 * @info: fpga image info
454 * @buf: buffer contain fpga image
457 * Step the low level fpga manager through the device-specific steps of getting
458 * an FPGA ready to be configured, writing the image to it, then doing whatever
523 * fpga_mgr_firmware_load - request firmware and load to fpga
524 * @mgr: fpga manager
525 * @info: fpga image specific information
528 * Request an FPGA image using the firmware class, then write out to the FPGA.
563 * fpga_mgr_load - load FPGA from scatter/gather table, buffer, or firmware
564 * @mgr: fpga manager
565 * @info: fpga image information.
567 * Load the FPGA from an image which is indicated in @info. If successful, the
568 * FPGA ends up in operating mode.
592 /* requesting FPGA image from firmware */
596 /* Parse FPGA image header */
600 /* Preparing FPGA to receive image */
604 /* Writing image to FPGA */
612 /* FPGA reports to be in normal operating mode */
685 * fpga_mgr_get - Given a device, get a reference to an fpga mgr.
686 * @dev: parent device that fpga mgr was registered with
688 * Return: fpga manager struct or IS_ERR() condition containing error code.
708 * of_fpga_mgr_get - Given a device node, get a reference to an fpga mgr.
712 * Return: fpga manager struct or IS_ERR() condition containing error code.
732 * fpga_mgr_put - release a reference to an fpga manager
733 * @mgr: fpga manager structure
743 * fpga_mgr_lock - Lock FPGA manager for exclusive use
744 * @mgr: fpga manager
746 * Given a pointer to FPGA Manager (from fpga_mgr_get() or
749 * program the FPGA. Likewise, the user should call fpga_mgr_unlock
750 * when done programming the FPGA.
757 dev_err(&mgr->dev, "FPGA manager is in use.\n"); in fpga_mgr_lock()
766 * fpga_mgr_unlock - Unlock FPGA manager after done programming
767 * @mgr: fpga manager
776 * __fpga_mgr_register_full - create and register an FPGA Manager device
777 * @parent: fpga manager device from pdev
778 * @info: parameters for fpga manager
829 ret = dev_set_name(&mgr->dev, "fpga%d", id); in __fpga_mgr_register_full()
835 * from device. FPGA may be in reset mode or may have been programmed in __fpga_mgr_register_full()
858 * __fpga_mgr_register - create and register an FPGA Manager device
859 * @parent: fpga manager device from pdev
860 * @name: fpga manager name
861 * @mops: pointer to structure of fpga manager ops
862 * @priv: fpga manager private data
888 * fpga_mgr_unregister - unregister an FPGA manager
889 * @mgr: fpga manager struct
891 * This function is intended for use in an FPGA manager driver's remove function.
898 * If the low level driver provides a method for putting fpga into in fpga_mgr_unregister()
916 * @parent: fpga manager device from pdev
917 * @info: parameters for fpga manager
920 * Return: fpga manager pointer on success, negative error code otherwise.
951 * @parent: fpga manager device from pdev
952 * @name: fpga manager name
953 * @mops: pointer to structure of fpga manager ops
954 * @priv: fpga manager private data
957 * Return: fpga manager pointer on success, negative error code otherwise.
994 pr_info("FPGA manager framework\n"); in fpga_mgr_class_init()
1006 MODULE_DESCRIPTION("FPGA manager framework");