mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-06-02 04:46:16 +02:00
8299d1f057
Rebased RPi foundation patches on linux 5.10.59, removed applied and reverted patches, wireless patches and defconfig patches. bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 4B v1.1 4G bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
43 lines
1.9 KiB
Diff
43 lines
1.9 KiB
Diff
From a15278923fdaa73cdf1bef1ec0f1c973c64dbb43 Mon Sep 17 00:00:00 2001
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|
Date: Mon, 24 Sep 2018 18:26:02 +0100
|
|
Subject: [PATCH] staging: vc04_services: Support sending data to MMAL
|
|
ports
|
|
|
|
Add the ability to send data to ports. This only supports
|
|
zero copy mode as the required bulk transfer setup calls
|
|
are not done.
|
|
|
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|
---
|
|
.../vc04_services/vchiq-mmal/mmal-vchiq.c | 18 +++++++++++++-----
|
|
1 file changed, 13 insertions(+), 5 deletions(-)
|
|
|
|
--- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
|
|
+++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
|
|
@@ -422,11 +422,19 @@ buffer_from_host(struct vchiq_mmal_insta
|
|
m.u.buffer_from_host.buffer_header.data =
|
|
(u32)(unsigned long)buf->buffer;
|
|
m.u.buffer_from_host.buffer_header.alloc_size = buf->buffer_size;
|
|
- m.u.buffer_from_host.buffer_header.length = 0; /* nothing used yet */
|
|
- m.u.buffer_from_host.buffer_header.offset = 0; /* no offset */
|
|
- m.u.buffer_from_host.buffer_header.flags = 0; /* no flags */
|
|
- m.u.buffer_from_host.buffer_header.pts = MMAL_TIME_UNKNOWN;
|
|
- m.u.buffer_from_host.buffer_header.dts = MMAL_TIME_UNKNOWN;
|
|
+ if (port->type == MMAL_PORT_TYPE_OUTPUT) {
|
|
+ m.u.buffer_from_host.buffer_header.length = 0;
|
|
+ m.u.buffer_from_host.buffer_header.offset = 0;
|
|
+ m.u.buffer_from_host.buffer_header.flags = 0;
|
|
+ m.u.buffer_from_host.buffer_header.pts = MMAL_TIME_UNKNOWN;
|
|
+ m.u.buffer_from_host.buffer_header.dts = MMAL_TIME_UNKNOWN;
|
|
+ } else {
|
|
+ m.u.buffer_from_host.buffer_header.length = buf->length;
|
|
+ m.u.buffer_from_host.buffer_header.offset = 0;
|
|
+ m.u.buffer_from_host.buffer_header.flags = buf->mmal_flags;
|
|
+ m.u.buffer_from_host.buffer_header.pts = buf->pts;
|
|
+ m.u.buffer_from_host.buffer_header.dts = buf->dts;
|
|
+ }
|
|
|
|
/* clear buffer type sepecific data */
|
|
memset(&m.u.buffer_from_host.buffer_header_type_specific, 0,
|