63 Commits

Author SHA1 Message Date
Ricardo Cerqueira
9fbe261265 overlay: Allow disabling secure playback
If the device's kernel isn't fully prepared for secure content
playback, having the secure field in the msm_rotator_img_info
struct will cause issues while playing out video.

The correct set of patches to the kernel (MDP, maybe vidc) needs
to be figured out for this to be enabled; to disable it,
add QCOM_NO_SECURE_PLAYBACK to the device's CFLAGS. (and remove
"secure" from msm_rotator_img_info)

Change-Id: Ib1d265133e66ae456c59a9f78b052a01cbd00116
2012-08-02 23:22:49 -05:00
Andrew Sutherland
3786a1edc6 libcopybit: add support for qsd8k
Change-Id: Idc9baff4d81bb8211e943155769c435c76b38835
2012-08-02 23:16:45 -05:00
Andrew Sutherland
e25f40c946 bring back pmem/ashmem allocators
o removed RefBase usages
o ifdef for TARGET_USES_ION

Change-Id: Ief331f4c847b86be0e37d24983097af1f53234a2
2012-08-02 23:16:45 -05:00
Andrew Sutherland
becfd45151 build for QCOM_HARDWARE
Change-Id: Ie69feab2833d38153c3bb11c708a398629f088e2
2012-08-02 23:16:45 -05:00
Andrew Sutherland
87f0aec7e0 git checkout caf/jb . (starting over)
per be02ab0... display: Clean up gralloc

Change-Id: I3857046362703bacf3c4c1bcad831bfaa92387e7
2012-08-02 23:16:08 -05:00
Andrew Sutherland
1ccdbea036 Merge remote-tracking branch 'caf/jb' into jelly
Conflicts:
	common.mk
	libgralloc/alloc_controller.cpp
	libgralloc/pmem_bestfit_alloc.cpp
	libgralloc/pmemalloc.cpp
	libhwcomposer/hwc_external.cpp
	libqdutils/mdp_version.cpp

Change-Id: I1a0182faeb5e3c10153a5236434b55ff78b0eada
2012-08-02 23:02:46 -05:00
Naseer Ahmed
be02ab0d74 display: Clean up gralloc
* Remove pmem and ashmem implementations
* Remove usage of RefBase
* Reduce log verbosity

Change-Id: If8ef543d236e5305bd5430f4f9c62c51b3a13787
2012-07-31 22:18:18 -06:00
Linux Build Service Account
6ad0635c7a Merge "liboverlay: Update format translation." into jb 2012-07-31 20:47:24 -07:00
Saurabh Shah
a710720dbd liboverlay: Remove waitForVsync, getOvPipeType APIs
Remove waitForVsync support.
Vsync will be done explicitly by clients outside of overlay.

Remove support for the unused getOvPipeType API.
Remove redundant state checks in class Overlay

Change-Id: I34f00e1334bbd9fad130bdefeaf0426ebbd638a1
2012-07-31 14:09:33 -07:00
Neti Ravi Kumar
97d3484b12 libhwcomposer: Add C2D support to copybit
Change-Id: Icb1a010f8079bb3f2122d8520c87d60b757d73bd
2012-07-31 10:36:51 +05:30
Saurabh Shah
f08d84f218 liboverlay: Update format translation.
Update format translation from HAL to MDP.
Add support for RGB_888, YCbCr_444_SP, YCrCb_444_SP formats.

Change-Id: I6323cd07bfe74c7cc60bf2b59dd81e2ae8a2ce27
2012-07-30 13:56:28 -07:00
Ethan Chen
fc740d06a4 display: disable hwcomposer logspam
Change-Id: I71e912218932c66852424c47d98c384ed21344c2
2012-07-30 13:36:10 -05:00
Ricardo Cerqueira
92b683627a overlay: Allow disabling secure playback
If the device's kernel isn't fully prepared for secure content
playback, having the secure field in the msm_rotator_img_info
struct will cause issues while playing out video.

