[ Upstream commit 1b49cd71b52403822731dc9f283185d1da355f97 ]
When devinet_sysctl_register() failed, the memory allocated
in neigh_parms_alloc() should be freed.
Fixes: 20e61da7ff ("ipv4: fail early when creating netdev named all or default")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Acked-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Leaf changes summary: 2 artifacts changed (2 filtered out)
Changed leaf types summary: 2 (2 filtered out) leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
'struct ufs_dev_info at ufs.h:530:1' changed:
type size changed from 192 to 320 (in bits)
5 data member insertions:
'u32 ufs_dev_info::d_ext_ufs_feature_sup', at offset 192 (in bits) at ufs.h:566:1
'u8 ufs_dev_info::b_wb_buffer_type', at offset 224 (in bits) at ufs.h:567:1
'u32 ufs_dev_info::d_wb_alloc_units', at offset 256 (in bits) at ufs.h:568:1
'bool ufs_dev_info::keep_vcc_on', at offset 288 (in bits) at ufs.h:569:1
'u8 ufs_dev_info::b_presrv_uspc_en', at offset 296 (in bits) at ufs.h:570:1
25 impacted interfaces:
function int ufshcd_alloc_host(device*, ufs_hba**)
function int ufshcd_crypto_cap_find(ufs_hba*, blk_crypto_mode_num, unsigned int)
function void ufshcd_crypto_disable_spec(ufs_hba*)
function void ufshcd_crypto_enable_spec(ufs_hba*)
function void ufshcd_dealloc_host(ufs_hba*)
function int ufshcd_dme_get_attr(ufs_hba*, u32, u32*, u8)
function int ufshcd_dme_set_attr(ufs_hba*, u32, u8, u32, u8)
function int ufshcd_dump_regs(ufs_hba*, size_t, size_t, const char*)
function u32 ufshcd_get_local_unipro_ver(ufs_hba*)
function int ufshcd_hold(ufs_hba*, bool)
function int ufshcd_init(ufs_hba*, void*, unsigned int)
function int ufshcd_pltfrm_init(platform_device*, const ufs_hba_variant_ops*)
function int ufshcd_query_attr(ufs_hba*, query_opcode, attr_idn, u8, u8, u32*)
function int ufshcd_query_descriptor_retry(ufs_hba*, query_opcode, desc_idn, u8, u8, u8*, int*)
function int ufshcd_query_flag(ufs_hba*, query_opcode, flag_idn, bool*)
function void ufshcd_release(ufs_hba*)
function void ufshcd_remove(ufs_hba*)
function int ufshcd_runtime_idle(ufs_hba*)
function int ufshcd_runtime_resume(ufs_hba*)
function int ufshcd_runtime_suspend(ufs_hba*)
function int ufshcd_shutdown(ufs_hba*)
function int ufshcd_system_resume(ufs_hba*)
function int ufshcd_system_suspend(ufs_hba*)
function int ufshcd_uic_hibern8_enter(ufs_hba*)
function int ufshcd_uic_hibern8_exit(ufs_hba*)
'struct ufs_hba at ufshcd.h:590:1' changed:
type size changed from 30400 to 30592 (in bits)
2 data member insertions:
'bool ufs_hba::wb_buf_flush_enabled', at offset 30272 (in bits) at ufshcd.h:835:1
'bool ufs_hba::wb_enabled', at offset 30280 (in bits) at ufshcd.h:836:1
there are data member changes:
type 'struct ufs_dev_info' of 'ufs_hba::dev_info' changed, as reported earlier
'bool ufs_hba::auto_bkops_enabled' offset changed from 16384 to 16512 (in bits) (by +128 bits)
'ufs_vreg_info ufs_hba::vreg_info' offset changed from 16448 to 16576 (in bits) (by +128 bits)
'list_head ufs_hba::clk_list_head' offset changed from 16704 to 16832 (in bits) (by +128 bits)
'bool ufs_hba::wlun_dev_clr_ua' offset changed from 16832 to 16960 (in bits) (by +128 bits)
'int ufs_hba::req_abort_count' offset changed from 16864 to 16992 (in bits) (by +128 bits)
'u32 ufs_hba::lanes_per_direction' offset changed from 16896 to 17024 (in bits) (by +128 bits)
'ufs_pa_layer_attr ufs_hba::pwr_info' offset changed from 16928 to 17056 (in bits) (by +128 bits)
'ufs_pwr_mode_info ufs_hba::max_pwr_info' offset changed from 17152 to 17280 (in bits) (by +128 bits)
'ufs_clk_gating ufs_hba::clk_gating' offset changed from 17408 to 17536 (in bits) (by +128 bits)
'u32 ufs_hba::caps' offset changed from 19712 to 19840 (in bits) (by +128 bits)
'devfreq* ufs_hba::devfreq' offset changed from 19776 to 19904 (in bits) (by +128 bits)
'ufs_clk_scaling ufs_hba::clk_scaling' offset changed from 19840 to 19968 (in bits) (by +128 bits)
'bool ufs_hba::is_sys_suspended' offset changed from 21504 to 21632 (in bits) (by +128 bits)
'bkops_status ufs_hba::urgent_bkops_lvl' offset changed from 21536 to 21664 (in bits) (by +128 bits)
'bool ufs_hba::is_urgent_bkops_lvl_checked' offset changed from 21568 to 21696 (in bits) (by +128 bits)
'rw_semaphore ufs_hba::clk_scaling_lock' offset changed from 21632 to 21760 (in bits) (by +128 bits)
'ufs_desc_size ufs_hba::desc_size' offset changed from 21952 to 22080 (in bits) (by +128 bits)
'atomic_t ufs_hba::scsi_block_reqs_cnt' offset changed from 22176 to 22304 (in bits) (by +128 bits)
'device ufs_hba::bsg_dev' offset changed from 22208 to 22336 (in bits) (by +128 bits)
'request_queue* ufs_hba::bsg_queue' offset changed from 29312 to 29440 (in bits) (by +128 bits)
'ufs_crypto_capabilities ufs_hba::crypto_capabilities' offset changed from 29376 to 29504 (in bits) (by +128 bits)
'ufs_crypto_cap_entry* ufs_hba::crypto_cap_array' offset changed from 29440 to 29568 (in bits) (by +128 bits)
'u32 ufs_hba::crypto_cfg_register' offset changed from 29504 to 29632 (in bits) (by +128 bits)
'keyslot_manager* ufs_hba::ksm' offset changed from 29568 to 29696 (in bits) (by +128 bits)
'void* ufs_hba::crypto_DO_NOT_USE[8]' offset changed from 29632 to 29760 (in bits) (by +128 bits)
'u64 ufs_hba::android_kabi_reserved1' offset changed from 30144 to 30336 (in bits) (by +192 bits)
'u64 ufs_hba::android_kabi_reserved2' offset changed from 30208 to 30400 (in bits) (by +192 bits)
'u64 ufs_hba::android_kabi_reserved3' offset changed from 30272 to 30464 (in bits) (by +192 bits)
'u64 ufs_hba::android_kabi_reserved4' offset changed from 30336 to 30528 (in bits) (by +192 bits)
25 impacted interfaces:
function int ufshcd_alloc_host(device*, ufs_hba**)
function int ufshcd_crypto_cap_find(ufs_hba*, blk_crypto_mode_num, unsigned int)
function void ufshcd_crypto_disable_spec(ufs_hba*)
function void ufshcd_crypto_enable_spec(ufs_hba*)
function void ufshcd_dealloc_host(ufs_hba*)
function int ufshcd_dme_get_attr(ufs_hba*, u32, u32*, u8)
function int ufshcd_dme_set_attr(ufs_hba*, u32, u8, u32, u8)
function int ufshcd_dump_regs(ufs_hba*, size_t, size_t, const char*)
function u32 ufshcd_get_local_unipro_ver(ufs_hba*)
function int ufshcd_hold(ufs_hba*, bool)
function int ufshcd_init(ufs_hba*, void*, unsigned int)
function int ufshcd_pltfrm_init(platform_device*, const ufs_hba_variant_ops*)
function int ufshcd_query_attr(ufs_hba*, query_opcode, attr_idn, u8, u8, u32*)
function int ufshcd_query_descriptor_retry(ufs_hba*, query_opcode, desc_idn, u8, u8, u8*, int*)
function int ufshcd_query_flag(ufs_hba*, query_opcode, flag_idn, bool*)
function void ufshcd_release(ufs_hba*)
function void ufshcd_remove(ufs_hba*)
function int ufshcd_runtime_idle(ufs_hba*)
function int ufshcd_runtime_resume(ufs_hba*)
function int ufshcd_runtime_suspend(ufs_hba*)
function int ufshcd_shutdown(ufs_hba*)
function int ufshcd_system_resume(ufs_hba*)
function int ufshcd_system_suspend(ufs_hba*)
function int ufshcd_uic_hibern8_enter(ufs_hba*)
function int ufshcd_uic_hibern8_exit(ufs_hba*)
Bug: 157166850
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: If087098e255497cea1730e5442376646b3efd80b
Replace the "qbg_context" debugfs blob with a binary file associated
with the battery_debug device that provides the same functionality as
the existing debugfs blob for getting QBG context.
Usage:
# cd /sys/devices/platform/soc/soc:qcom,pmic_glink_log/\
soc:qcom,pmic_glink_log:qcom,battery_debug
# echo 1 > qbg_context
# cat qbg_context > file.bin
Change-Id: I59cfea2880362a95d8c87c02b4d823bfdca4e1e2
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
During the cpu hot plug stress testing, couple of messages
continuous flooding on to the console is causing timers
migration delay. Delayed time migrations from hot plugging
core is causing device instability with watchdog. So reduce
log level for couple of prints in cpu hot plug flow.
Change-Id: I14f034765b063fb2a83a2a9489c664eb2504a770
Signed-off-by: Prasad Sodagudi <psodagud@codeaurora.org>
Most of the times mink returns response type as inbound
request needed, which is nothing but call back object
requests. While decoding the response type it should
provide as info or debug message instead of error message.
Change-Id: I7eac9f6ae779b4c3d952fac38880cf4a658428c5
Signed-off-by: AnilKumar Chimata <anilc@codeaurora.org>
The write performance of TLC NAND is considerably lower than SLC NAND.
Using SLC NAND as a WriteBooster Buffer enables the write request to be
processed with lower latency and improves the overall write performance.
Adds support for shared-buffer mode WriteBooster.
WriteBooster enable: SW enables it when clocks are scaled up, thus it's
enabled only in high load conditions.
WriteBooster disable: SW will disable the feature, when clocks are scaled
down. Thus writes would go as normal writes.
To keep the endurance of the WriteBooster Buffer at a maximum, this
load-based toggling is adopted.
Bug: 157166850
(cherry picked from commit 3d17b9b5ab11556b2fea07d4f24154095a685ad2
https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git 5.8/scsi-queue)
Link:https://lore.kernel.org/r/2871444d9083b0e9323ef6d8ff1b544b7784adc9.1587591527.git.asutoshd@codeaurora.org
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Change-Id: I91612bc379520aa756eae5120ef214d34d5ed0c4
Signed-off-by: Can Guo <cang@codeaurora.org>
It is possible that notify call is called after etr is disabled or
after mode switch from usb to etr. Add etr status check to avoid
exception.
Change-Id: I65e81e5ec01ebb3747936cdd81f886632c5419f1
Signed-off-by: Tao,Zhang <taozha@codeaurora.org>
Fastmap rely on minimizing tlbi to improve map performance.
At present only one marker is used to indicate if stale TLB might be used.
Instead use a clean bitmap for mapping to further reduce the TLB
invalidations.
Change-Id: I5a8dffde31f8804811357a83893b6ce0d863e8a9
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
If GPU CX GDSC was left enabled before HLOS bootup, GDSC fails
to disable after HLOS boots up as some transactions are observed
between GPU and GEMNOC. To avoid this GPU CX GDSC disable failure,
mark gcc_ddrss_gpu_axi_clk as always on as per the HW suggestion.
Change-Id: I5c839a3446996ff27933fa738b3f13d8218cd503
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
Enable internal wireless regulatory database.
This is needed for platforms without CRDA.
Change-Id: Ib3f526a8434f16b6d65a8ebb4e4603b6edbbdc03
CRs-Fixed: 2564350
Signed-off-by: Ajit Vaishya <avaishya@codeaurora.org>
Forbid enabling sink in the process of reading sink. Otherwise,
sink flag "activated" will be set to true, and the source has a
chance to be added to "cs_active_paths" twice. Then, system will
crash if sink is continued to be read due to two same source in
"cs_active_paths".
Change-Id: I3317ea435e9d84258e3fcbf854a6078afcd4a08e
Signed-off-by: Tao,Zhang <taozha@codeaurora.org>
Use cmpxchg instead of a spinlock in scs_check_usage() to avoid
deadlocks.
Bug: 157781894
Change-Id: I1701ccaf25fdbd34ce4798c6f93e220b1565fb34
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Git-commit: e467b8c7db
Git-repo: https://android.googlesource.com/kernel/common
[jshriram@codeaurora.org: cherry-pick]
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
This API can be called by the QMI sound driver precisely when a
device is disconnected in order to issue a stop endpoint command
to properly halt the transfer ring. With this check the function
silently bails, so the XHCI controller hardware may continue to
be accessing the buffers on the transfer ring; meanwhile the
QMI sound driver proceeds to unmap the buffers from DMA
resulting in an SMMU fault. Remove the check to allow the
endpoint to be properly stopped.
Change-Id: I80315c31d9b1685ac4375c1da051a8e22cab07ca
Signed-off-by: Jack Pham <jackp@codeaurora.org>
QSEECOM is compiled as a module and its symbols should not be present on
the whitelist.
Change-Id: Id5d194fea82410611e4167dcdfd9b841529c6abd
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
Remove redundant function name information from the log string, and add
a word to help in readability.
Change-Id: I464b7c8e60771ea06744ef910c525c6dd664492e
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
The write performance of TLC NAND is considerably lower than SLC NAND.
Using SLC NAND as a WriteBooster Buffer enables the write request to be
processed with lower latency and improves the overall write
performance.
Adds support for shared-buffer mode WriteBooster.
WriteBooster enable:
SW enables it when clocks are scaled up, thus it's
enabled only in high load conditions.
WriteBooster disable:
SW will disable the feature, when clocks are scaled
down. Thus writes would go as normal writes.
To keep the endurance of the WriteBooster Buffer at a maximum, this
load-based toggling is adopted.
Change-Id: I55a348f17e2d29b46ed9b29960254937c146f147
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
Add a config fragment for disabling DEBUG_FS.
Change-Id: I877c74955e467002976c3bac6c946183c8be7043
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
The energy values passed to sched_compute_energy trace event
are of unsigned long type. So use %lu format specifier instead
of %llu.
Change-Id: I1e82b34559d76d5cfb023598a8ce62917281a9af
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
If ufshcd_print_host_regs() is called from IRQ context, some registers like
test bus and UFS PHY will not be printed by ufshcd_vops_dbg_register_dump()
due to sleep is not allowed. Move ufshcd_vops_dbg_register_dump out of
ufshcd_print_host_regs and explicitly call ufshcd_vops_dbg_register_dump
where we need to.
Change-Id: Icde9a71fc578c43af04a5329b04353d87217ce4f
Signed-off-by: Can Guo <cang@codeaurora.org>
UAPI_HEADER_TEST ensures that all the uapi headers can be built as
standalone files which facilitates their use in the wider world. Fix
headers to use common kernel definitions.
Change-Id: I405dcabcede923eb18d8be4e1738b11b2e3761f4
Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
The whole UFS host instance has been zero-initialized by scsi_host_alloc(),
thus UFS driver does not need to clear "dev_info" member specifically in
ufshcd_device_params_init().
Simply remove the unnecessary code.
Link: https://lore.kernel.org/r/20200522083212.4008-2-stanley.chu@mediatek.com
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Reviewed-by: Asutosh Das <asutoshd@codeaurora.org>
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Bug: 158450168
(cherry picked from commit 3a66ae512b09971410abf9f1d546944c07b852ec
https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git 5.8/scsi-queue)
Change-Id: Idb4776fb166018e1d61892a8d58b5c135738c1c7
[can: Resolved minor conflicts]
Signed-off-by: Can Guo <cang@codeaurora.org>
The cpu_grp->mons_lock is acquired in the memlat hotplug notifier
callbacks to prevent races within the driver. The cpus_read_lock is
inherently acquired as well since it is in the middle of a hotplug
event. In parallel, stop_hwmon() could unregister from the hotplug
notifier (i.e. when last memlat mon in system is removed). However,
unregistering the hotplug notifier also requires the cpus_read_lock
and is done with the cpu_grp->mons_lock held as well which would lead
to a deadlock if a hotplug is currently in progress with the memlat
notifier callback waiting for the cpu_grp->mons_lock.
To fix this, release the cpu_grp->mons_lock in stop_hwmon() before
unregistering with the hotplug notifier. Also, make sure the memlat
hotplug notifier callbacks check cpu_grp->num_active_mons before
restarting events since that work won't be necessary if there are no
active memlat mons in the system.
Change-Id: I401639a6e28a472a64a96456d2c06f57b35dbc0d
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
ion_dma_buf_unmap() interprets the priv pointer in the
attachment structure as a pointer to an ion_dma_buf_attachment
structure, and modifies the "mapped" field of that structure.
In cases where the heap specifies its own dma-buf ops, this
is not correct, as the priv pointer in the attachment structure
may point to a structure that is not an ion_dma_buf_attachment
structure, and thus, the current implementation of
ion_dma_buf_unmap() will modify the unknown structure--potentially
putting it in an inconsistent state--prior to calling the heap's
dma-buf unmap operation.
Thus, modify the structure pointed to by the priv field in the
attachment structure only if the heap doesn't provide its own
implementation of the unmap operation, as that guarantees that
the priv field points to an ion_dma_buf_attachment structure.
Bug: 157163668
Change-Id: If79a90ae1ca54762bbead6e23518b21076efd44b
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
(cherry picked from commit 01b0584902c56d12569423ef8cdb37d3a132a629)
Signed-off-by: Hridya Valsaraju <hridya@google.com>
The non-cached ion buffer is flushed when allocated.
And then, that is is always mapped as non-cached after allocation.
In the absence of caching, cache maintenance operations
become unnecessary. However dma_buf_ops tries to maintain
cache coherency for non-cached buffer on begin[end]_cpu_access
and map[unmap]_dma_buf functions.
It creates unnecessary overhead, so let's remove it.
Bug: 151775080
Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
Change-Id: I168117c7002aec7930c84168d15816a09750b7d8
Signed-off-by: Hridya Valsaraju <hridya@google.com>
(cherry picked from commit 2c3b4cba8ab38d7eb9f474c78f9b4c70867bf71d)
Signed-off-by: Hridya Valsaraju <hridya@google.com>
Only sync the sg-list of an Ion dma-buf attachment when the attachment
is actually mapped on the device.
dma-bufs may be synced at any time. It can be reached from user space
via DMA_BUF_IOCTL_SYNC, so there are no guarantees from callers on when
syncs may be attempted, and dma_buf_end_cpu_access() and
dma_buf_begin_cpu_access() may not be paired.
Since the sg_list's dma_address isn't set up until the buffer is used
on the device, and dma_map_sg() is called on it, the dma_address will be
NULL if sync is attempted on the dma-buf before it's mapped on a device.
Before v5.0 (commit 55897af630 ("dma-direct: merge swiotlb_dma_ops
into the dma_direct code")) this was a problem as the dma-api (at least
the swiotlb_dma_ops on arm64) would use the potentially invalid
dma_address. How that failed depended on how the device handled physical
address 0. If 0 was a valid address to physical ram, that page would get
flushed a lot, while the actual pages in the buffer would not get synced
correctly. While if 0 is an invalid address it cause a fault trigger a
crash.
In v5.0 this was incidentally fixed by commit 55897af630 ("dma-direct:
merge swiotlb_dma_ops into the dma_direct code"), as this moved the
dma-api to use the page pointer in the sg_list, and (for Ion buffers at
least) this will always be valid if the sg_list exists at all.
But, this issue is re-introduced in v5.3 with
commit 449fa54d68 ("dma-direct: correct the physical addr in
dma_direct_sync_sg_for_cpu/device") moves the dma-api back to the old
behaviour and picks the dma_address that may be invalid.
dma-buf core doesn't ensure that the buffer is mapped on the device, and
thus have a valid sg_list, before calling the exporter's
begin_cpu_access.
Bug: 155685387
Change-Id: Ie4da5a875957c831ce5b1345b5794357b844c84c
Signed-off-by: Orjan Eide <orjan.eide@arm.com>
Signed-off-by: Anders Pedersen <anders.pedersen@arm.corp-partner.google.com>
(cherry picked from commit 644ae915cd5df31179144c5b949539520a14f39a)
Signed-off-by: Hridya Valsaraju <hridya@google.com>
The [un]map_dma_buf receives dma_buf_attachment by
parameter. The caller could set the dma_map_attrs
on dma_buf_attachment such as DMA_ATTR_SKIP_CPU_SYNC,
and expects that attributes are applied.
The dma_[un]map_sg is changed into dma_[un]map_sg_attrs
to send the attributes.
Bug: 151775080
Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
Change-Id: Id5ca12ff120bfeac53a84ffad91e7a219e2180cd
(cherry picked from commit 16ce0bda52c9948d52e5676359b6cade2662580f)
Signed-off-by: Hridya Valsaraju <hridya@google.com>
Add new DSP state, DSP_INACTIVE, to indicate when CPU driver
shutdown DSP during SSR. The state helps CPU driver differentiate
DSP state between initial CVP boot up vs CVP restarted.
Change-Id: I0fd03efcecfceb38716b254a6725fb67bb969806
Signed-off-by: George Shen <sqiao@codeaurora.org>
Use radix_tree_iter_delete instead of radix_tree_delete to properly
remove slots in a radix tree without any dangling references.
Change-Id: Ie72272d467b962538e7fe29b14c5d845308a9c51
Signed-off-by: Chris Lew <clew@codeaurora.org>
Acquiring node in rx worker thread results in deadlock when node
release function is called from rx thread which in turn will wait
for rx thread to finish.
No need to acquire node in rx worker thread as node is guaranteed
to be present till the rx thread finishes.
CRs-Fixed: 2579396
Change-Id: I34903b672961e879596b58e28be5e333db5e10d8
Signed-off-by: Deepak Kumar Singh <deesin@codeaurora.org>
Flow structs are freed under the qrtr_tx_lock. Make sure all accesses
to the flow radix tree are protected by the qrtr_tx_lock.
Change-Id: I1574a09079e80ca9df255eaf9a8b3e5368b26305
Signed-off-by: Chris Lew <clew@codeaurora.org>
Adding support to increase/decrease gpu performance based on mod_percent.
This can be configured by user using new sysfs entry added in devfreq.
User needs to set mod_percent as multiplier percent which is used to
update measured GPU busy value before dcvs algorithm is run.
Example -
mod_percent = 120 (update gpu_busy to 120%)
mod_percent = 80 (update gpu_busy to 80%).
Change-Id: Ic6310b3a7751d5ccadd23332df76ddbcab450493
Signed-off-by: Pankaj Gupta <gpankaj@codeaurora.org>
__cvdso_time() can be found in vDSO implementation,
but the symbols for time() are not exported.
Export the symbols and run bionic-benchmarks.
BEFORE:
bionic-benchmarks32 --bionic_extra BM_time_time
-----------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------
BM_time_time 83.6 ns 83.5 ns 8385964
bionic-benchmarks64 --bionic_extra BM_time_time
-----------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------
BM_time_time 63.5 ns 63.4 ns 11037509
AFTER:
bionic-benchmarks32 --bionic_extra BM_time_time
-----------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------
BM_time_time 8.57 ns 8.56 ns 81887312
bionic-benchmarks64 --bionic_extra BM_time_time
-----------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------
BM_time_time 7.52 ns 7.51 ns 93253809
Signed-off-by: Chiawei Wang <chiaweiwang@google.com>
Bug: 154668398
Bug: 157925983
Test: run bionic-benchmarks --bionic_xml vdso.xml
(cherry picked from fc30ad8ca60eccbce5245103fb4a2b070aa294de)
Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Change-Id: Ibd9835254c065801ba2f0976dffbf70d7bf0c85c
Also consolidated changes to limits, including no longer changing
underlying device.
Bug: 153512828
Test: device boots, checkpoints can be committed or rolled back with and
without this parameter, parameter is accepted
Change-Id: I6fcb9bc21353a16ae0bf8998ffa22094eb1cbf3a
Signed-off-by: Paul Lawrence <paullawrence@google.com>
(cherry picked from commit 7df64f62169ca56286ba49bca3116e9786fd1616)
Update yet another batch of QCOM whitelist file with additional
symbols and regenerate the snapshot accordingly.
Change-Id: I0997a786fd50180744f1eb8fc9b0a817c589eb5e
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
squashfs is not recommended to be used by anyone anymore, so remove the
exported symbols that is needed by that. Anyone using this filesystem
is on their own...
Bug: 157965270
Cc: zhaoyouyi <zhaoyouyi@allwinnertech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id015f68e379d4d998e1d12e25878068624292000
A task can migrate either while it is waking or while it
is running via load balancer. Print the task status
i.e running or not in sched_migrate_task. This helps in
counting the different types of migrations without relying
on other trace events.
Change-Id: Ib473f9ccdc78003bb1f5d2dc24354f2db7a684f5
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Now that the filesystem is built in, remove the exported symbols as
something we have to keep stable.
Bug: 157965270
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4cab046330c24f3deaf38ca9fa9babcaa7228815
Some vendors are using erofs, so instead of having to support this as a
module, build it into the kernel for everyone to use.
Bug: 157965270
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I8f8e953c13991dea50031fb4ff01ee99fbf09b88
Use cmpxchg instead of a spinlock in scs_check_usage() to avoid
deadlocks.
Bug: 157781894
Change-Id: I1701ccaf25fdbd34ce4798c6f93e220b1565fb34
(cherry picked from commit e929fb3f34326c669bff7863da32c90730fa7d72)
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>