Use subsys_set_error() to indicate invalid firmware image
that prevented subsystem from coming up. Userspace helper
applications will find this useful to take suitable
recovery action.
Change-Id: Ie03e4f2652692f30d32bbe80b39fb49ba95ea728
Signed-off-by: Meghana Ashok <meghanaa@codeaurora.org>
[fixed minor conflicts]
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
Adding a new API subsys_set_error() which can indicate reason why a
subsystem failed to come up. This error reason can be useful for some
userspace helper application to take appropriate action.
Change-Id: I6df3580befd48a6b83bb8fd1099475da42fc9cf2
Signed-off-by: Meghana Ashok <meghanaa@codeaurora.org>
When the secure camera starts, we detach the secure CB. We don't
reset the iommu_attached flag to avoid iommu attach during the
secure session. The improper flag value is causing imbalance in
the clock voting, and is causing crashes when secure camera use
cases are run back to back with device suspend/resume.
The sde_smmu_attach function already takes care of avoiding attach
during secure session. So, we can reset the flag to avoid imbalance
in the clock voting.
Change-Id: Ie57e930031800a0edc8e4a511451d6d8a2290eec
Signed-off-by: Krishna Chaitanya Devarakonda <kdevarak@codeaurora.org>
Transcode loopback api can be used by client to configure
compress loopback.
CRs-fixed: 2049714
Change-Id: I7286fbdfa89375d517f3dad7d04e1d2a360d6f7e
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
Change mode of gpio32 to pull up mode to fix
laser sensor no IRQ issue when laser sensor is
active.
Change-Id: I4034ba9e38793174c6c5340b2004ca948512a492
Signed-off-by: Wei Ding <weiding@codeaurora.org>
If we delete uninitialized timer on CONFIG_DEBUG_OBJECTS
disabled build del_timer_sync() will block for ever. For
all A3xx targets preemption timer is not initialized, but
dispatcher fault handler is trying to delete the
uninitialized preemption timer. Fix this issue by adding
a preemption check before we delete it.
CRs-Fixed: 2023690
Change-Id: I2c51a0b2286b82bf2eb5ee68d923dd9585f07f00
Signed-off-by: Wenbin Wang <wwenbin@codeaurora.org>
Signed-off-by: Abhilash Kumar <krabhi@codeaurora.org>
Based on the hardware recommendation, update the default empty
voltage from 2.8 V to 2.85 V. This is to prevent undervolting
in low temperatures (e.g. -20 C) when battery voltage drops below
2.8 V but the battery SOC may not reach 0% as the charger is
configured to issue GP_FAULT2 when battery voltage goes below
2.8 V. This helps in shutting down graciously.
Change-Id: Ifc68b825541c09d985d890ee7200ff8e0af2ba0f
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
The added HDMI CEC framework provides a generic kernel interface for
HDMI CEC devices.
Note that the CEC framework is added to staging/media and that the
cec.h and cec-funcs.h headers are not exported yet. While the kABI
is mature, I would prefer to allow the uABI some more time before
it is mainlined in case it needs more tweaks.
This adds the cec-adap.c source that deals with the low-level CEC
messaging and logical address handling.
Change-Id: I0c9dfee5d78ef122a307946182f34ccf7e40d3fc
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
[k.debski@samsung.com: change kthread handling when setting logical address]
[k.debski@samsung.com: code cleanup and fixes]
[k.debski@samsung.com: add possibility to clear assigned logical addresses]
Signed-off-by: Kamil Debski <kamil@wypas.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Git-commit: 9881fe0ca187c213eb3a6a8e78e45ad4d1cec171
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
The added HDMI CEC framework provides a generic kernel interface for
HDMI CEC devices.
Note that the CEC framework is added to staging/media and that the
cec.h and cec-funcs.h headers are not exported yet. While the kABI
is mature, I would prefer to allow the uABI some more time before
it is mainlined in case it needs more tweaks.
This adds the cec-core.c, media/cec.h and cec-priv.h sources.
Change-Id: Iccc9ce1e7c1c04aa7693c3ba73027d92b50b3bbc
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
[k.debski@samsung.com: Merged CEC Updates commit by Hans Verkuil]
[k.debski@samsung.com: Merged Update author commit by Hans Verkuil]
[k.debski@samsung.com: code cleanup and fixes]
[k.debski@samsung.com: add missing CEC commands to match spec]
[k.debski@samsung.com: add RC framework support]
[k.debski@samsung.com: move and edit documentation]
[k.debski@samsung.com: add vendor id reporting]
[k.debski@samsung.com: reorder of API structs and add reserved fields]
[k.debski@samsung.com: fix handling of events and fix 32/64bit timespec problem]
[k.debski@samsung.com: add sequence number handling]
[k.debski@samsung.com: add passthrough mode]
[k.debski@samsung.com: fix CEC defines, add missing CEC 2.0 commands]
Signed-off-by: Kamil Debski <kamil@wypas.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Git-commit: a56960e8b406d36b612776c79134b954adc2ca18
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
This public header contains static inlines to pack and unpack CEC
messages. It is for use in both the kernel and in userspace.
Since the CEC framework will initially be in staging this header is
not yet in include/uapi. Once the framework is moved out of staging
this header should be moved to uapi at the same time.
Change-Id: I3a6eaf417787e9bfd6e8dc06bedbee03f9c3552a
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Git-commit: 50f7d5a65e5a31e92a9d46663770cd9509f939a2
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
This header contains the CEC public API. Since the CEC framework will
initially be part of staging this header is kept out of include/uapi for
the time being until the CEC framework will be moved out of staging.
Change-Id: I8ad69b57531e65fc9919f92b473280dd821f1272
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Git-commit: 3132583e5bd7cb56dffb2c04128ec4db12c32027
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
The cec-edid module contains helper functions to find and manipulate
the CEC physical address inside an EDID. Even if the CEC support itself
is disabled, drivers will still need these functions. Which is the
reason this is module is separate from the upcoming CEC framework.
Change-Id: Ia20fb7ef771c0455d369029738c509d59f5e4adc
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Git-commit: 29fb44a58ac12bffe4c225f95afdc22364db070e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
We have seen that host controller's clock tuning circuit may go out of sync
if controller clocks are gated. To workaround this issue, we are now
triggering the retuning of tuning circuit once clocks are ungated.
Change-Id: Id2db1cb4829fbb1af4f8c4e463d1e16c0f45e590
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Previously, parsing of the iommus property nodes was done at every probe
call, making it time-consuming. This change makes the property parsing
outside the probe call at arm_smmu_init and stores the parsing info in a
data structure and later the probe calls can utilize this data structure
to perform the parsing in a time-efficient manner.
Change-Id: Ifd5558b94c134158c5cf15ca6b9e325ba45c55ba
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
Remove wait for vsync in display commit if both PCC and DDIC
need to update for external backlight feature.
Change-Id: I57aeb48acba24e0ca3fff21b1117e48fe452028b
Signed-off-by: Xu Yang <yangxu@codeaurora.org>
If kernel stack variables are not initialized properly,
there is a chance of kernel information disclosure.
So, initialize kernel stack variables with null characters.
CRs-fixed: 2042592
Change-Id: I213c0e5c7f67824c2cecace276ff2f8f81599d51
Signed-off-by: Sai Krishna Juturi <jsaikrishna@codeaurora.org>
Add dai link MultiMedia20 for custom card to support SEC_MI2S_TX
ASM Loopback to TDM port.
CRs-Fixed: 2045651
Change-Id: Iff03923cdf843a1873cf464cd6a66feab2c306fb
Signed-off-by: Cong Tang <congt@codeaurora.org>
Add dai link MultiMedia20 in reference machine driver and
kcontrols for sample rate of SEC_MI2S_TX port.
CRs-Fixed: 2045651
Change-Id: I7c6bc45b2d71403ed19ee0993a85c82649acda7d
Signed-off-by: Cong Tang <congt@codeaurora.org>
If there is any failure while registering a DBA client with MDSS
driver, then remove the client from device client list first and
then free the client. Otherwise driver might crash when
traversing the device client list in later stage, because of an
uninitialized entry in the list.
Change-Id: I60666f4c3dea5c7ea7b7c77bcb14b080ee25b54d
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
Added voting parameters which would be used by neutrino
driver for requesting higher DDR bandwidth to achieve better
performance.
CRs-Fixed: 2001978
Change-Id: Ia894db21328aeb08a9c7036c4f75badb0e6e60d8
Signed-off-by: Jaiju Yesudasan <cjaijuy@codeaurora.org>
Add new frontend MultiMedia20 and update routing to support ASM
Loopback from SEC_MI2S_TX port to TDM port.
CRs-Fixed: 2045651
Change-Id: Ief9ebfda4469d0761ff96bf673b9d593a9576f44
Signed-off-by: Cong Tang <congt@codeaurora.org>
Check the user parameters in ispif to prevent buffer overflow.
Fix out-of-bounds frame or command buffer access in cpp.
CRs-fixed: 1097390 2002207
Change-Id: Ifdaf223d1b1c418596c2fb43d970dad728abd4a3
Signed-off-by: Terence Ho <terenceh@codeaurora.org>
Signed-off-by: Andy Sun <bins@codeaurora.org>
For SCO use cases, we should not program multi chanel
registers. Programming this leading to silence randomly
in SCO Rx/Tx.
CRs-Fixed: 2048423
Change-Id: I5e41591fb81b5bd3cf9358819c0a62a5cfe60e13
Signed-off-by: Satish Kodishala <skodisha@codeaurora.org>
Check ion_import_dma_buf() returned handle is not NULL or error code,
by using IS_ERR_OR_NULL() macro.
Check channel name is null terminated on create channel command.
Check minimal command size from user space.
Fix spelling.
Change-Id: I81631c1844982952498eaf2bff84ff90578720b2
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
After spss reset (a.k.a SSR) the spdaemon tries to open spcom char dev.
Avoid flooding the kernel log with error messages until the spss link
is up.
Change-Id: I7abd37f50fa4c172e07c8551c287b6ccf0511a44
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
spcom_open() should increment the ref count only after successful glink
open the channel.
Otherwise, the following attempts to open the channel will fail.
glink_open() failure was noticed after SP reset (SSR), when attempting
to open the channel before the link between SP and HLOS is up.
Change-Id: I8be28ce810f54cc3fa95d14c7244921acf7edaa7
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
Currently the read of battery's voltage_max property (FV) and battery's
current_max property (FCC) returns the value of DEFAULT_VOTER voter.
But such a voter doesn't exist on battery's voltage_max property. Fix it
by returning the value voted by BATT_PROFILE_VOTER.
Change-Id: I2dac98f2ce9a423d5045788dbe120591f10c5a9e
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Currently main charger ends up voting to disable parallel(USBIN_I_VOTER)
if the settled current is less than 1.4Amps. It could be that the
parallel path is drawing some current and the draw is higher than
1.4Amps.
Move this disabling to battery, where the parallel charger's input current
is taken in to consideration.
Also while voting to disable, make sure that the main's input is limited.
If there is more room for ICL to increase that means more power could be
drawn from the charger and so we must keep the parallel charging enabled.
If the ICL ceiling itself if 1.4Amps then disable parallel charging,
because even if ICL has room to increase it wont cross 1.4Amps.
The main's input limited state is set while AICL steps up - this
ensures that we keep parallel disabled while AICL is running and settled
is less than 1.4Amps.
When the charger is removed, the main's input limited status is unset,
however we want to keep the parallel charger disabled. In such situations
the main's settled current is 0mA - use this to vote for disabling
parallel charging.
For any ICL change vote request:
Disable parallel using USBIN_I_VOTER if requested current is less than
1.4Amps and to un-vote (i.e. when ICL vote is higher than 1.4Amps) rely
on event from AICL done or status_change delayed work.
Note that USBIN_I_VOTER is effective only for non-QC chargers. For QC
chargers USBIN_V_VOTER continues to keep charging enabled since parallel
need not be disabled is a lower current is requested with a QC charger.
Change-Id: I61d7cd161a87de2904470b2d870058a0fe199116
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
We clean up the logical end points only for the un-registering device
in bridge mode. However, the other physical end point's local end
point still points to the the un-registered device.
This may lead up to a crash if one of the physical devices in bridge
mode is un-registered. Fix this by unsetting the local endpoint.
It is still possible that packets in a different context across cores
might try to access this data. This usually manifests as packets
requesting a very large headroom. Handle this by dropping these stale
skb's.
CRs-Fixed: 1098513
Change-Id: I1ba4d877a6ed3eca66946fe056938f0927bcd9a5
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Signed-off-by: Ashwanth Goli <ashwanth@codeaurora.org>
During shutdown of sdhc drivers, power off notification (PON) is sent
to eMMC device. But it doesn't prevent the clock scaling framework
from kicking in and sending commands to card after PON is sent. So
exit clock scaling framework of sdhc before PON is sent.
Change-Id: Ibfe097732042458965db529f235a7fd28cfabaab
Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
When resume clock scaling is not possible because there is no devfreq
framework, it is not an error. So avoid printing an error and return
success. This is necessary in certain scenarios like during shutdown
where we unregister the clock scaling devfreq.
Change-Id: Ib37eabdcdbbb58a336ee87220e5758bb559625af
Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>
Add USB2 device node for SDM660 for using secondary USB2 port
in host only mode.
Change-Id: I8ff06411902bcafbb5b3f429634760d4c44a7b20
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Enable TE irq for the panel when there is a pingpong timeout.
Wait for TE to come for five vsync cycles before starting the
recovery for panel dead. If the TE comes from the panel during
the wait, call panic for pingpong timeout.
Change-Id: I88d06562e3e19880bb327b5f347ed79057f0e8c3
Signed-off-by: Ashish Garg <ashigarg@codeaurora.org>
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
Add IRIS camera support on sdm630 mtp platform.
This is required for secure camera feature.
Change-Id: Ic18eb896e7e2099debcf755dca4278c25295f8b9
CRs-Fixed: 2042077
Signed-off-by: Tanvi Aggarwal <tanvia@codeaurora.org>
Correct failure prints in rpm stats and rpm log drivers.
Change-Id: I4a2d4a8cf4df4c9c1d750a65beb7454041fc06c2
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Add support for IEC61937 which is an audio packaging
standard used for compressed HDMI pass-through. Any
audio format can be sent through HDMI pass-through
formatted as IEC61937.
Change-Id: I09821add306e2aeae6530cecbac189471a55e589
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>