The correct set of patches to the kernel (MDP, maybe vidc) needs
to be figured out for this to be enabled; to disable it,
add QCOM_NO_SECURE_PLAYBACK to the device's CFLAGS. (and remove
"secure" from msm_rotator_img_info)

Change-Id: I7949e918163e0acb2d6eb3d8881b04fb07b2be2c
2012-07-29 23:35:28 -05:00
Andrew Sutherland
3684704af4 copybit: makefile remove DEBUG_MDP_ERRORS define
* already defined is copybit.cpp

Change-Id: I99929f2a40e0cdd42c67966cfbff71a43dcb7848
2012-07-29 22:43:31 -05:00
Andrew Sutherland
124b191c09 Revert "hwc_copybit: temp hack for working display"
This reverts commit c0e59806e62363b47ae5ad1b10ece4463b0180d7.
2012-07-29 22:01:48 -05:00
Prabhanjan Kandula
8d90904f86 HDMI: Fallback to MM heap.
- IOMMU heap is not available for all targets. we should
  have a fallback heap always as IOMMU can be disabled.

Change-Id: I7e987ac69ba5e5fdd6228b50930e064a4420a472
2012-07-27 08:24:30 -07:00
Saurabh Shah
bf3c454efe hwc: Add support for external-only layers
Add support for different types of external-only layers
EXTERNAL_ONLY: General purpose
EXTERNAL_BLOCK: Blocks the display of other ext-only layers
EXTERNAL_CC: Used for closed captions with videos.

Change-Id: I7cb531a55a2f0015e3a51673faf08941bcea1923
2012-07-27 08:24:25 -07:00
Saurabh Shah
446b936947 overlay: Refactor State Transitions.
Refactor transitions by templatizing to have default behavior for most cases
and full specializations for specific cases.
Partial specialization of functions is not allowed, so create templatized
intermediate functions for those use cases.
For ex: if we have 8 states, we don't need 8x8 transition handlers.

Add and define OV_DUAL_DISPLAY state.
Add a GenericPipe for subtitles to OV_2D_VIDEO_ON_PANEL_TV state.
Add a 2D_VIDEO_ON_TV state and its transitions.

Change-Id: I53b017b9a41db5894c263ccb446b7ec8875ef3aa
2012-07-27 08:24:19 -07:00
Naseer Ahmed
32dd0125d9 hwc: Disable HW vsync for some targets
7x27A, 8x25 and 8x55 do not support HW vsync yet.
This change checks for their MDP version and disables HW vsync
on them. This change should be reverted once hardware vsync is
available on these targets.

Change-Id: I0cb884f571346b3595169cb4b3c01bbdb7ecaaee
2012-07-27 08:23:50 -07:00
Naseer Ahmed
912842f62d display: Get panel type from framebuffer
Change-Id: I5dc16125bbb7d864dcb7106166e91b950a44d686
2012-07-27 08:23:40 -07:00
Jeykumar Sankaran
bd86fcfff6 display: Add support for MDP Composition
This change
   1) implements MDP Composition upto 3 layers
   2) adds invalidator support to fall back to FB
      composition during idle screen condition.

Change-Id: I8d724f905c943f986b68596e2548a7f5a8ce6588
2012-07-27 08:23:34 -07:00
Arun Kumar K.R
a72904b1dc hwc: enable vsync for external display
- wait for hdmi vsync when connected to hdmi
- add commit to call PANDISPLAY for updating ext display
- add functions to close fb and reset info

Change-Id: Icdd3620bd9d15240a88a26a3f1bf9c07d58d011b
2012-07-27 08:23:30 -07:00
Naseer Ahmed
9ccb3975c7 display: Enable vsync
* Use the vsync uevents from the kernel to start
surfaceflinger composition.
* This patch also does some code cleanup
    - Move copybit specific functions to copybit files.
    - Cleanup verbose logging.
