diff options
Diffstat (limited to 'recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch')
-rw-r--r-- | recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch b/recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch new file mode 100644 index 0000000..348a536 --- /dev/null +++ b/recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch | |||
@@ -0,0 +1,83 @@ | |||
1 | From 3f3e374391ddc5e605f604e5bcdf95e29b1bcc39 Mon Sep 17 00:00:00 2001 | ||
2 | From: Eric Nelson <eric.nelson@boundarydevices.com> | ||
3 | Date: Fri, 20 Jun 2014 19:42:38 -0700 | ||
4 | Subject: [PATCH] IOGetVirtMem returns -1 (MAP_FAILED) on failure | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> | ||
9 | --- | ||
10 | vpu/vpu_io.c | 2 +- | ||
11 | vpu/vpu_io.h | 2 ++ | ||
12 | vpu/vpu_lib.c | 8 ++++---- | ||
13 | 3 files changed, 7 insertions(+), 5 deletions(-) | ||
14 | |||
15 | diff --git a/vpu/vpu_io.c b/vpu/vpu_io.c | ||
16 | index 8cbb571..14759da 100644 | ||
17 | --- a/vpu/vpu_io.c | ||
18 | +++ b/vpu/vpu_io.c | ||
19 | @@ -265,7 +265,7 @@ int IOSystemInit(void *callback) | ||
20 | goto err; | ||
21 | } | ||
22 | |||
23 | - if (IOGetVirtMem(&bit_work_addr) <= 0) | ||
24 | + if (IOGetVirtMem(&bit_work_addr) == -1) | ||
25 | goto err; | ||
26 | #endif | ||
27 | UnlockVpu(vpu_semap); | ||
28 | diff --git a/vpu/vpu_io.h b/vpu/vpu_io.h | ||
29 | index 392e04a..1e6340d 100644 | ||
30 | --- a/vpu/vpu_io.h | ||
31 | +++ b/vpu/vpu_io.h | ||
32 | @@ -64,6 +64,8 @@ int IOSystemInit(void *callback); | ||
33 | int IOSystemShutdown(void); | ||
34 | int IOGetPhyMem(vpu_mem_desc * buff); | ||
35 | int IOFreePhyMem(vpu_mem_desc * buff); | ||
36 | + | ||
37 | +/* returns -1 ((int)MAP_FAILED) on failure */ | ||
38 | int IOGetVirtMem(vpu_mem_desc * buff); | ||
39 | int IOFreeVirtMem(vpu_mem_desc * buff); | ||
40 | int IOGetVShareMem(int size); | ||
41 | diff --git a/vpu/vpu_lib.c b/vpu/vpu_lib.c | ||
42 | index 1fb731b..7a7f42d 100644 | ||
43 | --- a/vpu/vpu_lib.c | ||
44 | +++ b/vpu/vpu_lib.c | ||
45 | @@ -1764,7 +1764,7 @@ RetCode vpu_EncStartOneFrame(EncHandle handle, EncParam * param) | ||
46 | err_msg("Unable to obtain physical mem\n"); | ||
47 | return RETCODE_FAILURE; | ||
48 | } | ||
49 | - if (IOGetVirtMem(&pEncInfo->picParaBaseMem) <= 0) { | ||
50 | + if (IOGetVirtMem(&pEncInfo->picParaBaseMem) == -1) { | ||
51 | IOFreePhyMem(&pEncInfo->picParaBaseMem); | ||
52 | pEncInfo->picParaBaseMem.phy_addr = 0; | ||
53 | err_msg("Unable to obtain virtual mem\n"); | ||
54 | @@ -2982,7 +2982,7 @@ RetCode vpu_DecGetInitialInfo(DecHandle handle, DecInitialInfo * info) | ||
55 | UnlockVpu(vpu_semap); | ||
56 | return RETCODE_FAILURE; | ||
57 | } | ||
58 | - if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) { | ||
59 | + if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) { | ||
60 | IOFreePhyMem(&pDecInfo->userDataBufMem); | ||
61 | pDecInfo->userDataBufMem.phy_addr = 0; | ||
62 | err_msg("Unable to obtain virtual mem\n"); | ||
63 | @@ -4017,7 +4017,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param) | ||
64 | UnlockVpu(vpu_semap); | ||
65 | return RETCODE_FAILURE; | ||
66 | } | ||
67 | - if (IOGetVirtMem(&pDecInfo->picParaBaseMem) <= 0) { | ||
68 | + if (IOGetVirtMem(&pDecInfo->picParaBaseMem) == -1) { | ||
69 | IOFreePhyMem(&pDecInfo->picParaBaseMem); | ||
70 | pDecInfo->picParaBaseMem.phy_addr = 0; | ||
71 | err_msg("Unable to obtain virtual mem\n"); | ||
72 | @@ -4057,7 +4057,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param) | ||
73 | UnlockVpu(vpu_semap); | ||
74 | return RETCODE_FAILURE; | ||
75 | } | ||
76 | - if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) { | ||
77 | + if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) { | ||
78 | IOFreePhyMem(&pDecInfo->userDataBufMem); | ||
79 | pDecInfo->userDataBufMem.phy_addr = 0; | ||
80 | err_msg("Unable to obtain virtual mem\n"); | ||
81 | -- | ||
82 | 1.9.1 | ||
83 | |||