Fix system crash bug when run multiple vidc instances
Change-Id: I7716854c210bf8d1191e2744e555d42f42e4a1f5
Signed-off-by: Yigang Zheng <yigangz@codeaurora.org>
A ctrl-c while the venus session is on causes WARN_ON
from function __vb2_queue_cancel. This fix will ensure that
all buffers are returned to vb2 when a stream off is called.
Also there is no need to process release reference event in
the case of session stop.
Change-Id: Id7bf05a17efe237791ad17585d04b59a16bd76d8
Signed-off-by: Praveen Kumar Dwivedi <pkd@codeaurora.org>
Remove format identifiers in the register dumping
function which incorrectly recognizes the offset and
the count of the registers to be dumped.
Also, reduce the chunk of memory copied from the SDE
hardware register range to align with the existing
register dumping mechanism.
Change-Id: I1ce7148275f5287e568fe6efc8774f4d495cdaa4
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
Enable address sanitizer flags for kasan by default.
Change-Id: Ib08149a7d1af589fed3ce30659cb495d4bb2fb81
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Currently we allocate IPC log buffer when instance is created,
and free IPC log buffer when instance is freed.
So we can't get IPC log when issue happens after the instance
is freed.
Move IPC log buffer allocate and free to module init and exit.
Change-Id: Ic8b0f6d91c9bbbf2a6a6ed87f96c04475a09b7f3
Signed-off-by: Liangliang Lu <luliang@codeaurora.org>
Whenever dwc3_msm_probe() fails, it calls of_depopulate() to remove child
devices as part of cleanup. Due to this, usb_bam_remove() gets called to
do cleanup. But this API is not deleting IPA resources created during
probe and leads to creation of IPA resources fail, when probe is called
again. This eventually results in crash, when IPA driver calls notify
callback after PROD resource granted. Hence fix it by deleting IPA
resources in usb_bam_remove().
Also change enum type of ipa_rm_resource_prod/ipa_rm_resource_cons arrays
to enum ipa_rm_resource_name to fix sparse errors.
Change-Id: I3d9d0e1b26f1de0ba2b56b42c7e10a097d4fa8be
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Compander disable sequence does not get called
after headphone playback on fm. This results in
mute at one channel and low volume at other channel.
Low volume is resolved by setting analog mode to manual
while compander is off.
Also compander clock should be disabled at the end to
resolve mute issue.
CRs-Fixed: 2102126
Change-Id: I68e72f3b333117a8fdf379db30dc24de9bed7270
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
QOS LUT dtsi entries use existing hardware parsing APIs
but dos not increase the size of array. This causes out of
bound access while reading u32 lut array entry. This patch
fixes the array size and also adds checks to avoid future
out of bound access. It also fixes the memory leak in
qos lut parsing.
Change-Id: I98de052d03e1bcfd79d15ab99ca41d7782e56682
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
Add dummy device for SPSS ETM. This device can be used to
configure SPSS ETM trace path.
Change-Id: Idd060ce0de61acab7842103f47c838f4a618d9df
Signed-off-by: Saranya Chidura <schidura@codeaurora.org>
Uninitalized kernel variable passes to userspace, it may have data
from stack. To avoid data leak from kernel to userspace initializes
struct kgsl_gpuobj_import_useraddr to zero.
CRs-Fixed: 2096006
Change-Id: Ib79b030cd5e3edd7279632af20dc3fac95eb73d4
Signed-off-by: Archana Obannagari <aobann@codeaurora.org>
Add the QSEECOM ION heap node, to allow QSEECOM driver and QSEECOM
API library to allocate ION memory from QSEECOM heap.
Change-Id: Ia0b346bbac9378b79d1b7683ee1cc0ade533b4fa
Signed-off-by: Amit Blay <ablay@codeaurora.org>
FW capabilities are currently retrieved only during module
initialization, but userspace can replace the firmware while
interface is down, so refresh the FW capabilities when
interface is up (after FW is loaded) to ensure driver
functionality matches the loaded FW.
Change-Id: I880706bee0700b88e6637efd42de2eef4ea0d8b6
Signed-off-by: Lior David <liord@codeaurora.org>
User space can remove the P2P management interface while it is active
(for example, while listen/search is active) and this can cause
a crash. Ensure the P2P device is fully stopped before removing.
Change-Id: Ibc94f12bc63f2ba31ede24afffd9c5acbf95467a
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 69fecf599f48e258984b2ffdf0a4c65a35a31287
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Connect can take longer than current timeout in some scenarios,
for example with long-range antenna array. Increase the timeout
to support these scenarios.
Change-Id: Id59cf4f11f8381ab8eab748171ef2b7949dde887
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: d83ad4c4fd78b22935711f865048bab78b43fc86
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
When FW starts running it can get D0 to D3 interrupt that is a leftover
from previous system suspend while FW was not running.
As this interrupt is not relevant anymore, clear it part of device reset
procedure.
Change-Id: I213a18fd59a500914ab22f75a72393786188a08e
Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 7086d861753bc0aaa8b6445f657d8e39953e4fcd
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Re-arrange the code to have dedicated function for device configuration
which takes place before FW starts running.
Change-Id: Ia0f2b33f85ba9547bee9415e34143e5b09e28447
Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 1490846d256af947a4743f04ba8c97dc3bc37073
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Align to latest version of the auto generated wmi file
describing the interface with FW.
Change-Id: I5cd2130c17457544d055aaff15f5747a3d241e23
Signed-off-by: Lazar Alexei <qca_ailizaro@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 761f8e4d463e1cbf6da0d228bc74cecc800d4de5
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Since debugfs is a kernel configuration option, enable the driver to
compile without debugfs.
Change-Id: Id1b162172e2662a59af5b031a71ccd22250e4b6d
Signed-off-by: Gidon Studinski <qca_gidons@qca.qualcomm.com>
Signed-off-by: Hamad Kadmany <qca_hkadmany@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 5f591dac9f20f76439df2e18570765d384a94070
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Sometimes there is a firmware crash but the hardware
is not fully stopped and continue to send TX/RX interrupts.
This can cause an overload of messages which can bring the
host down. Add ratelimit to these error messages to fix this.
Change-Id: If0f8bfbec1df1c5d98c87d64191ef14bf6579ae1
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Git-commit: 40cbd88be702a2455b6e047dc13f5d51ed542063
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git
Signed-off-by: Maya Erez <merez@codeaurora.org>
Add functions to save and restore the value of some of the
performance counters during a power cycle.
Change-Id: Ic0dedbad4037d6a2262792b752dc5d33a2d0eb36
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Add support for sending extended messages. Since the underlying
PD PHY only supports a fixed 30 byte payload, longer messages up
to 260 bytes must use chunking, which requires the receiver to
request the next chunk until the entire payload is delivered.
Use a completion variable to wait for the chunk requests so that
pd_send_ext_msg() can be a blocking call. Send following two
extended messages using sysfs in SINK ready state and cache response:-
1) Get_Battery_Cap and Battery_Capabilities as response
2) Get_Battery_Status and Battery_Status as response.
These two extended messages are recommended for PD 3.0 SINK.
Change-Id: Ib2b4e658c47995de1ea139406d7d83737c6208d4
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Policy engine receives an alert message in PD 3.0 SINK ready
state and caches alert data object. It sends Get_Status to receive
status information from port partnet to check for alert specific
changes. Once status information is received send uevent to
notify the same. This message is recommended to be supported
by PD 3.0 SINK.
Change-Id: I5d6f32693f43fbaf8f8d8da23f8cb3de1e1e89c6
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Send following two control messages using sysfs in SINK
ready state and cache response:-
1) Get_Source_Cap_Extended and Source_Capabilities_Extended
as response
2) Get_PPS_Status and PPS_Status as response.
These two control messages are recommended for PD 3.0 SINK.
Change-Id: I338bafd76db9e5e48ac5dd6aeb266867996b267d
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
PD 3.0 requires the Not Supported message to be sent after
receiving a message that is not supported. Add this to both
PE_SNK_READY and PE_SRC_READY states when there is an
unhandled message. If 3.0 sink-only mode is enabled, also
disallow PR_SWAP, VCONN_SWAP, and GET_SOURCE_CAP, so that the
state machine can fall through to responding with Not Supported.
Change-Id: If28bfcb1a483fcdb0c398c66d26fe7b1607b461a
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Add support for receiving extended messages. Since the underlying
PD PHY only supports a fixed 30 byte payload, longer messages up
to 260 bytes must use chunking, which requires the receiver to request
the next chunk until the entire payload is delivered.
When receiving a chunk, call a helper from phy_msg_received() to stage
the received bytes into a long rx_msg and queue a request for the
next chunk. Refactor struct rx_msg to use a flexible array member to
accommodate the larger potential sizes.
Finally, add new enum definitions for the new PD 3.0 message types.
Change-Id: I962ad3a1f00db9c16133301d185bf123af2a3224
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Userspace thermal daemon initiate KTM hotplug monitor related
initialization. Thermal core control can be disabled/enabled from
userspace via KTM sysfs for cpu related initialization after boot.
There is a possible race condition between KTM hotplug initialization
from thermal daemon and KTM core control re-enablement from userpsace
shell. When these both events are triggered at the same time,
thermal core control enablement tries to set emergency hotplug
threshold prior to per cpu hotplug related initialization like sensor
id, trip and threshold value etc. This leads to wrong sensor
threshold settings and eventually thermal core sensor threshold list
will be broken.
To avoid this wrong threshold settings during thermal core control
enablement, check KTM hotplug related initialization is done prior
to threshold setting for each core.
Change-Id: I916527d187146d5e292dd57897aa70b21cf87fbc
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
QMI handle was not destroyed during unload and server exit
and resulting in qmi handle leak.
Fix this problem by destroying the QMI handle during
driver unload and server exit.
Change-Id: I7557de7c2ff2cb7d82d6e8a3480e8d5f4be6a5f4
Signed-off-by: Govind Singh <govinds@codeaurora.org>
Add NULL pointer check for vfe_base of VFE0.
CRs-Fixed: 1032715
Change-Id: I540d9ff831fc9447ecf145f75ea84da3668c4f6f
Signed-off-by: Haibin Liu <haibinl@codeaurora.org>
Signed-off-by: VijayaKumar T M <vtmuni@codeaurora.org>
A3xx device gets the ring buffer read pointer directly
from the GPU registers. So don’t allocate scratch memory
which can’t be used for A3xx GPU devices.
Change-Id: I95016dfc169b9fee74e978f5560592740f34515e
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Stall on page fault feature is supported on A5XX and later GPUs.
Enabling this feature on unsupported GPUs causes GPU faults.
So don't insert GPU stall related commands in ringbuffer if
not supported. But allow user to capture the GPU snapshot on
GPU page fault.
Change-Id: Ied26a5b4f44c1877b289a0ff5c0a6d47901e453d
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Commit 761ed4a94582 ("tty: serial_core: convert uart_close to use
tty_port_close") created a case where a port used for a console does not
get shutdown on tty closing. Then a call to uart_tx_stopped() segfaults
because the tty is NULL. This could be fixed to restore old behavior,
but we also want to allow tty_ports to work without a tty attached. So
this change to allow a NULL tty_struct is needed either way.
Fixes: 761ed4a94582
("tty: serial_core: convert uart_close to use tty_port_close")
Reported-by: kernel test robot <xiaolong.ye@intel.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Change-Id: Ifbeeacc89d396b857332ce94cc2d77bdd6e12bb7
Git-repo: git://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git
Git-commit: a727b025f43d7952c0697562f5cecda9f42758aa
Signed-off-by: Lei wang <leiwan@codeaurora.org>
A faulting submit is retired on the recovery worker and not
the retire worker. The usage count for the device must be
decremented for the faulting submit or the device will never
go into suspend following a fault despite being inactive for
the inactivity period.
Change-Id: Ieda698eb00008f5bcc7287f76b9261704e51e28b
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
Ringbuffer pointers were getting reset only when resuming after
recovery. However, we need to reset them even after resuming
from SLUMBER or we will end up sending stale commands to the GPU
with bad results. Make ringbuffer reset part of the GPU init
sequence.
Change-Id: I93fc2f2e293245e584184315f8eb8a4ec73d2455
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>