History log of /hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
94b51da4bc46f846fa2f7f0e36d2730b63ae88e2 27-Sep-2014 Saurabh Shah <saurshah@codeaurora.org> hwc: Fix src split bugs

--In "always_split" mode, split FB only if the updated portion of
FB's width is less than mixer width

--While deciding whether or not to allocate the 2nd pipe, account
for 90 transform in crop width

--Crop minimum width limitation of at least 5 pixels does not apply
to targets after 8974 v2.

Bug: 18092749
Change-Id: I83b4690216a75c0d57e7e4e7b18b4531bb22df05
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
0eb79f8456c2a8bb0f30a2e966f8c9000fe934e9 23-May-2014 Saurabh Shah <saurshah@codeaurora.org> hwc: Source Split layers always if indicated by driver

Source Split layers always if the driver indicates so by setting
the src_split_always in the capabilities sysfs node.
This is applicable to layers whose width > mixer's width, since
MDP clk rate is dependent on max(mixer_width, layer_width).

This feature can be enabled if the panel height is more than a
certain empirically derived value. Splitting always in those
cases can help with a lower voltage.

Change-Id: If9b33f11ca4132eb77416c26819f7473c65d3b08
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
ecd6f5d93a833293d2fd651069cc2e0e86acc27d 25-Apr-2014 Jeykumar Sankaran <jsanka@codeaurora.org> hwc: Support single ROI for split panels.

For panels that cannot accept commands in both the interfaces, we cannot
send two ROI's (for each half). We merge them into single ROI and split
them across lSplit for MDP mixer use. The ROI's will be merged again
finally before updating the panel in the driver.

- Reads panel property of dual control path
- If dual control path not supported, merge ROI's before
analysing for composition strategies.

Change-Id: I67e361a299dc5d1adb28b180900e24633eefc4a8
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
3319ed056d7d62134f66c2cd5d062d027ccb908a 12-Apr-2014 Naseer Ahmed <naseer@codeaurora.org> mdp_version: Check define for each version.

Some of the definitions may not be present on AOSP builds while
other may. Check each definition to be sure.

Change-Id: Ia3cf8f024a3a6b6633a3be4646579f6cde0d5580
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
a85d9f9f2d5cd0555b409b1fc974a9ecec3fee56 13-Mar-2014 radhakrishna <radhakrishna@codeaurora.org> h/q/d: Add utility function for 8x16 and read RGB scalar capability.

- Add utility function for 8x16
- Add internal function to identify if RGB doesn't
support scaling that is read from capabilities node.
- If UI layer needs scaling and RGB pipe doesn't
support scalar, request a VG pipe
- On 8x16, request DMA pipe for WFD

Change-Id: I94e8e0371bb10fcad53fddd2b7c45bc9b2594a4d
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
9e771bed593b11da6e6bcd54b16ade8e80fcda2b 05-Apr-2014 Jeykumar Sankaran <jsanka@codeaurora.org> h/q/d: Read minimum width and height values of the panel ROI.

Read minimum width and height restrictions on ROI of a panel
through sysfs node.

Change-Id: I0e4c35cdcaee06e77955725565cfbed2f0fd91e9
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
c121ec0d0c5d9237cbbdb83a99bf474ed2e5976a 06-Mar-2014 Jeykumar Sankaran <jsanka@codeaurora.org> libqdutils: Update panel capabilities from sys node

This change adds support to read more panel related informations
from sys node.

Change-Id: I64f37a35945ac700388335059cbb1cfbc9d4b4d7
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
58cc563a7d022fd57b37b2bfc8201ad3ac6a3076 04-Mar-2014 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: Add support for SourceSplit"
7dc3e31e2a6de0ee146ad9146c12453ad5ce8fa7 13-Feb-2014 Saurabh Shah <saurshah@codeaurora.org> hwc: Add support for SourceSplit

Add support for SourceSplit. The mixers are abstracted from hwc.
There would be no translations to mixer understood destinations.

1) If a layer's crop and position are < 2048, only 1 pipe can be used
irrespective of position.
2) Else 2 pipes can be used with the layer equally split, without
regard to position.

