Commit Graph

61 Commits

Author SHA1 Message Date
Linux Build Service Account
c56295232f Merge "sde: Add support for flush." 2015-01-28 10:44:03 -08:00
Linux Build Service Account
757a959364 Merge "sde: resource manager: rotator output config" 2015-01-28 10:44:01 -08:00
Linux Build Service Account
0da1c10772 Merge "sde: Add support for UBWC in display engine" 2015-01-25 13:11:26 -08:00
Linux Build Service Account
e8bb45d688 Merge "sde: Add decimation support for downscaling." 2015-01-21 22:42:22 -08:00
Ramkumar Radhakrishnan
e314375fbb sde: Add decimation support for downscaling.
Configure decimation factor to MDP, if a layer requires to be
downscaled more than that of maximum MDP downscaling limit.

Change-Id: Ib36173f2458bf0554b4dd9de18521f6dff65a625
2015-01-21 17:09:14 -08:00
Linux Build Service Account
5945ab4920 Merge "sde: Add support for video playback with SDE." 2015-01-21 15:38:05 -08:00
Dileep Marchya
25927a6b47 sde: Add support for flush.
Add support for flush on a display. This flush shall release pipes,
all pending buffers and associated fences that are currently held
by display engine.

Change-Id: I8a8d7030fb6af031b3760c172fce4f1f8ef3fedc
2015-01-21 13:12:52 -08:00
Sushil Chauhan
cfee3f3d6e sde: Add support for UBWC in display engine
SDE checks for PRIV_FLAGS_UBWC_ALIGNED bit in private handle flags
and sets the corresponding UBWC aligned LayerBufferFormat. Driver
expects UBWC specific pixel formats defined by MDP header.

Change-Id: Iaf86c4d7433dc9628b1cf8d7fb8872ab4f1f0a39
2015-01-20 16:40:57 -08:00
Ramkumar Radhakrishnan
b56c7a9272 sde: Add support for video playback with SDE.
1. Set the video and secure flag of the layer buffer flag properly.
2. Normalize the crop rectangle of the layer to even values.
3. Handle one pixel downscale usecase, as MDP hardware dont support it.
4. Set the hint flag for each layer qualified for SDE compoisition to
   notify surfaceflinger to clear the layers destination region in FB.

Change-Id: I20239e79db3ea90e0d4fdcb6953b8b70d703b4fc
2015-01-16 11:31:11 -08:00
Ken Zhang
d8990c0aec sde: resource manager: rotator output config
Rotator might be used for downscale only. Output
ROI should not swap if there is no rotation.
Do not print out error log when the input is wrong,
Lua test will treat them as failures.
Add some more logging for rotation.
Checking for over width limit should only be greater.

Change-Id: Ib60bee3153e833ae3906169c216305f63f07f14b
2015-01-15 17:12:01 -05:00
Arun Kumar K.R
ecae9b2881 sde: Add support resolution change on HDMI and fix comp_manager
- Provide a debug hook to change resolution on HDMI.
- Config(edid) set by user is validated before setting and this
  overrides the best mode
- Add max_attempts in strategy interface which will be used for
  looping through the strategy selection which removes infinite loop
- Set Max SDE layers on HDMI as 2
- Fix incorrect sde layer index in Dump

Change-Id: I9ae1d0b115a06774470be5c0f9b78c4d930b7065
2015-01-12 14:41:05 -08:00
Linux Build Service Account
bbfaced6b5 Merge "sde: Read simulation flag" 2015-01-09 18:23:47 -08:00
Linux Build Service Account
9aeed64e96 Merge "sde: resource manager: rotator resource allocation" 2015-01-08 16:42:50 -08:00
Manoj Kumar AVM
4746f24733 sde: Read simulation flag
Read simulation flag from "debug.hwc.simulate" property.

Change-Id: Ia0dfe88d5d579985a2c1fcd58e83e0cc5583ef15
2015-01-08 12:10:24 -08:00
Linux Build Service Account
53d094e3dc Merge "sde: Handle suspend on HDMI" 2015-01-07 19:38:04 -08:00
Linux Build Service Account
df55ada919 Merge "sde: Fix the fps value read from HDMI driver" 2015-01-07 19:37:41 -08:00
Linux Build Service Account
9dc4222a5c Merge "sde: Close acquire fence fds, if display commit fails." 2015-01-07 15:52:46 -08:00
Linux Build Service Account
6712d3fffc Merge "sde: Add support for horizontal and vertical flip." 2015-01-07 15:52:45 -08:00
Ken Zhang
a80bdd8d7f sde: resource manager: rotator resource allocation
Only mark dedicate block for rotator allocation. Use
rotate array other than left_rotate and right_rotate.
Use bit mask to indicate rotation usage because rotation
can be shared by multi displays.