Change-Id: I8ca3cd7a7ceb53655ed0fcf39ac2cb35e6cbe890
2012-07-27 08:23:23 -07:00
Andrew Sutherland
c0e59806e6 hwc_copybit: temp hack for working display
Change-Id: Ie564fa6876f860f70bb8d34b54b1fa8d6fcac05e
2012-07-24 23:13:21 -05:00
Andrew Sutherland
37f4aeb3c6 hwc_copybit: add back adsp heap usage
Change-Id: I0204a0a5181043097a00925b50386cf612d88f07
2012-07-24 23:13:14 -05:00
Andrew Sutherland
0f24916293 display: fixup ion ifdef again
switch back to TARGET_USES_ION (to be more inline with cm and a frameworks
change forces it to be defined anyway)

Change-Id: Ibc90a8ab0f7ff3477e149ee69489686f94476fec
2012-07-24 12:21:50 -05:00
Andrew Sutherland
a91c998940 Merge remote-tracking branch 'caf/jb' into jb
Conflicts:
	libcopybit/Android.mk
	libgralloc/Android.mk
	libgralloc/framebuffer.cpp

Change-Id: I61d48a930d840a5edd659527cc2ebbe3ff84ee3b
2012-07-24 12:18:55 -05:00
Andrew Sutherland
e5a6a4d1bb qcom/display: qsd8k mdp version hack
Change-Id: I214c68d21113eb8755ba8a44327f6f27a945addc
2012-07-23 20:49:59 -05:00
Naseer Ahmed
c0872eecdd framebuffer: Fix locking
The gralloc locking did not lock
the framebuffer. Use genlock to
lock the framebuffers.

Change-Id: Ie8be6f7950f6df06a2293c3df863e19cd5386479
2012-07-23 18:58:39 -05:00
Ricardo Cerqueira
f08c954f02 Allow compatibility with ICS EGL for OMX
The new headers define the qcom video buffer format
(HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED) as 0x7FA30C03, ICS used 0x108.

Trying to play a video with the ICS Adreno driver results in
it rejecting the buffers because 2141391875 (0x7FA30C03) is an
unknown buffer format, so use the QCOM_ICS_COMPAT CFLAG to
fallback to the older enum.

Do NOT use this with JB Adreno blobs.

Change-Id: I2bd05c681718e916bd91311a4c9e503545f2e1bc
2012-07-22 00:34:51 -07:00
Linux Build Service Account
9c552477aa Merge "display : Add support for copybit composition" into jb 2012-07-21 03:07:17 -07:00
Sravan Kumar D.V.N
c80da70cbe display : Add support for copybit composition
This change add support for copybit composition in display HAL
for MDP3 targets.

Change-Id: I80144619f39a895d2f214adb6ca92d0a7f5ed9a5
2012-07-20 19:56:54 +05:30
Saurabh Shah
421b3b9bf1 overlay: Secure playback add missing flag.
Add the missing GRALLOC_USAGE_PRIVATE_CP_BUFFER while allocating secure memory
Change the O_SYNC to O_DSYNC flag.

Change-Id: Ida014018be111a7904ff07c206a673b2abf52d05
2012-07-19 18:39:47 -07:00
Linux Build Service Account
8352773d2d Merge "gralloc: Update Yamato format to match OMX" into jb 2012-07-19 11:54:44 -07:00
Arvind Thatikonda
1a4d01fb6a gralloc: Update Yamato format to match OMX
The value of OMX color format for Yamato  is 0x7FA30C01.

Change-Id: Idb25ce6cd619a44e5980074e2a37185a4750000d
2012-07-19 08:36:56 +05:30
Arun Kumar K.R
59d5b624c6 hwcomposer: Add support for UI mirroring
- Uevent observer as part of Hwcomposer
- HPD, enabling/disabling external display from HWC

Change-Id: I52b4f30c78e98c5b52c86722046389f458c2dbee
2012-07-18 11:09:16 -07:00
Saurabh Shah
399667e7c4 overlay: upgrade
p#1: Remove WAIT and CHANNEL enums and usage. Replace BypassPipe with
     GenericPipe. Client expected to set alignments and parameters.
     Add transform combination enums.
