[PATCH] staging: bcm2835-camera: Remove explicit cache flush operations

Michael Zoran mzoran at crowfest.net
Wed Mar 8 04:21:51 PST 2017

The camera code has an explicit cache flush operation
which is not portable.  Now that vc04_services is using portable
DMA APIs that already do the cache flushing, explicit flushes
should no longer be needed.

The one call to __cpuc_flush_dcache_area has been removed.

	The offical V2 camera for the RPI was tested on a RPI 3
	running in 32 bit mode(armhf).  The cheese application
	and ffmpeg was used to view and stream video from the
	camera.  Nothing new seems to be broken without the
	cache flushing.

Signed-off-by: Michael Zoran <mzoran at crowfest.net>
 drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
index ca6e9ebc0e81..a57eb829c353 100644
--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
@@ -276,10 +276,6 @@ static int bulk_receive(struct vchiq_mmal_instance *instance,
 	msg_context->u.bulk.dts = msg->u.buffer_from_host.buffer_header.dts;
 	msg_context->u.bulk.pts = msg->u.buffer_from_host.buffer_header.pts;
-	// only need to flush L1 cache here, as VCHIQ takes care of the L2
-	// cache.
-	__cpuc_flush_dcache_area(msg_context->u.bulk.buffer->buffer, rd_len);
 	/* queue the bulk submission */
 	ret = vchi_bulk_queue_receive(instance->handle,

More information about the linux-rpi-kernel mailing list