Change-Id: I70bd03250080a24dcf7f38c39dbd6391c0bba97c
2015-01-07 14:43:56 -05:00
Arun Kumar K.R
41c33b9c3f sde: Handle suspend on HDMI
On suspend, HDMI interface should not be turned off.
Just unstaging the pipes is enough, so call commit with
0 layers.

Change-Id: Ieb297d8c9660a3e04171b166cc5c8e22069eb6d9
2015-01-06 19:08:16 -08:00
Ramkumar Radhakrishnan
0142f2ce73 sde: Close acquire fence fds, if display commit fails.
Close acquire fence fd of all layers, if display commit fails. This
is required to avoid fd leaks.

Change-Id: I12d44ddc0d1e378374c64a1808e7a19f071209be
2015-01-06 15:42:06 -08:00
Ramkumar Radhakrishnan
1f2d1b9297 sde: Add support for horizontal and vertical flip.
Set flip flags in the driver interface to notify driver to do
horizontal/vertical/both flips using MDP.

Change-Id: Idbbffcc835a4779da5fb497a891ba5b8d9ec66b1
2015-01-06 15:38:37 -08:00
Ken Zhang
8a7f0fd540 sde: resource manager: rotator support
Use rotator when 90 rotation or downscaling is needed.
Configure rotator input/output ROI, acquire source pipe
and writeback block for the rotator.

Change-Id: I4b8348714eade9a57e553f0f23e6b0b62dd32bad
2015-01-06 10:33:24 -08:00
Ken Zhang
7172e07f53 sde: resource manager: add src split support
Handle source split support case, allocate two pipes when the src
width or dst width is over the limit.

Change-Id: If17fb96f82973653caa400157d210e636b2c1725
2015-01-06 10:33:16 -08:00
Ken Zhang
c49f0585c7 sde: resource manager: multi display support
Move some state info into display ctx.
Reorganize layer config for display split config case.
Add macro tile format check for scaling limit difference.

Change-Id: If9c3bed6161343828c14f784f69269c181510223
2015-01-06 10:32:59 -08:00
Sushil Chauhan
794590b407 sde: Fix the fps value read from HDMI driver
As per HDMI driver specs, the refresh rate should be divided by 1000,
to get fps in Hz.

Change-Id: I7de7c3c8f9c6df67dd3ec403625ed58f5e2a0fb7
2015-01-05 17:45:11 -08:00
Linux Build Service Account
6de1a59d65 Merge "sde: strategy interface changes" 2015-01-03 04:23:33 -08:00
Sushil Chauhan
2550def04f sde: Get new metadata values from driver
Get new metadata values: max pipe bandwidth, max sde clock rate and
clock fudge factor. They are needed for bandwidth and clock checks.

Change-Id: I16078c6a707f5a81aa0eb2690b756df732fec218
2014-12-30 21:01:50 -08:00
Manoj Kumar AVM
0a8eef0f16 sde: strategy interface changes
1. Create an instance of strategy interface for each display.
2. Add start and stop methods in strategy interface.
3. Remove union of retire fence and output buffer.

Change-Id: I31e8afedda529a5e92d618d515ae23eebcedf32b
2014-12-29 12:11:37 -08:00
Linux Build Service Account
99a6b64030 Merge "sde: Add bandwidth checks in resource manager" 2014-12-20 14:13:07 -08:00
Sushil Chauhan
91caa9964d sde: Add bandwidth checks in resource manager
In Resource Manager, add checks for:
1. Per pipe bandwidth
2. Overlap bandwidth of system
3. SDE Clock requirement of system

Change-Id: I01cff8d3252c874061a633817cf95e615394cfdb
2014-12-19 11:10:10 -08:00
Dileep Marchya
f0a2dfaac6 sde: Add support for hwc version 1.4
- Add support for setPowerMode.
- Treat HWC_POWER_MODE_DOZE/HWC_POWER_MODE_DOZE_SUSPEND equally.
- Support getActiveConfig/setActiveConfig only at 0th config for now.

Change-Id: I4684423bb8e3c66cb2289fcabcf13f717168dc9d
2014-12-17 18:15:03 -08:00
Dileep Marchya
ad32ccf4c5 sde: Initialize layer stack based on its usage.
Initialize retire fence for primary/external displays and output buffer
for virtual display.

Change-Id: Id2e628a5265df62f63c92e0414a7d988aac078c1
2014-12-16 17:08:32 -08:00
Arun Kumar K.R
d821fbdf15 sde: Add support for HDMI
- Listen to HDMI uevent in HWCSession and handle the creation
  of HDMI displays
- Add support for querying different modes in HWFramebuffer
  interface
- Add interfaces in display engine for HDMI display
- Enables only GPU composition on HDMI

