Coder Social home page Coder Social logo

android_hardware_sprd's Issues

Doze support for cm 13.0

Hello,
I'm trying to build cm 13.0 for kanas (core 2, SM-G355H) using this source and from ih24n69's commits
.
I'm happy with the self-built rom until when 'modemd' decides to selfishly reboot the system at random times (I'll try to post another issue on sprd-common if I couldn't solve it. Pretty sure it was because of RILJ)
.
So, I was wondering how does one enable support for doze power saving. I used the check doze app from xda forums and got all reds in three categories:

screenshot_20180702-141302

I understand the second and third (since I haven't enabled the config installed gapps yet), but how come the sensor support is in red'? Doesn't the phone has a accelerometer for this.

Videos supported by avc hardware decoder(?) doesn't work in Android O

Thanks for reading this, again. I've been trying to play a video with the mp4 format but it does not work. It works on nougat and older though. Also, recording camera videos or even opening the camera doesn't work :( .

I'm using the scx15 code instead of the sc8830 as the stock libraries .sc8830.so naming suggests or else they won't compile.


Here's snippet of logcat (default + kernel) :

08-08 17:45:56.673  1778  1863 V SprdSimpleOMXComponent: Port 1 now enabled.
08-08 17:45:56.676  1778  1933 I SprdSimpleOMXComponent: fillThisBuffer, buffer: 0xb5423e60, header: 0xb5423b80, iRefCount: 0
08-08 17:45:56.676  1778  1933 I SPRDAVCDecoder: onQueueFilled, 937, outHeader:0xb5423b80, inHeader: 0xb54239a0, len: 31, nOffset: 0, time: 0, EOS: 0
08-08 17:45:56.676  1778  1933 V SPRDAVCDecoder: onQueueFilled, 977, dec_in.dataLen: 31, mPicId: 6
08-08 17:45:56.677  1778  1933 E MemoryHeapIon: Get_phy_addr_from_ion: Getphyaddr error!
08-08 17:45:56.677  1778  1933 V SPRDAVCDecoder: onQueueFilled, 1003, outHeader: 0xb5423b80, pBuffer: 0xb5419260, phyAddr: 0x0
08-08 17:45:56.677  1778  1933 D vndksupport: Loading /vendor/lib/hw/gralloc.sc8830.so from current namespace instead of sphal namespace.
08-08 17:45:56.679  1778  1933 V SPRDAVCDecoder: onQueueFilled, 1019, pBuffer: 0xb5419260, vaddr: 0xb20d5000
08-08 17:45:56.704     0     0 E         : [1:rd.h264.decoder: 1933] [c1] ion_phys: ion_phys is not implemented by this heap.
08-08 17:45:56.679  1778  1933 V SPRDAVCDecoder: onQueueFilled, 1022, yuv: b20d5000, mPicId: 6, outHeader: b5423b80, outHeader->pBuffer: b5419260, outHeader->nTimeStamp: 0
08-08 17:45:56.704     0     0 E         : [1:rd.h264.decoder: 1933] [c1] sprd_heap_ioctl alloc ret=0xffffffed error!
08-08 17:45:56.680  1778  1933 D VSP     : VSP_ACQUIRE_Dev, 199
08-08 17:45:56.680  1778  1933 D VSP     : H264DecDecode, 387, g_stream_offset: 4, g_slice_datalen: 27, g_nalu_ptr->len: 25, destuffing_num: 2
08-08 17:45:56.680  1778  1933 D VSP     : H264Dec_Read_SPS_PPS_SliceHeader, 74, the first byte: 0x67.
08-08 17:45:56.680  1778  1933 D VSP     : H264DecDecode_NALU, 908, finished decoding one NALU
08-08 17:45:56.680  1778  1933 D VSP     : H264DecDecode, 408, g_nalu_ptr->len: 25, frame_dec_finish: 0,ret:  -9 
08-08 17:45:56.680  1778  1933 D VSP     : H264DecDecode, 446, exit decoder, error_flag: 0
08-08 17:45:56.680  1778  1933 D VSP     : VSP_RELEASE_Dev, 257, ret: 0
08-08 17:45:56.680  1778  1933 I SPRDAVCDecoder: onQueueFilled, 1033, decRet: -9, 0ms, dec_out.frameEffective: 0, needIVOP: 1
08-08 17:45:56.680  1778  1933 D vndksupport: Loading /vendor/lib/hw/gralloc.sc8830.so from current namespace instead of sphal namespace.
08-08 17:45:56.682  1778  1933 I SPRDAVCDecoder: now, we don't take care of the decoder return: -9
08-08 17:45:56.683  1778  1933 I SPRDAVCDecoder: handlePortSettingChangeEvent, 1145, mWidth: 1920, mHeight: 1088, info->picWidth: 1920, info->picHeight: 1088
08-08 17:45:56.683  1778  1933 E SPRDAVCDecoder: set ddr freq to 500000khz
08-08 17:45:56.683  1778  1933 I SPRDAVCDecoder: handlePortSettingChangeEvent, 1154, info->numRefFrames: 3, info->has_b_frames: 1, def->nBufferCountActual: 6
08-08 17:45:56.683  1778  1933 I VSP     : H264Dec_ReleaseRefBuffers, 32
08-08 17:45:56.683  1778  1933 I SprdSimpleOMXComponent: fillThisBuffer, buffer: 0xb5423e68, header: 0xb5423bd0, iRefCount: 0
08-08 17:45:56.689  1778  1860 V SprdSimpleOMXComponent: Port 1 now disabled.

Then some lines after I also get this:

08-08 17:45:56.792     0     0 E         : [2:rd.h264.decoder: 1933] [c2] ion_phys: ion_phys is not implemented by this heap.
08-08 17:45:56.792     0     0 E         : [2:rd.h264.decoder: 1933] [c2] sprd_heap_ioctl alloc ret=0xffffffed error!

Then I thought of changing this line's ION_HEAP_TYPE_SYSTEM to ION_HEAP_TYPE_CUSTOM: https://github.com/remilia15/android_kernel_samsung_core33g/blob/lineage-15.1/arch/arm/mach-sc/devices-sc8830.c#L1154 . (I'm not using this kernel source but they have similar content)

The line above disappeared. Camera app can be opened, but still unable to record a video yet it can shoot pictures. Here's another short snippet of logcat (default + kernel):

08-08 17:27:29.267  1582  1838 V SPRDAVCDecoder: onQueueFilled, 1019, pBuffer: 0xa6619260, vaddr: 0xa322a000
08-08 17:27:29.267  1582  1838 V SPRDAVCDecoder: onQueueFilled, 1022, yuv: a322a000, mPicId: 21, outHeader: a6623b80, outHeader->pBuffer: a6619260, outHeader->nTimeStamp: 0
08-08 17:27:29.268  1582  1838 D VSP     : VSP_ACQUIRE_Dev, 199
08-08 17:27:29.268  1582  1838 D VSP     : H264DecDecode, 387, g_stream_offset: 4, g_slice_datalen: 27, g_nalu_ptr->len: 25, destuffing_num: 2
08-08 17:27:29.268  1582  1838 D VSP     : H264Dec_Read_SPS_PPS_SliceHeader, 74, the first byte: 0x67.
08-08 17:27:29.268  1582  1838 D VSP     : H264DecDecode_NALU, 908, finished decoding one NALU
08-08 17:27:29.268  1582  1838 D VSP     : H264DecDecode, 408, g_nalu_ptr->len: 25, frame_dec_finish: 0,ret:  -9 
08-08 17:27:29.268  1582  1838 D VSP     : H264DecDecode, 446, exit decoder, error_flag: 0
08-08 17:27:29.268  1582  1838 D VSP     : VSP_RELEASE_Dev, 257, ret: 0
08-08 17:27:29.268  1582  1838 I SPRDAVCDecoder: onQueueFilled, 1033, decRet: -9, 0ms, dec_out.frameEffective: 0, needIVOP: 1
08-08 17:27:29.268  1582  1838 D vndksupport: Loading /vendor/lib/hw/gralloc.sc8830.so from current namespace instead of sphal namespace.
08-08 17:27:29.269     0     0 W         : [0:   Binder:262_2:  279] [c0] ion: malloc from cma mem: size=002fd000,phy addr=9d700000, time=15ms
08-08 17:27:29.269  1582  1838 I SPRDAVCDecoder: now, we don't take care of the decoder return: -9

hwcomposer

target thumb C++: hwcomposer.sc8830 <= hardware/sprd/hwcomposer/sc8830/SprdHWComposer.cpp target thumb C++: hwcomposer.sc8830 <= hardware/sprd/hwcomposer/sc8830/SprdPrimaryDisplayDevice/SprdFrameBufferHAL.cpp In file included from hardware/sprd/hwcomposer/sc8830/SprdPrimaryDisplayDevice/../OverlayComposer/OverlayNativeWindow.h:36:0, from hardware/sprd/hwcomposer/sc8830/SprdPrimaryDisplayDevice/../OverlayComposer/OverlayComposer.h:91, from hardware/sprd/hwcomposer/sc8830/SprdPrimaryDisplayDevice/SprdPrimaryDisplayDevice.h:61, from hardware/sprd/hwcomposer/sc8830/SprdHWComposer.h:53, from hardware/sprd/hwcomposer/sc8830/SprdHWComposer.cpp:37: frameworks/native/include/ui/FramebufferNativeWindow.h:18:2: warning: #warning "FramebufferNativeWindow is deprecated" [-Wcpp] #warning "FramebufferNativeWindow is deprecated" ^ target thumb C++: hwcomposer.sc8830 <= hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp In file included from hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:40:0: system/core/libion/include/ion/ion.h:34:35: error: 'ion_user_handle_t' has not been declared unsigned int flags, ion_user_handle_t *handle); ^ system/core/libion/include/ion/ion.h:38:22: error: 'ion_user_handle_t' has not been declared int ion_free(int fd, ion_user_handle_t handle); ^ system/core/libion/include/ion/ion.h:39:21: error: 'ion_user_handle_t' has not been declared int ion_map(int fd, ion_user_handle_t handle, size_t length, int prot, ^ system/core/libion/include/ion/ion.h:41:23: error: 'ion_user_handle_t' has not been declared int ion_share(int fd, ion_user_handle_t handle, int *share_fd); ^ system/core/libion/include/ion/ion.h:42:38: error: 'ion_user_handle_t' has not been declared int ion_import(int fd, int share_fd, ion_user_handle_t *handle); ^ target thumb C++: hwcomposer.sc8830 <= hardware/sprd/hwcomposer/sc8830/SprdDisplayPlane.cpp hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:63:27: error: use of enum 'SPRD_DEVICE_SYNC_TYPE' without previous declaration int sprd_fence_build(enum SPRD_DEVICE_SYNC_TYPE type, struct HWC_fence_data *HWCData) ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: In function 'int sprd_fence_build(int, HWC_fence_data*)': hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:81:10: error: 'struct ion_fence_data' has no member named 'device_type' data.device_type = type; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:82:10: error: 'struct ion_fence_data' has no member named 'life_value' data.life_value = 1; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:83:10: error: 'struct ion_fence_data' has no member named 'release_fence_fd' data.release_fence_fd = -1; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:84:10: error: 'struct ion_fence_data' has no member named 'retired_fence_fd' data.retired_fence_fd = -1; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:96:14: error: 'struct ion_fence_data' has no member named 'release_fence_fd' if (data.release_fence_fd < 0 || data.retired_fence_fd < 0) ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:96:43: error: 'struct ion_fence_data' has no member named 'retired_fence_fd' if (data.release_fence_fd < 0 || data.retired_fence_fd < 0) ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:102:38: error: 'struct ion_fence_data' has no member named 'release_fence_fd' HWCData->release_fence_fd = data.release_fence_fd; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:103:38: error: 'struct ion_fence_data' has no member named 'retired_fence_fd' HWCData->retired_fence_fd = data.retired_fence_fd; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: At global scope: hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:108:28: error: use of enum 'SPRD_DEVICE_SYNC_TYPE' without previous declaration int sprd_fence_signal(enum SPRD_DEVICE_SYNC_TYPE type) ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: In function 'int sprd_fence_signal(int)': hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:121:10: error: 'struct ion_fence_data' has no member named 'device_type' data.device_type = type; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: In function 'int HWCBufferSyncBuild(hwc_display_contents_1_t*, int)': hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:241:10: error: use of enum 'SPRD_DEVICE_SYNC_TYPE' without previous declaration enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_PRIMARY_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:241:44: error: invalid type in declaration before '=' token enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_PRIMARY_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:241:46: error: 'SPRD_DEVICE_PRIMARY_SYNC' was not declared in this scope enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_PRIMARY_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:246:23: error: 'SPRD_DEVICE_VIRTUAL_SYNC' was not declared in this scope device_type = SPRD_DEVICE_VIRTUAL_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: In function 'int HWCBufferSyncBuildForVirtualDisplay(hwc_display_contents_1_t*)': hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:319:10: error: use of enum 'SPRD_DEVICE_SYNC_TYPE' without previous declaration enum SPRD_DEVICE_SYNC_TYPE device_type; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:319:43: error: invalid type in declaration before ';' token enum SPRD_DEVICE_SYNC_TYPE device_type; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:322:19: error: 'SPRD_DEVICE_VIRTUAL_SYNC' was not declared in this scope device_type = SPRD_DEVICE_VIRTUAL_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: In function 'int HWCBufferSyncReleaseForVirtualDisplay(hwc_display_contents_1_t*)': hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:374:10: error: use of enum 'SPRD_DEVICE_SYNC_TYPE' without previous declaration enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_VIRTUAL_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:374:44: error: invalid type in declaration before '=' token enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_VIRTUAL_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:374:46: error: 'SPRD_DEVICE_VIRTUAL_SYNC' was not declared in this scope enum SPRD_DEVICE_SYNC_TYPE device_type = SPRD_DEVICE_VIRTUAL_SYNC; ^ hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp: At global scope: hardware/sprd/hwcomposer/sc8830/AndroidFence.cpp:364:69: warning: unused parameter 'list' [-Wunused-parameter] int HWCBufferSyncReleaseForVirtualDisplay(hwc_display_contents_1_t *list)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.