Show the high watermark of the index into the alloc->pages
array, to facilitate sizing the buffer on a per-process
basis.
Change-Id: I2b40cd16628e0ee45216c51dc9b3c5b0c862032e
Signed-off-by: Martijn Coenen <maco@android.com>
This flag determines whether the thread should currently
process the work in the thread->todo worklist.
The prime usecase for this is improving the performance
of synchronous transactions: all synchronous transactions
post a BR_TRANSACTION_COMPLETE to the calling thread,
but there's no reason to return that command to userspace
right away - userspace anyway needs to wait for the reply.
Likewise, a synchronous transaction that contains a binder
object can cause a BC_ACQUIRE/BC_INCREFS to be returned to
userspace; since the caller must anyway hold a strong/weak
ref for the duration of the call, postponing these commands
until the reply comes in is not a problem.
Note that this flag is not used to determine whether a
thread can handle process work; a thread should never pick
up process work when thread work is still pending.
Before patch:
------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------
BM_sendVec_binderize/4 45959 ns 20288 ns 34351
BM_sendVec_binderize/8 45603 ns 20080 ns 34909
BM_sendVec_binderize/16 45528 ns 20113 ns 34863
BM_sendVec_binderize/32 45551 ns 20122 ns 34881
BM_sendVec_binderize/64 45701 ns 20183 ns 34864
BM_sendVec_binderize/128 45824 ns 20250 ns 34576
BM_sendVec_binderize/256 45695 ns 20171 ns 34759
BM_sendVec_binderize/512 45743 ns 20211 ns 34489
BM_sendVec_binderize/1024 46169 ns 20430 ns 34081
After patch:
------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------
BM_sendVec_binderize/4 42939 ns 17262 ns 40653
BM_sendVec_binderize/8 42823 ns 17243 ns 40671
BM_sendVec_binderize/16 42898 ns 17243 ns 40594
BM_sendVec_binderize/32 42838 ns 17267 ns 40527
BM_sendVec_binderize/64 42854 ns 17249 ns 40379
BM_sendVec_binderize/128 42881 ns 17288 ns 40427
BM_sendVec_binderize/256 42917 ns 17297 ns 40429
BM_sendVec_binderize/512 43184 ns 17395 ns 40411
BM_sendVec_binderize/1024 43119 ns 17357 ns 40432
Signed-off-by: Martijn Coenen <maco@android.com>
Change-Id: Ia70287066d62aba64e98ac44ff1214e37ca75693
If same event is unsubscribed before v4l2_event_subscribe returned,
Then function v4l2_event_subscribe have possibility use-after-free.
Serialize msm_subscribe_event and msm_unsubscribe_event to
prevent parallel invocation of v4l2_event_subscribe and
v4l2_event_unsubscribe.
Change-Id: I321fc66a9acbfb6e511b553be4cedffd26a558db
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
Support SEC_MI2S_RX dai link and export kcontrols to update
Bit Format configuration.
CRs-fixed: 2112037
Change-Id: Ic70b501d900a3f0dab2608fda0f1573cb59c7d35
Signed-off-by: Hugh Guan <hhguan@codeaurora.org>
(cherry picked from commit 82d24d114f249d919b918ff8eefde4117db8f088)
Commit a1d5ebaf8c ("arm64: big-endian: don't treat code as data when
copying sigret code") moved the 32-bit sigreturn trampoline code from
the aarch32_sigret_code array to kuser32.S. The commit removed the
array definition from signal32.c, but not its declaration in
signal32.h. Remove the leftover declaration.
Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Bug: 20045882
Bug: 63737556
Change-Id: Ic8a5f0e367f0ecd5c5ddd9e3885d0285f91cf89e
The util returned from group_max_util is not capped at the max util
present in the group, so it can be larger than the capacity stored in
the array. Ensure that when this happens, we always use the last entry
in the array to fetch energy from.
Tested with synthetics on Juno board.
Bug: 38159576
Change-Id: I89fb52fb7e68fa3e682e308acc232596672d03f7
Signed-off-by: Chris Redpath <chris.redpath@arm.com>
Enable USB video class for USB camera support on
msm8996-auto devices
Change-Id: I2a385cf4c935d5bc2a4c1171f185baf30322ed1d
Signed-off-by: vpalvai <vpalvai@codeaurora.org>
The wled driver is not statically handling interrupt flags.
Pass proper flag such as IRQ_TYPE_EDGE_RISING for wled
"sc-irq" interrupt through device node.
Change-Id: I90974bd7995949a97bb7070e86c469cde646096a
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
CAN socket SELinux support is required to be able
to distinguish between generic socket and can_socket
Change-Id: I9ec2099fc4c08ab6406e33ff9ad821ef18261763
Signed-off-by: Alex Yakavenka <ayakav@codeaurora.org>
Reset the HDR capabilities during the bridge disable.
The capabilities are re-programmed the next time
the userspace issues the call to populate the modes.
Change-Id: I04dbaa99c291de13b81e12cb9742cc97d9b02593
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
Currently, IBB PWRUP_DLY1 and PWRDN_DLY2 settings are configured
only for values greater than 0. However, 0 ms (no delay) can be
allowed by disabling EN_PWRUP_DLY1 or EN_PWRDN_DLY2 bits. Add
support to allow this configuration.
CRs-Fixed: 2125062
Change-Id: I8ef3b5522b8d4db6befb3fb1c2e58ea24c0f5ea0
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
PMI8998 LAB pulse skip configuration is different from PMI8996
and earlier PMICs. Fix it by using the right configuration API
to configure LAB PS_CTL along with supporting PM660A properly.
Since the existing LAB PS configuration threshold for pmi8998 is
incorrect in device tree, update it along with this change.
Change-Id: I2686733867ec3e2909d0c071a5881d3d824c713e
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Some registers are configured incorrectly for AMOLED mode in WLED
peripheral. Fix them based on the hardware documentation.
Change-Id: If021423653b94f1bcc97cdb50b7067af24bcef61
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Currently, auto calibration will be invoked if an OVP fault is
triggered because of an incorrect sink configuration. However,
there are certain hardware platforms where the display panel is
not used. It is hard to differentiate such platforms as they
will be using the same device tree configuration or parameters
related to display panel passed through the bootloader.
Disable the module permanently and also keep the OVP fault
interrupt disabled when a valid sink configuration is not found
by auto calibration.
Change-Id: I302322020e8d6d4f92901dac468602c357967e18
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
As per the hardware documentation, WLED1_CTRL_SWITCHING_FREQUENCY
register is in logic_rb instead of in periph_rb. With overwrite
bit (bit 7) set, this can change the switching frequency from
1.6 MHz to 800 KHz for AMOLED whenever the module is disabled and
enabled. Fix this by not setting the overwrite bit for AMOLED
panel so that the frequency can be selected internally by the
hardware based on EN_AMOLED configuration.
Change-Id: I1594af40b53f762fa97884c019ad70f24ea78257
CRs-Fixed: 2106094
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
If CABC is enabled and auto calibration is attempted, then OVP
fault can be seen even with a valid sink configuration and a
brightness level greater than or equal to 0.4 % dimming. This is
because of the modulation done through CABC pin which if low
enough can cause the brightness level to still go further down.
Fix this by disabling CABC on all sinks before running auto
calibration and re-enable it if the feature is enabled. Also,
modify the auto calibration brightness level to 200 so that the
load increase on WLED_VOUT can bring the voltage below OVP
threshold quick enough on a valid sink configuration.
Finally, disable WLED module before switching the sink
configuration and enable it after configuring sinks.
CRs-Fixed: 2125217
Change-Id: I570dc9eba540cd96328afd7c68f4643a112c4962
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Pass NULL pointer to of_get_address_byname() for size and flags
parameters instead of an integer value 0.
Change-Id: I53984141bb8f1164c27b6a9a5d90853b4d077ee1
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
If the OVP fault is present during boot-up run
a WLED string auto-calibration.
Change-Id: I4b0e85cd64a1e8bca9bc7de17521d1f83798ed12
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Export msm_ipc.h for use by user-space.
Change-Id: I53b96c4cb0b6fe785d3e73e7f00565c68dadf411
CRs-Fixed: 2125734
Acked-by: Jennifer L Zenner <jzenner@qti.qualcomm.com>
Signed-off-by: Yasir Malik <ymalik@codeaurora.org>
Add configuration for 64-bit FSM platforms.
Change-Id: Icd5fb7875674e537a102af3fbc7d7c8b90c59740
CRs-Fixed: 2125734
Acked-by: Jennifer L Zenner <jzenner@qti.qualcomm.com>
Signed-off-by: Yasir Malik <ymalik@codeaurora.org>
The code is to get the CPU util by accumulate different scheduling
classes and when the total util value is larger than CPU capacity
then it clamps util to CPU maximum capacity. So we can get correct util
value when use PELT signal but if with WALT signal it misses to clamp
util value.
On the other hand, WALT doesn't accumulate different class utilization
but it needs to applying boost margin for WALT signal the CPU util
value is possible to be larger than CPU capacity; so this patch is to
always clamp util to CPU maximum capacity.
Change-Id: I05481ddbf20246bb9be15b6bd21b6ec039015ea8
Signed-off-by: Leo Yan <leo.yan@linaro.org>
HL1.0 has more number of descriptors and hence we can
queue more packets for tx.
Allow a higher number of tx pending packets for better
throughput in concurrency cases.
CRs-Fixed: 2104072
Change-Id: I8dd98cee04200fbeccf655dcb1d982d037077101
Signed-off-by: Rakesh Pillai <pillair@codeaurora.org>
Clear the deep color bits in the HDMI controller in case
the mode does not need OR support deep color.
Otherwise it causes issues while switching across modes where
the sink supports deep color in one of the modes but not in the
other.
Change-Id: I8accf00e89868ccaa781a3f18eb9a662d9c9235c
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
When multiple worker threads compete to update event_list, with current
vblank_ctrl_worker mechanism, there is one risk which can casue list node
is deleted for twice. This is because, due to the protected scope by
the spin_lock, mutex can exit when one thread is transvering the list,
but another queue thread may continue to add new event to the list.
This brings conflict risk. This patch is to correct this.
Change-Id: Ice31462d196c57ce18d7b998c1a1f0b7feeb08fc
Signed-off-by: Xiaowen Wu <wxiaowen@codeaurora.org>
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
For NCM gadget function, net device structure opts->net
will be freed when NCM unbind, but user space related
device node doesn't know it, will access net structre
without checking it exist or not, finally lead to crash.
Fix this by adding check gadget function bind or not.
Change-Id: I6af9e3868f71e7fa923600721e1f716508de9b55
Signed-off-by: Liangliang Lu <luliang@codeaurora.org>
When getting string from userspace by simple_write_to_buffer
in ufs_qcom_dbg_testbus_cfg_write() function, the string
copied to configuration is not terminated with '\0'. Thus
stack overflow read may occur while copying configuration to
host->testbus.select_major, which will result in information
leak later while printing error message. This change adds null
character at the end of the input string to avoid information
leak.
Change-Id: Ic9a9204def4bd6976f42f5f80ae5c0a9730afeb1
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
(from https://patchwork.kernel.org/patch/9990323/)
Don't access next->data in kernel debug message when the
next buffer is null.
Bug: 36007193
Change-Id: Ib8240d7e9a7087a2256e88c0ae84b9df0f2d0224
Acked-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Sherry Yang <sherryy@android.com>
(from https://patchwork.kernel.org/patch/9990321/)
binder_shrinker struct is not used anywhere outside of
binder_alloc.c and should be static.
Bug: 63926541
Change-Id: I7a13d4ddbaaf3721cddfe1d860e34c7be80dd082
Acked-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Sherry Yang <sherryy@android.com>
Use system time timestamp for the PPS GPIO driver on
msm8996 CV2X boards.
Change-Id: Ib7231d9b182c956d3c169d6979dbb5fe7f185353
Signed-off-by: Gustavo Solaira <gustavos@codeaurora.org>