Project

General

Profile

OMAP4DucatiCamera » History » Version 37

Wolfgang Wiedmeyer, 05/25/2017 04:55 PM
add omappedia link

1 33 Paul Kocialkowski
h1. OMAP4 Ducati Camera
2 2 Denis 'GNUtoo' Carikli
3 35 Wolfgang Wiedmeyer
The Galaxy Nexus chip has a camera that is accessible through the Ducati microcontroller.
4 36 Wolfgang Wiedmeyer
Corresponding feature request: #351
5 3 Denis 'GNUtoo' Carikli
6 37 Wolfgang Wiedmeyer
"documentation at omappedia":http://omappedia.org/wiki/Ducati_For_Dummies#Camera
7
8 9 Denis 'GNUtoo' Carikli
h2. Plan:
9 10 Denis 'GNUtoo' Carikli
10 9 Denis 'GNUtoo' Carikli
We don't support YV12 in the gralloc and in the software libgl yet.
11 34 Wolfgang Wiedmeyer
There are several approaches to solve the issue:
12 10 Denis 'GNUtoo' Carikli
13 9 Denis 'GNUtoo' Carikli
h3. Approach 1: Add support for it
14
15
Long and complicated
16
17 11 Denis 'GNUtoo' Carikli
h3. Approach 2: Change format:
18 9 Denis 'GNUtoo' Carikli
19
The Camera supports the following formats:
20 27 Denis 'GNUtoo' Carikli
compile,push, and run the omap4 camera_test program with the "F" argument:
21 9 Denis 'GNUtoo' Carikli
Here for the back camera:
22
<pre>
23
   Choice: E
24
E
25
E
26
	Supported Cameras: (null)
27
	Supported Picture Sizes: 2592x1944,2592x1728,2592x1458,2048x1536,1600x1200,1280x1024,1152x864,1280x960,640x480,320x240
28
	Supported Picture Formats: yuv420sp,yuv420p,yuv422i-yuyv,rgb565,raw,jpeg
29
	Supported Preview Sizes: 1920x1080,1280x720,960x720,800x480,720x576,720x480,768x576,640x480,320x240,352x288,240x160,176x144,128x96
30
	Supported Preview Formats: yuv420sp,yuv420p,yuv422i-yuyv,yuv420p
31
	Supported Preview Frame Rates: 30,15
32
	Supported Thumbnail Sizes: 640x480,160x120,200x120,320x240,512x384,352x144,176x144,96x96,0x0
33
	Supported Whitebalance Modes: auto,daylight,cloudy-daylight,fluorescent,incandescent,
34
	Supported Effects: none,negative,solarize,sepia,mono,whiteboard,blackboard,aqua,posterize
35
	Supported Scene Modes: auto,action,night,party,sunset
36
	Supported Focus Modes: continuous-video,auto,macro,infinity,infinity,continuous-picture
37
	Supported Antibanding Options: auto,50hz,60hz,off
38
	Supported Flash Modes: off,on,auto,torch
39
	Supported Focus Areas: 10
40
	Focus Distances: Infinity,Infinity,Infinity 