Change-Id: I501a53838d147887c1e2299366663e05320d5096
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
cf40ec929a1ddf18023dad9647e7be08638b659d 25-Feb-2014 Dileep Kumar Reddi <dkumarre@codeaurora.org> hqd : Use proper type casts

* Remove compilation errors
* Use proper type casts

Change-Id: I1d44c2a2362a1fdd4d6e412ea816d4078e8355c9
:
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
41ebb4f375e69bf590f1e2bb0bdb372929fa44ae 20-Feb-2014 Linux Build Service Account <lnxbuild@localhost> Merge "display: Remove klockwork warnings and errors."
c9cbe63708025b7aed15e251b2fb3a914fd842a0 01-Feb-2014 Ramkumar Radhakrishnan <ramkumar@codeaurora.org> display: Remove klockwork warnings and errors.

Remove all klockwork warnings and errors for libgralloc,
libhwcomposer, liboverlay, libqdutils, libqservice, libvirtual,
libexternal libraries to avoid buffer overflow and memory leaks.

Change-Id: I078143bcbcf5e4b342156bd8305a644566f7cc4b
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
c0fbcede3ccc2e0996531f29cccdf02b47ba70ad 14-Feb-2014 Sushil Chauhan <sushilchauhan@codeaurora.org> qdutils: Pre-allocate initial buffer for getline().

Some frameworks override malloc() and free() but not getline().
Pre-allocating the buffer avoids heap mismatch on free().

Change-Id: I9bd934f701ad7dbc10ec2aa21967e2a626c496f4
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
0de84c911980050d32a6bb35836ce099acfc496d 22-Jan-2014 Arun Kumar K.R <akumarkr@codeaurora.org> qdutils/qservice: fix compilation warnings

- fix incorrect type casting.
- remove unused variables.

Change-Id: I4d21fe895b048a9dcb7c43297d44b041ba42d735
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
8ba221e06a912a2bac4a8d9f40fd0d7c4ca47978 18-Jan-2014 Linux Build Service Account <lnxbuild@localhost> Merge "qdutils: Use HW revision from linux header if available"
f7ad1a3b9d99f9c59be31819742855893192b2bb 17-Jan-2014 Linux Build Service Account <lnxbuild@localhost> Merge "h/q/d: Check for MDP upscale limitations"
693d5c2fa030ce90b0f8ccd5cffd255525e2305c 07-Jan-2014 Saurabh Shah <saurshah@codeaurora.org> qdutils: Use HW revision from linux header if available

Currently HW revisions are maintained separately between kernel and
user-space. To optimize this there will be single place, exported
msm_mdp.h, where HW revisions will be maintained.

Change-Id: I815eb9bd32f17928356e58a38260cee69b019a8b
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
c38cdae859e0ee12ad3284a308eaeef9d2708c74 10-Oct-2013 Manoj Kumar AVM <manojavm@codeaurora.org> hwc: Add support for Macro Tile feature

Macro tile is enabled only if all the conditions are met:
1. GPU hardware should support Macro Tiling.
2. MDSS hardware should support Macro Tiling.
3. USAGE flags shouldnt contain GRALLOC_USAGE_SW_READ_OFTEN and
GRALLOC_USAGE_SW_WRITE_OFTEN.
4. RGB 16bit and 32bit formats.
5. persist.hwc.macro_tile_enable flag should be enabled.

PRIV_FLAGS_TILE_RENDERED flag is added to indicate whether the layer
is rendered/composited in Macro Tiling or Linear format.

Change-Id: Ie3139839c84d76c5d1a2300f33910a09eb7336f4
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
df991ce9e82b63e27859a4c534df4c6c9af2c915 14-Jan-2014 Jeykumar Sankaran <jsanka@codeaurora.org> h/q/d: Check for MDP upscale limitations

- Expose API to get maximum upscale value supported by MDP
- Check for MDP limitation before programming pipes

Change-Id: Id9faac54a7b3e393b6c4b60574e5e985b495bf59
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
b3665b86c4a6307716da3f1148f5dc3128e2679f 04-Dec-2013 Saurabh Shah <saurshah@codeaurora.org> qdutils: mdpversion: Add device version checks

Add device version inline checks for hardware devices.
Also fixes the issue of 8084 being treated as 8974v2
owing to the expanded range.