p#2: Allow APIs to be called in any order. Do transform calcs in commit.
     Move ext type setter and getter functions.
p#3: Add calculations for 180 transform.
p#4: Add secure session support in rotator
p#5: Implement all rotations in terms of H flip, V flip and 90 rotation.

Change-Id: I34a9a2a0f1255b3467a0abbaa254d0b584e901ce
2012-07-17 17:49:01 -07:00
Andrew Sutherland
32393536ca pmem: stop the log spam
Change-Id: I77a6bb587113326fa0224d058df0edcbcaf61886
2012-07-16 20:47:52 -05:00
Naseer Ahmed
35a18b165b framebuffer: Fix locking
The gralloc locking did not lock
the framebuffer. Use genlock to
lock the framebuffers.

Change-Id: Ie8be6f7950f6df06a2293c3df863e19cd5386479
2012-07-13 23:49:15 -07:00
Saurabh Shah
5704501325 hwc: Add VideoOverlay class
Add videoOverlay class for display videos with overlay.

Change-Id: I161d1732fdf8336d0b6dcf5326e6adb7514a2d02
2012-07-13 23:49:15 -07:00
Linux Build Service Account
ac01712091 Merge "liboverlay: Refactor, bug-fixes, upgrade." into jb 2012-07-13 22:40:58 -07:00
Naseer Ahmed
d544ba6489 display: Fix copyrights
These copyrights were removed in an earlier
patch by error

Change-Id: I5a8e5c058cf914f63bbde9c78b56039ac6a5757c
2012-07-13 18:23:38 -07:00
Naseer Ahmed
ee72cb0233 display: Clean up makefiles
* Move common includes and shared libraries to
a common location

* Clean up Makefile copyrights

Change-Id: I0427f0f98b4c039a691be0ef6f3deead2b4bfa02
2012-07-13 06:18:40 -07:00
Andrew Sutherland
bcc7c1c42f libgralloc: bring back pmem support
pmem is now legacy. ion is default, override with TARGET_USES_PMEM:=true

Change-Id: I05c95647838eb1613ddf80a9f672c2b93dc035f8
2012-07-13 03:19:21 -05:00
Andrew Sutherland
0e7581a767 libcopybit: add qsd8k support
Change-Id: I597b7ce61f0cadad9cf061a4011ac8696ac35377
2012-07-13 03:15:57 -05:00
Andrew Sutherland
c12771c8f9 qcom/display: edit makefile for our tree
liblight conflicts with msm7k, dont think any devices will use it. Removed

Change-Id: I4f940f1a843acc46813c9233e3a5a8cd6d2133e7
2012-07-13 03:09:18 -05:00
Naseer Ahmed
3a04c7acf5 gralloc: Fix msm_ion include
Change-Id: Ibbd93a14fca7c13f71ff2bb74a5ce14bd24cbe9c
2012-07-12 17:24:05 -05:00
Naseer Ahmed
880a5c8bb1 display: Enable triple framebuffers
Change-Id: I323c10b939277477f724c2d0a20f9c6da4899481
2012-07-12 17:24:05 -05:00
Saurabh Shah
dca07219a9 liboverlay: Refactor, bug-fixes, upgrade.
Fix memory leak during copying pipe objects.
Remove unused / unnecessary code.
setMemoryId API is merged with queueBuffer.
setParameter API is setTransform now.
Rotator upgraded to:
--Allow different rotator hardware types.
--Remove dependency on MDP code.
--Allocate memory only during first playback, close when the associated pipe is
closed.
Have single commit implementation.
Include new format types.

Change-Id: I28d87179c7ec9c0b97721a9ff17f1526da98b714
2012-07-12 15:22:56 -07:00
Linux Build Service Account
6f012b4384 Merge "gralloc: Fix msm_ion include" into jb 2012-07-11 21:34:15 -07:00