Cache flush and clearing of logical mapping is done right now
only when the allocation is from CMA, for allocation requests
with DMA_ATTR_STRONGLY_ORDERED or DMA_ATTR_NO_KERNEL_MAPPING
set. Extend this to non-CMA allocations too, to avoid cache
aliasing issues.
Change-Id: I133d34d79665ee7159fe384121e933d7768748c2
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
IOMMU driver takes vote on regulator for every unmap, attach or
detach call and removes it once done.
This is an overhead if GPU is in power collapse mode and huge
number of unmap calls are pending from a given context. It would
end up in turning ON/OFF the regulator those many times.
To optimize this, do a deferred regulator disable about 80ms so that
all subsequent requests to regulator enable will be just refcounted.
Change-Id: I07709f5a0ce55298a5fe46ffd95bb8bc472e7069
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
This reverts commit 281fcb5e18.
To address the issue with the OOMkiller causing to kill the
foreground application.
Change-Id: Ie4c078d706fdf1c13ad45840f72b414ddc37c1d0
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
Signed-off-by: Venkateswara Rao Tadikonda <vtadik@codeaurora.org>
The icnss register read/write debugfs entry can be accessed by
multiple user space thread. Memory allocation and deallocation
in the register read/write file operation leads to potential memory
leak during concurrency access of debugfs device file.
Add protection to avoid the memory leak and kernel information
leak due to the race condition in the register read/write ops.
CRs-Fixed: 2012572
Change-Id: I22c6af9a396c0df4e68f75702fc68a5dff5af032
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
adreno_dispatch_work and _kgsl_event_worker are both low-latency
low-runtime functions that are in the critical path of GPU
rendering. Moving them out of workqueues and into a dedicated FIFO
kthread avoids significant jitter.
bug 30342017
Git-commit: 1a7a93bd33f48a369de29f6f2b56251127bf6ab4
Git-repo: https://android.googlesource.com/kernel/msm
Change-Id: I83562f488c34c2ab001c8ea79e7f09b633c658bd
Signed-off-by: Tim Murray <timmurray@google.com>
Signed-off-by: Abhilash Kumar <krabhi@codeaurora.org>
As per emmc specification, device should be notified either with
power-off or sleep notification before turning off the Vcc.
Failing to do so might affect the device longevity.
In mmc driver initialization phase even before device probing
gets completed, Vcc is getting turned off without these notifications.
Since it can't send commands at this stage, So just ensure that Vcc
is not turned off till initialization gets completed.
Change-Id: I0bbf0077357d66c888147be40a0c5d312b9ce063
Signed-off-by: Veerabhadrarao Badiganti <vbadigan@codeaurora.org>
Currently, USB power_supply POWER_SUPPLY_PROP_ONLINE property will be
set if the charger type is POWER_SUPPLY_TYPE_UNKNOWN which is not
expected. Unset ONLINE for UNKNOWN USB charger type.
CRs-Fixed: 2065139
Change-Id: Ibc40ee62b2d95c319a7fe34b17813c2b57518f67
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
PLL_ENABLE property is used to enable or disable the PLL
update function. With this property PLL update function
only works when PLL_ENABLE is set, and all changes done
to hardware will be discarded once PLL_ENABLE is cleared.
CRs-Fixed: 2042852
Change-Id: Ia321918382b8622101cff566049284810833f63e
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
Do tx wakeup worker functionality in rx worker tasklet instead
of scheduling the work to be done in worker context to improve
performance.
CRs-Fixed: 2050701
Change-Id: Iba620e7e264805ed02a35603da1fb6c985de7d43
Signed-off-by: Chris Lew <clew@codeaurora.org>
A weak charger might trigger switcher_power_ok interrupt storm
which gets incorrectly detected as a boost_back condition and
input gets suspended. Add a logic to distinguish a weak charger
and the boost_back condition by first reducing the ICL current
to a lower value (500mA by default) on detecting a
switcher_power_ok storm. If the switcher_ok storm disappears
then its indeed a weak charger and if the storm continues its
possibly a boost_back condition.
Change-Id: I46b406e403aa16a502e6da149b180545848fc906
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
The BOOST_BACK USB-ICL voter needs to be removed in the
following conditions -
1. VBUS falling path during PD hard-reset
2. typeC removal
3. False boost-back detected
For (1) and (2) - remove the boost_back vote in the usbin_handler
and typec_removal path. For (3) add a worker which removes the
boost_back vote after the boost-back condition is detected. The
delay is sufficient to recover from both a valid and an incorrectly
detected boost-back condition.
CRs-Fixed: 2051908
Change-Id: I9d1d04f392bb6040b0565510ff7d1032bb036de2
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Interface combinations were not present for wnc3990.
Add interface combinations for wcn3990.
CRs-Fixed: 2063866
Change-Id: I20a4db54c87c91a154ca63125a06ff78958b12cd
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
Current limits are causing frequent wakeups at lower temperature.
Update higher and lower limits such that msm-core energy-aware driver
will not get too many notifications to avoid unnecessary wakeups.
Change-Id: I608aad0616d2f4e98c9d06ac1ccead9b3444817a
Signed-off-by: Naresh Malladi <namall@codeaurora.org>
stream_cfg_cmd->num_streams is from userspace,
need to check it against MSM_ISP_STATS_MAX before using it.
CRs-Fixed: 2029867
Change-Id: I02a71b983947981806470454654d712bcc732077
Signed-off-by: Terence Ho <terenceh@codeaurora.org>
Peer creation in firmware fails if last peer deletion is still
in progress. Need to wait for peer delete response from firmware
after deleting peer from host driver.
Increase the peer delete response wait time to 500msec.
CRs-Fixed: 2063832
Change-Id: I1c1c2500ae7f8ff1448f6b726d30dbbe3334957c
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
Update main and aux camera sensor dvdd configuration
to enable the vreg and ldo together.
Change-Id: Iacc79799d1c06a3385a8cfd9ef80d707f8fa8d69
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
Report adapter type as USB_FLOAT if charger hardware detects a
floating charger this will allow USB driver to try/start
communication over Tx/Rx line during compliance testing.
Change-Id: I1d1e91e99806423a3e995876e9db4582ed0f1b08
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Add support to register a Floating type charger.
Change-Id: Ib65eff52a42d639a90f162488337a554deab4bfa
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Fix a potential out of boundary query of stats info.
CRs-Fixed: 2041066
Change-Id: I76d4aa8c8ddd523fde007bfb6fa387a17930c2ba
Signed-off-by: Fei Zhang <feizhang@codeaurora.org>
provide a way to query wcn3990 status. Audio hal
uses this to cleanup its stack when BT is turned off
or SCO is disconnected during SCO devices selection.
CRs-Fixed: 2061191
Change-Id: I3c10559c6ca34692c7f147b5cc2f0101b0bfbbf9
Signed-off-by: Satish Kodishala <skodisha@codeaurora.org>
'Commit 394c5c6ca0 ("qcom: scm: remove printing
input arguments")' removed inputs printing in error
case from scm_call2 API only. So remove inputs
printing from scm_call2_atomic API too.
Change-Id: I21bb8e1b58ba03cc3e3d8ca7e4d4ab062677a0b0
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
1. function/variable static declare;
2. dereference of noderef expression;
3. cast removes address space of expression;
4. using plain integer as NULL pointer;
Change-Id: If11a29aca93380de68a323880d55597bf320470f
Signed-off-by: Andy Sun <bins@codeaurora.org>
A USB audio class 3.0 based device may express different audio interface
associations representing the same underlying hardware by using multiple
USB device configuration descriptors. Using BOS configuration summary
descriptor host software can choose which configuration to set. This is
done by going over list of configuration summary descriptors and selecting
the first available configuration supporting BADD subclass of UAC 3.0
protocol.
Change-Id: I548b362437deb525f952d4450cfae7420a524c65
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
The appname received by qseecom_start_app() can be non-null terminated
string beyond the max size check. Change strlen to strnlen.
CRs-fixed: 2062061
Change-Id: I845d244336b5c81cedb2153d1303585f16819d58
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
Fix performance issue in SDE rotator by coverting workq into kernel
thread. workq priority is not high enough and can be easily preempted.
For sde rotator being used for realtime deadline usecase, it is
necessary to move up the priority of the worker thread, and we need to
move into kernel thread to handle the works.
Change-Id: Id77e80cb69162326a3894a41bec295bb9bd7f5c1
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
* refs/heads/tmp-e76c0fa
Linux 4.4.72
arm64: ensure extension of smp_store_release value
arm64: armv8_deprecated: ensure extension of addr
usercopy: Adjust tests to deal with SMAP/PAN
RDMA/qib,hfi1: Fix MR reference count leak on write with immediate
arm64: entry: improve data abort handling of tagged pointers
arm64: hw_breakpoint: fix watchpoint matching for tagged pointers
Make __xfs_xattr_put_listen preperly report errors.
NFSv4: Don't perform cached access checks before we've OPENed the file
NFS: Ensure we revalidate attributes before using execute_ok()
mm: consider memblock reservations for deferred memory initialization sizing
net: better skb->sender_cpu and skb->napi_id cohabitation
serial: sh-sci: Fix panic when serial console and DMA are enabled
tty: Drop krefs for interrupted tty lock
drivers: char: mem: Fix wraparound check to allow mappings up to the end
ASoC: Fix use-after-free at card unregistration
ALSA: timer: Fix missing queue indices reset at SNDRV_TIMER_IOCTL_SELECT
ALSA: timer: Fix race between read and ioctl
drm/nouveau/tmr: fully separate alarm execution/pending lists
drm/vmwgfx: Make sure backup_handle is always valid
drm/vmwgfx: limit the number of mip levels in vmw_gb_surface_define_ioctl()
drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve()
perf/core: Drop kernel samples even though :u is specified
powerpc/hotplug-mem: Fix missing endian conversion of aa_index
powerpc/numa: Fix percpu allocations to be NUMA aware
powerpc/eeh: Avoid use after free in eeh_handle_special_event()
scsi: qla2xxx: don't disable a not previously enabled PCI device
KVM: arm/arm64: Handle possible NULL stage2 pud when ageing pages
btrfs: fix memory leak in update_space_info failure path
btrfs: use correct types for page indices in btrfs_page_exists_in_range
cxl: Fix error path on bad ioctl
ufs_getfrag_block(): we only grab ->truncate_mutex on block creation path
ufs_extend_tail(): fix the braino in calling conventions of ufs_new_fragments()
ufs: set correct ->s_maxsize
ufs: restore maintaining ->i_blocks
fix ufs_isblockset()
ufs: restore proper tail allocation
fs: add i_blocksize()
cpuset: consider dying css as offline
Input: elantech - add Fujitsu Lifebook E546/E557 to force crc_enabled
drm/msm: Expose our reservation object when exporting a dmabuf.
target: Re-add check to reject control WRITEs with overflow data
cpufreq: cpufreq_register_driver() should return -ENODEV if init fails
stackprotector: Increase the per-task stack canary's random range from 32 bits to 64 bits on 64-bit platforms
random: properly align get_random_int_hash
drivers: char: random: add get_random_long()
iio: proximity: as3935: fix AS3935_INT mask
iio: light: ltr501 Fix interchanged als/ps register field
staging/lustre/lov: remove set_fs() call from lov_getstripe()
usb: chipidea: debug: check before accessing ci_role
usb: chipidea: udc: fix NULL pointer dereference if udc_start failed
usb: gadget: f_mass_storage: Serialize wake and sleep execution
ext4: fix fdatasync(2) after extent manipulation operations
ext4: keep existing extra fields when inode expands
ext4: fix SEEK_HOLE
xen-netfront: cast grant table reference first to type int
xen-netfront: do not cast grant table reference to signed short
xen/privcmd: Support correctly 64KB page granularity when mapping memory
dmaengine: ep93xx: Always start from BASE0
dmaengine: usb-dmac: Fix DMAOR AE bit definition
KVM: async_pf: avoid async pf injection when in guest mode
arm: KVM: Allow unaligned accesses at HYP
KVM: cpuid: Fix read/write out-of-bounds vulnerability in cpuid emulation
kvm: async_pf: fix rcu_irq_enter() with irqs enabled
nfsd: Fix up the "supattr_exclcreat" attributes
nfsd4: fix null dereference on replay
drm/amdgpu/ci: disable mclk switching for high refresh rates (v2)
crypto: gcm - wait for crypto op not signal safe
KEYS: fix freeing uninitialized memory in key_update()
KEYS: fix dereferencing NULL payload with nonzero length
ptrace: Properly initialize ptracer_cred on fork
serial: ifx6x60: fix use-after-free on module unload
arch/sparc: support NR_CPUS = 4096
sparc64: delete old wrap code
sparc64: new context wrap
sparc64: add per-cpu mm of secondary contexts
sparc64: redefine first version
sparc64: combine activate_mm and switch_mm
sparc64: reset mm cpumask after wrap
sparc: Machine description indices can vary
sparc64: mm: fix copy_tsb to correctly copy huge page TSBs
net: bridge: start hello timer only if device is up
net: ethoc: enable NAPI before poll may be scheduled
net: ping: do not abuse udp_poll()
ipv6: Fix leak in ipv6_gso_segment().
vxlan: fix use-after-free on deletion
tcp: disallow cwnd undo when switching congestion control
cxgb4: avoid enabling napi twice to the same queue
ipv6: xfrm: Handle errors reported by xfrm6_find_1stfragopt()
bnx2x: Fix Multi-Cos
ANDROID: uid_sys_stats: check previous uid_entry before call find_or_register_uid
ANDROID: sdcardfs: d_splice_alias can return error values
Change-Id: I829ebf1a9271dcf0462c537e7bfcbcfde322f336
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
Return EINVAL if cmd is not v4l2 PRIVATE_IOCTL_CMD.
CRs-Fixed: 2016416
Change-Id: I6758bc9d6b159b2e2e4eba5a9d9a3882de320041
Signed-off-by: Terence Ho <terenceh@codeaurora.org>
A break is missing in a switch statement. Add it.
Change-Id: Ib298194957ff2cc1aaba5bd4335afe9d0f9cf6f5
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
TX_info is allocated after pop remote intent, this can cause problem
when there is no memory for allocation then glink has to push back the
intent, which again needs memory.
Tx_info allocation is moved before op remote intent.
CRs-Fixed: 2063427
Change-Id: I4f174c4b0143454596ac8f7a1c639c853b98a2ce
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Validate buffer length has the minimum needed size
when sending management frame to protect against
possible buffer overrun.
Change-Id: Ib5aed79694100597d7f71a9e8d4e8dba91be538a
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
Current DRM driver set GPU clock rate with initial pwrlevel and use it
all the time. This value is too low and couldn't cover many computing
tasks. Change to a higher value for automotive system.
Change-Id: I348f187bfb8c0c2a3936a132bc0142fd5553226c
Signed-off-by: Kasin Li <donglil@codeaurora.org>
This change is required to enable 3 display support so that
the secondary displays are always ON.
Change-Id: Icbe5d20902d8795cb3479f15a415bb24c204750e
Signed-off-by: Vijaykumar Badiger <vbadig@codeaurora.org>
SPS debugfs APIs can be called concurrently which can result
in dangling pointer access. This change synchronizes access
to the SPS debugfs buffer.
Change-Id: I409b3f0618f760cb67eba47b43c81d166cdae4aa
Signed-off-by: Siva Kumar Akkireddi <sivaa@codeaurora.org>
Add several defines and structs to allow IPA nat driver compile.
Change IPA_HW_MAX to be a define instead of enum so user space
can check its existence with ifdef.
Change-Id: I33df449d18b678dca44475f04eb72318179dda11
Signed-off-by: Amir Levy <alevy@codeaurora.org>
The OSM clock driver currently enables ACD for the silver and
gold clusters regardless of whether they've been brought up or
not. ACD requires the cluster PLLs to be running for initialization,
a requirement which would not be met if the cluster hasn't been
brought online.
Tie the ACD initialization sequence with enabling OSM for that
cluster.
Change-Id: I4a7e7176e30b26d096645dd9ce508b7af8ae6df2
Signed-off-by: Taniya Das <tdas@codeaurora.org>
HDMI TX controller can output 13-bit h_total and v_total
compare to 12-bit width of previous generation chipsets.
So use 13-bit mask for these HSYNC and VSYNC settings.
CRs-Fixed: 2052655
Change-Id: I2421a4e0a7646d10ba9e8f427807daa6a1bc1a21
Signed-off-by: Ray Zhang <rayz@codeaurora.org>