Change-Id: Iaeefb505e14e022b6e542daa8b84a87a22e7f69a
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
1ff95647a2ad38017c7acdfa32a719ffbe5fc116 25-Nov-2013 Saurabh Shah <saurshah@codeaurora.org> qdutils: Parse low and high bandwidth from mdp capabilities node

Parse low and high bandwidth from mdp capabilities sysfs node
/sys/class/graphics/fb0/mdp/caps
This will be specified in kbps.

Conflicts:
libqdutils/mdp_version.cpp

Change-Id: I2956e340106d47bb49f5744e4f9a4a0bb796f6e3
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
1b66878aec2d36dbc5aa9f8109885448431af236 21-Nov-2013 Manoj Kumar AVM <manojavm@codeaurora.org> qdutils: Remove fb open dependency to read MDSS capabiliites

1. MDPVersion class can query the capabilities using sysfs node.
Since sysfs node can be read with out opening framebuffer, it is no
longer required.
2. New internal functions updatePanelInfo, updateSplitInfo are added.

Change-Id: If506e600fb14401d8bf2361aac969c7e29a5d50a
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
ef04efb7c79cf8c016a6424c8dd62d2a419c2679 01-Nov-2013 Zohaib Alam <zalam@codeaurora.org> libqdutils: added a new revision for mpq8092

Added a new entry for HW_REV for mpq8092

Change-Id: I34c0c2c1bb0055303f271e20a86d594a54cbaf0d
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
ed2e4f6e223ab95e3d9a8c7c3210324e2fab21f0 18-Sep-2013 manoj kumar amara venkata mastan <manojavm@codeaurora.org> hwc: Replace metadata ioctl reading with sysfs node

Metadata ioctl approach has limitations with respect
to adding new capabilities in MDSS driver.
Use sysfs node mechanism to obtain MDSS capabilities.
(sysfs node: /sys/class/graphics/fb0/mdp/caps)

Change-Id: Id7fe683c85b3acf182920d28abf62e9826ff1161
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
b9df5c24eccd87185f199cbdda6e5de92570da33 26-Sep-2013 Sravan Kumar D.V.N <sravank1@codeaurora.org> libqdutils: initialize split char array to 0

String should have null character at the end, otherwise
functions like atio may not work on the string properly.

Change-Id: Ib3eb579a5a96dbd121bf6f65b09fa19ec7e274f3
CRs-Fixed: 546662
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
de915f17e0aa7a330fc8edd7ebd0dc3782dd2d44 30-Aug-2013 Saurabh Shah <saurshah@codeaurora.org> qdutils: Add version check API for 8974 v2

Add a version check API for 8974 v2 revision of MDP.

Change-Id: I7469ffc2f2df14c2ac02ee9dc025f5b1d8737206
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
da05b4e085dbdd01ffc1c05de4685282e5d4f0e2 04-Jul-2013 Xiaoming Zhou <zhoux@codeaurora.org> libqdutils: delay the close of fd handle

During surfaceflinger initialization, the first fb open
call comes from the MDP version check. The MDPVersion
class implements a singleton object, which open and close
the fb device. This initial fb open and close will trigger
the kernel driver to turn on and off the display, which
results two side effects: 1) extra delay in the display on,
2) one flicker when the display is turned on and off.
The change is to close the fd handle in the destructor.

Change-Id: I2ee5cfc78cbb613ed1326d9f7c26cbca97406163
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
6f9775c5a5a7368e7274457c4bf9746eaa2cbd70 03-Jul-2013 Linux Build Service Account <lnxbuild@localhost> Merge "hwc: support 8x26 variants"
2e474227e216ee37ab84a3c9a22ea1f650626231 11-Jun-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Add support for uneven split primary displays

Add support for unevenly split primary displays.
The driver provides info about the split via msm_fb_split sysfs node

For external we assume even split. If driver doesn't specify any split
for primary, we default to even split.

Change-Id: I4d541f41de2d7a5d2b62653fa33cab079a6d5d30
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
c485d30ebf142a5a156afd927192ba8fa2c85954 01-Jul-2013 Amara Venkata Mastan Manoj Kumar <manojavm@codeaurora.org> hwc: support 8x26 variants

Add support for 8x26 variants (8x26v1, v2 etc..)

