1 From c2f4b644a80609291b88623dd6f9cbea144cc04f Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.org>
3 Date: Mon, 24 Sep 2018 18:26:02 +0100
4 Subject: [PATCH] staging: vc04_services: Support sending data to MMAL
7 Add the ability to send data to ports. This only supports
8 zero copy mode as the required bulk transfer setup calls
11 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
13 .../vc04_services/vchiq-mmal/mmal-vchiq.c | 18 +++++++++++++-----
14 1 file changed, 13 insertions(+), 5 deletions(-)
16 --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
17 +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
18 @@ -419,11 +419,19 @@ buffer_from_host(struct vchiq_mmal_insta
19 m.u.buffer_from_host.buffer_header.data =
20 (u32)(unsigned long)buf->buffer;
21 m.u.buffer_from_host.buffer_header.alloc_size = buf->buffer_size;
22 - m.u.buffer_from_host.buffer_header.length = 0; /* nothing used yet */
23 - m.u.buffer_from_host.buffer_header.offset = 0; /* no offset */
24 - m.u.buffer_from_host.buffer_header.flags = 0; /* no flags */
25 - m.u.buffer_from_host.buffer_header.pts = MMAL_TIME_UNKNOWN;
26 - m.u.buffer_from_host.buffer_header.dts = MMAL_TIME_UNKNOWN;
27 + if (port->type == MMAL_PORT_TYPE_OUTPUT) {
28 + m.u.buffer_from_host.buffer_header.length = 0;
29 + m.u.buffer_from_host.buffer_header.offset = 0;
30 + m.u.buffer_from_host.buffer_header.flags = 0;
31 + m.u.buffer_from_host.buffer_header.pts = MMAL_TIME_UNKNOWN;
32 + m.u.buffer_from_host.buffer_header.dts = MMAL_TIME_UNKNOWN;
34 + m.u.buffer_from_host.buffer_header.length = buf->length;
35 + m.u.buffer_from_host.buffer_header.offset = 0;
36 + m.u.buffer_from_host.buffer_header.flags = buf->mmal_flags;
37 + m.u.buffer_from_host.buffer_header.pts = buf->pts;
38 + m.u.buffer_from_host.buffer_header.dts = buf->dts;
41 /* clear buffer type specific data */
42 memset(&m.u.buffer_from_host.buffer_header_type_specific, 0,