History

Merge tag 'rproc-v5.3' of git://github.com/andersson/remoteproc

Pull remoteproc updates from Bjorn Andersson: "This adds support for the STM32 remoteproc, additional i.MX platforms with Cortex M4 remoteprocs and Qualcomm's QCS404 Compute DSP. Also initial support for vendor specific resource table entries and support for unprocessed Qualcomm firmware files" * tag 'rproc-v5.3' of git://github.com/andersson/remoteproc: remoteproc: stm32: fix building without ARM SMCC remoteproc: qcom: q6v5-mss: Fix build error without QCOM_MDT_LOADER remoteproc: copy parent dma_pfn_offset for vdev remoteproc: qcom: q6v5-mss: Support loading non-split images soc: qcom: mdt_loader: Support loading non-split images remoteproc: stm32: add an ST stm32_rproc driver dt-bindings: remoteproc: add bindings for stm32 remote processor driver dt-bindings: stm32: add bindings for ML-AHB interconnect remoteproc: Use struct_size() helper remoteproc: add vendor resources handling remoteproc: imx: Fix typo in "failed" remoteproc: imx: Broaden the Kconfig selection logic remoteproc,rpmsg: add missing MAINTAINERS file entries remoteproc: qcom: qdsp6-adsp: Add support for QCS404 CDSP dt-bindings: remoteproc: Rename and amend Hexagon v56 binding

Linus Torvalds committed 7 years ago

Commit fdcec002 parents 7636b75 93f1d3e17 files · +1009 −57Browse files

Showing the changes to include/linux (2 of 17 files). Show all

Unified · Split

2 files
  1. include/linux/remoteproc.h +26 −6
  2. include/linux/soc/qcom/mdt_loader.h +2 −0
include/linux/remoteproc.h+26−6
@@ -100,7 +100,9 @@ struct fw_rsc_hdr { · 99 unmodified lines
100 * the remote processor will be writing logs.100 * the remote processor will be writing logs.
101 * @RSC_VDEV: declare support for a virtio device, and serve as its101 * @RSC_VDEV: declare support for a virtio device, and serve as its
102 * virtio header.102 * virtio header.
103 * @RSC_LAST: just keep this one at the end103 * @RSC_LAST: just keep this one at the end of standard resources
104 * @RSC_VENDOR_START: start of the vendor specific resource types range
105 * @RSC_VENDOR_END: end of the vendor specific resource types range
104 *106 *
105 * For more details regarding a specific resource type, please see its107 * For more details regarding a specific resource type, please see its
106 * dedicated structure below.108 * dedicated structure below.
@@ -111,11 +113,13 @@ struct fw_rsc_hdr { · 4 unmodified lines
111 * please update it as needed.113 * please update it as needed.
112 */114 */
113enum fw_resource_type {115enum fw_resource_type {
114 RSC_CARVEOUT = 0,116 RSC_CARVEOUT = 0,
115 RSC_DEVMEM = 1,117 RSC_DEVMEM = 1,
116 RSC_TRACE = 2,118 RSC_TRACE = 2,
117 RSC_VDEV = 3,119 RSC_VDEV = 3,
118 RSC_LAST = 4,120 RSC_LAST = 4,
121 RSC_VENDOR_START = 128,
122 RSC_VENDOR_END = 512,
119};123};
120 124
121#define FW_RSC_ADDR_ANY (-1)125#define FW_RSC_ADDR_ANY (-1)
@@ -339,6 +343,16 @@ struct rproc_mem_entry { · 217 unmodified lines
339 343
340struct firmware;344struct firmware;
341 345
346/**
347 * enum rsc_handling_status - return status of rproc_ops handle_rsc hook
348 * @RSC_HANDLED: resource was handled
349 * @RSC_IGNORED: resource was ignored
350 */
351enum rsc_handling_status {
352 RSC_HANDLED = 0,
353 RSC_IGNORED = 1,
354};
355
342/**356/**
343 * struct rproc_ops - platform-specific device handlers357 * struct rproc_ops - platform-specific device handlers
344 * @start: power on the device and boot it358 * @start: power on the device and boot it
@@ -346,6 +360,10 @@ struct firmware; · 1 unmodified line
346 * @kick: kick a virtqueue (virtqueue id given as a parameter)360 * @kick: kick a virtqueue (virtqueue id given as a parameter)
347 * @da_to_va: optional platform hook to perform address translations361 * @da_to_va: optional platform hook to perform address translations
348 * @parse_fw: parse firmware to extract information (e.g. resource table)362 * @parse_fw: parse firmware to extract information (e.g. resource table)
363 * @handle_rsc: optional platform hook to handle vendor resources. Should return
364 * RSC_HANDLED if resource was handled, RSC_IGNORED if not handled and a
365 * negative value on error
366 * @load_rsc_table: load resource table from firmware image
349 * @find_loaded_rsc_table: find the loaded resouce table367 * @find_loaded_rsc_table: find the loaded resouce table
350 * @load: load firmware to memory, where the remote processor368 * @load: load firmware to memory, where the remote processor
351 * expects to find it369 * expects to find it
@@ -358,6 +376,8 @@ struct rproc_ops { · 6 unmodified lines
358 void (*kick)(struct rproc *rproc, int vqid);376 void (*kick)(struct rproc *rproc, int vqid);
359 void * (*da_to_va)(struct rproc *rproc, u64 da, int len);377 void * (*da_to_va)(struct rproc *rproc, u64 da, int len);
360 int (*parse_fw)(struct rproc *rproc, const struct firmware *fw);378 int (*parse_fw)(struct rproc *rproc, const struct firmware *fw);
379 int (*handle_rsc)(struct rproc *rproc, u32 rsc_type, void *rsc,
380 int offset, int avail);
361 struct resource_table *(*find_loaded_rsc_table)(381 struct resource_table *(*find_loaded_rsc_table)(
362 struct rproc *rproc, const struct firmware *fw);382 struct rproc *rproc, const struct firmware *fw);
363 int (*load)(struct rproc *rproc, const struct firmware *fw);383 int (*load)(struct rproc *rproc, const struct firmware *fw);
include/linux/soc/qcom/mdt_loader.h+2−0
@@ -21,4 +21,6 @@ int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, · 20 unmodified lines
21 const char *fw_name, int pas_id, void *mem_region,21 const char *fw_name, int pas_id, void *mem_region,
22 phys_addr_t mem_phys, size_t mem_size,22 phys_addr_t mem_phys, size_t mem_size,
23 phys_addr_t *reloc_base);23 phys_addr_t *reloc_base);
24void *qcom_mdt_read_metadata(const struct firmware *fw, size_t *data_len);
25
24#endif26#endif

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t