Project

General

Profile

OMAP4DucatiCamera » History » Version 35

Wolfgang Wiedmeyer, 04/22/2017 04:40 PM
typos

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