Shorter FIFO updates lead to frequent ESR estimation. Avoid this
by updating the esr-estimation frequency based on fifo-length.
Change-Id: I26b3ad75c88d5cbf97766e86710f677e11a77df1
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
If ETM management registers are accessed directly, device may break
down due to the trace core is powered down. so modify the function
from coresight_etm4x_simple_func to coresight_etm4x_cross_read to
ensure the trace core is powered up before the register is accessed.
Change-Id: I935c08385bcca763f5bdc34b9ccd9ff27bbb1af0
Signed-off-by: Yuanfang Zhang <zhangyuanfang@codeaurora.org>
Even though lowmem is accounted for in vmalloc space,
allocation comes only from the region bounded by
VMALLOC_START and VMALLOC_END. The kernel virtual area
can now allocate from any unmapped region starting
from PAGE_OFFSET.
Change-Id: I291b9eb443d3f7445fd979bd7b09e9241ff22ba3
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
keep the prev_reg so that we get correct printing if we have more
than two carve-out areas.
Change-Id: I931a091d3a9e19af36062e2a3fa15ec84ef5f7e4
Signed-off-by: Zhenhua Huang <zhenhuah@codeaurora.org>
Signed-off-by: Qingqing Zhou <qqzhou@codeaurora.org>
For some targets that have less vmalloc space this can be increased by
enabling config ENABLE_VMALLOC_SAVING. With this config we can reclaim
virtual mappings which remains unused because of non hlos carveout
reservations in lowmem.
Select the default method of reclaiming virtual memory as vmalloc
saving.
Change-Id: I249992871babe8c64c34d52ef43bbc7c81636d47
Signed-off-by: Zhenhua Huang <zhenhuah@codeaurora.org>
Signed-off-by: Qingqing Zhou <qqzhou@codeaurora.org>
is_vmalloc_addr currently assumes that all vmalloc addresses
exist between VMALLOC_START and VMALLOC_END. This may not be
the case when interleaving vmalloc and lowmem. Update the
is_vmalloc_addr to properly check for this.
Correspondingly we need to ensure that VMALLOC_TOTAL accounts
for all the vmalloc regions when CONFIG_ENABLE_VMALLOC_SAVING
is enabled.
Change-Id: I5def3d6ae1a4de59ea36f095b8c73649a37b1f36
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
Signed-off-by: Zhenhua Huang <zhenhuah@codeaurora.org>
Signed-off-by: Qingqing Zhou <qqzhou@codeaurora.org>
After reclaiming vmalloc and adjusting lowmem, the two
regions are no longer contiguous. Update the messages
printed during bootup to list all regions corresponding
to low memory and vmalloc respectively.
Change-Id: Ib3e25b530b3dfbd1f9796cdc580fb79da484e850
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
Signed-off-by: Zhenhua Huang <zhenhuah@codeaurora.org>
Signed-off-by: Qingqing Zhou <qqzhou@codeaurora.org>
Currently on 32 bit systems, virtual space above
PAGE_OFFSET is reserved for direct mapped lowmem
and part of virtual address space is reserved for
vmalloc. We want to optimize such as to have as
much direct mapped memory as possible since there is
penalty for mapping/unmapping highmem. Now, we may
have an image that is expected to have a lifetime of
the entire system and is reserved in physical region
that would be part of direct mapped lowmem. The
physical memory which is thus reserved is never used
by Linux. This means that even though the system is
not actually accessing the virtual memory
corresponding to the reserved physical memory, we
are still losing that portion of direct mapped lowmem
space.
So by allowing lowmem to be non contiguous we can
give this unused virtual address space of reserved
region back for use in vmalloc.
Change-Id: I980b3dfafac71884dcdcb8cd2e4a6363cde5746a
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
Signed-off-by: Qingqing Zhou <qqzhou@codeaurora.org>
Add menu choice options for reclaiming virtual
memory belonging to any subsystem expected to have
a lifetime of the entire system. By default virtual
memory is not reclaimed.
Change-Id: I1b8a1492062bb9532700122878618989e5148647
Signed-off-by: Neeti Desai <neetid@codeaurora.org>
Signed-off-by: Susheel Khiani <skhiani@codeaurora.org>
Signed-off-by: Zhenhua Huang <zhenhuah@codeaurora.org>
Signed-off-by: Qingqing Zhou <qqzhou@codeaurora.org>
Support for parent set rate is not required for gpll8_out_main,
so remove the same.
Change-Id: I56b42df6384b2690136664d5812ea0953f65ca1c
Signed-off-by: Naveen Yadav <naveenky@codeaurora.org>
MTP Server can issue ioctl for receive_file_work even if
xfer_length is 0. Mainly due to small files which are read
from mtp_read() itself. As there is no need to queue work
followed by flush_work in that case, add a check for same
to avoid wasting few msecs for every small file transferred.
Change-Id: I7b5395cc771c6f1ef842e787210ec02262b2b44f
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
To make sure WLAN MAC address has already been well
configured in firmware before switching to mission mode,
send QMI message to WLAN firmware to query the current
MAC status, and wait for 10 seconds at most if it's not
ready.
A new DTS property 'use-nv-mac' is also added:
if 'use-nv-mac' is defined in WLAN dts node, the MAC
checking will be performed; otherwise, it won't.
Change-Id: I1e751d84fb304cb95ea0f989f6939bc7ba5a3ecc
Signed-off-by: Yu Wang <yyuwang@codeaurora.org>
Limit the max FCC to 4.8A or 9.6A based on QG subtype.
This limit includes the ADC error margin.
Change-Id: I7a4f66452d44e7e591ec171afee1d3fb784c741c
Signed-off-by: Kavya Nunna <knunna@codeaurora.org>
While doing mtp file transfers and performing usb disconnect,
due to usb request being shared between both vfs_write and
unbind, creates a race condition, result in crashing the kernel.
Fix this by introducing mutex in such a ways that it avoids buffer
being freed and also do not degrade the throughput while copy
operation is performed.
Change-Id: Ic235fb92997993bd75ed5e519a5d73e787522810
Signed-off-by: Udipto Goswami <ugoswami@codeaurora.org>
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Add support for initial configuration and programming sequence
for controlling agera PLLs.
Change-Id: I5416017acad4030ff4d095e45f551277e3f274e7
Signed-off-by: Taniya Das <tdas@codeaurora.org>
During enable read the L value to determine if the configuration
is required again, otherwise the PLL would fail to lock or enable
due to lost/missing values.
Also update the PLL configuration, calibration and list register
functionalities.
Change-Id: Iad06657b84352915c73c509c5ef04a5f9c528598
Signed-off-by: Taniya Das <tdas@codeaurora.org>