Project

General

Profile

OMAP4DucatiCamera » History » Version 29

Denis 'GNUtoo' Carikli, 12/16/2012 10:56 PM

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