Age | Commit message (Collapse) | Author |
|
Port the HBTP Input driver and apply the following driver
changes taken from msm-3.10 kernel branch as of msm-3.10 commit.
31773451 input: misc: add input driver for HBTP
20bf9c5f input: hbtp_input: bypass alphabetical and numeric
key config
e424ee72 input: misc: hbtp-input: add event type in uevents
Change-Id: I122d22cf738c747bcd43ec7f90c33a239288fd9d
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Signed-off-by: Himanshu Aggarwal <haggarwa@codeaurora.org>
|
|
Move kernel data structures to driver and keep the
data structures shared between kernel and user space
in the header file. Move the header to uapi to make
it accesible to user space.
Fix checkpatch errors to replace deprecated functions
and hardcoded error return values.
Change-Id: Ic3312c11ddda9f02da9807a6243206d582281995
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
|
|
Expose thermal uapi kernel header file to the userspace
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
|
|
Expose energy-aware uapi kernel header file to the userspace
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
|
|
Export sanitized mmc.h and core.h for userspace.
Change-Id: I3a6eadde2023d974b0ce260a77082b01d8ba0b5d
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
|
|
The eMMC 4.5 spec for RPMB accesses is not very clear on whether
user parition accesses can be allowed in the middle of RPMB accesses.
Due to this ambiguity, it turns out this is implementation defined
and certain cards support it while others do not.
In order to allow this feature to function across a wide variety of
cards, this patch takes the pessimistic approach and ensures that any
RPMB access is completed before user partition can be accessed.
Change-Id: I77959f462c874771a0a854d9a2bc48df446eff56
Signed-off-by: Krishna Konda <kkonda@codeaurora.org>
Signed-off-by: Oluwafemi Adeyemi <aadeyemi@codeaurora.org>
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
[merez@codeaurora: fix conflicts due to changes in 3.14]
Signed-off-by: Maya Erez <merez@codeaurora.org>
[venkatg@codeaurora: pick only ioctl header changes and drop rest]
Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org>
|
|
Add changes to update camera drivers to:
1. Update necessary Kconfig files to support camera driver
compilation.
2. Support minor changes to V4L framework.
3. Export uapi headers to header_install export location.
Signed-off-by: Seemanta Dutta <seemanta@codeaurora.org>
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
|
|
Add all camera drivers by picking them up from
AU_LINUX_ANDROID_LA.HB.1.3.1.06.00.00.187.056 (e70ad0cd)
Signed-off-by: Lakshmi Narayana Kalavala <lkalaval@codeaurora.org>
|
|
Notify user space with only backlight changes that pass the backlight
threshold check.
Change-Id: Id2fef0a2d9c883d0e68a5ad6be699858be6898ae
Signed-off-by: Ping Li <pingli@codeaurora.org>
|
|
Initial set of changes to support msm8937. This includes
adding MDP HW version for msm8937, and some makefile
changes.
Change-Id: I0646ea76060696d4fe35e3f6f5f2a949474c0b8b
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict.
Remove makefile changes, always build mdss_mdp_pp_v1_7.c]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
|
Inverse gamma correction(IGC) linearizes the incoming pixels of a layer
before blending it with other layers. Change adds support for sRGB
format.
Change-Id: I2b30adeae5a10354f485c8e78c9d8c938e1ccf1f
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
|
|
When rotation session involves an interlaced layer that is intended to be
deinterlaced by MDP, client is expected to pass in flag indicating rotator
needs to deinterlace content.
Change-Id: I27c009e32cd82e00713c20b3accb2efbe5587344
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
|
Secure display architecture requires null commit
before and after secure display session. It
also adds requirement to make the SCM call before
and after secure display session. It supports secure
display with single-stage SMMU hypervisor controlled.
Change-Id: I3f41ed318c80d6e76328de114f7dee0c9891c2f0
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
|
If the source FPS for the rotator is set, store it and
use it for calculating BW required by rotator.
Change-Id: I35801528930897447a039c4a4c950048e99d16d9
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
|
|
For bandwidth calculations, rotator driver needs
to know the compression ratio factors which
depends on the pixel format. This change adds
support to share this information between
user-space and rotator driver.
Change-Id: I6163317514328610a836c34fd9ca75c3e753b50f
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
|
|
This change adds support for SSPP postprocessing using the
atomic commit ioctl. The configuration given as part of the
ioctl will be cached in the same pipe res as before, and the
register programming sequence will be called from the pipe
setup as before.
Change-Id: Ida8209f80e55e9d5009b5df4e55f787b4a85ddc0
Signed-off-by: Benet Clark <benetc@codeaurora.org>
|
|
When creating the framework for handling PP versioning, all PP features
were given interface update and space in the framework for handling
versioning. However, the CSC hardware will not change, and
therefore will not need any updates. This change removes the framework
update done for CSC.
Change-Id: Idc6c0b7ea62717ff1d1f2e4c827481e5db1976a8
Signed-off-by: Benet Clark <benetc@codeaurora.org>
|
|
MDP needs color space value to configure CSC matrix correctly. So
add color_space member in the mdp_input_layer structure.
Change-Id: I47ca556f8cfa8ef6c95fb0d77ef1510e3830a286
Signed-off-by: Sushil Chauhan <sushilchauhan@codeaurora.org>
|
|
Expose new ioctl for updating the layer position asynchronously.
Initially, pipes should be configured with async_update flag set
during the atomic commit, after which any number of position update
calls can be made. This would enable multiple position updates
within a single vsync. However, the screen update would happen
only after vsync, which would pick the latest update. Currently,
supported for video mode panels with single LM or dual LM with
src_split enabled. Only position updates are possible with no
scaling/cropping and each async layer should have unique z_order.
Change-Id: Ibb2804b59c6c980411396120e63167f18df5bc5b
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
[cip@codeaurora.org: Resolved out-of-order merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
|
Non-uniform mapping mode is configurable parameter exposed by MDP.
Driver should provide the option to gamut clients to configure the
mapping. Change updates the interface to expose the parameter and
programs the gamut registers based on user setting.
Change-Id: I71e7e0f7443da7856b0d03e6b2799f9380274893
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
|
|
Add a comment specifying guidelines for user on how to fill roi
information when calling commit IOCTL.
Change-Id: Iaab026131baccace1d4236777ff68d5953b5342b
Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
|
|
This change adds a sysfs node for assertive display attenuation
backlight change notification. Any AD related backlight notification
will be posted to the ad_bl_event sysfs node, so userspace clients
can be notified if they poll on the same sysfs node.
It will simplify and optimize the previous notification ioctl
implementation.
Change-Id: I7a8f86563d5802a41dc200f5901a8d0bed1cf765
Signed-off-by: Ping Li <pingli@codeaurora.org>
|
|
MDSS currently has fixed maximum bandwidth enabled in DT file.
But there are scenarios where this maximum bandwidth support
can change to enhance performance. Based on scenarios such as
camera use, or flip involved declare the max bandwidth for
usecase in DT and change accordingly based on usecase.
Change-Id: Icc85d75d7a60fe6f934a1fbd9d5077b620b2993d
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
|
|
For bandwidth calculations, driver needs to know
compression ratio factors which depends on the pixel
format. This change adds support to share this
information with user-space.
Change-Id: I08aa8792c38bb85a8114a21cbaabe905bbfee289
Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
|
|
Export stereoscopic 3D modes supported by the driver to the
userspace.
Change-Id: I9992fc10abeca9cf48a9cca5efd404ec0693bb72
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
|
|
This reverts commit 679dc362a9effee922ef2ce1447424b318f667bc.
The way overriding partial update via PP ioctl is obsolete,
partial update control is going through sysfs. The left code
is blocking pp ioctl even partial update is disabled dynamically.
Change-Id: Icb455a0101b53c58ae6c1b2686bd2297b4832396
Signed-off-by: Ken Zhang <kenz@codeaurora.org>
Signed-off-by: Ping Li <pingli@codeaurora.org>
|
|
This change adds MDSS version macro for msm8952
Change-Id: I096833c36229f2d623ab7efdeaf43035e5254973
Signed-off-by: Nitesh Gupta <niteshg@codeaurora.org>
|
|
Earlier, camera preview buffers were of NV21(YCrCb_420_SP)
and the video buffers were of NV12_VENUS(YCbCr_420_SP_VENUS)
format. Now that the video encoder has support for NV21,
both the camera and video buffers can be of NV21_VENUS
(YCrCb_420_SP_VENUS) format.
If the preview and video buffer sizes are the same, CPP
double pass to generate video and preview buffers can be
avoided and the buffers can now be generated within a
single pass with CPP duplication thereby saving power.
Add support in kernel for NV12_VENUS format to achieve
the same.
Change-Id: Ia0ee0155faaa5ba6d5cafbc0529428734eaf37e5
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
|
|
MDSS hardware on msm8996 target supports RGBX UBWC format
because it handles the RGBA and RGBX formats in same manner.
This change adds the RGBX UBWC format support with
compression ratio information.
Change-Id: I674d136496910e017d4c21d56b62def7eff0562e
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
|
|
Add gamma correction support in mdp3 driver via
MSMFB_MDP_PP ioctl. The ioctl has been extended to
program luts corresponding to histogram based
outputs and gamma correction based on flag.
The gain corresponding to gamma correction and
the histogram based output are combined in driver
and applied to hardware.
Change-Id: Ie875b4a9f4f4c752ad9a811ad68aff1c5110d57b
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
|
|
The table size definition was incorrectly defined previously, which
caused the Gamut Mapping tables to be missing values. The table size
definition has been redefined, in order to include the missing values.
Change-Id: I0adf546c52c40f7a251f3aa977864ba116822d93
Signed-off-by: Benet Clark <benetc@codeaurora.org>
|
|
This header file is required by userspace components for compilation.
Signed-off-by: Ian Maund <imaund@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
|
smmu v1 is not supported in 3.18. Remove smmu v1 specific
changes in display.
Change-Id: I9deb060b6d3539acb9ee4b3fa05f491e0fc1db43
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
[cip@codeaurora.org: Resolved merge conflict]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
|
When open session is called, input and output format validation takes
place. In order to properly validate, we need to know if the session
contains rotation. This rotation information is passed using the flag.
Change-Id: Ie8bf4c6639aa0d671ac044a2581132bc97b68242
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
|
Value will be used to validate and identify which rotator
session request item is a part of.
Change-Id: Id62719c4d37c9a2f690cb57fa1ca2826310d1da8
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
|
|
Change rot_180 and rot_270 flags to be a combination of few other
flags, as those would summarize the respective operation. This
would adhere more to how hardware behaves and also allows more
combinations.
Change-Id: Ib8e6e9e01710b773284e3ec496c689b8d786502c
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
|
|
Define the new rotation API for the mdss rotation driver.
Change-Id: Ief25e7e6c7716db8183cb49e41cbd447b7cdfbfc
Signed-off-by: Xiaoming Zhou <zhoux@codeaurora.org>
|
|
Use appropriate SOC name. Also replace all
instances of thulia with kryo.
Change-Id: I3d21e3534fdf113190882c84ee5426ee929da131
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
[cip@codeaurora.org: Always build mdss_mdp_pp_v1_7.c]
Signed-off-by: Clarence Ip <cip@codeaurora.org>
|
|
Adding notify update init and notify update deinit calls which
ought to be called when the notify update thread is being
started and exited in userspace. The need for these is to ensure
that during exit sequence of the notify update thread there is
minimal wait due to ioctl being blocked in driver. The wait
completions will not be reset if deinit has been called and will
need an init call for them to start working. So when we are
exiting the notify update thread, any block that might happen
due to either a concurrent or a later notify update call is now
handled properly so that the block is either returned early or
is not allowed respectively.
Change-Id: I8212bf058285f5929ebc85d41d6bb12b50e388d9
Signed-off-by: Krishna Chaitanya Parimi <cparimi@codeaurora.org>
|
|
CEA-861-F specification defines new video formats which are supported in
the hdmi 2.0 specification.
Change-Id: I5bf017835ea7c5e472e91c0d663f6f0083a87854
Signed-off-by: Vinu Deokaran <vinud@codeaurora.org>
|
|
DTD (Detailed Timing Descriptor) provides full resolution timing
details. Currently we compare these details with our resolution
data base to find a match. This is not needed as DTD has complete
details. Once parsing of resolution is done, just add this as a
new resolution.
Change-Id: I0d6c101c96a6bc8c0ff8fe63c17bf233d52dad7f
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
|
Width and height are not properly calculated when decimation
is involved. When there is scaling on a pipe, the required number
of pixels are wrongly programmed resulting in pipe hangs and
leading to TLB SYNC issues. This change handles proper
calculation of decimated width and height.
Change-Id: Iadc4b201b32dda3dba6afe23070f349677be417c
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
|
|
In order to provide more reusable code, and prevent unnecessary
debugging removing union as memory saving is insignificant.
Change-Id: I5da68c64c0bf09157738fbec1feb6adde5af42a2
[veeras@codeaurora.org: Resolve merge conflict in msm_mdp_ext.h by
retaining the version in this file]
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
|
|
EDID (Extended Display Identification Data) may contain some
resolutions in DTDs (Detailed Timing Descriptors) which are not
in the supported resolutions list. In such cases, every time
when the HDMI cable is connected, parse all the resolution data
from DTD and populate the resolution list with the newly found
resolution. This way any resolution found in DTD can be supported
subjected to hardware limitations.
Change-Id: Ib2223e34820a70da0b03b8ac39b170cf6b3e65b5
[veeras@codeaurora.org: Resolved merge conflict in msm_hdmi_modes.h
by retaining the version of this commit]
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
|
|
Provide complete resolution details in a sysfs node "res_info"
limited to PAGE_SIZE. Different modules can query for multiple
resolution details based on the resolution ids received from
EDID of the TV.
In case resolution details exceed PAGE_SIZE, reuse res_info to
get remaining timing details by provide page details.
Change-Id: I3e8e8d4de29f78d22273b3fb8ff6a059a8cb19e1
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
|
HDMI has a large number of resolutions supported and currently
for all supported resolutions, related modules maintain static
tables which are populated at boot time. This results in huge
static memory usage. Also, it limits the system to support only
the define resolutions.
Remove static table which stores all the resolution details.
Get individual resolution details on need basis. Also, remove
the dependency to support only the defined resolution. HDMI driver
can support any non standard resolution within the allowed range.
Change-Id: I0972bc3a0ab96051ea642d685d10c4e5535b7051
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
|
|
Add support for enabling scrambler on hosts that support scrambling.
Scrambling is a new freature added in HDMI 2.0 specification to reduce
EMI interference at higher clock frequencies. Scrambling is enabled for
HDMI modes that have pixel clock greater than 340MHz. For lower pixel
clock frequencies, scrambling is enabled if sink supports scrambling at
lower frequencies.
Change-Id: I3aa224a32e768e2754a9e056a58ca90808a26ec6
Signed-off-by: Vinu Deokaran <vinud@codeaurora.org>
|
|
Some of the PP(post processing) features in MDP might be upgraded when
new revision hardware is released. Clients of driver were relying on
MDP revision to decide which version of the PP feature is supported.
With MDP revision approach the client of driver needs to maintain a
mapping between MDP revision and PP feature version. This change
exposes ioctl to driver clients to query PP driver version of feature
instead of maintaining mapping.
Change-Id: I73f465400112445070c75f65f6ffd87c03eef2fb
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
|
|
PCC(polynomial color correction) feature is supported in SSPP(source
surface post processing) MDP block of thulium. This change enables the
caching of PCC params passed by driver client and programming the SSPP
pcc hardware block.
Change-Id: I3798becf7ed675c32a90bc7cefa415c055516d72
Signed-off-by: Gopikrishnaiah Anandan <agopik@codeaurora.org>
|
|
Picture Adjustment (PA) global and memory color adjustments are supported
on source side VIG pipes in MDP. Clients of MDP driver can enable the
feature using overlay ioctl interface. This change adds support for
clients of the driver to enable the feature.
Change-Id: If961bb20167a7d08bf77dc4807acb46f38094f63
Signed-off-by: Benet Clark <benetc@codeaurora.org>
|