1 From a77684e90a4a020e3ead51993aaf76f6d7606830 Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.org>
3 Date: Tue, 25 Jun 2019 00:29:44 +0100
4 Subject: [PATCH 683/782] staging: vcsm-cma: Remove cache manipulation ioctl
7 The cache flushing ioctls are used by the Pi3 HEVC hw-assisted
8 decoder as it needs finer grained flushing control than dma_ops
10 These cache calls are not present for ARM64, therefore disable
11 them. We are not actively supporting 64bit kernels at present,
12 and the use case of the HEVC decoder is fairly limited.
14 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
16 drivers/staging/vc04_services/vc-sm-cma/vc_sm.c | 8 ++++++++
17 1 file changed, 8 insertions(+)
19 --- a/drivers/staging/vc04_services/vc-sm-cma/vc_sm.c
20 +++ b/drivers/staging/vc04_services/vc-sm-cma/vc_sm.c
21 @@ -1259,6 +1259,7 @@ error:
26 /* Converts VCSM_CACHE_OP_* to an operating function. */
27 static void (*cache_op_to_func(const unsigned int cache_op))
28 (const void*, const void*)
29 @@ -1351,6 +1352,7 @@ out:
35 static long vc_sm_cma_ioctl(struct file *file, unsigned int cmd,
37 @@ -1448,6 +1450,7 @@ static long vc_sm_cma_ioctl(struct file
43 * Flush/Invalidate the cache for a given mapping.
44 * Blocks must be pinned (i.e. accessed) before this call.
45 @@ -1455,6 +1458,7 @@ static long vc_sm_cma_ioctl(struct file
46 case VC_SM_CMA_CMD_CLEAN_INVALID2:
47 ret = vc_sm_cma_clean_invalid2(cmdnr, arg);
52 pr_debug("[%s]: cmd %x tgid %u, owner %u\n", __func__, cmdnr,
53 @@ -1467,6 +1471,7 @@ static long vc_sm_cma_ioctl(struct file
59 struct vc_sm_cma_ioctl_clean_invalid2_32 {
61 @@ -1496,14 +1501,17 @@ static long vc_sm_cma_compat_ioctl(struc
67 /* Device operations that we managed in this driver. */
68 static const struct file_operations vc_sm_ops = {
70 .unlocked_ioctl = vc_sm_cma_ioctl,
73 .compat_ioctl = vc_sm_cma_compat_ioctl,
76 .open = vc_sm_cma_open,
77 .release = vc_sm_cma_release,