OMAP4DucatiCamera » History » Version 32
Denis 'GNUtoo' Carikli, 12/18/2012 04:45 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 | 30 | Denis 'GNUtoo' Carikli | h2. possible solution: |
| 1724 | 29 | Denis 'GNUtoo' Carikli | |
| 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. |
||
| 1729 | 31 | Denis 'GNUtoo' Carikli | |
| 1730 | => we probably need to replace the UseBuffer functions and look at how OMX_UseBuffer works in order to replace them: |
||
| 1731 | there is a use buffer function which calls different functions according to its state, for instance OMXCameraAdapter::UseBuffersPreview which uses OMX_UseBuffer... |
||
| 1732 | 32 | Denis 'GNUtoo' Carikli | |
| 1733 | |||
| 1734 | OMX_UseBuffer calls PROXY_UseBuffer in hardware/ti/omap4xxx/domx/domx/omx_proxy_common/src/omx_proxy_common.c |