From: Dmitry Tarnyagin
Fixes coherent memory leakage, caused by non-deallocated
firmware image chunk.
Signed-off-by: Dmitry Tarnyagin
---
drivers/remoteproc/ste_modem_rproc.c |7 ++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/drivers/remoteproc/ste_modem_rproc.c
b/
From: Sjur Brændeland
Set the vring addresses in the resource table so that
the remote device can read the actual addresses used.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 19 +--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/
From: Sjur Brændeland
Copy resource table from first to second firmware loading.
After firmware is loaded to memory, update the vdevs resource
pointer to the resource table kept in device memory.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/Kconfig |1 +
drivers/remotepr
From: Sjur Brændeland
Support virtio configuration space and device status. The virtio
device can now access the resource table in shared memory.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c |3 --
drivers/remoteproc/remoteproc_virtio.c | 61 +
From: Sjur Brændeland
Parse the STE firmware and scan the TOC-table to find the address
of the resource table.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_elf_loader.c |2 +-
drivers/remoteproc/remoteproc_internal.h |6 ++--
drivers/remoteproc/ste_modem_rproc.c
From: Sjur Brændeland
Simplify handling of max_notifyid by simply counting the
number of vrings.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 33 ++---
drivers/remoteproc/ste_modem_rproc.c |2 +-
2 files changed, 19 insertions(+),
From: Sjur Brændeland
Combine the almost identical functions rproc_handle_virtio_rsc
and rproc_handle_boot_rsc.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 51 --
1 files changed, 12 insertions(+), 39 deletions(-)
diff --git a/dr
From: Sjur Brændeland
Add function find_rsc_table_va to firmware ops. This function
returns the location of the resource table in shared memory
after loading.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_elf_loader.c | 17 -
drivers/remoteproc/remoteproc_i
From: Sjur Brændeland
Refactor rproc_elf_find_rsc_table and split out the scanning
for the section header named resource table. This is done to
prepare for loading firmware once.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_elf_loader.c | 75 +---
From: Sjur Brændeland
Remove the vdev entry from the list before freeing it,
otherwise the rproc->vdevs list get corrupted.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c |4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/drivers/remoteproc/rem
From: Sjur Brændeland
This patch-set adds support for shared resource table between
Linux kernel and remote devices.
- dynamically-allocated address of the vrings can be communicated
- vdev statuses can be communicated
- virtio config space becomes bi-directional
- virtio feature negotiation is
From: Vikram ARV
Add the the Virtio shared memory driver for STE Modems.
caif_virtio is implemented utilizing the virtio framework
for data transport and is managed with the remoteproc frameworks.
The Virtio queue is used for transmitting data to the modem, and
the new vringh implementation is r
From: Sjur Brændeland
Add helper macro for drivers that don't do anything
special in module init/exit.
Signed-off-by: Sjur Brændeland
---
include/linux/virtio.h |9 +
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/include/linux/virtio.h b/include/linux/virtio.h
inde
From: Sjur Brændeland
Add functions for creating, deleting and kicking host-side virtio rings.
The host ring is not integrated with virtiqueues and cannot be managed
through virtio-config. Remoteproc must export functions for handling the
host-side virtio rings.
The functions rproc_virtio_get_v
From: Sjur Brændeland
This driver depends on Rusty's new host virtio ring implementation,
so this patch-set is based on the vringh branch in Rusty's git.
Changes since V1:
- Use the new iov helper functions, and simplify iov handling.
However this triggers compile warnings, as it takes struct
From: Sjur Brændeland
Parse the STE firmware and scan the TOC-table to find the address
of the resource table.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/ste_modem_rproc.c | 43 +++---
1 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/dri
From: Sjur Brændeland
Refactor rproc_elf_find_rsc_table and split out the scanning
for the section header named resource table. This is done to
prepare for loading firmware once.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_elf_loader.c | 79 ++--
From: Dmitry Tarnyagin
Fixes coherent memory leakage, caused by non-deallocated
firmware image chunk.
Signed-off-by: Dmitry Tarnyagin
---
drivers/remoteproc/ste_modem_rproc.c |7 ++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/drivers/remoteproc/ste_modem_rproc.c
b/
From: Sjur Brændeland
Simplify handling of max_notifyid by simply counting the
number of vrings.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 34 +++---
1 files changed, 19 insertions(+), 15 deletions(-)
diff --git a/drivers/remotepro
From: Sjur Brændeland
Support virtio configuration space and device status and
feature negotiation with remote device. This virtio device
can now access the resource table in shared memory.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c |3 --
drivers/remoteproc/
From: Sjur Brændeland
Combine the almost identical functions rproc_handle_virtio_rsc
and rproc_handle_boot_rsc.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 51 --
1 files changed, 12 insertions(+), 39 deletions(-)
diff --git a/dr
From: Sjur Brændeland
Set the vring addresses in the resource table so that
the remote device can read the actual addresses used.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 13 +++--
include/linux/remoteproc.h |2 ++
2 files changed, 13 in
From: Sjur Brændeland
Copy resource table from first to second firmware loading.
After firmware is loaded to memory, update the vdevs resource
pointer to the resource table kept in device memory.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 61 +++
From: Sjur Brændeland
This patch-set adds support for shared resource table between
Linux kernel and remote devices.
- dynamically-allocated address of the vrings can be communicated
- vdev statuses can be communicated
- virtio config space becomes bi-directional
- virtio feature negotiation is t
From: Sjur Brændeland
Add function find_rsc_table_va to firmware ops. This function
returns the location of the resource table in shared memory
after loading.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_elf_loader.c | 17 -
drivers/remoteproc/remoteproc_i
From: Sjur Brændeland
Add functions for creating, deleting and kicking host-side virtio rings.
The host ring is not integrated with virtiqueues and cannot be managed
through virtio-config. Remoteproc must export functions for handling the
host-side virtio rings.
The functions rproc_virtio_get_v
From: Vikram ARV
Add the the Virtio shared memory driver for STE Modems.
caif_virtio is implemented utilizing the virtio framework
for data transport and is managed with the remoteproc frameworks.
The Virtio queue is used for transmitting data to the modem, and
the new vringh implementation is r
From: Sjur Brændeland
This patch-set introduces the CAIF Virtio Link layer driver.
This driver depends on Rusty's new host virtio ring implementation,
so this patch-set is based on the vringh branch in Rusty's git.
Regards,
Sjur
cc: Rusty Russell
cc: Ohad Ben-Cohen
cc: David S. Miller
cc: I
From: Sjur Brændeland
Hi Ohad, Ido and Rusty.
Rusty has implemented host-side virtio ring. I will be using vringh
for the caif_virtio driver. But we need to figure out how to
integrate the vringh into remoteproc. Below is my initial stab on this.
This code is completely untested, but I'd love t
From: Dmitry Tarnyagin
Fixes coherent memory leakage, caused by non-deallocated
firmware image chunk.
Signed-off-by: Dmitry Tarnyagin
---
This fix is intended for v3.8.
Thanks,
Sjur
drivers/remoteproc/ste_modem_rproc.c |7 ++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff -
From: Sjur Brændeland
Refactor rproc_elf_find_rsc_table and split out the scanning
for the section header named resource table. This is done to
prepare for loading firmware once.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_elf_loader.c | 79 ++--
From: Sjur Brændeland
Parse the STE firmware and scan the TOC-table to find the address
of the resource table.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/ste_modem_rproc.c | 43 +++---
1 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/dri
From: Sjur Brændeland
Changes since v2:
- Addressed review comments
- Reworked patch "Load firmware once".
This patch-set is not yet thoroughly tested, but works in my
simulated environment.
This patch-set adds support for shared resource table between
Linux kernel and remote devices.
- dynam
From: Sjur Brændeland
Combine the almost identical functions rproc_handle_virtio_rsc
and rproc_handle_boot_rsc.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 51 --
1 files changed, 12 insertions(+), 39 deletions(-)
diff --git a/dr
From: Sjur Brændeland
Add state RPROC_LOADED as firmware loading and startup will be
different states.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_debugfs.c |1 +
include/linux/remoteproc.h |3 ++-
2 files changed, 3 insertions(+), 1 deletions(-)
diff
From: Sjur Brændeland
Set the vring addresses in the resource table so that
the remote device can read the actual addresses used.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 13 +++--
include/linux/remoteproc.h |2 ++
2 files changed, 13 in
From: Sjur Brændeland
Verify that firmware name is defined in rproc_add.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 13 ++---
1 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/remoteproc/remoteproc_core.c
b/drivers/remoteproc/remot
From: Sjur Brændeland
Add support for two-way virtio configuration space and status.
Ring-addresses and negotiated feature-bits are readable from device.
Allocation of larger Carveouts are also supported. And when
adding a new rproc device, the firmware is now loaded once not
twice. But there is
From: Sjur Brændeland
Support virtio configuration space and device status and
feature negotiation with remote device. This virtio device
can now access the resource table in shared memory.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c |3 --
drivers/remoteproc/
From: Sjur Brændeland
Simplify hanling of max_notifyid by simply counting the
number of vrings.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 20 +---
1 files changed, 5 insertions(+), 15 deletions(-)
diff --git a/drivers/remoteproc/remoteproc_cor
From: Sjur Brændeland
Call enable_iommu from rproc_boot and disable_iommu from rproc_shutdown.
This make it simpler to keep enable/disable in balance.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c | 22 --
1 files changed, 12 insertions(+), 10 de
From: Sjur Brændeland
Add function find_rsc_table_va to firmware ops. This function
returns the location of the resource table in shared memory
after loading.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_elf_loader.c | 17 -
drivers/remoteproc/remoteproc_i
From: Sjur Brændeland
Free pending output buffers from the virtio out-queue when
host has acknowledged port_close. Also removed WARN_ON()
in remove_port_data().
Signed-off-by: Sjur Brændeland
---
Resending, this time including a proper "Subject"...
--
Hi Amit,
Note: This patch is compile tes
>From 0ce16d6a0270daebd9972e94a834034a093228b0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sjur=20Br=C3=A6ndeland?=
Date: Wed, 7 Nov 2012 12:20:07 +0100
Subject: [PATCH] virtio_console:Free buffers from out-queue upon close
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-En
From: Sjur Brændeland
Free the allocated scatter list if send_pages fails in function
port_splice_write.
Signed-off-by: Sjur Brændeland
---
drivers/char/virtio_console.c |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/char/virtio_console.c b/drivers/char/virti
From: Sjur Brændeland
Add a simple serial connection driver called
VIRTIO_ID_RPROC_SERIAL (11) for communicating with a
remote processor in an asymmetric multi-processing
configuration.
This implementation reuses the existing virtio_console
implementation, and adds support for DMA allocation
of
From: Sjur Brændeland
Refactoring the splice functionality by unifying the approach for
sending scatter-lists and regular buffers. This simplifies
buffer handling and reduces code size. Splice will now allocate
a port_buffer and send_buf() and free_buf() can always be used
for any buffer.
Signed
From: Sjur Brændeland
Avoid the more cpu expensive kzalloc when allocating buffers.
Originally kzalloc was intended for isolating the guest from
the host by not sending random guest data to the host. But device
isolation is not yet in place so kzalloc is not really needed.
Signed-off-by: Sjur Br
From: Sjur Brændeland
This patch-set introduces a new virtio type "rproc_serial" for communicating
with remote processors over shared memory. The driver depends on the
the remoteproc framework. As preparation for introducing "rproc_serial"
I've done a refactoring of the transmit buffer handling.
From: Sjur Brændeland
Skip initializing the receive buffers.
Signed-off-by: Sjur Brændeland
---
drivers/char/virtio_console.c |1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index faedd2c..e7d8787 100644
---
From: Sjur Brændeland
Add a simple serial connection driver called
VIRTIO_ID_RPROC_SERIAL (11) for communicating with a
remote processor in an asymmetric multi-processing
configuration.
This implementation reuses the existing virtio_console
implementation, and adds support for DMA allocation
of
From: Sjur Brændeland
This merge reduces code size by unifying the approach for
sending scatter-lists and regular buffers. Any type of
write operation (splice, write, put_chars) will now allocate
a port_buffer and send_buf() and free_buf() can always be used.
Signed-off-by: Sjur Brændeland
cc:
From: Sjur Brændeland
I thought rebasing rproc_serial to linux-next was going to be trivial.
But when starting the merge I realized that I had to refactor the
the patches from Masami Hiramatsu. The splice support has the same issue
as I faced, with different type of buffers in the out_vq.
So I e
From: Sjur Brændeland
Add a simple serial connection driver called
VIRTIO_ID_RPROC_SERIAL (11) for communicating with a
remote processor in an asymmetric multi-processing
configuration.
This implementation reuses the existing virtio_console
implementation, and adds support for DMA allocation
of
From: Sjur Brændeland
Add a simple serial connection driver called
VIRTIO_ID_RPROC_SERIAL (11) for communicating with a
remote processor in an asymmetric multi-processing
configuration.
This implementation reuses the existing virtio_console
implementation, and adds support for DMA allocation
of
From: Sjur Brændeland
Add support for the STE modem shared memory driver.
This driver hooks into the remoteproc framework
in order to manage configuration and the virtio
devices.
This driver adds custom firmware handlers, because
STE modem uses a custom firmware layout.
Signed-off-by: Sjur Bræn
From: Sjur Brændeland
Add a simple serial connection driver called
VIRTIO_ID_RPROC_SERIAL (0xB) for communicating with a
remote processor in an asymmetric multi-processing
configuration.
This implementation reuses the existing virtio_console
implementation, and adds support for DMA allocation
of
From: Sjur Brændeland
Add support for the STE modem shared memory driver.
This driver hooks into the remoteproc framework
in order to manage configuration and the virtio
devices.
This driver adds custom firmware handlers, because
STE modem uses a custom firmware layout.
Signed-off-by: Sjur Bræn
From: Sjur Brændeland
Some of the rproc drivers needs to know the range
of the notification IDs used for notifying the device.
Export a variable in struct rproc holding the
largest allocated notification id.
Signed-off-by: Sjur Brændeland
---
Changes since v2:
Use idr_for_each() instead of nes
From: Sjur Brændeland
Add support for the STE modem shared memory driver.
This driver hooks into the remoteproc framework
in order to manage configuration and the virtio
devices.
This driver adds custom firmware handlers, because
STE modem uses a custom firmware layout.
Signed-off-by: Sjur Bræn
From: Sjur Brændeland
Some of the rproc drivers needs to know the range
of the notification IDs used for notifying the device.
Export a variable in struct rproc holding the
largest allocated notification id.
Signed-off-by: Sjur Brændeland
---
cc: Linus Walleij
cc: linux-kernel@vger.kernel.org
From: Sjur Brændeland
Add a virtio remoteproc serial driver: VIRTIO_ID_RPROC_SERIAL (0xB)
for communicating with a remote processor in an asymmetric
multi-processing configuration.
The virtio remoteproc serial driver reuses the existing virtio_console
implementation, and adds support for DMA all
From: Sjur Brændeland
Remoteproc relies on HAS_DMA, add this dependency in Kconfig.
Signed-off-by: Sjur Brændeland
---
cc: linux-kernel@vger.kernel.org
cc: Rusty Russell
drivers/remoteproc/Kconfig |1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/remoteproc/Kconfig b/drivers/rem
From: Sjur Brændeland
Add a virtio remoteproc serial driver: VIRTIO_ID_RPROC_SERIAL (0xB)
for communicating with a remote processor in an asymmetric
multi-processing configuration.
The virtio remoteproc serial driver reuses the existing virtio_console
implementation, and adds support for DMA all
From: Sjur Brændeland
Add the feature VIRTIO_CONSOLE_F_NO_HVC. With this bit set
only port-devices are created. The console port and
port control virtio-queues are not created.
The console port is not suited for communicating
to a remote processor because of it's blocking behavior.
But the port-
From: Sjur Brændeland
Add feature VIRTIO_CONSOLE_F_DMA_MEM. If the architecture has
DMA support and this feature bit is set, the virtio data buffers
will be allocated from DMA memory. If the device requests
the feature VIRTIO_CONSOLE_F_DMA_MEM, but the architecture
don't support DMA the driver's
From: Sjur Brændeland
Fix panic in virtio.c when CONFIG_DEBUG_SLAB is set.
device_unregister() drops reference to device so put_device()
could invoke release callback. In this case the release
callback will free the device. Make sure we don't access
device after unregister by fetching the device
From: Sjur Brændeland
Add the feature VIRTIO_CONSOLE_F_NO_HVC. With this bit set
only port-devices are created. The console port and
port control virtio-queues are not created.
The console port is not suited for communicating
to a remote processor because of it's blocking behavior.
But the port-
From: Sjur Brændeland
Add feature VIRTIO_CONSOLE_F_DMA_MEM. If the architecture has
DMA support and this feature bit is set, the virtio data buffers
will be allocated from DMA memory.
This is needed for using virtio_console from the remoteproc
framework.
Signed-off-by: Sjur Brændeland
cc: Rust
From: Sjur Brændeland
Fix panic in virtio.c when CONFIG_DEBUG_SLAB is set.
Use device_del() and put_device() instead of
device_unregister(), and access device data before
calling put_device().
Signed-off-by: Sjur Brændeland
cc: Guzman Lugo, Fernadndo
cc: Michael S. Tsirkin
cc: virtualizat...
From: Sjur Brændeland
Add support for the STE modem shared memory driver.
This driver hooks into the remoteproc framework
in order to manage configuration and the virtio
devices.
When this platform device driver is probed, a
character device is added. This character device
is used to start and s
From: Sjur Brændeland
Add an API for subscribing to and generating kicks
(interrupts) to the modem.
Signed-off-by: Sjur Brændeland
cc: Linus Walleij
cc: Arun Murthy
---
include/linux/modem_kick.h | 126
1 files changed, 126 insertions(+), 0 delet
From: Sjur Brændeland
Add a API for modem power control.
Signed-off-by: Sjur Brændeland
cc: Linus Walleij
cc: Arun Murthy
---
include/linux/modem_ctrl.h | 61
1 files changed, 61 insertions(+), 0 deletions(-)
create mode 100644 include/linux/mo
From: Sjur Brændeland
Some of the rproc drivers needs to know the range
of the notification IDs used for notifying the device.
Export a variable in struct rproc holding the
largest allocated notification id.
Signed-off-by: Sjur Brændeland
---
drivers/remoteproc/remoteproc_core.c |3 +++
in
74 matches
Mail list logo