- should not be enabling external downscale when primary panel
is of higher resolution
- while enabling downscale on external, also check if primary is
within the Full HD resolution
Change-Id: I871a435834b6bca9b0e6899680aa8282dddad624
Enable MDP downscale feature on External display upto 1080p.
If primary is 2560x1600 and hdmi is 1080p, do not perform
MDP downscale for hdmi.
Change-Id: Ie835a71c293ca3f56c4ab62de96e38b51ded0dd7
Remove mEDIDs string from the External class as it not needed
after parsing the string
Change-Id: I0a624857894a0b5401b33408c09b32ceb4f8a0d4
CRs-fixed: 549578
On WFD/HDMI connection, if the configured resolution is less than
Primary Resolution, Display HAL does the following:
1. sends hpd notification to SF with primary resolution.
2. configures MDP pipes with configured Resolution.
This is done to improve UI quality as MDP has better downscale
filter options compared to GPU.
Change-Id: I33570c13016a35ed6c5d22d4c34dfe75b2c605a1
On WFD/HDMI connection, if the configured resolution is less than
Primary Resolution, Display HAL does the following:
1. sends hpd notification to SF with primary resolution.
2. configures MDP pipes with configured Resolution.
This is done to improve UI quality as MDP has better downscale
filter options compared to GPU.
This works only for QCOM WFD proprietary solution.
Change-Id: Ic20e837bf02c0f7b6718946e70b936f3a469fa7c
- cleans up external library
- add separate library for virtual display
- process virtual updates in its separate path
in hwc.
- Acquire blank mutex lock for one complete drawing
cycle
Change-Id: Ib984c578464a131ecdb27ee48960f58d68b7a5a7
Add support for VESA formats with pixel clock
at 65MHz. This change helps verify support
for formats corresponding to 65MHz in the
HDMI/MHL driver by using 1024x768p604:3 resolution.
Change-Id: I28b4adcfced7e8bfe7b75c534f5b15c25138ef7f
It is more probable that end user always use same TV to connect.
Hence make the action safe property persist, so that it is
persistent across reboot
Also, change property to sys. from hw. so that hwc can write
Change-Id: I5a77156012d121e28d1adbadb9162fcdf7ca3edd
CRs-fixed: 472431
- SPD: Source product description.
- Retrieve the product vendor and name from the system
property and pass it to the hdmi driver.
- This will display some specific names for source such
as instead of "Input 1" it might display "QCOM 8974" for
example
Change-Id: I5440841b9e47110386c793045f3b30774522dcb6
- Userspace was maintaining its own display mode timing table
- Change that to include the header from kernel
Change-Id: I19823e60d188b5a30445866c7df1860e269975bc
CRs-fixed: 470335
when HDMI is connected during active WFD session, teardown
WFD and process HDMI connection request.
CRs-Fixed: 442226
Change-Id: I4b22ff9f1ab3175bab47babdaf040cb2289ebe4d
- Disable HPD at start, it will be enabled later
when the display is powered on
- This fixes the issue where the HDMI mirroring
was not working when there was a framework reboot
or adb shell stop/start
Change-Id: I56d706ebae281297a8ec6517a4fb8e5cdda27617
CRs-fixed: 461820
This patch removes the usage of the framebuffer HAL which is
deprecated in JB MR1 onwards. The code is left for compatibility
such as conformance tests but it is unused for normal display
usage.
Change-Id: If98133bdaa759cdc41d4503ff695b225ee43cb6f
Conflicts:
libhwcomposer/hwc_utils.cpp
System property to be shared with the applications, they need
to have same UID.
Prefix the system property with "hw." so that it can be of system
UID and be accessed by any app.
Change-Id: Ie5db1b7e614728c53e1085089194cd8a58f9ae63
CRs-fixed: 456480
This change allows virtual display to be composed
by HWC for supporting Google WFD App + QCOM WFD stack.
Change-Id: If8892230256e72fa34e3fb5ae715c3ad8cbd5b64
Make the display HALs compile with/without the Qualcomm BSP
specific features so they can work with pure AOSP.
Change-Id: I1ad7282c4fe1fe7e3309afb530a07735f165ffbe
In driver PUTVSCREEN_INFO ioctl uses the META_DATA to configure, so
change the order in which the iocts are called during setResolution
Change-Id: I79e1bcf191756b3567b3e73a8eccd50ecb8857a7
CRs-fixed: 449567
- Read scan_info sys file node to check if TV underscans
- Apply action safe parameters to avoid overscan on ext display
- Store action safe width and height ratio using system property
- Use these to calculate the destination position on the ext display
- Remove unsed ActionSafe Class
Change-Id: Id27e6fa20966fb13fc16aa7e237cacce8caeb642
CRs-fixed: 447367
- hw.hdmiON property is set to 1 when cable is connected
and 0 otherwise
- This property can be queried by other modules to know
if HDMI is connected
Change-Id: Id513711a676e6cb4eb9a99b3b208b05f6e021047
- set the property hdmi.resolution with the required mode
(16,4,3,32,34,1)
- If that resolution is not supported by the TV, it will fall
back to the best mode supported by the TV
Change-Id: I90ceda02319e79e388035ba7b5926bdcf6625595
CRs-fixed: 430055
This commit has the following changes:
1. Use hdmi switch node for hdmi hotplug
- uses /devices/virtual/switch/hdmi switch_state to determine
the hdmi connect/disconnect
- this switch will be set to 1 on connect and 0 on disconnect
- on connect, open framebuffer device, will trigger the hdcp
authentication.
- the driver will set the hdmi_audio switch to indicate that
the HDMI sink supports audio
2. Enable HDP on unblank
- this will resolve the device freeze during the bootup with hdmi
connected
Change-Id: Id7a656d548a31178e31dcb9aea8acf38a56c9e0c
(cherry picked from commit 953b04b3cbba2f91d25795e5b0560c13d47844b0)
This change extends MDP composition to support
upto 4 layers by making border fill as base pipe and
using all MDP h/w pipes in overlay mode.
Conflicts:
libhwcomposer/hwc.cpp
libhwcomposer/hwc_utils.cpp
libhwcomposer/hwc_utils.h
Bug: 7626586
Change-Id: I01a0e53ddfbcf3ed46734f6f3bb0ef7d912ceac6
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
Cleanup overlay for external from the draw thread. If done from the uevent
thread, its possible that the object being used by draw thread is deleted by
uevent thread.
This also removes unnecessary side-effects where libexternal sets states in
hwc, whereas, it could be set from hwc itself. There should be no need for
libexternal to modify states in hwc.
Bug: 7335863 (partial fix)
Change-Id: If07483e640abae2ced2418e0d5c8f278f8c6ec33
Signed-off-by: Iliyan Malchev <malchev@google.com>
Cleanup overlay objects and close fds when external is disconnected. Without
this, the external does not come on when cable connected-disconnected multiple
times when device is in suspended state.
Bug: 7150885 (part of the fix)
Bug: 7295979
Bug: 7150885 (partial)
Change-Id: I1ae2ce7220b9928dde332ce3644dbe671d25c7e6
Signed-off-by: Iliyan Malchev <malchev@google.com>
From post() for external call the new ioctl MSMFB_OVERLAY_COMMIT
to update the external display.
The new IOCTL is faster than the default PAN and waits for DMAE to finish before
returning. This fixes tearing.
Bug: 7249589
Acked-by: Arun Kumar K.R <akumarkr@codeaurora.org>
Change-Id: Ic755e634d5f141a567c7d93f39c74bb087cd7044
Related to bug: 7124159
UI Mirror works with tearing because sync operates at primary vsync. Need
kernel patch to wait on external post.
Change-Id: I77116ef40ae25a2207feb5ca3cd9065ef0da6e4a
Signed-off-by: Iliyan Malchev <malchev@google.com>
Bug: 7124159
--External disabled
--MDP comp coded but disabled.
--Videos via overlay, so that secure videos can work.
Change-Id: Ie48b264143d5e4237ab9724e28930e3f68ba49ee
Signed-off-by: Iliyan Malchev <malchev@google.com>
Add QService binder interface to enable communication
to display by the mediaserver for Securing/Unsecuring start and end
notifications.
Create separate lib for external.
Clear reserved field before applying format.
Change-Id: I463c9c6deac7587bd0c4e0b84513b5d0b5dd7e98