Few msm targets do not have video concealment support.
As concealment not happening for corrupted frames,
filled length will be zero. But video clients are expecting
time stamp information for corrupted frames as well.
Remove filled length verification to propagate timestamp information.
CRs-Fixed: 1041031
Change-Id: Ic3d204189f9ecb812705f501f269c085c8bbe34f
Signed-off-by: Srinu Gorle <sgorle@codeaurora.org>
Signed-off-by: Karthikeyan Periasamy <kperiasa@codeaurora.org>
This enables the SOCK_DESTROY feature for TCP sockets. When changing
networks, this is needed to close all blocking calls on existing
sockets and return ECONNABORTED and close the socket gracefully.
The other end of the connection is sent a RST to notify this event.
This feature was earlier implemented using IOCTL SIOCKILLADDR and
called a custom function tcp_nuke_addr internally. This
functionality will be deprecated going forward in favor of
SOCK_DESTROY.
CRs-Fixed: 1056029
Change-Id: Ibdba6c1a4fc4ce75d8ba1b6c61353ab6662e7914
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
For emulation platform, there are multiple PHY init sequence passed
through device tree. On some platform all PHY init sequence is not
required. This results into using zero as value and offset with PHY
init sequence which is not passed through device tree as of_get_property()
doesn't update size variable if property is not found. Hence reset size
variable to zero before querying next property size.
CRs-Fixed: 1056000
Change-Id: I0c1af2e3a4f3d530af8d8bbec2f41408ab78ed96
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Aligns the frequencies to the FMAX values defined by clock
driver for venus on msmcobalt v2 target. Also link these
frequencies to appropriate load values and imem ab levels.
CRs-Fixed: 1053136
Change-Id: I755d1ad62de97ded55f73148e1a56bc3afafc03b
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
This commit adds support for msmcobalt v2.1 chip on mtp, cdp and
qrd platforms.
CRs-Fixed: 1053410
Change-Id: I877e9816a226a54b16167cc6978e97fd0b298fb8
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Add an initial core-dev mapping table for memlat to
improve power and performance.
Change-Id: I90b400adb7607aa9833a39e0d58e978336b6c1bc
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
As per USB 3.1 Specification, Revision 1.0, Section 9.6 all new
devices running at SuperSpeed or higher speeds must report a
bcdUSB of 0x0310.
Change-Id: I253d0114fadb33456c7a0eb823d29aade1f33dc1
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Add sysfs node to provide the status of display-port's cable
connection. Framework may query about the interface connection
status before powering it on.
Change-Id: I43d0d18b875c4516727f91c57cfb571e3ac91706
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Add a core to memory frequency mapping table, which establishes
a relationship between the core frequency and its corresponding
bandwidth vote.
The governor expects a "qcom,core-dev-table" table as part of a given
memlat hardware monitor's device tree node.
This table is read upon registration of the memlat governor. The table
is then used to determine the memory bandwidth vote corresponding to the
maximum of the core frequencies.
CRs-Fixed: 1054146
Change-Id: I9df118da1433125b02c937bf1799a0944b110fac
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
Suggested-by: Saravana Kannan <skannan@codeaurora.org>
Currently hdcp 1.x is being used by HDMI only. But it can be
used by other interfaces like DP (Display Port). Change the
name of the hdmi_hdcp module to hdcp_1x so that different
interfaces uses more generic name for hdcp 1.x instead of
the interface specific name.
Change-Id: I0cb88c5715dd10c4fad5491e5f05ea489a7ab175
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Initialize the hdcp 1.x module and get hdcp operations.
On DP power, start the hdcp authentication and handle
the result in a call back. Re-authenticate in case
authentication failed. When DP is powered off, tear down
the hdcp session.
Change-Id: Ia321ab17bc9f9aeec1078d6f5199582f9b410b94
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
Disable CoreSight ETM and remote ETM configuration for perf defconfig.
ETM configuration requires jtag save and restore configuration to be
enabled which requires QDSS core clock to be on all the time.
Change-Id: I57019e9b6be7f9020eed3cf730bf5b37ea4a1f98
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
When edid mixer control is executed, if the hdmi ops is
not set, the mixer control get_info() returns error.
This error is treated as fatal by the caller.
Fix by returning valid mixer control info when hdmi ops
is null.
Change-Id: I0097a75d94690b199fab1adc7f2ff3faa2d82e7b
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
RNDIS, RMNET and DPL only supports alternate index 0. Instead of
returning value of data_interface_up which is used for interfaces
supporting non-zero alternate index, simply return 0.
Change-Id: I7fe6c7c636207cd4f85d468f61c87e5a4e12b0ac
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Add slimbus_6_rx phandle reference for asoc-cpu property in
sound node for wcd934x codec. This enables audio playback
support over headphones for msmcobalt platform.
Change-Id: I36050f122e67f95cc7f2dbdd3c73b4de5baea785
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Allow for greater granularity of QoS clocks enabled when
enabling clocks for QoS configuration for each node. Current
implementation requires all QoS clocks related to the parent
fab to enabled, which works well for mass QoS programming at
probe time, but turns on unnecessary clocks when QoS programming
defers at initial client request. This fixes an issue where
Camera's initial client vote also caused the toggling of mdss
gdscs which created a deadlock situation where the notifier
callback from MDSS GDSC tries to obtain the same lock held by
Camera's call in the same thread.
Change-Id: Iff1d086fcfc92a709d198f84227cad9bd6f57646
Signed-off-by: David Dai <daidavid1@codeaurora.org>
Disable ipa-hw on cobalt APQ revisions due
to APQ doesn't have any modem use-cases.
Change-Id: I3251ffcac5cc1257befc5f57d1984a33bf530c23
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Change format string to %pK instead of %p in the debug statements. This
change fixes kernel address leaks from the usage of %p.
CRs-Fixed: 1052825
Change-Id: Ib95f691919a2977f5436cd4c6ac4a002d70dd729
Signed-off-by: Chris Lew <clew@codeaurora.org>
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
Some of the CPE (Codec Processing Engine) registers in wcd934x audio
codec are read-write registers with only few bits that are read-only.
Add change to mark such registers as volatile to avoid reading stale
value from cache for the read-only bits.
CRs-Fixed: 1049012
Change-Id: I6d77cf57e940c9efa6be64565d9ea7d328f0cd9b
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Add callback function members in data structure smb_chg_param to
handle data conversions other than the default provided in the
existing framework.
CRs-Fixed: 1052854
Change-Id: I0f4f0e1e67f3097b567db006a7826a2d1fd7c2d6
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Ensure that on detach any lazy mappings for that device are released.
We don't want to leave any outstanding mappings after detach because
the client expects all mappings to have been unmapped, also we don't
want to leave references, in the lazy mapping framework, to devices
which could cease to exists.
CRs-Fixed: 1053605
Change-Id: I9894257c4783073fdba734a175bac486d6ee9347
Signed-off-by: Liam Mark <lmark@codeaurora.org>
Use separate notifier for cpu dying callback. This way we can give
higher priority to this notifier. That will make sure that etm disable
code gets executed before etm save register code during cpu power
collapse and etm's registers restore code gets executed before etm
enable code while cpu is coming back online.
Change-Id: Ibebda314eebd71945e9eae8aa2339fc79c475556
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
If the WDSP component framework does not detect the concerned subsystem,
then the G-Link SPI Transport returns error. This prevents the system
from suspending.
If the concerned subsystem is not found, then let the system to suspend.
CRs-Fixed: 1055800
Change-Id: Id17993dbf28b45308464a7e0d1e5404747fefee1
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
The video client signals to ion that it is done using an amount of memory
using the ioctl ION_IOC_DRAIN. However, the video client may have
previously shared this memory with other clients, such that the reference
count on existing ion_buffers is greater than one. Work around this issue
for now by assuming that the ion_buffers will be freed by the other users
within a short duration after the video client makes the ION_IOC_DRAIN
call.
Change-Id: I113ca1ff26e4949b27879ccf67af6d5f04a67b06
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
hyp_assign_table() is a costly operation during which nonsecure interrupts
are disabled. Split this operation into multiple parts for better
real-time behavior.
Splitting is done by the following criteria:
maximum number of physically contiguous memory regions
maximum total memory size.
Here is a chart showing the average performance of hyp_assign_table() with
N physically contiguous chunks each with size X.
#chunks chunk_size(pages) total_memory(pages) time(ms)
2 1 2 3.354
2 4 8 12.979
2 512 1024 4.349
8 1 8 4.714
8 4 32 26.781
8 512 4096 8.724
32 1 32 17.093
32 4 128 50.700
32 512 16384 26.717
128 1 128 71.076
128 4 512 126.305
Based on the above, select a maximum of 32 chunks or 512 total pages
as the limits.
Change-Id: I530cfdce76c8a2c38f60d6118647eaefd269e693
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Allocate objects via kzalloc() when possible. For the case where a large
chunk (512 Kb) of physically contiguous memory is required, continue to use
a special purpose buffer reserved at boot. Since this special purpose
buffer is no longer used for random metadata, the associated code is
simpler to understand.
Change-Id: I85078f351293b556a501e9aca075ef87e2e86afd
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Memory in the secure page pool cannot be used for other tasks. If the ion
client is aware that the memory will not be used for the foreseeable future
then there is no point in caching it.
Implement a method for the client to communicate this usecase to the
kernel.
Change-Id: Ib7e58e5ee739c65612602c5f9783600c8b2d6827
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Allow the system secure heap to read the pool size for a particular vmid
to determine the maximum size which can be freed by the DRAIN IOCTL.
Change-Id: If96265753c6d2c1f210e1961ec7d6ebf8612dd37
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Impose maximum array sizes on the data for ION_IOCTL_PREFETCH. This
simplifies detection of erroneous requests from userspace.
Change-Id: I1a0ec8d264337b76b55242f8d593258624855ad8
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Allocating an amount from the secure pool, and then freeing that amount
back to the secure pool will not necessarily increase the pool size. Fix
this by allocating from the nonsecure pool, and then freeing to the secure
pool.
Change-Id: I1da12d5c8f9e1f0330cb2c4ff77cd73521df46d9
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
In combo usecase there are 2 front-end dai's with
same codec dai. Using a single bit as the counter
causes the counter to roll over to 0 during combo usecase.
To resolve this change counter to unsigned int from single bit.
CRs-Fixed: 1049348
Change-Id: I196802e6d23a9292ff2915c1b4b61c2b3ead9fa8
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Buck damage was observed because the OOB comparator activated
when HSFET was on, causing a direct short from VBUS to ground. Fix this
on V1.1 by increasing the OOB comparator threshold. On 2.0 this is fixed
by ensuring the OOB comparator activates only after HSFET minimum on
time. This in turn guarantees that HSFET and LSFET won't be on at the
same time.
Since the driver needs to detect the version of the smb, make use of the
qpnp-revid module.
CRs-Fixed: 1055113
Change-Id: I0a7946db2f1bdacf1974fb508da46f2ed4dadadc
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Add support for apqcobalt v2 on mtp, cdp and qrd platforms.
CRs-Fixed: 1051130
Change-Id: I78d5fbe263ceeb592c47709d6189ce2c728b74c8
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
wcd_dsp_glink device node is added to send/receive data
and commands to/from DSP in WCD audio codec over glink.
Change-Id: I18316f735474327a42725fc9f3beb8b274b37e65
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
wcd-dsp-glink platform driver is added to send/receive data and
commands to/from DSP in WCD audio codec over glink. This driver
provides read and write interface to userspace to send/receive
data and commands.
CRs-Fixed: 1053381
Change-Id: I0405ae31201f966c7a3cd52c37191578e960dd71
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Add support for WCD-DSP audio codec communication over glink.
This file defines all the required structures for the userspace
component to communicate with the DSP in WCD audio codec.
CRs-Fixed: 1053381
Change-Id: I141a72c879b4c15590ad94c852a2771a360b55f9
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
This change corrects the pipe priority validation logic, without
this change pipes with higher priority failed validation.
For ex dma3 rect 0 is higher priority than dma0 rect 1,
was failing priority test.
CRs-Fixed: 1054404, 1047814
Change-Id: I260bbe5ddcb4da1bd175cafda2fbfec4a6e0cd39
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
wcd-dsp-mgr is the manager device to manage the dsp inside the
codec. Add this device to enable wcd-dsp support for wcd934x
audio codec for msmcobalt.
CRs-Fixed: 1049012
Change-Id: I7ee469781ec2a7af0643032567b547c07319f3d9
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
WCD934X audio codec has SPI interface to transfer data from/to the
codec. Add this SPI device node to the wcd934x audio codec node
for msmcobalt device tree.
CRs-Fixed: 1049012
Change-Id: Ib64db6d6b34746684f2b6c7d0177688e494b6154
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
WCD934X audio codec has SPI interface that can be used to access
the codec memory. Add support in wcd934x audio codec to parse
the wcd_spi child device node entry to perform spi_add_device.
Change-Id: I20723ddbb4c8173228fb1cec016841500c678107
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
wcd934x audio codec contains DSP to perform signal processing
of audio data. Change adds support to initialize wcd934x-dsp-cntl,
which triggers the dsp image download and boot.
CRs-Fixed: 1049012
Change-Id: I8f1681a1d2a4b0a6680fc56b6c382afa0aa49e69
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
WCD934X audio codec has internal clock (RCO) that will
be used during some usecases (ex: using WCD DSP, etc).
Add support in WCD934X codec and resource manager driver
to provide RCO clock enable and disable functionality.
CRs-Fixed: 1049012
Change-Id: I9636dad9b81aeb3a4aa5c09776026d0c2014c05b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
wcd934x audio codec embeds DSP for processing audio signals. Specific
drivers are added to communicate with the DSP and set up the paths.
Enable compilation of these driver for wcd934x audio codec.
CRs-Fixed: 1049012
Change-Id: Ic784449c697794712b9dce3d7131b215d2300cf9
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
WCD934X audio codec contain DSP to perform signal processing of
audio data. The wcd934x-dsp-cntl is refactored code from WCD934X
audio codec driver to perform control of the wcd dsp. Added changes
to control the clocks, memory, interrupts etc to the DSP.
CRs-Fixed: 1049012
Change-Id: Ic3fe1cebe83531d6cae2db9f12fd2fec0563a298
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Set the default IPC logging level to minimal logging in
case client driver does not specify ipc logging level.
Change-Id: I83174225b4eb7ae72cb16bc8f6dcf9659bc1342e
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
BGRA4444, defined currently as fourcc "BA12" in rotator driver,
is already assigned to existing format V4L2_PIX_FMT_SGRBG12 as
defined in videodev2.h. Change BGRA4444 to new fourcc definition
"bA12" to avoid collision.
CRs-Fixed: 1054825
Change-Id: I8b28dd3827cc9b540eef5955bbf9dbe77ce91f4b
Signed-off-by: Alan Kwong <akwong@codeaurora.org>