Configure decimation factor to MDP, if a layer requires to be
downscaled more than that of maximum MDP downscaling limit.
Change-Id: Ib36173f2458bf0554b4dd9de18521f6dff65a625
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
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
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
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
- 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
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
On suspend, HDMI interface should not be turned off.
Just unstaging the pipes is enough, so call commit with
0 layers.
Change-Id: Ieb297d8c9660a3e04171b166cc5c8e22069eb6d9
Close acquire fence fd of all layers, if display commit fails. This
is required to avoid fd leaks.
Change-Id: I12d44ddc0d1e378374c64a1808e7a19f071209be
Set flip flags in the driver interface to notify driver to do
horizontal/vertical/both flips using MDP.
Change-Id: Idbbffcc835a4779da5fb497a891ba5b8d9ec66b1
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
Handle source split support case, allocate two pipes when the src
width or dst width is over the limit.
Change-Id: If17fb96f82973653caa400157d210e636b2c1725
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
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
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
In Resource Manager, add checks for:
1. Per pipe bandwidth
2. Overlap bandwidth of system
3. SDE Clock requirement of system
Change-Id: I01cff8d3252c874061a633817cf95e615394cfdb
- 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
- 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
1. Set output of SET_BIT and CLEAR_BIT to destination.
2. Remove kernel header dependency from hwc makefile.
Change-Id: Iad6f5776997064654178b54e0aba749576d85a50
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
- 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
1. Add support for version in strategy interface to maintain
backward compatibility.
2. Add create and destroy functions in strategy library.
Change-Id: I87f3a40099d3e71bce2934863c07948908a64149
- 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
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
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