Change-Id: I3fc8c6512817883f34540298730ca976a63e6d48
2014-12-16 17:08:24 -08:00
Linux Build Service Account
5c1cb99f24 Merge "sde: Fix hang when CompManager:Prepare() fails with error" 2014-12-06 14:38:41 -08:00
Linux Build Service Account
6c9cdd5138 Merge "sde: Fix SET_BIT and CLEAR_BIT macros." 2014-12-06 14:38:30 -08:00
Linux Build Service Account
28b8263e2a Merge "sde: Add a client for qservice in hwc." 2014-12-06 00:26:59 -08:00
Linux Build Service Account
201d25f6f6 Merge "sde: Add support for conditional logging." 2014-12-06 00:26:58 -08:00
Linux Build Service Account
f2e4a738eb Merge "sde: Add support for version in strategy interface." 2014-12-06 00:26:58 -08:00
Linux Build Service Account
72b4d86893 Merge "sde: Fix/clean up DeviceBase/HWFramebuffer and LOG msgs" 2014-12-06 00:26:57 -08:00
Linux Build Service Account
2e34fc0ccc Merge "sde: Make validate and commit ioctl calls on driver." 2014-12-06 00:26:57 -08:00
Dileep Marchya
1d1f366532 sde: Fix SET_BIT and CLEAR_BIT macros.
1. Set output of SET_BIT and CLEAR_BIT to destination.
2. Remove kernel header dependency from hwc makefile.

Change-Id: Iad6f5776997064654178b54e0aba749576d85a50
2014-12-05 18:44:30 -08:00
Dileep Marchya
1fcbb06e2c sde: Add a client for qservice in hwc.
1. Add a client for qservice in hwc and enable dynamic logging.
2. Remove common makefile and merge it to respective modules makefiles.

Change-Id: I582873c296d21ecd037225ac0be8177e52cc8cda
2014-12-05 16:02:12 -08:00
Dileep Marchya
3ffb4703cf sde: Add support for conditional logging.
1. Add support for conditional logging.
2. Move log handling to hwc client.

Change-Id: I76bb2f9b420a178f22c4ee2ebf64da6daf5b87ed
2014-12-04 16:31:37 -08:00
Peter Vu
a7a354af35 sde: Fix hang when CompManager:Prepare() fails with error
Ensure res_manager_context is unlocked when CompManager:Prepare()
returns

Change-Id: I29060e6be4241f423c185b27cfbe0a7dfa426a44
2014-12-04 12:36:59 -08:00
Arun Kumar K.R
ed2ffce4b8 sde: hwc_display: Set all the display attributes
- Set the HWC_DISPLAY_SECURE attribute in the HWC.
- All the physical connected displays are assumed to be secure by SF.
  Hence set this display attribute as true.
- This is added for backcompatibility.

Change-Id: I9e0ac4f3d923f990a5c81a3c36638bd62fdc83c0
2014-12-02 12:50:34 -08:00
Dileep Marchya
d8501be546 sde: Add support for version in strategy interface.
1. Add support for version in strategy interface to maintain
   backward compatibility.
2. Add create and destroy functions in strategy library.

Change-Id: I87f3a40099d3e71bce2934863c07948908a64149
2014-12-02 12:36:02 -08:00
Arun Kumar K.R
ac6c734815 sde: Fix/clean up DeviceBase/HWFramebuffer and LOG msgs
- Replace HWBlockType in DeviceBase with HWDeviceType to
  differentiate when we add Rotator Device
- Parse fb node index for primary, hdmi and virtual displays
- Use fb node index while opening the fb device
- Update split info in GetDeviceAttributes
- Store event handlers only for Primary and HDMI
- Change LOGE to LOGW at appropriate places
- Enable error on unused variable

Change-Id: Ie6cb00633edfda17cb6ce1005780bf4b7e6c8270
2014-12-02 12:35:54 -08:00
Dileep Marchya
aef83adb7e sde: Make validate and commit ioctl calls on driver.
1. Update hw framebuffer implementation to compose layers for
   validation with driver.
2. Use atomic commit ioctl to send layers for validation
   and commit on driver.
3. Add different buffer formats handling in hw framebuffer.

Change-Id: I13f9c245c14859c8e2680ef724cfebb59a0d990e
2014-12-02 01:06:12 -08:00
Ramkumar Radhakrishnan
d33432ef5a sde: Replace device with display wherever its applicable.
1. Replace device interfaces between display engine and hwcomposer
   with display interfaces.
2. Replace all device interfaces internal to display engine with
   display interfaces.
3. Rename device_base header and source files to display_base header
   and source files.
4. Rename hwc_sink header and source files to hwc_display header and
   source files.

Change-Id: Iedde81fb19583bcaf71cc631d935c7268511027f
2014-11-20 23:55:48 -08:00