41
</pre>
42 1 Denis 'GNUtoo' Carikli
43 34 Wolfgang Wiedmeyer
h3. Approach 3: Workaround
44 11 Denis 'GNUtoo' Carikli
45 10 Denis 'GNUtoo' Carikli
<pre>
46
diff --git a/libs/ui/GraphicBufferAllocator.cpp b/libs/ui/GraphicBufferAllocator.cpp
47
index f7c4f4e..766a98f 100644
48
--- a/libs/ui/GraphicBufferAllocator.cpp
49
+++ b/libs/ui/GraphicBufferAllocator.cpp
50
@@ -99,8 +99,8 @@ status_t GraphicBufferAllocator::alloc(uint32_t w, uint32_t h, PixelFormat forma
51
     // we have a h/w allocator and h/w buffer is requested
52
     status_t err; 
53
 
54
-#ifdef MISSING_EGL_PIXEL_FORMAT_YV12
55
-    if (format == HAL_PIXEL_FORMAT_YV12) {
56
+#if 1
57
+    if (format == HAL_PIXEL_FORMAT_YV12 || format == 0x100 ) {
58
        format = HAL_PIXEL_FORMAT_RGBX_8888;
59
     }
60
     if (usage & GRALLOC_USAGE_EXTERNAL_DISP) {
61 1 Denis 'GNUtoo' Carikli
diff --git a/media/libstagefright/colorconversion/SoftwareRenderer.cpp b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
62 28 Denis 'GNUtoo' Carikli
index 2ce8fa7..abe68dd 100644
63 1 Denis 'GNUtoo' Carikli
--- a/media/libstagefright/colorconversion/SoftwareRenderer.cpp
64 10 Denis 'GNUtoo' Carikli
+++ b/media/libstagefright/colorconversion/SoftwareRenderer.cpp
65 28 Denis 'GNUtoo' Carikli
@@ -62,7 +62,7 @@ SoftwareRenderer::SoftwareRenderer(
66 10 Denis 'GNUtoo' Carikli
     size_t bufWidth, bufHeight;
67
 
68
     switch (mColorFormat) {
69
-#ifndef MISSING_EGL_PIXEL_FORMAT_YV12
70
+#if 0
71
         case OMX_COLOR_FormatYUV420Planar:
72
         case OMX_TI_COLOR_FormatYUV420PackedSemiPlanar:
73
         {
74
</pre>
75 3 Denis 'GNUtoo' Carikli
76
h2. Research
77 4 Denis 'GNUtoo' Carikli
78
Using the camera application produces the following traces:
79
<pre>
80
[...]
81
V/camera  ( 7834): Preview size is 960x720
82
V/MediaProfilesJNI( 7834): native_get_num_image_encoding_quality_levels
83
V/MediaProfilesJNI( 7834): native_get_image_encoding_quality_level
84
V/MediaProfilesJNI( 7834): native_get_image_encoding_quality_level
85
V/MediaProfilesJNI( 7834): native_get_image_encoding_quality_level
86
D/CameraSettings( 7834): Parameters: [antibanding-values=auto,50hz,60hz,off, antibanding=auto, auto-convergence-mode=, auto-convergence=, auto-exposure-lock-supported=true, auto-exposure-lock=false, auto-whitebalance-lock-supported=true, auto-whitebalance-lock=false, brightness=50, camera-mode=0, camera-name=S5K4E1GA, contrast=100, current-iso=100, effect-values=none,negative,solarize,sepia,mono,whiteboard,blackboard,aqua,posterize, effect=none, exif-make=Samsung, exif-model=Galaxy Nexus, exposure-compensation-step=0.1, exposure-compensation=0, exposure-mode-values=auto,night,backlighting,spotlight,sports,snow,beach,aperture,small-aperture,, exposure=auto, flash-mode-values=off,on,auto,torch, flash-mode=auto, focal-length=3.43, focus-distances=Infinity,Infinity,Infinity, focus-mode-values=continuous-video,auto,macro,infinity,infinity,continuous-picture, focus-mode=continuous-picture, gbce=disable, horizontal-view-angle=54.8, ipp-values=off,ldc,nsf,ldc-nsf, ipp=ldc-nsf, iso-mode-values=auto,100,200,400,800, iso=auto, jpeg-quality=95, jpeg-thumbnail-height=120, jpeg-thumbnail-quality=60, jpeg-thumbnail-size-values=640x480,160x120,200x120,320x240,512x384,352x144,176x144,96x96,0x0, jpeg-thumbnail-width=160, manual-convergence-values=, max-exposure-compensation=30, max-framerate=30, max-num-detected-faces-hw=35, max-num-detected-faces-sw=0, max-num-focus-areas=10, max-num-metering-areas=10, max-zoom=60, min-exposure-compensation=-30, min-framerate=15, picture-format-values=yuv420sp,yuv420p,yuv422i-yuyv,rgb565,raw,jpeg, picture-format=jpeg, picture-size-values=2592x1944,2592x1728,2592x1458,2048x1536,1600x1200,1280x1024,1152x864,1280x960,640x480,320x240, picture-size=2592x1944, preview-format-values=yuv420sp,yuv420p,yuv422i-yuyv,yuv420p, preview-format=yuv420sp, preview-fps-range-values=(15000,15000),(15000,30000),(24000,30000), preview-fps-range=15000,30000, preview-frame-rate-values=30,15, preview-frame-rate=30, preview-size-values=1920x1080,1280x720,960x720,800x480,720x576,720x480,768x576,640x480,320x240,352x288,240x160,176x144,128x96, preview-size=960x720, recording-hint=false, s3d-supported=, s3d2d-preview-values=, s3d2d-preview=, saturation=100, scene-mode-values=auto,action,night,party,sunset, scene-mode=auto, sensor-orientation-values=, sensor-orientation=, sharpness=100, smooth-zoom-supported=true, vertical-view-angle=42.5, video-frame-format=OMX_TI_COLOR_FormatYUV420PackedSemiPlanar, video-snapshot-supported=true, video-stabilization-supported=true, video-stabilization=false, whitebalance-values=auto,daylight,cloudy-daylight,fluorescent,incandescent,, whitebalance=auto, zoom-ratios=100,104,107,111,115,119,123,127,132,137,141,146,152,157,162,168,174,180,187,193,200,207,214,222,230,238,246,255,264,273,283,293,303,314,325,336,348,361,373,386,400,414,429,444,459,476,492,510,528,546,566,586,606,628,650,673,696,721,746,773,800, zoom-supported=true, zoom=0]
87
V/camera  ( 7834): startPreview
88
I/CameraHAL( 7751): NULL ANativeWindow passed to setPreviewWindow
89
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 2130706507, pParamStruct = 0x41b5ebd4
90
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
91
D/DOMX    ( 7751): TRACE: Recd. omx message
92
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
93
D/DOMX    ( 7751): EXIT: 
94
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
95
D/DOMX    ( 7751): EXIT: eError: 0
96
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 2130706506, pParamStruct = 0x41b5ebd0
97
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
98
D/DOMX    ( 7751): TRACE: Recd. omx message
99
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
100
D/DOMX    ( 7751): EXIT: 
101
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
102
D/DOMX    ( 7751): EXIT: eError: 0
103
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 2130706548, pParamStruct = 0x41b5ebc8
104
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
105
D/DOMX    ( 7751): TRACE: Recd. omx message
106
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
107
D/DOMX    ( 7751): EXIT: 
108
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
109
D/DOMX    ( 7751): EXIT: eError: 0
110
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 2130706469, pParamStruct = 0x41b5ebd4
111
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
112
D/DOMX    ( 7751): TRACE: Recd. omx message
113
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
114
D/DOMX    ( 7751): EXIT: 
115
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
116
D/DOMX    ( 7751): EXIT: eError: 0
117
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nConfigIndex = 2130706509, pConfigStruct = 0x41b5ebbc
118
D/DOMX    ( 7751): ENTER: 
119
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetConfig:496
120
D/DOMX    ( 7751): TRACE: Recd. omx message
121
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
122
D/DOMX    ( 7751): EXIT: 
123
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
124
D/DOMX    ( 7751): EXIT: eError: 0
125
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 2130706515, pParamStruct = 0x41b5ebd0
126
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
127
D/DOMX    ( 7751): TRACE: Recd. omx message
128
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
129
D/DOMX    ( 7751): EXIT: 
130
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
131
D/DOMX    ( 7751): EXIT: eError: 0
132
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 2130706514, pParamStruct = 0x41b5ebcc
133
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
134
D/DOMX    ( 7751): TRACE: Recd. omx message
135
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
136
D/DOMX    ( 7751): EXIT: 
137
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
138
D/DOMX    ( 7751): EXIT: eError: 0
139
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nConfigIndex = 117440522, pConfigStruct = 0x41b5ebbc
140
D/DOMX    ( 7751): ENTER: 
141
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetConfig:564
142
D/DOMX    ( 7751): TRACE: Recd. omx message
143
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
144
D/DOMX    ( 7751): EXIT: 
145
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
146
D/DOMX    ( 7751): EXIT: eError: 0
147
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nConfigIndex = 117440522, pConfigStruct = 0x41b5ebbc
148
D/DOMX    ( 7751): ENTER: 
149
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetConfig:496
150
D/DOMX    ( 7751): TRACE: Recd. omx message
151
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
152
D/DOMX    ( 7751): EXIT: 
153
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
154
D/DOMX    ( 7751): EXIT: eError: 0
155
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x41b5eb48
156
D/DOMX    ( 7751): ENTER: 
157
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
158
D/DOMX    ( 7751): TRACE: Recd. omx message
159
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
160
D/DOMX    ( 7751): EXIT: 
161
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
162
D/DOMX    ( 7751): EXIT: eError: 0 index: 0x2000001
163
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 2130706522, pParamStruct = 0x41b5eb14
164
I/Process (  189): Sending signal. PID: 7834 SIG: 3
165
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
166
I/dalvikvm( 7834): threadid=3: reacting to signal 3
167
D/DOMX    ( 7751): TRACE: Recd. omx message
168
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
169
D/DOMX    ( 7751): EXIT: 
170
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
171
D/DOMX    ( 7751): EXIT: eError: 0
172
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x41b5eb48
173
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
174
D/DOMX    ( 7751): TRACE: Recd. omx message
175
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
176
D/DOMX    ( 7751): EXIT: 
177
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
178
D/DOMX    ( 7751): EXIT: eError: 0
179
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x41b5eb48
180
D/DOMX    ( 7751): ENTER: 
181
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
182
D/DOMX    ( 7751): TRACE: Recd. omx message
183
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
184
D/DOMX    ( 7751): EXIT: 
185
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
186
D/DOMX    ( 7751): EXIT: eError: 0 index: 0x2000001
187
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nConfigIndex = 117440523, pConfigStruct = 0x41b5ebc0
188
D/DOMX    ( 7751): ENTER: 
189
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetConfig:564
190
D/DOMX    ( 7751): TRACE: Recd. omx message
191
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
192
D/DOMX    ( 7751): EXIT: 
193
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
194
D/DOMX    ( 7751): EXIT: eError: 0
195
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nConfigIndex = 117440523, pConfigStruct = 0x41b5ebc0
196
D/DOMX    ( 7751): ENTER: 
197
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetConfig:496
198
D/DOMX    ( 7751): TRACE: Recd. omx message
199
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
200
D/DOMX    ( 7751): EXIT: 
201
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
202
D/DOMX    ( 7751): EXIT: eError: 0
203
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nConfigIndex = 117440523, pConfigStruct = 0x41b5ebc0
204
D/DOMX    ( 7751): ENTER: 
205
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetConfig:564
206
D/DOMX    ( 7751): TRACE: Recd. omx message
207
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
208
D/DOMX    ( 7751): EXIT: 
209
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
210
D/DOMX    ( 7751): EXIT: eError: 0
211
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x41b5eb48
212
D/DOMX    ( 7751): ENTER: 
213
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
214
D/DOMX    ( 7751): TRACE: Recd. omx message
215
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
216
D/DOMX    ( 7751): EXIT: 
217
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
218
D/DOMX    ( 7751): EXIT: eError: 0 index: 0x2000001
219
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 2130706522, pParamStruct = 0x41b5eb14
220
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
221
D/DOMX    ( 7751): TRACE: Recd. omx message
222
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
223
D/DOMX    ( 7751): EXIT: 
224
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
225
D/DOMX    ( 7751): EXIT: eError: 0
226
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x41b5eb48
227
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
228
D/DOMX    ( 7751): TRACE: Recd. omx message
229
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
230
D/DOMX    ( 7751): EXIT: 
231
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
232
D/DOMX    ( 7751): EXIT: eError: 0
233
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x41b5eb48
234
D/DOMX    ( 7751): ENTER: 
235
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
236
D/DOMX    ( 7751): TRACE: Recd. omx message
237
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
238
D/DOMX    ( 7751): EXIT: 
239
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
240
D/DOMX    ( 7751): EXIT: eError: 0 index: 0x2000001
241
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 2130706519, pParamStruct = 0x41b5ebfc
242
D/DOMX    ( 7751): ENTER: 
243
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
244
D/DOMX    ( 7751): TRACE: Recd. omx message
245
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
246
D/DOMX    ( 7751): EXIT: 
247
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
248
D/DOMX    ( 7751): EXIT: eError: 0 index: 0x7f000057
249
I/CameraHAL( 7751): Preview not started. Preview in progress flag set
250
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, eCmd = 2, nParam = 2, pCmdData = 0x0
251
D/DOMX    ( 7751): ENTER: 
252
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SendCommand:644
253
D/DOMX    ( 7751): TRACE: Recd. omx message
254
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
255
D/DOMX    ( 7751): EXIT: 
256
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
257
D/DOMX    ( 7751): EXIT: eError: 0
258
D/DOMX    ( 7751): TRACE: Recd. omx message
259
D/DOMX    ( 7751): ENTER: 
260
D/DOMX    ( 7751): TRACE: 
261
D/DOMX    ( 7751): **__**Got eventhandler from Remote Core succesffuly - values are : **__**
262
D/DOMX    ( 7751): TRACE: hComp :0x154e570,eEvent: 0x0,nData1: 0x2,nData2: 0x2,pEventData: 0x0
263
D/DOMX    ( 7751): TRACE: Just Before Entering Proxy Event handler call
264
D/DOMX    ( 7751): ENTER: hComponent=0x154e570, pCompPrv=0x1556240, eEvent=0x0, nData1=0x2, nData2=0x2, pEventData=0x0
265
D/DOMX    ( 7751): EXIT: eError: 0
266
D/DOMX    ( 7751): EXIT: 
267
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
268
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, eCmd = 0, nParam = 2, pCmdData = 0x0
269
D/DOMX    ( 7751): ENTER: 
270
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SendCommand:644
271
D/DOMX    ( 7751): TRACE: Recd. omx message
272
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
273
D/DOMX    ( 7751): EXIT: 
274
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
275
D/DOMX    ( 7751): EXIT: eError: 0
276
I/dalvikvm( 7834): Wrote stack traces to '/data/anr/traces.txt'
277
D/DOMX    ( 7751): TRACE: Recd. omx message
278
D/DOMX    ( 7751): ENTER: 
279
D/DOMX    ( 7751): TRACE: 
280
D/DOMX    ( 7751): **__**Got eventhandler from Remote Core succesffuly - values are : **__**
281
D/DOMX    ( 7751): TRACE: hComp :0x154e570,eEvent: 0x0,nData1: 0x0,nData2: 0x2,pEventData: 0x0
282
D/DOMX    ( 7751): TRACE: Just Before Entering Proxy Event handler call
283
D/DOMX    ( 7751): ENTER: hComponent=0x154e570, pCompPrv=0x1556240, eEvent=0x0, nData1=0x0, nData2=0x2, pEventData=0x0
284
D/DOMX    ( 7751): EXIT: eError: 0
285
D/DOMX    ( 7751): EXIT: 
286
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
287
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, eCmd = 0, nParam = 3, pCmdData = 0x0
288
D/DOMX    ( 7751): ENTER: 
289
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SendCommand:644
290
D/DOMX    ( 7751): TRACE: Recd. omx message
291
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
292
D/DOMX    ( 7751): TRACE: Recd. omx message
293
D/DOMX    ( 7751): ENTER: 
294
D/DOMX    ( 7751): EXIT: 
295
D/DOMX    ( 7751): TRACE: 
296
D/DOMX    ( 7751): **__**Got eventhandler from Remote Core succesffuly - values are : **__**
297
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
298
D/DOMX    ( 7751): TRACE: hComp :0x154e570,eEvent: 0x0,nData1: 0x0,nData2: 0x3,pEventData: 0x0
299
D/DOMX    ( 7751): EXIT: eError: 0
300
D/DOMX    ( 7751): TRACE: Just Before Entering Proxy Event handler call
301
D/DOMX    ( 7751): ENTER: hComponent=0x154e570, pCompPrv=0x1556240, eEvent=0x0, nData1=0x0, nData2=0x3, pEventData=0x0
302
D/DOMX    ( 7751): EXIT: eError: 0
303
D/DOMX    ( 7751): EXIT: 
304
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
305
V/camera  ( 7834): surfaceChanged. w=720. h=960
306
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x413a1ad8
307
D/DOMX    ( 7751): ENTER: 
308
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
309
D/DOMX    ( 7751): TRACE: Recd. omx message
310
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
311
D/DOMX    ( 7751): EXIT: 
312
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
313
D/DOMX    ( 7751): EXIT: eError: 0 index: 0x2000001
314
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x413a1ad8
315
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
316
D/DOMX    ( 7751): TRACE: Recd. omx message
317
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
318
D/DOMX    ( 7751): EXIT: 
319
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
320
D/DOMX    ( 7751): EXIT: eError: 0
321
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x413a1ad8
322
D/DOMX    ( 7751): ENTER: 
323
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
324
D/DOMX    ( 7751): TRACE: Recd. omx message
325
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
326
D/DOMX    ( 7751): EXIT: 
327
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
328
D/DOMX    ( 7751): EXIT: eError: 0 index: 0x2000001
329
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nConfigIndex = 117440523, pConfigStruct = 0x413a1b50
330
D/DOMX    ( 7751): ENTER: 
331
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetConfig:564
332
D/DOMX    ( 7751): TRACE: Recd. omx message
333
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
334
D/DOMX    ( 7751): EXIT: 
335
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
336
D/DOMX    ( 7751): EXIT: eError: 0
337
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nConfigIndex = 117440523, pConfigStruct = 0x413a1b50
338
D/DOMX    ( 7751): ENTER: 
339
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetConfig:496
340
D/DOMX    ( 7751): TRACE: Recd. omx message
341
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
342
D/DOMX    ( 7751): EXIT: 
343
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
344
D/DOMX    ( 7751): EXIT: eError: 0
345
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nConfigIndex = 117440523, pConfigStruct = 0x413a1b50
346
D/DOMX    ( 7751): ENTER: 
347
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetConfig:564
348
D/DOMX    ( 7751): TRACE: Recd. omx message
349
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
350
D/DOMX    ( 7751): EXIT: 
351
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
352
D/DOMX    ( 7751): EXIT: eError: 0
353
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x413a1ad8
354
D/DOMX    ( 7751): ENTER: 
355
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
356
D/DOMX    ( 7751): TRACE: Recd. omx message
357
D/DOMX    ( 7751): EXIT: 
358
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
359
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
360
D/DOMX    ( 7751): EXIT: eError: 0 index: 0x2000001
361
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x413a1ad8
362
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetParameter:348
363
D/DOMX    ( 7751): TRACE: Recd. omx message
364
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
365
D/DOMX    ( 7751): EXIT: 
366
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
367
D/DOMX    ( 7751): EXIT: eError: 0
368
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 33554433, pParamStruct = 0x413a1ad8
369
D/DOMX    ( 7751): ENTER: 
370
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
371
D/DOMX    ( 7751): TRACE: Recd. omx message
372
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
373
D/DOMX    ( 7751): EXIT: 
374
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
375
D/DOMX    ( 7751): EXIT: eError: 0 index: 0x2000001
376
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nConfigIndex = 2130706541, pConfigStruct = 0x413a1b58
377
D/DOMX    ( 7751): ENTER: 
378
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SetConfig:496
379
D/DOMX    ( 7751): TRACE: Recd. omx message
380
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
381
D/DOMX    ( 7751): EXIT: 
382
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
383
D/DOMX    ( 7751): EXIT: eError: 0
384
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, eCmd = 3, nParam = 2, pCmdData = 0x0
385
D/DOMX    ( 7751): ENTER: 
386
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_SendCommand:644
387
D/DOMX    ( 7751): TRACE: Recd. omx message
388
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
389
D/DOMX    ( 7751): EXIT: 
390
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
391
D/DOMX    ( 7751): EXIT: eError: 0
392
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 2130706545, pParamStruct = 0x413a1ba0
393
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
394
D/DOMX    ( 7751): EXIT: eError: 0
395
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nPortIndex = 0x2, pAppPrivate = 0x0, nSizeBytes = 1142784, pBuffer = 0x154a580
396
D/DOMX    ( 7751): TRACE: In UB, no. of buffers = 0
397
D/DOMX    ( 7751): TRACE: Preparing buffer to Remote Core...
398
D/DOMX    ( 7751): ENTER: 
399
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
400
D/DOMX    ( 7751): TRACE: Recd. omx message
401
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
402
D/DOMX    ( 7751): EXIT: 
403
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
404
D/DOMX    ( 7751): ERROR: [DBG] eError = 0, line 1037
405
D/DOMX    ( 7751): ENTER: 
406
D/DOMX    ( 7751): ENTER: 
407
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
408
D/DOMX    ( 7751): TRACE: Recd. omx message
409
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
410
D/DOMX    ( 7751): EXIT: 
411
D/DOMX    ( 7751): TRACE:  PROXY_UTIL Get Parameter Successful
412
D/DOMX    ( 7751): ENTER: 
413
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
414
D/DOMX    ( 7751): TRACE: Recd. omx message
415
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
416
D/DOMX    ( 7751): EXIT: 
417
D/DOMX    ( 7751): TRACE:  PROXY_UTIL Get Parameter Successful
418
D/DOMX    ( 7751): TRACE: Port Number: 2 :: NumOfLines 720
419
D/DOMX    ( 7751): EXIT: eError: 0
420
D/DOMX    ( 7751): ERROR: [DBG] eError = 0, line 1047
421
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570, pCompPrv = 0x1556240, nParamIndex = 2130706550, pParamStruct = 0x413a1b34
422
D/DOMX    ( 7751): ENTER: 
423
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_GetParameter:419
424
D/DOMX    ( 7751): TRACE: Recd. omx message
425
D/DOMX    ( 7751): TRACE: Waiting for messages from remote core
426
D/DOMX    ( 7751): EXIT: 
427
D/DOMX    ( 7751): TRACE: Corresponding RPC function executed successfully
428
D/DOMX    ( 7751): EXIT: eError: 0 index: 0x7f000076
429
D/DOMX    ( 7751): ERROR: [DBG] eError = 0, line 1116
430
D/DOMX    ( 7751): TRACE: Metadata size = 12332
431
D/DOMX    ( 7751): TRACE: ion_fd=70
432
D/DOMX    ( 7751): TRACE: ION being USED for allocation!!!!! handle = c3e30380, ret =0
433
D/DOMX    ( 7751): ERROR: [DBG] eError = 0, line 1130
434
D/DOMX    ( 7751): TRACE: Metadata buffer ion handle = c3e30380
435
D/DOMX    ( 7751): ENTER: 
436
D/DOMX    ( 7751): TRACE: Marshaling data
437
D/DOMX    ( 7751): TRACE: eMapInfo = 3
438
D/DOMX    ( 7751): TRACE: UV buffer fd= 3141592
439
D/DOMX    ( 7751): TRACE: Metadata buffer = c3e30380
440
D/DOMX    ( 7751): TRACE: About to send packet
441
D/DOMX    ( 7751): TRACE: RPC_sendPacket_sync hCtx->fd_omx=26|nPacketSize=240
442
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync RPC_UseBuffer:1080
443
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync write errno error 22
444
D/DOMX    ( 7751): ERROR: DOMX Write failed 0xffffffff -1
445
D/DOMX    ( 7751): ERROR: failed check:status >= 0 - returning error: 0x81001 - Write failed
446
D/DOMX    ( 7751): EXIT: 
447
D/DOMX    ( 7751): ERROR: RPC function returned error 0x81001
448
D/DOMX    ( 7751): TRACE: Use Buffer Successful
449
D/DOMX    ( 7751): TRACE: Value of pBufHeaderRemote: 0x0 LocalBufferHdr :0x15714e8, LocalBuffer :0x154a580
450
D/DOMX    ( 7751): TRACE: Metadata buffer ion handle given to ion map = c3e30380
451
D/DOMX    ( 7751): TRACE: Updating no. of buffer to 1
452
D/DOMX    ( 7751): ERROR: [DBG] eError = -2147479551, line 1192
453
D/DOMX    ( 7751): EXIT: eError: -2147479551
454
E/CameraHAL( 7751): OMX_UseBuffer-0x80001001
455
E/CameraHAL( 7751): Exiting function UseBuffersPreview because of ret 0 eError=80001001
456
D/DOMX    ( 7751): ENTER: hComponent = 0x154e570
457
E/ion     ( 7751): ioctl -1073460991 failed with code -1: Bad file number
458
F/libc    ( 7751): @@@ ABORTING: INVALID HEAP ADDRESS IN dlfree
459
F/libc    ( 7751): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
460
I/Process (  189): Sending signal. PID: 7834 SIG: 3
461
I/dalvikvm( 7834): threadid=3: reacting to signal 3
462
I/dalvikvm( 7834): Wrote stack traces to '/data/anr/traces.txt'
463
I/DEBUG   (  127): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
464
I/DEBUG   (  127): Build fingerprint: 'google/yakju/maguro:4.0.4/IMM76I/330937:user/release-keys'
465
I/DEBUG   (  127): pid: 7751, tid: 7758  >>> /system/bin/mediaserver <<<
466
I/DEBUG   (  127): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
467
I/DEBUG   (  127):  r0 deadbaad  r1 00000001  r2 a0000000  r3 00000000
468
I/DEBUG   (  127):  r4 00000000  r5 00000027  r6 401342f4  r7 401424d4
469
I/DEBUG   (  127):  r8 01571540  r9 40fe1000  10 0155f9a0  fp 01570e5c
470
I/DEBUG   (  127):  ip ffffffff  sp 413a19c0  lr 40115441  pc 40111788  cpsr 600f0030
471
I/DEBUG   (  127):  d0  656c696620646120  d1  373565343531786e
472
I/DEBUG   (  127):  d2  6c202c3135353975  d3  3239313120656e6d
473
I/DEBUG   (  127):  d4  7264487265666675  d5  3137353178303a20
474
I/DEBUG   (  127):  d6  636f4c202c386534  d7  7265666675426c61
475
I/DEBUG   (  127):  d8  0000000000000000  d9  0000000000000000
476
I/DEBUG   (  127):  d10 0000000000000000  d11 0000000000000000
477
I/DEBUG   (  127):  d12 0000000000000000  d13 0000000000000000
478
I/DEBUG   (  127):  d14 0000000000000000  d15 0000000000000000
479
I/DEBUG   (  127):  d16 3f7316d1d399f1e0  d17 3ffd42315763b9eb
480
I/DEBUG   (  127):  d18 4000000000000000  d19 3fc5ee7544e230aa
481
I/DEBUG   (  127):  d20 3f1152f62f5a4167  d21 bebbb7b7df4a3093
482
I/DEBUG   (  127):  d22 3ff0000000000000  d23 3ff316d1d399f1e0
483
I/DEBUG   (  127):  d24 3e66376972bea4d0  d25 3fee147ae0000000
484
I/DEBUG   (  127):  d26 0000000000000000  d27 0000000000000000
485
I/DEBUG   (  127):  d28 0000000000000000  d29 0000000000000000
486
I/DEBUG   (  127):  d30 0000000000000000  d31 0000000000000000
487
I/DEBUG   (  127):  scr 68000010
488
I/DEBUG   (  127): 
489
I/DEBUG   (  127):          #00  pc 00017788  /system/lib/libc.so
490
I/DEBUG   (  127):          #01  pc 00013732  /system/lib/libc.so
491
I/DEBUG   (  127):          #02  pc 00015a70  /system/lib/libc.so (dlfree)
492
I/DEBUG   (  127):          #03  pc 00016100  /system/lib/libc.so (free)
493
I/DEBUG   (  127):          #04  pc 000019e6  /system/lib/libmm_osal.so (TIMM_OSAL_Free)
494
I/DEBUG   (  127):          #05  pc 00006446  /system/lib/libdomx.so (PROXY_ComponentDeInit)
495
I/DEBUG   (  127):          #06  pc 000018ec  /system/lib/libOMX.TI.DUCATI1.VIDEO.CAMERA.so
496
I/DEBUG   (  127):          #07  pc 00001df6  /system/lib/libOMX_Core.so (OMX_FreeHandle)
497
I/DEBUG   (  127):          #08  pc 000284fc  /system/lib/hw/camera.omap4.so (_ZN7android16OMXCameraAdapter24performCleanupAfterErrorEv)
498
I/DEBUG   (  127):          #09  pc 0002b04e  /system/lib/hw/camera.omap4.so (_ZN7android16OMXCameraAdapter17UseBuffersPreviewEPvi)
499
I/DEBUG   (  127):          #10  pc 0002b182  /system/lib/hw/camera.omap4.so (_ZN7android16OMXCameraAdapter10useBuffersENS_13CameraAdapter10CameraModeEPvijj)
500
I/DEBUG   (  127):          #11  pc 00024c4c  /system/lib/hw/camera.omap4.so (_ZN7android17BaseCameraAdapter11sendCommandENS_13CameraAdapter14CameraCommandsEiii)
501
I/DEBUG   (  127):          #12  pc 0001d3d0  /system/lib/hw/camera.omap4.so (_ZN7android9CameraHal12startPreviewEv)
502
I/DEBUG   (  127):          #13  pc 0001d6de  /system/lib/hw/camera.omap4.so (_ZN7android9CameraHal16setPreviewWindowEP18preview_stream_ops)
503
I/DEBUG   (  127):          #14  pc 0001ae80  /system/lib/hw/camera.omap4.so (_Z25camera_set_preview_windowP13camera_deviceP18preview_stream_ops)
504
I/DEBUG   (  127):          #15  pc 000076cc  /system/lib/libcameraservice.so
505
I/DEBUG   (  127):          #16  pc 000091b4  /system/lib/libcameraservice.so (_ZN7android13CameraService6Client16setPreviewWindowERKNS_2spINS_7IBinderEEERKNS2_I13ANativeWindowEE)
506
I/DEBUG   (  127):          #17  pc 000092ea  /system/lib/libcameraservice.so (_ZN7android13CameraService6Client17setPreviewDisplayERKNS_2spINS_7SurfaceEEE)
507
I/DEBUG   (  127):          #18  pc 00013592  /system/lib/libcamera_client.so (_ZN7android8BnCamera10onTransactEjRKNS_6ParcelEPS1_j)
508
I/DEBUG   (  127):          #19  pc 00017f44  /system/lib/libbinder.so (_ZN7android7BBinder8transactEjRKNS_6ParcelEPS1_j)
509
I/DEBUG   (  127):          #20  pc 0001b26e  /system/lib/libbinder.so (_ZN7android14IPCThreadState14executeCommandEi)
510
I/DEBUG   (  127):          #21  pc 0001b44a  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb)
511
I/DEBUG   (  127):          #22  pc 00020744  /system/lib/libbinder.so
512
I/DEBUG   (  127):          #23  pc 00022a1e  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv)
513
I/DEBUG   (  127):          #24  pc 00023064  /system/lib/libutils.so
514
I/DEBUG   (  127):          #25  pc 00012e2c  /system/lib/libc.so (__thread_entry)
515
I/DEBUG   (  127):          #26  pc 0001295c  /system/lib/libc.so (pthread_create)
516
I/DEBUG   (  127): 
517
I/DEBUG   (  127): code around pc:
518
I/DEBUG   (  127): 40111768 4623b15c 2c006824 e026d1fb b12368db  \.#F$h.,..&..h#.
519
I/DEBUG   (  127): 40111778 21014a17 6011447a 48124798 24002527  .J.!zD.`.G.H'%.$
520
I/DEBUG   (  127): 40111788 f7f47005 2106ef8c e838f7f6 460aa901  .p.....!..8....F
521
I/DEBUG   (  127): 40111798 f04f2006 94015380 94029303 ebe4f7f5  . O..S..........
522
I/DEBUG   (  127): 401117a8 4622a905 f7f52002 f7f4ebee 2106ef78  .."F. ......x..!
523
I/DEBUG   (  127): 
524
I/DEBUG   (  127): code around lr:
525
I/DEBUG   (  127): 40115420 41f0e92d 46804c0c 447c2600 68a56824  -..A.L.F.&|D$h.h
526
I/DEBUG   (  127): 40115430 e0076867 300cf9b5 dd022b00 47c04628  gh.....0.+..(F.G
527
I/DEBUG   (  127): 40115440 35544306 37fff117 6824d5f4 d1ee2c00  .CT5...7..$h.,..
528
I/DEBUG   (  127): 40115450 e8bd4630 bf0081f0 000280be 41f0e92d  0F..........-..A
529
I/DEBUG   (  127): 40115460 fb01b086 9004f602 461f4815 4615460c  .........H.F.F.F
530
I/DEBUG   (  127): 
531
I/DEBUG   (  127): memory map around addr deadbaad:
532
I/DEBUG   (  127): bede2000-bee03000 [stack]
533
I/DEBUG   (  127): (no map for address)
534
I/DEBUG   (  127): ffff0000-ffff1000 [vectors]
535
I/DEBUG   (  127): 
536
I/DEBUG   (  127): stack:
537
I/DEBUG   (  127):     413a1980  00000001  
538
I/DEBUG   (  127):     413a1984  413a19c0  
539
I/DEBUG   (  127):     413a1988  4013d7e0  /system/lib/libc.so
540
I/DEBUG   (  127):     413a198c  0000000c  
541
I/DEBUG   (  127):     413a1990  4013d780  /system/lib/libc.so
542
I/DEBUG   (  127):     413a1994  4013d718  /system/lib/libc.so
543
I/DEBUG   (  127):     413a1998  00000000  
544
I/DEBUG   (  127):     413a199c  40115441  /system/lib/libc.so
545
I/DEBUG   (  127):     413a19a0  00000000  
546
I/DEBUG   (  127):     413a19a4  413a19d4  
547
I/DEBUG   (  127):     413a19a8  401342f4  /system/lib/libc.so
548
I/DEBUG   (  127):     413a19ac  401424d4  
549
I/DEBUG   (  127):     413a19b0  01571540  [heap]
550
I/DEBUG   (  127):     413a19b4  401145ad  /system/lib/libc.so
551
I/DEBUG   (  127):     413a19b8  df0027ad  
552
I/DEBUG   (  127):     413a19bc  00000000  
553
I/DEBUG   (  127): #00 413a19c0  413a19bc  
554
I/DEBUG   (  127):     413a19c4  00000001  
555
I/DEBUG   (  127):     413a19c8  401342d8  /system/lib/libc.so
556
I/DEBUG   (  127):     413a19cc  00000005  
557
I/DEBUG   (  127):     413a19d0  413a19ec  
558
I/DEBUG   (  127):     413a19d4  fffffbdf  
559
I/DEBUG   (  127):     413a19d8  413a19ec  
560
I/DEBUG   (  127):     413a19dc  413a19ec  
561
I/DEBUG   (  127):     413a19e0  401377f4  /system/lib/libc.so
562
I/DEBUG   (  127):     413a19e4  4010d737  /system/lib/libc.so
563
I/DEBUG   (  127): #01 413a19e8  01571560  [heap]
564
I/DEBUG   (  127):     413a19ec  20404040  
565
I/DEBUG   (  127):     413a19f0  524f4241  
566
I/DEBUG   (  127):     413a19f4  474e4954  
567
I/DEBUG   (  127):     413a19f8  4e49203a  
568
I/DEBUG   (  127):     413a19fc  494c4156  
569
I/DEBUG   (  127):     413a1a00  45482044  
570
I/DEBUG   (  127):     413a1a04  41205041  /dev/snd/pcmC0D0p
571
I/DEBUG   (  127):     413a1a08  45524444  
572
I/DEBUG   (  127):     413a1a0c  49205353  
573
I/DEBUG   (  127):     413a1a10  6c64204e  
574
I/DEBUG   (  127):     413a1a14  65657266  
575
I/DEBUG   (  127):     413a1a18  00000000  
576
I/DEBUG   (  127):     413a1a1c  17f80cb3  
577
I/DEBUG   (  127):     413a1a20  00000000  
578
I/DEBUG   (  127):     413a1a24  00000060  
579
I/DEBUG   (  127):     413a1a28  40fa4b13  /system/lib/libdomx.so
580
I/DEBUG   (  127):     413a1a2c  40fa7c7d  /system/lib/libdomx.so
581
I/DEBUG   (  127):     413a1a30  00000020  
582
I/DEBUG   (  127):     413a1a34  40f95340  /system/lib/libmm_osal.so
583
I/DEBUG   (  127):     413a1a38  ffffffff  
584
I/DEBUG   (  127):     413a1a3c  02000001  
585
I/DEBUG   (  127):     413a1a40  000000fb  
586
I/DEBUG   (  127):     413a1a44  401424d4  
587
I/DEBUG   (  127):     413a1a48  01571568  [heap]
588
I/DEBUG   (  127):     413a1a4c  00000000  
589
I/DEBUG   (  127):     413a1a50  00000000  
590
I/DEBUG   (  127):     413a1a54  401424d4  
591
I/DEBUG   (  127):     413a1a58  7f000076  
592
I/DEBUG   (  127):     413a1a5c  4010ec25  /system/lib/libc.so
593
I/DEBUG   (  127):     413a1a60  01571560  [heap]
594
I/DEBUG   (  127):     413a1a64  01571658  [heap]
595
I/DEBUG   (  127):     413a1a68  000000fb  
596
I/DEBUG   (  127):     413a1a6c  401424d4  
597
I/DEBUG   (  127):     413a1a70  01571568  [heap]
598
I/DEBUG   (  127):     413a1a74  00000000  
599
I/DEBUG   (  127):     413a1a78  8060f290  
600
I/DEBUG   (  127):     413a1a7c  401424d4  
601
I/DEBUG   (  127):     413a1a80  00000002  
602
I/DEBUG   (  127):     413a1a84  4010ec25  /system/lib/libc.so
603
I/DEBUG   (  127):     413a1a88  01571560  [heap]
604
I/DEBUG   (  127):     413a1a8c  01571658  [heap]
605
I/DEBUG   (  127):     413a1a90  00006288  
606
I/DEBUG   (  127):     413a1a94  401424d4  
607
I/DEBUG   (  127):     413a1a98  01571568  [heap]
608
I/DEBUG   (  127):     413a1a9c  0157157c  [heap]
609
I/DEBUG   (  127):     413a1aa0  00000002  
610
I/DEBUG   (  127):     413a1aa4  4010fa89  /system/lib/libc.so
611
I/DEBUG   (  127):     413a1aa8  015714e8  [heap]
612
I/DEBUG   (  127):     413a1aac  01571568  [heap]
613
I/DEBUG   (  127):     413a1ab0  80001001  
614
I/DEBUG   (  127):     413a1ab4  00000003  
615
I/DEBUG   (  127):     413a1ab8  00000046  
616
I/DEBUG   (  127):     413a1abc  413a1acc  
617
I/DEBUG   (  127):     413a1ac0  015714e0  [heap]
618
I/DEBUG   (  127):     413a1ac4  01571538  [heap]
619
I/DEBUG   (  127):     413a1ac8  00006308  
620
I/DEBUG   (  127):     413a1acc  401424d4  
621
I/DEBUG   (  127):     413a1ad0  015714e8  [heap]
622
I/DEBUG   (  127):     413a1ad4  40fa8ae1  /system/lib/libdomx.so
623
I/DEBUG   (  127):     413a1ad8  40143280  
624
I/DEBUG   (  127):     413a1adc  4011c8ad  /system/lib/libc.so
625
I/DEBUG   (  127):     413a1ae0  01556240  [heap]
626
I/DEBUG   (  127):     413a1ae4  01556240  [heap]
627
I/DEBUG   (  127):     413a1ae8  00000000  
628
I/DEBUG   (  127):     413a1aec  17f80cb3  
629
I/DEBUG   (  127):     413a1af0  01571538  [heap]
630
I/DEBUG   (  127):     413a1af4  01556240  [heap]
631
I/DEBUG   (  127):     413a1af8  00000000  
632
I/DEBUG   (  127):     413a1afc  4010fa75  /system/lib/libc.so
633
I/Process (  189): Sending signal. PID: 7834 SIG: 3
634
I/dalvikvm( 7834): threadid=3: reacting to signal 3
635
I/dalvikvm( 7834): Wrote stack traces to '/data/anr/traces.txt'
636
W/AudioTrack( 7751): obtainBuffer timed out (is the CPU pegged?) 0x154a940 user=00150740, server=0014f800
637
I/Process (  189): Sending signal. PID: 7834 SIG: 3
638
I/dalvikvm( 7834): threadid=3: reacting to signal 3
639
I/dalvikvm( 7834): Wrote stack traces to '/data/anr/traces.txt'
640
I/Process (  189): Sending signal. PID: 7834 SIG: 3
641
I/dalvikvm( 7834): threadid=3: reacting to signal 3
642
I/dalvikvm( 7834): Wrote stack traces to '/data/anr/traces.txt'
643
W/AudioTrack( 7751): obtainBuffer timed out (is the CPU pegged?) 0x154a940 user=00150740, server=0014f800
644
I/Process (  189): Sending signal. PID: 7834 SIG: 3
645
I/dalvikvm( 7834): threadid=3: reacting to signal 3
646
I/dalvikvm( 7834): Wrote stack traces to '/data/anr/traces.txt'
647
I/Process (  189): Sending signal. PID: 7834 SIG: 3
648
I/dalvikvm( 7834): threadid=3: reacting to signal 3
649
I/dalvikvm( 7834): Wrote stack traces to '/data/anr/traces.txt'
650
W/AudioTrack( 7751): obtainBuffer timed out (is the CPU pegged?) 0x154a940 user=00150740, server=0014f800
651
I/Process (  189): Sending signal. PID: 7834 SIG: 3
652
I/dalvikvm( 7834): threadid=3: reacting to signal 3
653
I/dalvikvm( 7834): Wrote stack traces to '/data/anr/traces.txt'
654
W/AudioSystem(  189): AudioFlinger server died!
655
W/AudioSystem(  189): AudioPolicyService server died!
656
I/ServiceManager(  122): service 'media.audio_flinger' died
657
I/ServiceManager(  122): service 'media.player' died
658
I/ServiceManager(  122): service 'media.camera' died
659
I/ServiceManager(  122): service 'media.audio_policy' died
660
W/IMediaDeathNotifier(  723): media server died
661
E/MediaPlayer(  723): error (100, 0)
662
W/Camera  ( 7834): Camera server died!
663
W/Camera  ( 7834): ICamera died
664
E/MediaPlayer(  723): Error (100,0)
665
E/VanillaMusic(  723): MediaPlayer error: 100 0
666
I/ActivityManager(  189): Displayed com.android.camera/.Camera: +4s446ms
667
D/CameraStorage( 7834): External storage state=mounted
668
I/Thumbnail( 7834): Fail to load bitmap. java.io.FileNotFoundException: /data/data/com.android.camera/files/last_thumb: open failed: ENOENT (No such file or directory)
669
E/Camera  ( 7834): Error 100
670
E/CameraErrorCallback( 7834): Got camera error callback. error=100
671
D/AndroidRuntime( 7834): Shutting down VM
672
W/dalvikvm( 7834): threadid=1: thread exiting with uncaught exception (group=0x40a411f8)
673
I/        ( 7873): ServiceManager: 0x959958
674
E/SRS-Client( 7873): OpenClient_RILD
675
D/SRS-Client( 7873): Unsolicited handler isn't implemented yet!
676
I/AudioFlinger( 7873): Loaded primary audio interface from Tuna audio HW HAL (audio)
677
I/AudioFlinger( 7873): Using 'Tuna audio HW HAL' (audio.primary) as the primary audio interface
678
I/AudioFlinger( 7873): Loaded a2dp audio interface from A2DP Audio HW HAL (audio)
679
I/CameraService( 7873): CameraService started (pid=7873)
680
I/AudioFlinger( 7873): AudioFlinger's thread 0x960400 ready to run
681
I/AudioPolicyService( 7873): Loaded audio policy from LEGACY Audio Policy HAL (audio_policy)
682
I/Process (  189): Sending signal. PID: 7834 SIG: 3
683
I/dalvikvm( 7834): threadid=3: reacting to signal 3
684
I/dalvikvm( 7834): Wrote stack traces to '/data/anr/traces.txt'
685
E/AudioService(  189): Media server died.
686
E/AudioService(  189): Media server started.
687
W/AudioPolicyManagerBase( 7873): setPhoneState() setting same state 0
688
</pre>
689 5 Denis 'GNUtoo' Carikli
690
The interesting part in all that noise is the following:
691
<pre>
692
D/DOMX    ( 7751): ERROR: [DBG] RPC_sendPacket_sync write errno error 22
693
D/DOMX    ( 7751): ERROR: DOMX Write failed 0xffffffff -1
694
</pre>
695
Basically write fails at:
696
<pre>
697
#define RPC_sendPacket_sync(hCtx, pPacket, nPacketSize, nFxnIdx, pRetPacket, nSize) do { \
698
    DOMX_ERROR("[DBG] RPC_sendPacket_sync %s:%d",__func__,__LINE__); \
699
    status = write(hCtx->fd_omx, pPacket, nPacketSize); \
700 6 Denis 'GNUtoo' Carikli
    if (status == -1){ \
701
        int errsv = errno; \
702
        DOMX_ERROR("[DBG] RPC_sendPacket_sync write errno error %d",errsv); \
703
    } \
704 5 Denis 'GNUtoo' Carikli
    RPC_freePacket(pPacket); \
705
    pPacket = NULL; \
706
    if(status < 0 ) DOMX_ERROR("DOMX Write failed 0x%x %d",status,status); \
707
    RPC_assert(status >= 0, RPC_OMX_ErrorUndefined, "Write failed"); \
708
    eError = TIMM_OSAL_ReadFromPipe(hCtx->pMsgPipe[nFxnIdx], &pRetPacket, \
709
        RPC_MSG_SIZE_FOR_PIPE, (TIMM_OSAL_U32 *)(&nSize), TIMM_OSAL_SUSPEND); \
710
    RPC_assert(eError == TIMM_OSAL_ERR_NONE, eError, \
711
        "Read failed"); \
712
    } while(0)
713
</pre>
714 13 Denis 'GNUtoo' Carikli
That means that a normal unix write to /dev/rpmsg-omx1 fails with EINVAL.
715 7 Denis 'GNUtoo' Carikli
Which produces something like that in the kernel when the powervr kernel driver is there but the non-free userland is not.
716
<pre>
717 12 Denis 'GNUtoo' Carikli
root@android:/ # dmesg                                                         
718
<6>[  105.768157] max17040 4-0036: online = 1 vcell = 4200000 soc = 100 status = 4 health = 1 temp = 380 charger status = 1
719
<6>[  108.557067] request_suspend_state: wakeup (3->0) at 108550701674 (2012-11-02 19:41:27.498122569 UTC)
720
<6>[  108.558135] DSSCOMP: dsscomp_late_resume
721
<6>[  109.513000] vibrator: value=20, pwmval=127
722
<6>[  109.872772] vibrator: value=20, pwmval=127
723
<6>[  110.213806] vibrator: value=20, pwmval=127
724
<6>[  110.543334] omap-iommu omap-iommu.0: iommu_get: ducati qos_request
725
<4>[  110.557281] omap_hwmod: ipu: failed to hardreset
726
<6>[  110.560150] omap-iommu omap-iommu.0: ducati: version 2.1
727
<6>[  110.733123] sr_class1p5_calib_work: core: Calibration complete: Voltage:Nominal=1250000,Calib=1038160,margin=13000
728
<6>[  111.117462] PVR_K:(Error): GetHandleStructure: Handle index out of range (1835561824 >= 0) [454, /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/drivers/gpu/pvr/handle.c]
729
<6>[  111.117584] PVR_K:(Error): PVRSRVLookupHandle: Error looking up handle (149) [1407, /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/drivers/gpu/pvr/handle.c]
730
<6>[  111.117706] PVR_K:(Error): PVRSRVExportFDToIONHandle: Failed to look up MEM_INFO handle [78, /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/drivers/gpu/pvr/ion.c]
731
<6>[  114.291107] binder: release 138:532 transaction 8079 in, still active
732
<6>[  114.291168] binder: send failed reply for transaction 8079 to 814:814
733
<4>[  116.686065] sr_class1p5_calib_work: iva Stop sampling: Voltage Nominal=950000 samples=18
734
<6>[  116.686309] sr_class1p5_calib_work: iva: Calibration complete: Voltage:Nominal=950000,Calib=860920,margin=13000
735
<3>[  119.851684] omap-rproc omap-rproc.1: rproc_watchdog_isr
736
<6>[  119.851959] omap_rproc_dump_registers: REGISTER DUMP FOR REMOTEPROC ipu
737
<6>[  119.852264] omap_rproc_dump_registers: PC is at 002a5006
738
<6>[  119.852416] omap_rproc_dump_registers: LR is at 002a5007
739
<6>[  119.852722] omap_rproc_dump_registers: pc : [<002a5006>]    lr : [<002a5007>]    psr: 61000000
740
<6>[  119.852752] sp : 806041e8  ip : 806041a8  fp : 802b839c
741
<6>[  119.853210] omap_rproc_dump_registers: r10: 802a5f27  r9 : 0000804f  r8 : 00000000
742
<6>[  119.853515] omap_rproc_dump_registers: r7 : 00000137  r6 : 00000000  r5 : 80604214  r4 : 00254a3c
743
<6>[  119.853698] omap_rproc_dump_registers: r3 : 00000000  r2 : 9f070000  r1 : 00000010  r0 : 00000000
744
<6>[  119.854003] omap_rproc_dump_registers: Flags: nZCv  IRQs on  FIQs on
745
<6>[  119.854675] _event_notify: remoteproc: ipu has crashed
746
<3>[  119.854827] rpmsg_rproc_error: Fatal error in ipu
747
<3>[  119.855133] rpmsg_rproc_error: Fatal error in ipu
748
<3>[  119.855316] rpmsg_reset_work: reseting virtio device 0
749
<6>[  119.855682] rpmsg_resmgr rpmsg0: Enter rprm_remove
750
<6>[  119.862121] rpmsg_omx rpmsg-omx0: rpmsg omx driver is removed
751
<3>[  119.866668] rpmsg_reset_work: reseting virtio device 1
752
<6>[  119.866912] rpmsg_resmgr rpmsg2: Enter rprm_remove
753
<6>[  119.868988] rpmsg_omx rpmsg-omx1: rpmsg omx driver is removed
754
<4>[  119.870544] rproc_reset_poolmem: invalid pool
755
<6>[  119.870819] omap-rproc omap-rproc.1: stopped remote processor ipu
756
<6>[  119.873626] omap-rproc omap-rproc.1: powering up ipu
757
<6>[  119.873962] virtio_rpmsg_bus virtio2: rpmsg backend virtproc probed successfully
758
<6>[  119.874877] virtio_rpmsg_bus virtio3: rpmsg backend virtproc probed successfully
759
<6>[  119.915710] omap-rproc omap-rproc.1: Loaded BIOS image ducati-m3.bin, size 4511300
760
<6>[  119.915893] omap-rproc omap-rproc.1: BIOS image version is 2
761
<6>[  119.927490] omap-iommu omap-iommu.0: iommu_get: ducati qos_request
762
<4>[  119.941894] omap_hwmod: ipu: failed to hardreset
763
<6>[  119.943176] omap-iommu omap-iommu.0: ducati: version 2.1
764
<6>[  119.952117] omap-rproc omap-rproc.1: remote processor ipu is now up
765
<6>[  119.965270] omap_rpmsg_mbox_callback: received echo reply from ipu !
766
<6>[  119.965393] omap_rpmsg_mbox_callback: received echo reply from ipu !
767
<6>[  119.965545] omap_rpmsg_mbox_callback: received echo reply from ipu !
768
<6>[  119.965637] omap_rpmsg_mbox_callback: received echo reply from ipu !
769
<6>[  119.965820] virtio_rpmsg_bus virtio2: creating channel rpmsg-client-sample addr 0x32
770
<6>[  119.966125] virtio_rpmsg_bus virtio2: creating channel rpmsg-client-sample addr 0x33
771
<6>[  119.966400] virtio_rpmsg_bus virtio2: creating channel rpmsg-omx addr 0x3c
772
<6>[  119.966827] rpmsg_omx rpmsg-omx0: new OMX connection srv channel: 1024 -> 60!
773
<6>[  121.112823] virtio_rpmsg_bus virtio3: creating channel rpmsg-omx addr 0x3c
774
<6>[  121.116668] rpmsg_omx rpmsg-omx1: new OMX connection srv channel: 1024 -> 60!
775 7 Denis 'GNUtoo' Carikli
</pre>
776 8 Denis 'GNUtoo' Carikli
777
Disabling the pvr driver with:
778
<pre>
779
diff --git a/arch/arm/configs/cyanogenmod_tuna_defconfig b/arch/arm/configs/cyanogenmod_tuna_defconfig
780
index 1a060a2..a9e3990 100644
781
--- a/arch/arm/configs/cyanogenmod_tuna_defconfig
782
+++ b/arch/arm/configs/cyanogenmod_tuna_defconfig
783
@@ -1,6 +1,6 @@
784
 #
785
 # Automatically generated make config: don't edit
786
-# Linux/arm 3.0.34 Kernel Configuration
787
+# Linux/arm 3.0.36 Kernel Configuration
788
 #
789
 CONFIG_ARM=y
790
 CONFIG_HAVE_PWM=y
791
@@ -70,6 +70,7 @@ CONFIG_GENERIC_IRQ_CHIP=y
792
 # RCU Subsystem
793
 #
794
 CONFIG_TREE_PREEMPT_RCU=y
795
+# CONFIG_TINY_RCU is not set
796
 CONFIG_PREEMPT_RCU=y
797
 # CONFIG_RCU_TRACE is not set
798
 CONFIG_RCU_FANOUT=32
799
@@ -583,6 +584,8 @@ CONFIG_INET_DIAG=y
800
 CONFIG_INET_TCP_DIAG=y
801
 # CONFIG_TCP_CONG_ADVANCED is not set
802
 CONFIG_TCP_CONG_CUBIC=y
803
+# CONFIG_DEFAULT_CUBIC is not set
804
+# CONFIG_DEFAULT_RENO is not set
805
 CONFIG_DEFAULT_TCP_CONG="cubic"
806
 # CONFIG_TCP_MD5SIG is not set
807
 CONFIG_IPV6=y
808
@@ -785,6 +788,9 @@ CONFIG_IP6_NF_RAW=y
809
 # CONFIG_BRIDGE_NF_EBTABLES is not set
810
 # CONFIG_IP_DCCP is not set
811
 # CONFIG_IP_SCTP is not set
812
+# CONFIG_SCTP_HMAC_NONE is not set
813
+# CONFIG_SCTP_HMAC_SHA1 is not set
814
+# CONFIG_SCTP_HMAC_MD5 is not set
815
 # CONFIG_RDS is not set
816
 # CONFIG_TIPC is not set
817
 # CONFIG_ATM is not set
818
@@ -917,6 +923,8 @@ CONFIG_CFG80211_DEFAULT_PS=y
819
 # CONFIG_LIB80211 is not set
820
 CONFIG_CFG80211_ALLOW_RECONNECT=y
821
 # CONFIG_MAC80211 is not set
822
+# CONFIG_MAC80211_RC_DEFAULT_PID is not set
823
+# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
824
 # CONFIG_WIMAX is not set
825
 CONFIG_RFKILL=y
826
 CONFIG_RFKILL_PM=y
827
@@ -1204,6 +1212,9 @@ CONFIG_WLAN=y
828
 # CONFIG_USB_NET_RNDIS_WLAN is not set
829
 CONFIG_WIFI_CONTROL_FUNC=y
830
 # CONFIG_ATH_COMMON is not set
831
+# CONFIG_B43LEGACY_DMA_AND_PIO_MODE is not set
832
+# CONFIG_B43LEGACY_DMA_MODE is not set
833
+# CONFIG_B43LEGACY_PIO_MODE is not set
834
 # CONFIG_BCM4329 is not set
835
 CONFIG_BCMDHD=y
836
 CONFIG_BCMDHD_FW_PATH="/system/vendor/firmware/fw_bcmdhd.bin"
837
@@ -1688,24 +1699,13 @@ CONFIG_TILER_ENABLE_USERSPACE=y
838
 # Graphics support
839
 #
840
 # CONFIG_DRM is not set
841
-CONFIG_PVR_SGX=y
842
-CONFIG_PVR_SGXCORE_540=y
843
-CONFIG_PVR_BUILD_RELEASE=y
844
+# CONFIG_PVR_SGX is not set
845
+# CONFIG_PVR_SGXCORE_540 is not set
846
+# CONFIG_PVR_BUILD_RELEASE is not set
847
 # CONFIG_PVR_BUILD_DEBUG is not set
848
-CONFIG_PVR_NEED_PVR_DPF=y
849
-CONFIG_PVR_NEED_PVR_ASSERT=y
850
-CONFIG_PVR_PERCONTEXT_PB=y
851
-CONFIG_PVR_ACTIVE_POWER_MANAGEMENT=y
852
-CONFIG_PVR_ACTIVE_POWER_LATENCY_MS=100
853
-CONFIG_PVR_SGX_LOW_LATENCY_SCHEDULING=y
854
-CONFIG_PVR_USSE_EDM_STATUS_DEBUG=y
855
-CONFIG_PVR_DUMP_MK_TRACE=y
856
-# CONFIG_PVR_PDUMP is not set
857
-CONFIG_PVR_OMAP_DSS2=y
858
 # CONFIG_SGX_DVFS_MODE_NONE is not set
859
 # CONFIG_SGX_DVFS_MODE_LINEAR is not set
860
-CONFIG_SGX_DVFS_MODE_OPTIMIZED=y
861
-CONFIG_SGX_DVFS_IDLE_TIMEOUT=1000
862
+# CONFIG_SGX_DVFS_MODE_OPTIMIZED is not set
863
 CONFIG_ION=y
864
 CONFIG_ION_OMAP=y
865
 # CONFIG_VGASTATE is not set
866
@@ -1734,10 +1734,13 @@ CONFIG_FB_MODE_HELPERS=y
867
 # Frame buffer hardware drivers
868
 #
869
 # CONFIG_FB_S1D13XXX is not set
870
+# CONFIG_FB_CARMINE_DRAM_EVAL is not set
871
+# CONFIG_CARMINE_DRAM_CUSTOM is not set
872
 # CONFIG_FB_TMIO is not set
873
 # CONFIG_FB_UDL is not set
874
 # CONFIG_FB_VIRTUAL is not set
875
 # CONFIG_FB_METRONOME is not set
876
+# CONFIG_FB_MB862XX_PCI_GDC is not set
877
 # CONFIG_FB_BROADSHEET is not set
878
 CONFIG_HDMI_TI_4XXX_IP=y
879
 CONFIG_SII9234=y
880
@@ -1765,7 +1768,6 @@ CONFIG_FB_OMAP2_NUM_FBS=3
881
 CONFIG_PANEL_S6E8AA0=y
882
 # CONFIG_PANEL_TAAL is not set
883
 CONFIG_COLOR_HACK=y
884
-CONFIG_DSSCOMP=y
885
 CONFIG_DSSCOMP_DEBUG_LOG=y
886
 CONFIG_OMAP4_HDCP=y
887
 # CONFIG_OMAP4_HDCP_DEBUG is not set
888
@@ -2094,6 +2096,12 @@ CONFIG_USB_GADGET_SELECTED=y
889
 # CONFIG_USB_GADGET_R8A66597 is not set
890
 # CONFIG_USB_GADGET_PXA_U2O is not set
891
 # CONFIG_USB_GADGET_M66592 is not set
892
+# CONFIG_USB_GADGET_AMD5536UDC is not set
893
+# CONFIG_USB_GADGET_CI13XXX_PCI is not set
894
+# CONFIG_USB_GADGET_NET2280 is not set
895
+# CONFIG_USB_GADGET_GOKU is not set
896
+# CONFIG_USB_GADGET_LANGWELL is not set
897
+# CONFIG_USB_GADGET_EG20T is not set
898
 # CONFIG_USB_GADGET_DUMMY_HCD is not set
899
 CONFIG_USB_GADGET_DUALSPEED=y
900
 # CONFIG_USB_ZERO is not set
901
@@ -2113,6 +2121,9 @@ CONFIG_USB_G_ANDROID=y
902
 # CONFIG_USB_G_MULTI is not set
903
 # CONFIG_USB_G_HID is not set
904
 # CONFIG_USB_G_DBGP is not set
905
+# CONFIG_USB_G_DBGP_PRINTK is not set
906
+# CONFIG_USB_G_DBGP_SERIAL is not set
907
+# CONFIG_USB_G_WEBCAM is not set
908
 
909
 #
910
 # OTG and related infrastructure
911
@@ -2265,9 +2276,15 @@ CONFIG_ANDROID_LOW_MEMORY_KILLER=y
912
 # CONFIG_USB_SERIAL_QUATECH_USB2 is not set
913
 # CONFIG_VT6656 is not set
914
 # CONFIG_IIO is not set
915
+# CONFIG_LIS3L02DQ_BUF_KFIFO is not set
916
+# CONFIG_LIS3L02DQ_BUF_RING_SW is not set
917
+# CONFIG_AD2S1210_GPIO_INPUT is not set
918
+# CONFIG_AD2S1210_GPIO_OUTPUT is not set
919
+# CONFIG_AD2S1210_GPIO_NONE is not set
920
 # CONFIG_XVMALLOC is not set
921
 # CONFIG_ZRAM is not set
922
 # CONFIG_FB_SM7XX is not set
923
+# CONFIG_EASYCAP_SND is not set
924
 CONFIG_MACH_NO_WESTBRIDGE=y
925
 # CONFIG_ATH6K_LEGACY is not set
926
 # CONFIG_USB_ENESTORAGE is not set
927
@@ -2381,6 +2398,10 @@ CONFIG_MISC_FILESYSTEMS=y
928
 # CONFIG_EFS_FS is not set
929
 # CONFIG_YAFFS_FS is not set
930
 # CONFIG_JFFS2_FS is not set
931
+# CONFIG_JFFS2_CMODE_NONE is not set
932
+# CONFIG_JFFS2_CMODE_PRIORITY is not set
933
+# CONFIG_JFFS2_CMODE_SIZE is not set
934
+# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
935
 # CONFIG_LOGFS is not set
936
 # CONFIG_CRAMFS is not set
937
 # CONFIG_SQUASHFS is not set
938
@@ -2390,6 +2411,9 @@ CONFIG_MISC_FILESYSTEMS=y
939
 # CONFIG_HPFS_FS is not set
940
 # CONFIG_QNX4FS_FS is not set
941
 # CONFIG_ROMFS_FS is not set
942
+# CONFIG_ROMFS_BACKED_BY_BLOCK is not set
943
+# CONFIG_ROMFS_BACKED_BY_MTD is not set
944
+# CONFIG_ROMFS_BACKED_BY_BOTH is not set
945
 # CONFIG_PSTORE is not set
946
 # CONFIG_SYSV_FS is not set
947
 # CONFIG_UFS_FS is not set
948
@@ -2595,6 +2619,10 @@ CONFIG_SECURITY_MIDDLEWARE_COMPONENT=y
949
 # CONFIG_SMC_KERNEL_CRYPTO is not set
950
 CONFIG_SECURE_TRACE=y
951
 # CONFIG_TF_DRIVER_DEBUG_SUPPORT is not set
952
+# CONFIG_DEFAULT_SECURITY_SELINUX is not set
953
+# CONFIG_DEFAULT_SECURITY_SMACK is not set
954
+# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
955
+# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
956
 CONFIG_DEFAULT_SECURITY_DAC=y
957
 CONFIG_DEFAULT_SECURITY=""
958
 CONFIG_CRYPTO=y
959
</pre>
960
961
Didn't fix it.
962 14 Denis 'GNUtoo' Carikli
963
<pre>
964
replicant-4.0/kernel/samsung/tuna/drivers/rpmsg$ grep rpmsg-omx -r *
965
rpmsg_omx.c:					    "rpmsg-omx");
966
rpmsg_omx.c:			"rpmsg-omx%d", minor);
967
rpmsg_omx.c:	{ .name	= "rpmsg-omx" },
968
replicant-4.0/kernel/samsung/tuna/drivers/rpmsg$ grep pvr -r *
969
rpmsg_omx.c:#include "../gpu/pvr/ion.h"
970
rpmsg_omx.c:		struct ion_client *pvr_ion_client;
971 1 Denis 'GNUtoo' Carikli
rpmsg_omx.c:		handle = PVRSRVExportFDToIONHandle(fd, &pvr_ion_client);
972
rpmsg_omx.c:			!ion_phys(pvr_ion_client, handle, &paddr, &unused)) {
973 15 Denis 'GNUtoo' Carikli
</pre>
974
975 17 Denis 'GNUtoo' Carikli
h2. TODO
976 15 Denis 'GNUtoo' Carikli
977
* investigate why the kernel fails without the PVR here:
978
<pre>
979
static u32 _rpmsg_omx_buffer_lookup(struct rpmsg_omx_instance *omx, long buffer)
980
{
981
	phys_addr_t pa;
982
	u32 va;
983
#ifdef CONFIG_ION_OMAP
984
	struct ion_handle *handle;
985
	ion_phys_addr_t paddr;
986
	size_t unused;
987
	int fd;
988
989
	/* is it an ion handle? */
990
	handle = (struct ion_handle *)buffer;
991
	if (!ion_phys(omx->ion_client, handle, &paddr, &unused)) {
992
		pa = (phys_addr_t) paddr;
993
		goto to_va;
994
	}
995
#ifdef CONFIG_PVR_SGX
996
	/* how about an sgx buffer wrapping an ion handle? */
997
	{
998
		struct ion_client *pvr_ion_client;
999
		fd = buffer;
1000
		handle = PVRSRVExportFDToIONHandle(fd, &pvr_ion_client);
1001
		if (handle &&
1002
			!ion_phys(pvr_ion_client, handle, &paddr, &unused)) {
1003
			pa = (phys_addr_t)paddr;
1004
			goto to_va;
1005
		}
1006
	}
1007
#endif
1008
#endif
1009
	pa = (phys_addr_t) tiler_virt2phys(buffer);
1010
1011
#ifdef CONFIG_ION_OMAP
1012
to_va:
1013
#endif
1014
	va = _rpmsg_pa_to_da(pa);
1015
	return va;
1016
}
1017 14 Denis 'GNUtoo' Carikli
</pre>
1018 16 Denis 'GNUtoo' Carikli
That has to be corelated with:
1019
<pre>
1020
<6>[  111.117462] PVR_K:(Error): GetHandleStructure: Handle index out of range (1835561824 >= 0) [454, /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/drivers/gpu/pvr/handle.c]
1021
<6>[  111.117584] PVR_K:(Error): PVRSRVLookupHandle: Error looking up handle (149) [1407, /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/drivers/gpu/pvr/handle.c]
1022
<6>[  111.117706] PVR_K:(Error): PVRSRVExportFDToIONHandle: Failed to look up MEM_INFO handle [78, /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/drivers/gpu/pvr/ion.c]
1023
</pre>
1024 18 Denis 'GNUtoo' Carikli
1025
h2. Newer infos from the kernel
1026
1027
<pre>
1028
static ssize_t rpmsg_omx_write(struct file *filp, const char __user *ubuf,
1029
                                                size_t len, loff_t *offp)
1030
{
1031
        struct rpmsg_omx_instance *omx = filp->private_data;
1032
        struct rpmsg_omx_service *omxserv = omx->omxserv;
1033
        char kbuf[512];
1034
        struct omx_msg_hdr *hdr = (struct omx_msg_hdr *) kbuf;
1035
        int use, ret;
1036
1037
        if (omx->state != OMX_CONNECTED)
1038
                return -ENOTCONN;
1039
1040
        /*
1041
         * for now, limit msg size to 512 bytes (incl. header).
1042
         * (note: rpmsg's limit is even tighter. this whole thing needs fixing)
1043
         */
1044
        use = min(sizeof(kbuf) - sizeof(*hdr), len);
1045
1046
        /*
1047
         * copy the data. Later, number of copies can be optimized if found to
1048
         * be significant in real use cases
1049
         */
1050
        if (copy_from_user(hdr->data, ubuf, use))
1051
                return -EMSGSIZE;
1052
1053
        ret = _rpmsg_omx_map_buf(omx, hdr->data);
1054
        if (ret < 0)
1055
                return ret;
1056
1057
        hdr->type = OMX_RAW_MSG;
1058
        hdr->flags = 0;
1059
        hdr->len = use;
1060
1061
        use += sizeof(*hdr);
1062
1063
        ret = rpmsg_send_offchannel(omxserv->rpdev, omx->ept->addr,
1064
                                                omx->dst, kbuf, use);
1065
        if (ret) {
1066
                dev_err(omxserv->dev, "rpmsg_send failed: %d\n", ret);
1067
                return ret;
1068
        }
1069
1070
        return use;
1071
}
1072
</pre>
1073
So it copies the userspace data to hdr->data and passes it to _rpmsg_omx_map_buf
1074
<pre>ret = _rpmsg_omx_map_buf(omx, hdr->data);</pre>
1075
1076
Then _rpmsg_omx_map_buf is like that:
1077
<pre>
1078
static int _rpmsg_omx_map_buf(struct rpmsg_omx_instance *omx, char *packet)
1079
{
1080
	int ret = -EINVAL, offset = 0;
1081
	long *buffer;
1082
	char *data;
1083
	enum rpc_omx_map_info_type maptype;
1084
	u32 da = 0;
1085
1086
	data = (char *)((struct omx_packet *)packet)->data;
1087
	maptype = *((enum rpc_omx_map_info_type *)data);
1088
1089
	/*Nothing to map*/
1090
	if (maptype == RPC_OMX_MAP_INFO_NONE)
1091
		return 0;
1092
	if ((maptype != RPC_OMX_MAP_INFO_THREE_BUF) &&
1093
		(maptype != RPC_OMX_MAP_INFO_TWO_BUF) &&
1094
			(maptype != RPC_OMX_MAP_INFO_ONE_BUF))
1095
		return ret;
1096
1097
	offset = *(int *)((int)data + sizeof(maptype));
1098
	buffer = (long *)((int)data + offset);
1099
1100
	da = _rpmsg_omx_buffer_lookup(omx, *buffer);
1101
	printk("[DBG] [%s] da = %x \n",__func__,da);
1102
	if (da) {
1103
	        printk("[DBG] [%s] inside da\n",__func__);	
1104
		*buffer = da;
1105
		ret = 0;
1106
	}else {
1107
		printk("[DBG] [%s] outside da\n",__func__);
1108
	}
1109
1110
	if (!ret && (maptype >= RPC_OMX_MAP_INFO_TWO_BUF)) {
1111
		buffer = (long *)((int)data + offset + sizeof(*buffer));
1112
		if (*buffer != 0) {
1113
			ret = -EIO;
1114
			da = _rpmsg_omx_buffer_lookup(omx, *buffer);
1115
			if (da) {
1116
				*buffer = da;
1117
				ret = 0;
1118
			}
1119
		}
1120
	}
1121
1122
	if (!ret && maptype >= RPC_OMX_MAP_INFO_THREE_BUF) {
1123
		buffer = (long *)((int)data + offset + 2*sizeof(*buffer));
1124
		if (*buffer != 0) {
1125
			ret = -EIO;
1126
			da = _rpmsg_omx_buffer_lookup(omx, *buffer);
1127
			if (da) {
1128
				*buffer = da;
1129
				ret = 0;
1130
			}
1131
		}
1132
	}
1133
	return ret;
1134
}
1135
</pre>
1136
1137
It calls <pre>da = _rpmsg_omx_buffer_lookup(omx, *buffer);</pre> which is like that:
1138
<pre>
1139
static u32 _rpmsg_omx_buffer_lookup(struct rpmsg_omx_instance *omx, long buffer)
1140
{
1141
	phys_addr_t pa;
1142
	u32 va;
1143
#ifdef CONFIG_ION_OMAP
1144
	struct ion_handle *handle;
1145
	ion_phys_addr_t paddr;
1146
	size_t unused;
1147
	int fd;
1148
1149
	/* is it an ion handle? */
1150
	handle = (struct ion_handle *)buffer;
1151
	printk("[DBG] handle:%x\n",handle);
1152
	if (!ion_phys(omx->ion_client, handle, &paddr, &unused)) {
1153
		printk("[DBG] is ion_phys\n");
1154
		pa = (phys_addr_t) paddr;
1155
		goto to_va;
1156
	}
1157
#if 0
1158
#ifdef CONFIG_PVR_SGX
1159
	printk("[DBG] INSIDE CONFIG_PVR_SGX\n");
1160
	/* how about an sgx buffer wrapping an ion handle? */
1161
	{
1162
		struct ion_client *pvr_ion_client;
1163
		fd = buffer;
1164
		handle = PVRSRVExportFDToIONHandle(fd, &pvr_ion_client);
1165
		printk("[DBG] [INSIDE CONFIG_PVR_SGX] handle:%x\n",handle);
1166
		if (handle &&
1167
			!ion_phys(pvr_ion_client, handle, &paddr, &unused)) {
1168
			printk("[DBG] [INSIDE CONFIG_PVR_SGX] goto to_va\n");
1169
			pa = (phys_addr_t)paddr;
1170
			goto to_va;
1171
		}
1172
	}
1173
#endif
1174
#endif
1175
#endif
1176
	printk("[DBG] [after CONFIG_PVR_SGX]\n");
1177
	pa = (phys_addr_t) tiler_virt2phys(buffer);
1178
	printk("[DBG] [after CONFIG_PVR_SGX] pa = %x \n");
1179
1180
#ifdef CONFIG_ION_OMAP
1181
to_va:
1182
#endif
1183
	printk("[DBG] [to_va] \n");
1184
	va = _rpmsg_pa_to_da(pa);
1185
	printk("[DBG] [to_va] = %x \n",va);
1186
	return va;
1187
}
1188
</pre>
1189
1190
which calls 
1191
<pre>
1192
/*
1193
 * TODO: Need to do this using lookup with rproc, but rproc is not
1194
 * visible to rpmsg_omx
1195
 */
1196
#define TILER_START	0x60000000
1197
#define TILER_END	0x80000000
1198
#define ION_1D_START	0xBA300000
1199
#define ION_1D_END	0xBFD00000
1200
#define ION_1D_VA	0x88000000
1201
static u32 _rpmsg_pa_to_da(u32 pa)
1202
{
1203
	if (pa >= TILER_START && pa < TILER_END){
1204
		printk("[DBG] TILER\n");
1205
		return pa;
1206
	}
1207
	else if (pa >= ION_1D_START && pa < ION_1D_END){
1208
                printk("[DBG] ION\n");
1209
		return (pa - ION_1D_START + ION_1D_VA);
1210
	}
1211
	else{
1212
               printk("[DBG] ELSE(not tiler and not ion)\n");
1213
	}
1214
		return 0;
1215
}
1216
</pre>
1217
1218
which prints ION for the 2 good buffers and print ELSE for the bad buffer(the one which produces the EINVAL in write)...
1219 19 Denis 'GNUtoo' Carikli
1220
then _rpmsg_omx_buffer_lookup returns 0 which results in:
1221
<pre>
1222
static int _rpmsg_omx_map_buf(struct rpmsg_omx_instance *omx, char *packet)
1223
{
1224
	int ret = -EINVAL, offset = 0;
1225
[...]
1226
	da = _rpmsg_omx_buffer_lookup(omx, *buffer);
1227
	printk("[DBG] [%s] da = %x \n",__func__,da);
1228
	if (da) {
1229
->not reached
1230
	        printk("[DBG] [%s] inside da\n",__func__);	
1231
		*buffer = da;
1232
		ret = 0;
1233
	}else {
1234
->reached
1235
		printk("[DBG] [%s] outside da\n",__func__);
1236
	}
1237
1238
	if (!ret && (maptype >= RPC_OMX_MAP_INFO_TWO_BUF)) {
1239
        [...] (not reached)
1240
	}
1241
1242
	if (!ret && maptype >= RPC_OMX_MAP_INFO_THREE_BUF) {
1243
        [...] (not reached)
1244
	}
1245
	return ret;
1246
}
1247
</pre>
1248 20 Denis 'GNUtoo' Carikli
1249
h2. Runtime tests.
1250
1251
Running replicant kernel with:
1252
<pre>
1253
#if 0
1254
#ifdef CONFIG_PVR_SGX
1255
        printk("[DBG] INSIDE CONFIG_PVR_SGX\n");
1256
        /* how about an sgx buffer wrapping an ion handle? */
1257
        {
1258
                struct ion_client *pvr_ion_client;
1259
                fd = buffer;
1260
                handle = PVRSRVExportFDToIONHandle(fd, &pvr_ion_client);
1261
                printk("[DBG] [INSIDE CONFIG_PVR_SGX] handle:%x\n",handle);
1262
                if (handle &&
1263
                        !ion_phys(pvr_ion_client, handle, &paddr, &unused)) {
1264
                        printk("[DBG] [INSIDE CONFIG_PVR_SGX] goto to_va\n");
1265
                        pa = (phys_addr_t)paddr;
1266
                        goto to_va;
1267
                }
1268
        }
1269
#endif
1270
#endif
1271
</pre>
1272
1273
with cyanogenmod userspace produces the same issue:
1274
<pre>
1275
D/DOMX    (  135): ENTER: 
1276
D/DOMX    (  135): TRACE: Recd. omx message
1277
D/DOMX    (  135): TRACE: Waiting for messages from remote core
1278
D/DOMX    (  135): EXIT: 
1279
D/DOMX    (  135): TRACE: Corresponding RPC function executed successfully
1280
D/DOMX    (  135): EXIT: eError: 0
1281
D/DOMX    (  135): ENTER: hComponent = 0x103f7e0, pCompPrv = 0x1035ee0, nConfigIndex = 117440523, pConfigStruct = 0x41365b50
1282
D/DOMX    (  135): ENTER: 
1283
D/DOMX    (  135): TRACE: Recd. omx message
1284
D/DOMX    (  135): TRACE: Waiting for messages from remote core
1285
D/DOMX    (  135): EXIT: 
1286
D/DOMX    (  135): TRACE: Corresponding RPC function executed successfully
1287
D/DOMX    (  135): EXIT: eError: 0
1288
D/DOMX    (  135): ENTER: hComponent = 0x103f7e0, pCompPrv = 0x1035ee0, nParamIndex = 33554433, pParamStruct = 0x41365ad8
1289
D/DOMX    (  135): ENTER: 
1290
D/DOMX    (  135): TRACE: Recd. omx message
1291
D/DOMX    (  135): TRACE: Waiting for messages from remote core
1292
D/DOMX    (  135): EXIT: 
1293
D/DOMX    (  135): TRACE: Corresponding RPC function executed successfully
1294
D/DOMX    (  135): EXIT: eError: 0 index: 0x2000001
1295
D/DOMX    (  135): ENTER: hComponent = 0x103f7e0, pCompPrv = 0x1035ee0, nParamIndex = 33554433, pParamStruct = 0x41365ad8
1296
D/DOMX    (  135): TRACE: Recd. omx message
1297
D/DOMX    (  135): TRACE: Waiting for messages from remote core
1298
D/DOMX    (  135): EXIT: 
1299
D/DOMX    (  135): TRACE: Corresponding RPC function executed successfully
1300
D/DOMX    (  135): EXIT: eError: 0
1301
D/DOMX    (  135): ENTER: hComponent = 0x103f7e0, pCompPrv = 0x1035ee0, nParamIndex = 33554433, pParamStruct = 0x41365ad8
1302
D/DOMX    (  135): ENTER: 
1303
D/DOMX    (  135): TRACE: Recd. omx message
1304
D/DOMX    (  135): TRACE: Waiting for messages from remote core
1305
D/DOMX    (  135): EXIT: 
1306
D/DOMX    (  135): TRACE: Corresponding RPC function executed successfully
1307
D/DOMX    (  135): EXIT: eError: 0 index: 0x2000001
1308
D/DOMX    (  135): ENTER: hComponent = 0x103f7e0, pCompPrv = 0x1035ee0, nConfigIndex = 2130706541, pConfigStruct = 0x41365b58
1309
D/DOMX    (  135): ENTER: 
1310
D/DOMX    (  135): TRACE: Recd. omx message
1311
D/DOMX    (  135): TRACE: Waiting for messages from remote core
1312
D/DOMX    (  135): EXIT: 
1313
D/DOMX    (  135): TRACE: Corresponding RPC function executed successfully
1314
D/DOMX    (  135): EXIT: eError: 0
1315
D/DOMX    (  135): ENTER: hComponent = 0x103f7e0, pCompPrv = 0x1035ee0, eCmd = 3, nParam = 2, pCmdData = 0x0
1316
D/DOMX    (  135): ENTER: 
1317
D/DOMX    (  135): TRACE: Recd. omx message
1318
D/DOMX    (  135): TRACE: Waiting for messages from remote core
1319
D/DOMX    (  135): EXIT: 
1320
D/DOMX    (  135): TRACE: Corresponding RPC function executed successfully
1321
D/DOMX    (  135): EXIT: eError: 0
1322
D/DOMX    (  135): ENTER: hComponent = 0x103f7e0, pCompPrv = 0x1035ee0, nParamIndex = 2130706545, pParamStruct = 0x41365ba0
1323
D/DOMX    (  135): TRACE: Corresponding RPC function executed successfully
1324
D/DOMX    (  135): EXIT: eError: 0
1325
D/DOMX    (  135): ENTER: hComponent = 0x103f7e0, pCompPrv = 0x1035ee0, nPortIndex = 0x2, pAppPrivate = 0x0, nSizeBytes = 1142784, pBuffer = 0x1046f40
1326
D/DOMX    (  135): TRACE: In UB, no. of buffers = 0
1327
D/DOMX    (  135): TRACE: Preparing buffer to Remote Core...
1328
D/DOMX    (  135): ENTER: 
1329
D/DOMX    (  135): TRACE: Recd. omx message
1330
D/DOMX    (  135): TRACE: Waiting for messages from remote core
1331
D/DOMX    (  135): EXIT: 
1332
D/DOMX    (  135): TRACE: Corresponding RPC function executed successfully
1333
D/DOMX    (  135): ENTER: 
1334
D/DOMX    (  135): ENTER: 
1335
D/DOMX    (  135): TRACE: Recd. omx message
1336
D/DOMX    (  135): TRACE: Waiting for messages from remote core
1337
D/DOMX    (  135): EXIT: 
1338
D/DOMX    (  135): TRACE:  PROXY_UTIL Get Parameter Successful
1339
D/DOMX    (  135): ENTER: 
1340
D/DOMX    (  135): TRACE: Recd. omx message
1341
D/DOMX    (  135): TRACE: Waiting for messages from remote core
1342
D/DOMX    (  135): EXIT: 
1343
D/DOMX    (  135): TRACE:  PROXY_UTIL Get Parameter Successful
1344
D/DOMX    (  135): TRACE: Port Number: 2 :: NumOfLines 720
1345
D/DOMX    (  135): EXIT: eError: 0
1346
D/DOMX    (  135): ENTER: hComponent = 0x103f7e0, pCompPrv = 0x1035ee0, nParamIndex = 2130706550, pParamStruct = 0x41365b34
1347
D/DOMX    (  135): ENTER: 
1348
D/DOMX    (  135): TRACE: Recd. omx message
1349
D/DOMX    (  135): TRACE: Waiting for messages from remote core
1350
D/DOMX    (  135): EXIT: 
1351
D/DOMX    (  135): TRACE: Corresponding RPC function executed successfully
1352
D/DOMX    (  135): EXIT: eError: 0 index: 0x7f000076
1353
D/DOMX    (  135): TRACE: Metadata size = 12332
1354
D/DOMX    (  135): TRACE: ION being USED for allocation!!!!! handle = c63ccd80, ret =0
1355
D/DOMX    (  135): TRACE: Metadata buffer ion handle = -969093760
1356
D/DOMX    (  135): ENTER: 
1357
D/DOMX    (  135): TRACE: Marshaling data
1358
D/DOMX    (  135): TRACE: eMapInfo = 3
1359
D/DOMX    (  135): TRACE: UV buffer fd= 109
1360
D/DOMX    (  135): TRACE: Metadata buffer = -969093760
1361
D/DOMX    (  135): TRACE: About to send packet
1362
D/DOMX    (  135): ERROR: DOMX Write failed 0xffffffff -1
1363
D/DOMX    (  135): ERROR: failed check:status >= 0 - returning error: 0x81001 - Write failed
1364
D/DOMX    (  135): EXIT: 
1365
D/DOMX    (  135): ERROR: RPC function returned error 0x81001
1366
D/DOMX    (  135): TRACE: Use Buffer Successful
1367
D/DOMX    (  135): TRACE: Value of pBufHeaderRemote: 0x0 LocalBufferHdr :0x104f118, LocalBuffer :0x1046f40
1368
D/DOMX    (  135): TRACE: Metadata buffer ion handle given to ion map = -969093760
1369
D/DOMX    (  135): TRACE: Updating no. of buffer to 1
1370
D/DOMX    (  135): EXIT: eError: -2147479551
1371
E/CameraHAL(  135): OMX_UseBuffer-0x80001001
1372
E/CameraHAL(  135): Exiting function UseBuffersPreview because of ret 0 eError=80001001
1373
D/DOMX    (  135): ENTER: hComponent = 0x103f7e0
1374
E/ion     (  135): ioctl -1073460991 failed with code -1: Bad file number
1375
F/libc    (  135): @@@ ABORTING: INVALID HEAP ADDRESS IN dlfree
1376
F/libc    (  135): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
1377
I/Process (  203): Sending signal. PID: 914 SIG: 3
1378
I/dalvikvm(  914): threadid=3: reacting to signal 3
1379
I/dalvikvm(  914): Wrote stack traces to '/data/anr/traces.txt'
1380
I/DEBUG   (  130): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
1381
I/DEBUG   (  130): Build fingerprint: 'google/yakju/maguro:4.0.4/IMM76I/330937:user/release-keys'
1382
I/DEBUG   (  130): pid: 135, tid: 187  >>> /system/bin/mediaserver <<<
1383
I/DEBUG   (  130): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
1384
I/DEBUG   (  130):  r0 deadbaad  r1 00000001  r2 a0000000  r3 00000000
1385
I/DEBUG   (  130):  r4 00000000  r5 00000027  r6 401022f4  r7 401104d4
1386
I/DEBUG   (  130):  r8 0104f170  r9 40110600  10 01040eb0  fp 010387fc
1387
I/DEBUG   (  130):  ip ffffffff  sp 413659c0  lr 400e3441  pc 400df788  cpsr 60000030
1388
I/DEBUG   (  130):  d0  656c696620646120  d1  653766333031786e
1389
I/DEBUG   (  130):  d2  68206e6f69207275  d3  696720656c646e6d
1390
I/DEBUG   (  130):  d4  426c61636f4c2030  d5  7264487265666675
1391
I/DEBUG   (  130):  d6  6634303178303a20  d7  636f4c202c383131
1392
I/DEBUG   (  130):  d8  0000000000000000  d9  0000000000000000
1393
I/DEBUG   (  130):  d10 0000000000000000  d11 0000000000000000
1394
I/DEBUG   (  130):  d12 0000000000000000  d13 0000000000000000
1395
I/DEBUG   (  130):  d14 0000000000000000  d15 0000000000000000
1396
I/DEBUG   (  130):  d16 3ff0000000000000  d17 3ff0000000000000
1397
I/DEBUG   (  130):  d18 7e37e43c8800759c  d19 bfba43196d2f888d
1398
I/DEBUG   (  130):  d20 3f115549a0c32687  d21 bebbbb72a4af9d58
1399
I/DEBUG   (  130):  d22 3ff0000000000000  d23 3fecedd52e2a681e
1400
I/DEBUG   (  130):  d24 3e66376972bea4d0  d25 3fee147ae0000000
1401
I/DEBUG   (  130):  d26 0000000000000000  d27 0000000000000000
1402
I/DEBUG   (  130):  d28 0000000000000000  d29 0000000000000000
1403
I/DEBUG   (  130):  d30 0000000000000000  d31 0000000000000000
1404
I/DEBUG   (  130):  scr 68000010
1405
I/DEBUG   (  130): 
1406
I/DEBUG   (  130):          #00  pc 00017788  /system/lib/libc.so
1407
I/DEBUG   (  130):          #01  pc 00013732  /system/lib/libc.so
1408
I/DEBUG   (  130):          #02  pc 00015a70  /system/lib/libc.so (dlfree)
1409
I/DEBUG   (  130):          #03  pc 00016100  /system/lib/libc.so (free)
1410
I/DEBUG   (  130):          #04  pc 000019e6  /system/lib/libmm_osal.so (TIMM_OSAL_Free)
1411
I/DEBUG   (  130):          #05  pc 00005dda  /system/lib/libdomx.so (PROXY_ComponentDeInit)
1412
I/DEBUG   (  130):          #06  pc 000018ec  /system/lib/libOMX.TI.DUCATI1.VIDEO.CAMERA.so
1413
I/DEBUG   (  130):          #07  pc 00001df6  /system/lib/libOMX_Core.so (OMX_FreeHandle)
1414
I/DEBUG   (  130):          #08  pc 000284fc  /system/lib/hw/camera.omap4.so (_ZN7android16OMXCameraAdapter24performCleanupAfterErrorEv)
1415
I/DEBUG   (  130):          #09  pc 0002b04e  /system/lib/hw/camera.omap4.so (_ZN7android16OMXCameraAdapter17UseBuffersPreviewEPvi)
1416
I/DEBUG   (  130):          #10  pc 0002b182  /system/lib/hw/camera.omap4.so (_ZN7android16OMXCameraAdapter10useBuffersENS_13CameraAdapter10CameraModeEPvijj)
1417
I/DEBUG   (  130):          #11  pc 00024c4c  /system/lib/hw/camera.omap4.so (_ZN7android17BaseCameraAdapter11sendCommandENS_13CameraAdapter14CameraCommandsEiii)
1418
I/DEBUG   (  130):          #12  pc 0001d3d0  /system/lib/hw/camera.omap4.so (_ZN7android9CameraHal12startPreviewEv)
1419
I/DEBUG   (  130):          #13  pc 0001d6de  /system/lib/hw/camera.omap4.so (_ZN7android9CameraHal16setPreviewWindowEP18preview_stream_ops)
1420
I/DEBUG   (  130):          #14  pc 0001ae80  /system/lib/hw/camera.omap4.so (_Z25camera_set_preview_windowP13camera_deviceP18preview_stream_ops)
1421
I/DEBUG   (  130):          #15  pc 000076cc  /system/lib/libcameraservice.so
1422
I/DEBUG   (  130):          #16  pc 000091b4  /system/lib/libcameraservice.so (_ZN7android13CameraService6Client16setPreviewWindowERKNS_2spINS_7IBinderEEERKNS2_I13ANativeWindowEE)
1423
I/DEBUG   (  130):          #17  pc 000092ea  /system/lib/libcameraservice.so (_ZN7android13CameraService6Client17setPreviewDisplayERKNS_2spINS_7SurfaceEEE)
1424
I/DEBUG   (  130):          #18  pc 00013592  /system/lib/libcamera_client.so (_ZN7android8BnCamera10onTransactEjRKNS_6ParcelEPS1_j)
1425
I/DEBUG   (  130):          #19  pc 00017f44  /system/lib/libbinder.so (_ZN7android7BBinder8transactEjRKNS_6ParcelEPS1_j)
1426
I/DEBUG   (  130):          #20  pc 0001b26e  /system/lib/libbinder.so (_ZN7android14IPCThreadState14executeCommandEi)
1427
I/DEBUG   (  130):          #21  pc 0001b44a  /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb)
1428
I/DEBUG   (  130):          #22  pc 00020744  /system/lib/libbinder.so
1429
I/DEBUG   (  130):          #23  pc 00022a1e  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv)
1430
I/DEBUG   (  130):          #24  pc 00023064  /system/lib/libutils.so
1431
I/DEBUG   (  130):          #25  pc 00012e2c  /system/lib/libc.so (__thread_entry)
1432
I/DEBUG   (  130):          #26  pc 0001295c  /system/lib/libc.so (pthread_create)
1433
I/DEBUG   (  130): 
1434
I/DEBUG   (  130): code around pc:
1435
I/DEBUG   (  130): 400df768 4623b15c 2c006824 e026d1fb b12368db  \.#F$h.,..&..h#.
1436
I/DEBUG   (  130): 400df778 21014a17 6011447a 48124798 24002527  .J.!zD.`.G.H'%.$
1437
I/DEBUG   (  130): 400df788 f7f47005 2106ef8c e838f7f6 460aa901  .p.....!..8....F
1438
I/DEBUG   (  130): 400df798 f04f2006 94015380 94029303 ebe4f7f5  . O..S..........
1439
I/DEBUG   (  130): 400df7a8 4622a905 f7f52002 f7f4ebee 2106ef78  .."F. ......x..!
1440
I/DEBUG   (  130): 
1441
I/DEBUG   (  130): code around lr:
1442
I/DEBUG   (  130): 400e3420 41f0e92d 46804c0c 447c2600 68a56824  -..A.L.F.&|D$h.h
1443
I/DEBUG   (  130): 400e3430 e0076867 300cf9b5 dd022b00 47c04628  gh.....0.+..(F.G
1444
I/DEBUG   (  130): 400e3440 35544306 37fff117 6824d5f4 d1ee2c00  .CT5...7..$h.,..
1445
I/DEBUG   (  130): 400e3450 e8bd4630 bf0081f0 000280be 41f0e92d  0F..........-..A
1446
I/DEBUG   (  130): 400e3460 fb01b086 9004f602 461f4815 4615460c  .........H.F.F.F
1447
I/DEBUG   (  130): 
1448
I/DEBUG   (  130): memory map around addr deadbaad:
1449
I/DEBUG   (  130): bec5b000-bec7c000 [stack]
1450
I/DEBUG   (  130): (no map for address)
1451
I/DEBUG   (  130): ffff0000-ffff1000 [vectors]
1452
I/DEBUG   (  130): 
1453
I/DEBUG   (  130): stack:
1454
I/DEBUG   (  130):     41365980  00000001  
1455
I/DEBUG   (  130):     41365984  413659c0  
1456
I/DEBUG   (  130):     41365988  4010b7e0  /system/lib/libc.so
1457
I/DEBUG   (  130):     4136598c  0000000c  
1458
I/DEBUG   (  130):     41365990  4010b780  /system/lib/libc.so
1459
I/DEBUG   (  130):     41365994  4010b718  /system/lib/libc.so
1460
I/DEBUG   (  130):     41365998  00000000  
1461
I/DEBUG   (  130):     4136599c  400e3441  /system/lib/libc.so
1462
I/DEBUG   (  130):     413659a0  00000000  
1463
I/DEBUG   (  130):     413659a4  413659d4  
1464
I/DEBUG   (  130):     413659a8  401022f4  /system/lib/libc.so
1465
I/DEBUG   (  130):     413659ac  401104d4  
1466
I/DEBUG   (  130):     413659b0  0104f170  [heap]
1467
I/DEBUG   (  130):     413659b4  400e25ad  /system/lib/libc.so
1468
I/DEBUG   (  130):     413659b8  df0027ad  
1469
I/DEBUG   (  130):     413659bc  00000000  
1470
I/DEBUG   (  130): #00 413659c0  413659bc  
1471
I/DEBUG   (  130):     413659c4  00000001  
1472
I/DEBUG   (  130):     413659c8  401022d8  /system/lib/libc.so
1473
I/DEBUG   (  130):     413659cc  00000005  
1474
I/DEBUG   (  130):     413659d0  413659ec  
1475
I/DEBUG   (  130):     413659d4  fffffbdf  
1476
I/DEBUG   (  130):     413659d8  413659ec  
1477
I/DEBUG   (  130):     413659dc  413659ec  
1478
I/DEBUG   (  130):     413659e0  401057f4  /system/lib/libc.so
1479
I/DEBUG   (  130):     413659e4  400db737  /system/lib/libc.so
1480
I/DEBUG   (  130): #01 413659e8  02000001  
1481
I/DEBUG   (  130):     413659ec  20404040  
1482
I/DEBUG   (  130):     413659f0  524f4241  
1483
I/DEBUG   (  130):     413659f4  474e4954  
1484
I/DEBUG   (  130):     413659f8  4e49203a  
1485
I/DEBUG   (  130):     413659fc  494c4156  
1486
I/DEBUG   (  130):     41365a00  45482044  
1487
I/DEBUG   (  130):     41365a04  41205041  /dev/ashmem/OMXCodec (deleted)
1488
I/DEBUG   (  130):     41365a08  45524444  
1489
I/DEBUG   (  130):     41365a0c  49205353  
1490
I/DEBUG   (  130):     41365a10  6c64204e  
1491
I/DEBUG   (  130):     41365a14  65657266  
1492
I/DEBUG   (  130):     41365a18  00000000  
1493
I/DEBUG   (  130):     41365a1c  00000000  
1494
I/DEBUG   (  130):     41365a20  8060f270  
1495
I/DEBUG   (  130):     41365a24  a5d1751e  
1496
I/DEBUG   (  130):     41365a28  00000060  
1497
I/DEBUG   (  130):     41365a2c  41365a78  
1498
I/DEBUG   (  130):     41365a30  40fb75e9  /system/lib/libdomx.so
1499
I/DEBUG   (  130):     41365a34  40fba619  /system/lib/libdomx.so
1500
I/DEBUG   (  130):     41365a38  0000001c  
1501
I/DEBUG   (  130):     41365a3c  40021340  /system/lib/libmm_osal.so
1502
I/DEBUG   (  130):     41365a40  ffffffff  
1503
I/DEBUG   (  130):     41365a44  02000001  
1504
I/DEBUG   (  130):     41365a48  000000fb  
1505
I/DEBUG   (  130):     41365a4c  401104d4  
1506
I/DEBUG   (  130):     41365a50  0104f198  [heap]
1507
I/DEBUG   (  130):     41365a54  00000000  
1508
I/DEBUG   (  130):     41365a58  8060f270  
1509
I/DEBUG   (  130):     41365a5c  401104d4  
1510
I/DEBUG   (  130):     41365a60  7f000076  
1511
I/DEBUG   (  130):     41365a64  400dcc25  /system/lib/libc.so
1512
I/DEBUG   (  130):     41365a68  0104f190  [heap]
1513
I/DEBUG   (  130):     41365a6c  0104f288  [heap]
1514
I/DEBUG   (  130):     41365a70  000000fb  
1515
I/DEBUG   (  130):     41365a74  401104d4  
1516
I/DEBUG   (  130):     41365a78  0104f198  [heap]
1517
I/DEBUG   (  130):     41365a7c  00000000  
1518
I/DEBUG   (  130):     41365a80  00000000  
1519
I/DEBUG   (  130):     41365a84  401104d4  
1520
I/DEBUG   (  130):     41365a88  00000002  
1521
I/DEBUG   (  130):     41365a8c  400dcc25  /system/lib/libc.so
1522
I/DEBUG   (  130):     41365a90  0104f190  [heap]
1523
I/DEBUG   (  130):     41365a94  401105f0  
1524
I/DEBUG   (  130):     41365a98  000000f8  
1525
I/DEBUG   (  130):     41365a9c  401104d4  
1526
I/DEBUG   (  130):     41365aa0  0104f198  [heap]
1527
I/DEBUG   (  130):     41365aa4  0104f1ac  [heap]
1528
I/DEBUG   (  130):     41365aa8  00000002  
1529
I/DEBUG   (  130):     41365aac  400dda89  /system/lib/libc.so
1530
I/DEBUG   (  130):     41365ab0  0104f118  [heap]
1531
I/DEBUG   (  130):     41365ab4  00000024  
1532
I/DEBUG   (  130):     41365ab8  01035ee0  [heap]
1533
I/DEBUG   (  130):     41365abc  00000003  
1534
I/DEBUG   (  130):     41365ac0  0000004d  
1535
I/DEBUG   (  130):     41365ac4  41365ad4  
1536
I/DEBUG   (  130):     41365ac8  0104f110  [heap]
1537
I/DEBUG   (  130):     41365acc  00000001  
1538
I/DEBUG   (  130):     41365ad0  00000178  
1539
I/DEBUG   (  130):     41365ad4  00000001  
1540
I/DEBUG   (  130):     41365ad8  40111280  
1541
I/DEBUG   (  130):     41365adc  400ea8ad  /system/lib/libc.so
1542
I/DEBUG   (  130):     41365ae0  01035ee0  [heap]
1543
I/DEBUG   (  130):     41365ae4  01035ee0  [heap]
1544
I/DEBUG   (  130):     41365ae8  00000000  
1545
I/DEBUG   (  130):     41365aec  a5d1751e  
1546
I/DEBUG   (  130):     41365af0  0104f168  [heap]
1547
I/DEBUG   (  130):     41365af4  01035ee0  [heap]
1548
I/DEBUG   (  130):     41365af8  00000000  
1549
I/DEBUG   (  130):     41365afc  400dda75  /system/lib/libc.so
1550
I/Process (  203): Sending signal. PID: 914 SIG: 3
1551
I/dalvikvm(  914): threadid=3: reacting to signal 3
1552
I/dalvikvm(  914): Wrote stack traces to '/data/anr/traces.txt'
1553
I/Process (  203): Sending signal. PID: 914 SIG: 3
1554
I/dalvikvm(  914): threadid=3: reacting to signal 3
1555
I/dalvikvm(  914): Wrote stack traces to '/data/anr/traces.txt'
1556
I/Process (  203): Sending signal. PID: 914 SIG: 3
1557
I/dalvikvm(  914): threadid=3: reacting to signal 3
1558
I/dalvikvm(  914): Wrote stack traces to '/data/anr/traces.txt'
1559
I/Process (  203): Sending signal. PID: 914 SIG: 3
1560
I/dalvikvm(  914): threadid=3: reacting to signal 3
1561
I/dalvikvm(  914): Wrote stack traces to '/data/anr/traces.txt'
1562
I/Process (  203): Sending signal. PID: 914 SIG: 3
1563
I/dalvikvm(  914): threadid=3: reacting to signal 3
1564
I/dalvikvm(  914): Wrote stack traces to '/data/anr/traces.txt'
1565
D/dalvikvm(  203): GC_FOR_ALLOC freed 3709K, 60% free 4952K/12288K, paused 29ms
1566
W/AudioSystem(  203): AudioFlinger server died!
1567
W/IMediaDeathNotifier(  203): media server died
1568
W/AudioSystem(  203): AudioPolicyService server died!
1569
W/AudioSystem(  420): AudioFlinger server died!
1570
W/AudioSystem(  420): AudioPolicyService server died!
1571
I/ServiceManager(  124): service 'media.audio_flinger' died
1572
I/ServiceManager(  124): service 'media.player' died
1573
I/ServiceManager(  124): service 'media.camera' died
1574
I/ServiceManager(  124): service 'media.audio_policy' died
1575
W/IMediaDeathNotifier(  437): media server died
1576
W/Camera  (  914): Camera server died!
1577
W/Camera  (  914): ICamera died
1578
I/ActivityManager(  203): Displayed com.android.camera/.Camera: +4s438ms
1579
D/CameraStorage(  914): External storage state=mounted
1580
I/Thumbnail(  914): Fail to load bitmap. java.io.FileNotFoundException: /data/data/com.android.camera/files/last_thumb: open failed: ENOENT (No such file or directory)
1581
E/Camera  (  914): Error 100
1582
E/CameraErrorCallback(  914): Got camera error callback. error=100
1583
D/AndroidRuntime(  914): Shutting down VM
1584
W/dalvikvm(  914): threadid=1: thread exiting with uncaught exception (group=0x40a4e1f8)
1585
I/        (  948): ServiceManager: 0x5cd958
1586
I/AudioFlinger(  948): Loaded primary audio interface from Tuna audio HW HAL (audio)
1587
I/AudioFlinger(  948): Using 'Tuna audio HW HAL' (audio.primary) as the primary audio interface
1588
I/AudioFlinger(  948): Loaded a2dp audio interface from A2DP Audio HW HAL (audio)
1589
I/CameraService(  948): CameraService started (pid=948)
1590
I/AudioFlinger(  948): AudioFlinger's thread 0x5d44b8 ready to run
1591
D/dalvikvm(  203): GC_FOR_ALLOC freed 1181K, 59% free 5063K/12288K, paused 27ms
1592
I/AudioPolicyService(  948): Loaded audio policy from LEGACY Audio Policy HAL (audio_policy)
1593
I/Process (  203): Sending signal. PID: 914 SIG: 3
1594
I/dalvikvm(  914): threadid=3: reacting to signal 3
1595
I/dalvikvm(  914): Wrote stack traces to '/data/anr/traces.txt'
1596
E/AudioService(  203): Media server died.
1597
E/AudioService(  203): Media server started.
1598
W/AudioPolicyManagerBase(  948): setPhoneState() setting same state 0
1599
W/AudioFlinger(  948): session id 13 not found for pid 203
1600
I/Process (  914): Sending signal. PID: 914 SIG: 9
1601
[  104.225494] binder: release proc 914, transaction 18351, not freed
1602
[  104.234130] binder: release proc 914, transaction 18352, not freed
1603
W/InputDispatcher(  203): channel '40f93a50 com.android.camera/com.android.camera.Camera (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
1604
E/InputDispatcher(  203): channel '40f93a50 com.android.camera/com.android.camera.Camera (server)' ~ Channel is unrecoverably broken and will be disposed!
1605
W/InputDispatcher(  203): Attempted to unregister already unregistered input channel '40f93a50 com.android.camera/com.android.camera.Camera (server)'
1606
</pre>
1607 21 Denis 'GNUtoo' Carikli
1608
h3. The flow when it works is the following:
1609
1610
<pre>if (!ion_phys(omx->ion_client, handle, &paddr, &unused)) {</pre>
1611
returns false, then what's in #ifdef CONFIG_PVR_SGX is executed, and it jumps to the end without executing <pre>pa = (phys_addr_t) tiler_virt2phys(buffer);</pre>
1612
1613
h3. The flow when it fails is the following:
1614
1615
<pre>if (!ion_phys(omx->ion_client, handle, &paddr, &unused)) {</pre>
1616
returns false,then what's in #ifdef CONFIG_PVR_SGX fails or is skipped,
1617
Then it executes <pre>pa = (phys_addr_t) tiler_virt2phys(buffer);</pre> and goes to the end.
1618 22 Denis 'GNUtoo' Carikli
1619
h3. Inside the PVR driver
1620
1621
<pre>
1622
struct ion_handle *
1623
PVRSRVExportFDToIONHandle(int fd, struct ion_client **client)
1624
{
1625
[...]
1626
	eError = PVRSRVLookupHandle(KERNEL_HANDLE_BASE,
1627
								(IMG_PVOID *)&psKernelMemInfo,
1628
								psPrivateData->hKernelMemInfo,
1629
								PVRSRV_HANDLE_TYPE_MEM_INFO);
1630
[...]
1631
Then it uses psKernelMemInfo and returns a derivative of it.
1632
}
1633
</pre>
1634 23 Denis 'GNUtoo' Carikli
1635
<pre>
1636
PVRSRV_ERROR PVRSRVLookupHandle(PVRSRV_HANDLE_BASE *psBase, IMG_PVOID *ppvData, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType)
1637
{
1638
        struct sHandle *psHandle;
1639
        PVRSRV_ERROR eError;
1640
1641
        PVR_ASSERT(eType != PVRSRV_HANDLE_TYPE_NONE)
1642
1643
        eError = GetHandleStructure(psBase, &psHandle, hHandle, eType);
1644
        if (eError != PVRSRV_OK)
1645
        {
1646
                PVR_DPF((PVR_DBG_ERROR, "PVRSRVLookupHandle: Error looking up handle (%d)", eError));
1647
                return eError;
1648
        }
1649
1650
        *ppvData = psHandle->pvData;
1651
1652
        return PVRSRV_OK;
1653
}
1654
</pre>
1655
1656
<pre>
1657
PVRSRV_ERROR GetHandleStructure(PVRSRV_HANDLE_BASE *psBase, struct sHandle **ppsHandle, IMG_HANDLE hHandle, PVRSRV_HANDLE_TYPE eType)
1658
#endif
1659
{
1660
        IMG_UINT32 ui32Index = HANDLE_TO_INDEX(hHandle);
1661
        struct sHandle *psHandle;
1662
1663
1664
        if (!INDEX_IS_VALID(psBase, ui32Index))
1665
        {
1666
                PVR_DPF((PVR_DBG_ERROR, "GetHandleStructure: Handle index out of range (%u >= %u)", ui32Index, psBase->ui32TotalHandCount));
1667
1668
                return PVRSRV_ERROR_HANDLE_INDEX_OUT_OF_RANGE;
1669
        }
1670
1671
        psHandle =  INDEX_TO_HANDLE_STRUCT_PTR(psBase, ui32Index);
1672
        if (psHandle->eType == PVRSRV_HANDLE_TYPE_NONE)
1673
        {
1674
                PVR_DPF((PVR_DBG_ERROR, "GetHandleStructure: Handle not allocated (index: %u)", ui32Index));
1675
1676
                return PVRSRV_ERROR_HANDLE_NOT_ALLOCATED;
1677
        }
1678
1679
1680
        if (eType != PVRSRV_HANDLE_TYPE_NONE && eType != psHandle->eType)
1681
        {
1682
                PVR_DPF((PVR_DBG_ERROR, "GetHandleStructure: Handle type mismatch (%d != %d)", eType, psHandle->eType));
1683
1684
                return PVRSRV_ERROR_HANDLE_TYPE_MISMATCH;
1685
        }
1686
1687
1688
        *ppsHandle = psHandle;
1689
1690
        return PVRSRV_OK;
1691
}
1692
1693
</pre>
1694 24 Denis 'GNUtoo' Carikli
1695
1696
<pre>
1697
#define INDEX_IS_VALID(psBase, i) ((i) < (psBase)->ui32TotalHandCount)
1698
</pre>
1699 25 Denis 'GNUtoo' Carikli
1700
h1. trying to fix the issue:
1701 26 Denis 'GNUtoo' Carikli
1702
1703 25 Denis 'GNUtoo' Carikli
<pre>
1704
<6>[  313.967468] PVR_K:(Error): GetHandleStructure: Handle index out of range (1835561824 >= 256) [454, /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/drivers/gpu/pvr/handle.c]
1705
<6>[  313.967681] PVR_K:(Error): PVRSRVLookupHandle: Error looking up handle (149) [1407, /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/drivers/gpu/pvr/handle.c]
1706
<6>[  313.967803] PVR_K:(Error): PVRSRVExportFDToIONHandle: Failed to look up MEM_INFO handle [78, /home/gnutoo/embedded/android/replicant-4.0/kernel/samsung/tuna/drivers/gpu/pvr/ion.c]
1707
</pre>
1708
was achieved with :
1709
<pre>
1710
#include <sys/types.h>
1711
#include <sys/stat.h>
1712
#include <fcntl.h>
1713
1714
int main(){
1715
1716
	int fd = open("/dev/pvrsrvkm",O_RDWR);
1717
	printf("fd = %d\n");
1718
	while(1)
1719
		sleep(10000);
1720
	return 0; //not reached
1721
}
1722
</pre>
1723 29 Denis 'GNUtoo' Carikli
1724 30 Denis 'GNUtoo' Carikli
h2. possible solution:
1725 29 Denis 'GNUtoo' Carikli
1726
https://groleo.wordpress.com/2012/07/24/ion-buffer-sharing-mechanism/
1727
https://groleo.wordpress.com/2012/07/31/jelly-bean-codec-infrastructure/
1728
1729
=> we need to modify OMXCameraAdapter.cpp not to send its acquired buffer to OMX, and instead to reimplement that part, by looking at how the TI V4l2 camera does it.
1730 31 Denis 'GNUtoo' Carikli
1731
=> we probably need to replace the UseBuffer functions and look at how OMX_UseBuffer works in order to replace them:
1732
there is a use buffer function which calls different functions according to its state, for instance OMXCameraAdapter::UseBuffersPreview which uses OMX_UseBuffer...
1733 32 Denis 'GNUtoo' Carikli
1734
1735
OMX_UseBuffer calls PROXY_UseBuffer in hardware/ti/omap4xxx/domx/domx/omx_proxy_common/src/omx_proxy_common.c