Change-Id: Ie316c1f77fdafb8021100f371c2ebc327e1c9da9
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
e188278e86ebb2f7f1ed3762855f15062b7f9d03 16-May-2013 Saurabh Shah <saurshah@codeaurora.org> hwc: Don't permit rotator use under certain conditions

These include constrained targets, with external connected which could
lead to a scarcity of pipes. Furthermore owing to a scarcity of writeback
interfaces, even if pipes are available, we may not be able to still
use rotator.

Change-Id: Ie2fb4c1726f32addcace89c268a126abe0cddbe0
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
369f45f93e7f0793c2ba95994bb9fbc44f25a939 15-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "qdutils: Parse panel type dynamically from panel info"
b4e42a1d633b09486e0fb49380374e0be525d09d 10-May-2013 Carl Vanderlip <carlv@codeaurora.org> qdutils: Parse panel type dynamically from panel info

Parse the panel type from the panel info string using string operations
rather than relying on constant offset (which would have to be update for
any changes in length to the preceding MDP/MDSS version string). Assumes
that panel type is the first character after the first '_' in the panel
info string.

Change-Id: I33178e7219c26e0e0361e53941f15a3d38f99b71
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
fb3b6102484a8e38c50512df7c8def85b36236f9 06-May-2013 Linux Build Service Account <lnxbuild@localhost> Merge "display: libqdutils: add the MDP h/w version for 8x10 MDP core"
66ea016af22283b2dc51ae850841b15a14cacdd0 02-May-2013 Xiaoming Zhou <zhoux@codeaurora.org> display: libqdutils: add the MDP h/w version for 8x10 MDP core

Add the support to enable 8x10 MDP core version

Change-Id: I385f9bcc5e1c6011f3e2704ee71ce5aacec8b92d
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
30323b98c1abab90dce91c3d226d4e65a24076fc 31-Jan-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> liboverlay: Add support for MDSS Bandwidth Compression

- This adds support for Bandwidth Compression.
- If MDSS supports BWC, then we set BWC flags
to both Rotator(encode) and overlay(decode)

Change-Id: I6f7800716a2ce2ab855f4c0b1a53cd96f7d06d74
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
8fe8c938d27e528fcf7fb4a408711b4b6e405f13 04-Apr-2013 Saurabh Shah <saurshah@codeaurora.org> overlay: Add support for decimation.

Add support for decimation on top of what MDP can downscale,
because decimation can have quality issues.
B-family MDP downscale of 1/4, plus decimation of 1/16 can let
us have a total downscale of 1/64.

Also decimate by 2 (min) if width is greater than what layer mixer
supports and is not handled by the client.

Change-Id: I3b7c4bf321c7561bd98206ad118f4ac1ee2879ae
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
6e146950e61327d425750c1de36bfd70d526acad 07-Mar-2013 Sushil Chauhan <sushilchauhan@codeaurora.org> qdutils: Retrieve MDP revision and pipes information from driver.

Userspace can retrieve MDP revision number and number of different
types of MDP pipes (RGB,VG,DMA) information from driver. Add target
specific flag as previous MDP versions do not provide this support.

- Make use of this information while maintaining PipeBook.
- Move PipeBook related functions from overlay utils to PipeBook.

Change-Id: I46578bb27e515c4b9525d90b6619c11d7749914f
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
5070c694011ddc30673ec68a9d1d74dc713c49f2 10-Feb-2013 Duy Truong <dtruong@codeaurora.org> Update copyright to The Linux Foundation

Change-Id: I145b66896159ff9886ed73507f17b3165ba0266d
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
b3c6e058ce1dbc689f27e7d7acbf1529d37307d8 26-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Get panel type from framebuffer

Change-Id: I3b7cb78d7c6019482ae698b30d553ca782f5022b
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp
0f859f6f0db0e0c05d8c319d8d597ad2731513ae 02-Jul-2012 Naseer Ahmed <naseer@codeaurora.org> display: Add QC Display utils

* Rename qcomui directory to qdutils
* Avoid inclusion of qcom_ui header
* Add class to get MDP version
* Add namespace for qdutils to prevent collison

Change-Id: I9a3f440e6b0fea1cfcc478ddca90af5df3bbb897
/hardware/qcom/display/msm8084/libqdutils/mdp_version.cpp