diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-07 17:04:56 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-07 17:04:56 -0400 |
| commit | de9c9f86be0dc3495de98dc65c80abe6e7c7d643 (patch) | |
| tree | 47ad4787412b26eea9f49b858855f919b0cb4898 /include/linux | |
| parent | 3e11a00d8561622a2598254853e2e8cc3e51e544 (diff) | |
| parent | b9777859ec015a78dae1476e317d04f851bfdd0d (diff) | |
Merge tag 'remoteproc-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc
Pull remoteproc update from Ohad Ben-Cohen:
- Some refactoring, cleanups and small improvements from Sjur
Brændeland. The improvements are mainly about better supporting
varios virtio properties (such as virtio's config space, status and
features). I now see that I messed up while commiting one of Sjur's
patches and erroneously put myself as the author, as well as letting
a nasty typo sneak in. I will not fix this in order to avoid
rebasing the patches. Sjur - sorry!
- A new remoteproc driver for OMAP-L13x (technically a DaVinci
platform) from Robert Tivy.
- Extend OMAP support to OMAP5 as well, from Vincent Stehlé.
- Fix Kconfig VIRTUALIZATION dependency, from Suman Anna (a
non-critical fix which arrived late during the rc cycle).
* tag 'remoteproc-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc:
remoteproc: fix kconfig dependencies for VIRTIO
remoteproc/davinci: add a remoteproc driver for OMAP-L13x DSP
remoteproc: support default firmware name in rproc_alloc()
remoteproc/omap: support OMAP5 too
remoteproc: set vring addresses in resource table
remoteproc: support virtio config space.
remoteproc: perserve resource table data
remoteproc: calculate max_notifyid by counting vrings
remoteproc: code cleanup of resource parsing
remoteproc: parse STE-firmware and find resource table address
remoteproc: add find_loaded_rsc_table firmware ops
remoteproc: refactor rproc_elf_find_rsc_table()
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/remoteproc.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h index faf33324c78f..9e7e745dac55 100644 --- a/include/linux/remoteproc.h +++ b/include/linux/remoteproc.h | |||
| @@ -401,6 +401,9 @@ enum rproc_crash_type { | |||
| 401 | * @crash_comp: completion used to sync crash handler and the rproc reload | 401 | * @crash_comp: completion used to sync crash handler and the rproc reload |
| 402 | * @recovery_disabled: flag that state if recovery was disabled | 402 | * @recovery_disabled: flag that state if recovery was disabled |
| 403 | * @max_notifyid: largest allocated notify id. | 403 | * @max_notifyid: largest allocated notify id. |
| 404 | * @table_ptr: pointer to the resource table in effect | ||
| 405 | * @cached_table: copy of the resource table | ||
| 406 | * @table_csum: checksum of the resource table | ||
| 404 | */ | 407 | */ |
| 405 | struct rproc { | 408 | struct rproc { |
| 406 | struct klist_node node; | 409 | struct klist_node node; |
| @@ -429,9 +432,13 @@ struct rproc { | |||
| 429 | struct completion crash_comp; | 432 | struct completion crash_comp; |
| 430 | bool recovery_disabled; | 433 | bool recovery_disabled; |
| 431 | int max_notifyid; | 434 | int max_notifyid; |
| 435 | struct resource_table *table_ptr; | ||
| 436 | struct resource_table *cached_table; | ||
| 437 | u32 table_csum; | ||
| 432 | }; | 438 | }; |
| 433 | 439 | ||
| 434 | /* we currently support only two vrings per rvdev */ | 440 | /* we currently support only two vrings per rvdev */ |
| 441 | |||
| 435 | #define RVDEV_NUM_VRINGS 2 | 442 | #define RVDEV_NUM_VRINGS 2 |
| 436 | 443 | ||
| 437 | /** | 444 | /** |
| @@ -462,16 +469,14 @@ struct rproc_vring { | |||
| 462 | * @rproc: the rproc handle | 469 | * @rproc: the rproc handle |
| 463 | * @vdev: the virio device | 470 | * @vdev: the virio device |
| 464 | * @vring: the vrings for this vdev | 471 | * @vring: the vrings for this vdev |
| 465 | * @dfeatures: virtio device features | 472 | * @rsc_offset: offset of the vdev's resource entry |
| 466 | * @gfeatures: virtio guest features | ||
| 467 | */ | 473 | */ |
| 468 | struct rproc_vdev { | 474 | struct rproc_vdev { |
| 469 | struct list_head node; | 475 | struct list_head node; |
| 470 | struct rproc *rproc; | 476 | struct rproc *rproc; |
| 471 | struct virtio_device vdev; | 477 | struct virtio_device vdev; |
| 472 | struct rproc_vring vring[RVDEV_NUM_VRINGS]; | 478 | struct rproc_vring vring[RVDEV_NUM_VRINGS]; |
| 473 | unsigned long dfeatures; | 479 | u32 rsc_offset; |
| 474 | unsigned long gfeatures; | ||
| 475 | }; | 480 | }; |
| 476 | 481 | ||
| 477 | struct rproc *rproc_alloc(struct device *dev, const char *name, | 482 | struct rproc *rproc_alloc(struct device *dev, const char *name, |
