Lines Matching refs:fw_buf
289 static int fw_read_file_contents(struct file *file, struct firmware_buf *fw_buf) in fw_read_file_contents() argument
312 fw_buf->data = buf; in fw_read_file_contents()
313 fw_buf->size = size; in fw_read_file_contents()
628 struct firmware_buf *fw_buf; in firmware_loading_store() local
634 fw_buf = fw_priv->buf; in firmware_loading_store()
635 if (!fw_buf) in firmware_loading_store()
641 if (!test_bit(FW_STATUS_DONE, &fw_buf->status)) { in firmware_loading_store()
642 for (i = 0; i < fw_buf->nr_pages; i++) in firmware_loading_store()
643 __free_page(fw_buf->pages[i]); in firmware_loading_store()
644 kfree(fw_buf->pages); in firmware_loading_store()
645 fw_buf->pages = NULL; in firmware_loading_store()
646 fw_buf->page_array_size = 0; in firmware_loading_store()
647 fw_buf->nr_pages = 0; in firmware_loading_store()
648 set_bit(FW_STATUS_LOADING, &fw_buf->status); in firmware_loading_store()
652 if (test_bit(FW_STATUS_LOADING, &fw_buf->status)) { in firmware_loading_store()
655 set_bit(FW_STATUS_DONE, &fw_buf->status); in firmware_loading_store()
656 clear_bit(FW_STATUS_LOADING, &fw_buf->status); in firmware_loading_store()
664 rc = fw_map_pages_buf(fw_buf); in firmware_loading_store()
670 fw_buf->data, fw_buf->size); in firmware_loading_store()
676 list_del_init(&fw_buf->pending_list); in firmware_loading_store()
678 set_bit(FW_STATUS_ABORT, &fw_buf->status); in firmware_loading_store()
681 complete_all(&fw_buf->completion); in firmware_loading_store()