Age | Commit message (Collapse) | Author |
|
Add capture support to MultiMedia3 frontend.
CRs-Fixed: 992798
Change-Id: Ie21a1c4a73c354a6dc1e733e6d2ac653f85f7647
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
|
|
This patch adds stuff about new reclaim field in proc.txt
Change-Id: I1718fad12ec078e204e7a59769ce70fad7708756
Acked-by: Rob Landley <rob@landley.net>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Patch-mainline: linux-mm @ 9 May 2013 16:21:29
[vinmenon@codeaurora.org: trivial merge conflict fixes]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
|
|
Add new pcm device node to use in the ultra low latency
path in noirq mode.
Change-Id: I8a7bd938fc8eeeec5cd943e7445784559f13e05e
CRs-Fixed: 992798
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
|
|
Implement platform drivers to support shared memory based
pcm playback and capture.
Change-Id: I882c67ae1c3d950b98bd002ac384cc3a7e77874a
CRs-Fixed: 992798
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
|
|
Since a CPU may go offline after cpu_active_mask is used
to query active CPUs, set_cpus_allowed_ptr might inadverntently
pass an invalid cpu number to move_queued_task.
Fix this by ensuring that the cpumask op that uses cpu_active_mask
checks the return value.
CRs-Fixed: 1029014
Change-Id: Id43a629b40b72cc47773e4027d30953b3a94058d
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
|
|
IPA RM dependencies are added both by kernel drivers and by
userspace application (IPACM), depending on the use case.
On rare condition, a race is possible between adding the dependency
and deleting it, which results in a bad state of the dependency graph.
This change makes sure that dependency is deleted only if it was added
by the same entity.
CRs-Fixed: 1027773
Change-Id: I9253469887b8913f6f2c513a6c7043ed60400b8a
Acked-by Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
|
|
cpufreq_table_validate_and_show() is created as a standard way to
initialize frequency for a policy and assign freq_table. Use this new
API to assign freq_table.
CRs-Fixed: 1024229
Change-Id: Iac3a9394790e140492c5c0c0ad6d068840bfffa4
Signed-off-by: Junjie Wu <junjiew@codeaurora.org>
|
|
This patch adds address range reclaim of a process.
The requirement is following as,
Like webkit1, it uses a address space for handling multi tabs.
IOW, it uses *one* process model so all tabs shares address space
of the process. In such scenario, per-process reclaim is rather
coarse-grained so this patch supports more fine-grained reclaim
for being able to reclaim target address range of the process.
For reclaim target range, you should use following format.
echo [addr] [size-byte] > /proc/pid/reclaim
The addr should be page-aligned.
So now reclaim konb's interface is following as.
echo file > /proc/pid/reclaim
reclaim file-backed pages only
echo anon > /proc/pid/reclaim
reclaim anonymous pages only
echo all > /proc/pid/reclaim
reclaim all pages
echo 0x100000 8K > /proc/pid/reclaim
reclaim pages in (0x100000 - 0x102000)
Change-Id: I111131d31be1cfcfa246617b634a9a8bc4078098
Signed-off-by: Minchan Kim <minchan@kernel.org>
Patch-mainline: linux-mm @ 9 May 2013 08:39:01
[vinmenon@codeaurora.org: trivial merge conflict fixes]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
|
|
Some pages could be shared by several processes. (ex, libc)
In case of that, it's too bad to reclaim them from the beginnig.
This patch causes VM to keep them on memory until last task
try to reclaim them so shared pages will be reclaimed only if
all of task has gone swapping out.
This feature doesn't handle non-linear mapping on ramfs because
it's very time-consuming and doesn't make sure of reclaiming and
not common.
Change-Id: I7e5f34f2e947f5db6d405867fe2ad34863ca40f7
Signed-off-by: Sangseok Lee <sangseok.lee@lge.com>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Patch-mainline: linux-mm @ 9 May 2013 16:21:27
[vinmenon@codeaurora.org: trivial merge conflict fixes + changes
to make the patch work with 3.18 kernel]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
|
|
By previous patch, shrink_page_list can handle pages from
multiple zone so let's remove shrink_page.
Change-Id: I3526377aa6ee6142b8f3ec63396e7ada1e442505
Signed-off-by: Minchan Kim <minchan@kernel.org>
Patch-mainline: linux-mm @ 22 Apr 2013 17:45:03
[vinmenon@codeaurora.org: trivial merge conflict fixes]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
|
|
Shrink_page_list expects all pages come from a same zone
but it's too limited to use.
This patch removes the dependency so next patch can use
shrink_page_list with pages from multiple zones.
Change-Id: I34469b7f0a79f2b79e30e40033ba8b3e1dd5f2d0
Signed-off-by: Minchan Kim <minchan@kernel.org>
Patch-mainline: linux-mm @ 9 May 2013 16:21:25
[vinmenon@codeaurora.org: trivial merge conflict fixes]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
|
|
These day, there are many platforms avaiable in the embedded market
and they are smarter than kernel which has very limited information
about working set so they want to involve memory management more heavily
like android's lowmemory killer and ashmem or recent many lowmemory
notifier.
One of the simple imagine scenario about userspace's intelligence is that
platform can manage tasks as forground and backgroud so it would be
better to reclaim background's task pages for end-user's *responsibility*
although it has frequent referenced pages.
This patch adds new knob "reclaim under proc/<pid>/" so task manager
can reclaim any target process anytime, anywhere. It could give another
method to platform for using memory efficiently.
It can avoid process killing for getting free memory, which was really
terrible experience because I lost my best score of game I had ever
after I switch the phone call while I enjoyed the game.
Reclaim file-backed pages only.
echo file > /proc/PID/reclaim
Reclaim anonymous pages only.
echo anon > /proc/PID/reclaim
Reclaim all pages
echo all > /proc/PID/reclaim
Change-Id: Iabdb7bc2ef3dc4d94e3ea005fbe18f4cd06739ab
Signed-off-by: Minchan Kim <minchan@kernel.org>
Patch-mainline: linux-mm @ 9 May 2013 16:21:24
[vinmenon@codeaurora.org: trivial merge conflict fixes,
and minor tweak of the commit msg]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
|
|
Now, local variable references in shrink_page_list is
PAGEREF_RECLAIM_CLEAN as default. It is for preventing to reclaim
dirty pages when CMA try to migrate pages.
Strictly speaking, we don't need it because CMA already didn't allow
to write out by .may_writepage = 0 in reclaim_clean_pages_from_list.
Morever, it has a problem to prevent anonymous pages's swap out when
we use force_reclaim = true in shrink_page_list(ex, per process reclaim
can do it)
So this patch makes references's default value to PAGEREF_RECLAIM
and declare .may_writepage = 0 of scan_control in CMA part to make
code more clear.
Change-Id: I5edc3c955d106ecebc4949ce27daf5b7b7a18089
Cc: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Mel Gorman <mgorman@suse.de>
Reported-by: Minkyung Kim <minkyung88@lge.com>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Patch-mainline: linux-mm @ 9 May 2013 16:21:23
[vinmenon@codeaurora.org: trivial merge conflict fixes]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
|
|
Add support to populate device tree nodes for the new
32-bit platforms under under mach-qcom.
Change-Id: I5fd747de84917c16f28f3f72d7b34b5db157637c
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
|
|
arch_trigger_all_cpu_backtrace() takes a boolean on arm
platforms. So, the trigger_all_cpu_backtrace() in nmi.h
results in compilation error. Fix it.
Change-Id: I9a1045333115ab1726f85e360ef0e302486341c4
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
|
|
Use the correct type qualifier to print size_t
and ssize_t. This will fix the compilation errors when
compiling for ARM. While at it, fix the compilation errors
in pfk_kc.c for sched functions by including sched.h.
Change-Id: I4fac4530dd4b31baf62ef3719535fd662dc2ae37
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
|
|
Add data for dev_freq SPDM support in order to increase BIMC
vote based on bus rejection rate.
CRs-Fixed: 1025515
Change-Id: I93fe93524cca07f9d9efb9f2cd220fb0bfcf8778
Signed-off-by: David Dai <daidavid1@codeaurora.org>
|
|
Update the mask to use default settings to enable fast
average for channel configuration. Setting this allows
low latency for multiple averaged conversions. Also
update the field mask for hardware settling delay.
Change-Id: If50943f86a6d3f54039a0b4ed4f8a71c8aaaa1fa
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
|
|
Reducing logs in error case by
making pr_err as pr_err_limited.
Change-Id: I2ff998fcec7ace9a94ca67a797f008389dc510f2
Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
|
|
Unaligned register access will reslut in device
crash. Avoid them by checking the register address
before accessing them.
Change-Id: Ib58efa2a68115ec9929b9270c123c904737196ee
Signed-off-by: Abhishek Kondaveeti <akondave@codeaurora.org>
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
|
|
This change fixed the framedrop reporting that causes the CTS
test failure. The failure is due to the wrong frame id is used to
report the framedrop. This change will change the framedrop
report logic so that the correct frame id is used.
Change-Id: I5b219ed570b81a7fd6a97be46977cafd3e452492
Signed-off-by: Jing Zhou <jzhou70@codeaurora.org>
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
|
|
Parallel charging increases charging capacity and efficiency by
distributing the current between two charging chips.
PMI8998 feeds the parallel charger via its MID input, and handles
input current limiting in its front-porch FET. As master charger,
PMI8998 is responsible for enabling/disabling the parallel
charger, and the FCC distribution.
To enable parallel charging in software, the following conditions
must be met:
- Strong USBIN input
- Battery present
- In fast or taper charging state
- Attached UFP source
While the enabling/disabling is always under the control of software
the disabling can also be done by hardware in case of fault.
Battery current is usually fixed to the battery rating. The FCC
distribution is simple, a split of 50/50 by default, which can
be changed in runtime.
When taper irq kicks in, the algorithm reduces parallel FCC by 25%.
This puts the charging back in constant current phase until the
next one happens where again the algorithm reduces the FCC by
25%. This continues until the parallel FCC drops to 500mA. At that
time parallel charging is disabled and master continues charging
the rest of constant voltage phase.
CRs-Fixed: 1023703 1030934
Change-Id: Ied7c31d5913df94a288d36ecf06d081d32e07396
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
|
|
Add support to map/unmap TMC flush and reset CTIs as part of TMC
enable/disable.
Change-Id: I5aae2ce3d2e0dec252139db571d4598d49f3a371
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
|
|
ETM driver sets the address comparator in TRCACVR0 and TRCACVR1.
Enable default inclusive range selected by these registers.
Change-Id: I08d798d6fb24571856929f84db572bbd3651cd6c
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
|
|
Change to make sure that CTIs get probed before CoreSight sources and
sinks.
Change-Id: I7e83fe663c32a6d75470bb0cb546b42c9fe04ab1
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
|
|
Add support to read cti data from OF nodes.
Devices can use this data to configure CTIs as part of their
configurations.
Change-Id: I55b0534ab4d81b9ce02378b513e6ae9bc3b6cd1e
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
|
|
Add code to allocate and register memory dump entry for dumping etm
registers.
Change-Id: I0487e1c0d4e0fffc5df1456d53567762d7b18d51
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
|
|
bio's without data are not relevant, bio_had_data checks this,
replaced redundant checks to call to this function.
Also, additional clean ups performed
Change-Id: I315bcf43cf3d32e78d53b818571da1f5175f8ac3
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
|
|
Implement a new ioctl that sets the ahb clock vote. This can be
used from user space to make register programming quicker.
CRs-Fixed: 1001335
Change-Id: I1bc0253ada50040d55b57f0ed07ba66b5535106a
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
|
|
Interfaces like MBIM or ECM is having multiple data interfaces.
In this case, SET_CONFIG() happens before set_alt with data interface 1.
Due to this, TXFIFO of GSI IN endpoint is not resized causing low
throughput in DL direction. Fix this issue by using mult as 3 for
GSI related USB IN endpoint irrespective of super-speed or high-speed
mode.
CRs-Fixed: 1025031
Change-Id: I10de98ae57284699af3abcd90bafac63ba03844e
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
|
|
IPC Router assigns NULL to write_space callback for all sockets in its
family by defaults. The setsockopt operation with SO_SNDBUF option
accesses write_space callback without checking its validity. This may
lead to a NULL pointer dereferencing when that operation is performed.
Assign a dummy write_space callback operation by default to all IPC Router
sockets.
CRs-Fixed: 1025150
Change-Id: Id2454683116c948b7bb4fa3c50a91a5a9585a491
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
|
|
Sending PP params and calibration params for compress
passthrough path is resulting in timeout which is
delaying the start of playback.
Sending the PP params only when it is legacy pcm playback.
Change-Id: I7fe2840b7a72bddde887340a6e913cb120d1bc61
CRs-Fixed: 1030688
Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
|
|
commit 19bacdc925055f020a ("usb: dwc3: core: only setting the
dma_mask when needed") does not allow to modify dma mask if it
is already set. Since the platform device has default 32-bit
dma mask set change prevents to update the dma mask to 64-bit.
This leads to kernel panic due to out of SW-IOMMU space when a
function driver tries to map more than 32-bit wide address.
Change-Id: I38b178f38277f9a2fa40735f4e15385638403ae6
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
|
|
We are seeing the kernel panic due to NULL pointer dereference with
following call trace:
sdhci_msm_set_clock+0x59c/0xa28
sdhci_do_set_ios+0xf4/0x740
sdhci_set_ios+0x28/0x3c
mmc_set_ios+0xac/0x1ec
__mmc_set_clock+0x2c/0x3c
mmc_ungate_clock+0x20/0x28
mmc_host_clk_hold+0x54/0xc4
mmc_power_off+0x1c/0x70
mmc_rescan+0x250/0x27c
process_one_work+0x240/0x420
worker_thread+0x268/0x390
kthread+0xf8/0x100
This is happending when eMMC initialization is failing in HS400 mode.
sdhci_msm_set_clock() might be accessing the card pointer after it
was deallocated, this change adds the safety checks to avoid NULL
dereference.
Change-Id: I895b8b33cce4173100d58acf690e57b5f4e69081
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
|
|
RTB logs gets flooded during console write operation due to logged
variant of API. This commit replaces logged variant API with no log
variant to suppress logs.
CRs-Fixed: 1030352
Change-Id: I79f943cbc13553b3dbdce68f5c1143fa54f6eafa
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
|
|
The cycle counters are read often by the scheduler to perform
CPU clock frequency estimation. Remove logging the counter reads
to prevent unnecessary logging to the RTBs.
Change-Id: I15e26e4d46d5ee663923d5678fa75878636e6940
CRs-Fixed: 1023437
Signed-off-by: Osvaldo Banuelos <osvaldob@codeaurora.org>
|
|
Allow virtual timers i.e. CNTV_TVAL_EL0 to be accessed
by userspace.
CRs-Fixed: 1018301
Change-Id: I724ddbf4e7c02ee25622c6712210aee948d037f6
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
|
|
Change the memory the zap shader is allocated from the
peripheral_mem region to the default CMA pool for msmcobalt.
Change-Id: I6ea31b8a17107b9f42c82a7b05919ee8ed798474
Signed-off-by: Shrenuj Bansal <shrenujb@codeaurora.org>
|
|
The alloc_flags argument of zone_watermark_ok_safe()
is no more available. Fix the usage.
Change-Id: I99b832418b914765a4941682929dd7183d274e1c
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
|
|
Add a cold_boot parameter which supplements the
boot_reason sysctl entry with information about
whether the system was booted from cold or warm state.
/proc/sys/kernel/cold_boot entry is updated with 1 or 0 when
system was booted from cold or warm boot state respecitively.
CRs-Fixed: 461256
Change-Id: I2bc5d80c8f26eb9e9dbb4b34960d991a51a224e4
Signed-off-by: David Keitel <dkeitel@codeaurora.org>
[abhimany: fixup minor merge conflict and drop changes to
kernel/sysctl.c and Documentation since it was brought in via
snapshot commit]
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
|
|
During board initialization read the shared memory item
SMEM_POWER_ON_STATUS_INFO and place it in the procfs at
/proc/sys/kernel/boot_reason
The data item is an integer with a bit being set to identify the reason
the device was powered on. The values of this data item is defined in
the document Document/arm/msm/boot.txt, the following is the data in the
documentation file.
power_on_status values set by the PMIC for power on event:
----------------------------------------------------------
0x01 -- keyboard power on
0x02 -- RTC alarm
0x04 -- cable power on
0x08 -- SMPL
0x10 -- Watch Dog timeout
0x20 -- USB charger
0x40 -- Wall charger
0xFF -- error reading power_on_status value
This is cherrypicked from commit <372d39f87b0da75>
("put reason for boot in procfs") of 3.18 tree.
Change-Id: I59e665f92e6e29f7dfef4380314f676a2d92c94b
Signed-off-by: Rick Adams <rgadams@codeaurora.org>
[abhimany: fix up minor merge conflicts]
Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org>
Signed-off-by: Srinivas Ramana <sramana@codeaurora.org>
|
|
add support for using 64bit dma mask on ipa3 to
resolve the dma pool exhausted issue.
Change-Id: I887d10efa520eb61d814f4f5d0f8e32916f38450
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
|
|
add 64bit dma mask support on ipa3 to resolve
the dma pool exhausted issue.
Change-Id: I629e2ae15574ab779c43dd40d40cf169fe19bb8e
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
|
|
Add implementation of spcom_is_sp_subsystem_link_up() kernel API.
Remove Load App API declaration,
as it is not supported for kernel drivers.
Change-Id: I76a43a04d454d1f25a640831f43b51dbb7e75943
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
|
|
The format specifier %p can leak kernel addresses
while not valuing the kptr_restrict system settings.
Use %pK instead of %p, which also evaluates whether
kptr_restrict is set.
Change-Id: Ib1adf14e9620ad7b1bd3e962001c852610210d46
Signed-off-by: Divya Ponnusamy <pdivya@codeaurora.org>
|
|
CPU cycles and execution time are in u64.
Change-Id: Ifb3ce3fd2c5c6bf4d658137214b73659a60fd9d7
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
|
|
Currently ASoC core creates a static route b/w
playback/capture widgets of cpu and codec dai
if they are part of the same dai-link. However
this will cause codec path to get powered up first
followed by the backend dai start during device
switch use-case where the front-end is not closed,
leading to audio playback failure if either bit-width
or sample rate is different.
CRs-Fixed: 1029118
Change-Id: I180515f2ad55d1f446ad7eb1ad0bd71809db94bd
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
|
|
When some data is written to a file both mmap and regular io
there can be race conditions that can cause incorrect data
to be saved.
Disable passthrough on the specific files on which mmap is called
until we add mmap support to passthrough.
Change-Id: Ic24219ab22d3130aa7e9e998a9e6798648a7321c
Signed-off-by: Nikhilesh Reddy <reddyn@codeaurora.org>
|
|
IPA Filtering and Routing rules and tables building is
a logic related to IPA H/W. As such, migrating this
logic to IPAHAL (H/W abstraction layer) of IPA driver
and adapt the core driver code to use it.
New internal S/W API is added to access IPAHAL for
Filtering and Routing rules and tables building and
clearing.
CRs-Fixed: 1006485
Change-Id: I23a95be86412987f72287138817235d3f1f9bc61
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
|
|
The max_possible_efficiency and CPU's efficiency are fixed values which
are determined at cluster allocation time. Avoid division on the fast
by using precomputed scale factor.
Also update_cpu_busy_time() doesn't need to know how many full windows
have elapsed. Thus replace unneeded division with simple comparison.
Change-Id: I2be1aad3fb9b895e4f0917d05bd8eade985bbccf
Suggested-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
|