Commit Graph

25 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Linux Build Service Account
69ca731c02 Merge "sde: Add device dump information" 2014-11-18 09:05:17 -08:00
Ramkumar Radhakrishnan
cd8b429dd8 sde: Add support for layer caching
1. Pass layer updating flag to composition manager to mark those
   layers for SDE composition.
2. Compare cached layer stack info with current layer stack info.
   if it matches then set composition type to HWC_OVERLAY, so that
   surfaceflinger wont compose those cached layers into framebuffer
3. Cache current layer stack information for next frame composition.

Change-Id: I3485a8ac2242fa25b48e79b1549d37ef7638c9af
2014-11-14 17:03:25 -08:00
Dileep Marchya
750da12730 sde: Add device dump information
Add device dump information to dump output.

Change-Id: I68a5465bf8371fbd3f6d2b0caf02db69bdd56f0f
2014-11-13 12:00:41 -08:00
Arun Kumar K.R
edb8bc82ff sde: Add support for DisplayEventHandler
- Add DisplayEventHandler to receive VSync event from driver.
- Add hooks to enable/disable VSync from client.
- Propogate VSync timestamp to the client

Change-Id: I27ea9773c424d8ad85f11f292ddd8792564bbcdc
2014-11-13 11:59:29 -08:00
Dileep Marchya
eb547a0340 sde: Reduce level of indirections to access layer info.
1. Pull LayerArray information in LayerStack struct and
   remove LayerArray.
2. Remove size_t usage in SDE.

Change-Id: If2d4be17e42c27a2ee451c103282bac35eea42dc
2014-11-13 11:59:21 -08:00
Dileep Marchya
b61346fd8b sde: Add hooks for dump information.
1. Implement dump interface and provide hooks for adding
   dump information from different modules.
2. Rename writeback session module to offline controller.
3. Merge logger.h functionality into debug.h
4. Rename DISPLAY_* as SDE_*.

Change-Id: I3e8df27a848475d067801037bcdc807561d35cc8
2014-11-13 11:57:15 -08:00
Dileep Marchya
934d396925 sde: Enable GPU mode composition for primary display.
1. Load sde core and create primary display in hwc session.
2. Prepare layer stack for primary display.
3. Open open fb node for primary display.
4. Add support to select a composition strategy using strategy
   interface and allocate mdss resources using resource manager
   in composition manager.
5. Manage mdss pipe state machine and configure pipes for layer
   stack in resource manager.
6. Add default strategy to select GPU composition.
7. Add support for hw layer to atomic commit translation.

Change-Id: I5a5537dbcb28727e16b0c055e17a387696f6dac8
2014-11-13 11:57:06 -08:00
Dileep Marchya
96db258608 sde: Snapdragon Display Engine (SDE) implementation skeleton.
Define classes and files required for SDE implementation.

Change-Id: Ic2d8572699b895f1980c7c127301e9ce0d4c8b03
2014-11-13 11:56:56 -08:00