Commit 1a264936 authored by Dave Stevenson's avatar Dave Stevenson Committed by popcornmix
Browse files

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: default avatarDave Stevenson <dave.stevenson@raspberrypi.org>
parent dd6c143d
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -427,11 +427,19 @@ buffer_from_host(struct vchiq_mmal_instance *instance,
	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 */
	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,