Commit Graph

49036 Commits

Author SHA1 Message Date
Linux Build Service Account
fa780e71bf Merge "mm: balloon: use general non-lru movable page feature" 2017-02-25 01:09:43 -08:00
Linux Build Service Account
6568e92e2e Merge "mm: migrate: support non-lru movable page migration" 2017-02-25 01:09:42 -08:00
Linux Build Service Account
22c277e625 Merge "mhi: core: power management redesign" 2017-02-25 01:09:34 -08:00
Linux Build Service Account
8f0acd2665 Merge "regulator: qpnp-labibb: Add support for notifier callback" 2017-02-25 01:09:27 -08:00
Sujeev Dias
8339f2fd20 mhi: core: power management redesign
In order to support subsystem restart, and
link down recovery, redesign mhi power
management state machine.

CRs-Fixed: 1081654
Change-Id: I3005b829bfdea1d3e9f086676c446b62b5d30d0b
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-24 14:54:11 -08:00
Linux Build Service Account
c110184f50 Merge "msm: gsi: add support for generic commands" 2017-02-23 21:35:58 -08:00
Linux Build Service Account
6687ca759c Merge "drm/msm: add sde io util API support" 2017-02-23 21:35:35 -08:00
Linux Build Service Account
e042032335 Merge "mhi: core: Add support for new MHI hardware channel" 2017-02-23 21:35:28 -08:00
Linux Build Service Account
ef49b42e4a Merge "drm/msm: Get and enable the IOMMU clocks" 2017-02-23 21:35:09 -08:00
Skylar Chang
3e67e235ea msm: gsi: add support for generic commands
Expose a new API from GSI driver to allow client driver to
disable channel for other Execution Environment.
This API will be used as part of SSR cleanup.

Change-Id: I3b9400643aff76ca2195a597aba9ea18aab3085e
CRs-Fixed: 2008582
Acked-by: Ady Abrahan <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2017-02-23 14:06:34 -08:00
Sujeev Dias
fcfe80f8cc mhi: core: Add support for new MHI hardware channel
Add support for new MHI hardware channel 102 to be
use by MHI clients as ADPL channel.

CRs-Fixed: 1027069
Change-Id: Ib3c2019fc269064d097bb7f40f01d4580e63a603
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
2017-02-22 18:15:58 -08:00
Jordan Crouse
663d4c0a64 iommu/arm-smmu: Add support for TTBR1
Allow a domain to opt into allocating and maintaining a TTBR1
pagetable.  The size of the TTBR1 region will be the same as
the TTBR0 size with the sign extension bit set on the highest
bit in the region.

By example, given a TTBR0/TTBR1 virtual address range of 36
bits the memory map will look like this:

   TTBR0 [0x000000000:0x7FFFFFFFF]
   TTBR1 [0x800000000:0xFFFFFFFFF]

The map/unmap operations will automatically use the appropriate
pagetable for the given iova.

Change-Id: Ic0dedbad2b2c58cd9c47ce31356472e0463d4228
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-02-22 09:52:25 -07:00
Kiran Gunda
473bc7a324 regulator: qpnp-labibb: Add support for notifier callback
Some drivers (e.g. OLEDB) would need to know about LAB_VREG_OK
status from the LABIBB module. Hence, add support for the
notifier callback so that required drivers can be notified about
LAB_VREG_OK status.

Change-Id: Ib60c94c7557ee6ffb7595dee5bd268bb76faaf6e
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
2017-02-22 15:43:07 +05:30
Dhaval Patel
776bf6f2f0 drm/msm: add sde io util API support
Sde io util provides apis for clock management,
regulator management, gpio, register read/write,
etc. This enables the APIs callers to manage
the hardware resources. This patch adds the
io util API support to msm drm driver.

Change-Id: I3b61d42d15659eccde4303e0f68615620b344075
Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org>
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-02-22 02:06:46 -08:00
Minchan Kim
ad386b38ee mm: balloon: use general non-lru movable page feature
Now, VM has a feature to migrate non-lru movable pages so balloon
doesn't need custom migration hooks in migrate.c and compaction.c.

Instead, this patch implements the page->mapping->a_ops->
{isolate|migrate|putback} functions.

With that, we could remove hooks for ballooning in general migration
functions and make balloon compaction simple.

[akpm@linux-foundation.org: compaction.h requires that the includer first include node.h]
Link: http://lkml.kernel.org/r/1464736881-24886-4-git-send-email-minchan@kernel.org
Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Rafael Aquini <aquini@redhat.com>
Cc: Konstantin Khlebnikov <koct9i@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: b1123ea6d3b3da25af5c8a9d843bd07ab63213f4
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: Ibf5bc7ffcbfd31e01946729dc5366baa79d7cf5e
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2017-02-21 12:38:41 +05:30
Minchan Kim
fdd6848191 mm: migrate: support non-lru movable page migration
We have allowed migration for only LRU pages until now and it was enough
to make high-order pages.  But recently, embedded system(e.g., webOS,
android) uses lots of non-movable pages(e.g., zram, GPU memory) so we
have seen several reports about troubles of small high-order allocation.
For fixing the problem, there were several efforts (e,g,.  enhance
compaction algorithm, SLUB fallback to 0-order page, reserved memory,
vmalloc and so on) but if there are lots of non-movable pages in system,
their solutions are void in the long run.

So, this patch is to support facility to change non-movable pages with
movable.  For the feature, this patch introduces functions related to
migration to address_space_operations as well as some page flags.

If a driver want to make own pages movable, it should define three
functions which are function pointers of struct
address_space_operations.

1. bool (*isolate_page) (struct page *page, isolate_mode_t mode);

What VM expects on isolate_page function of driver is to return *true*
if driver isolates page successfully.  On returing true, VM marks the
page as PG_isolated so concurrent isolation in several CPUs skip the
page for isolation.  If a driver cannot isolate the page, it should
return *false*.

Once page is successfully isolated, VM uses page.lru fields so driver
shouldn't expect to preserve values in that fields.

2. int (*migratepage) (struct address_space *mapping,
		struct page *newpage, struct page *oldpage, enum migrate_mode);

After isolation, VM calls migratepage of driver with isolated page.  The
function of migratepage is to move content of the old page to new page
and set up fields of struct page newpage.  Keep in mind that you should
indicate to the VM the oldpage is no longer movable via
__ClearPageMovable() under page_lock if you migrated the oldpage
successfully and returns 0.  If driver cannot migrate the page at the
moment, driver can return -EAGAIN.  On -EAGAIN, VM will retry page
migration in a short time because VM interprets -EAGAIN as "temporal
migration failure".  On returning any error except -EAGAIN, VM will give
up the page migration without retrying in this time.

Driver shouldn't touch page.lru field VM using in the functions.

3. void (*putback_page)(struct page *);

If migration fails on isolated page, VM should return the isolated page
to the driver so VM calls driver's putback_page with migration failed
page.  In this function, driver should put the isolated page back to the
own data structure.

4. non-lru movable page flags

There are two page flags for supporting non-lru movable page.

* PG_movable

Driver should use the below function to make page movable under
page_lock.

	void __SetPageMovable(struct page *page, struct address_space *mapping)

It needs argument of address_space for registering migration family
functions which will be called by VM.  Exactly speaking, PG_movable is
not a real flag of struct page.  Rather than, VM reuses page->mapping's
lower bits to represent it.

	#define PAGE_MAPPING_MOVABLE 0x2
	page->mapping = page->mapping | PAGE_MAPPING_MOVABLE;

so driver shouldn't access page->mapping directly.  Instead, driver
should use page_mapping which mask off the low two bits of page->mapping
so it can get right struct address_space.

For testing of non-lru movable page, VM supports __PageMovable function.
However, it doesn't guarantee to identify non-lru movable page because
page->mapping field is unified with other variables in struct page.  As
well, if driver releases the page after isolation by VM, page->mapping
doesn't have stable value although it has PAGE_MAPPING_MOVABLE (Look at
__ClearPageMovable).  But __PageMovable is cheap to catch whether page
is LRU or non-lru movable once the page has been isolated.  Because LRU
pages never can have PAGE_MAPPING_MOVABLE in page->mapping.  It is also
good for just peeking to test non-lru movable pages before more
expensive checking with lock_page in pfn scanning to select victim.

For guaranteeing non-lru movable page, VM provides PageMovable function.
Unlike __PageMovable, PageMovable functions validates page->mapping and
mapping->a_ops->isolate_page under lock_page.  The lock_page prevents
sudden destroying of page->mapping.

Driver using __SetPageMovable should clear the flag via
__ClearMovablePage under page_lock before the releasing the page.

* PG_isolated

To prevent concurrent isolation among several CPUs, VM marks isolated
page as PG_isolated under lock_page.  So if a CPU encounters PG_isolated
non-lru movable page, it can skip it.  Driver doesn't need to manipulate
the flag because VM will set/clear it automatically.  Keep in mind that
if driver sees PG_isolated page, it means the page have been isolated by
VM so it shouldn't touch page.lru field.  PG_isolated is alias with
PG_reclaim flag so driver shouldn't use the flag for own purpose.

[opensource.ganesh@gmail.com: mm/compaction: remove local variable is_lru]
  Link: http://lkml.kernel.org/r/20160618014841.GA7422@leo-test
Link: http://lkml.kernel.org/r/1464736881-24886-3-git-send-email-minchan@kernel.org
Signed-off-by: Gioh Kim <gi-oh.kim@profitbricks.com>
Signed-off-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Hugh Dickins <hughd@google.com>
Cc: Rafael Aquini <aquini@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: John Einar Reitan <john.reitan@foss.arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: bda807d4445414e8e77da704f116bb0880fe0c76
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I03380d927fed84c7464bd5f7c4405bef6b265b69
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2017-02-21 12:38:28 +05:30
Vlastimil Babka
f9d29d58eb mm, compaction: introduce kcompactd
Memory compaction can be currently performed in several contexts:

 - kswapd balancing a zone after a high-order allocation failure
 - direct compaction to satisfy a high-order allocation, including THP
   page fault attemps
 - khugepaged trying to collapse a hugepage
 - manually from /proc

The purpose of compaction is two-fold.  The obvious purpose is to
satisfy a (pending or future) high-order allocation, and is easy to
evaluate.  The other purpose is to keep overal memory fragmentation low
and help the anti-fragmentation mechanism.  The success wrt the latter
purpose is more

The current situation wrt the purposes has a few drawbacks:

 - compaction is invoked only when a high-order page or hugepage is not
   available (or manually).  This might be too late for the purposes of
   keeping memory fragmentation low.
 - direct compaction increases latency of allocations.  Again, it would
   be better if compaction was performed asynchronously to keep
   fragmentation low, before the allocation itself comes.
 - (a special case of the previous) the cost of compaction during THP
   page faults can easily offset the benefits of THP.
 - kswapd compaction appears to be complex, fragile and not working in
   some scenarios.  It could also end up compacting for a high-order
   allocation request when it should be reclaiming memory for a later
   order-0 request.

To improve the situation, we should be able to benefit from an
equivalent of kswapd, but for compaction - i.e. a background thread
which responds to fragmentation and the need for high-order allocations
(including hugepages) somewhat proactively.

One possibility is to extend the responsibilities of kswapd, which could
however complicate its design too much.  It should be better to let
kswapd handle reclaim, as order-0 allocations are often more critical
than high-order ones.

Another possibility is to extend khugepaged, but this kthread is a
single instance and tied to THP configs.

This patch goes with the option of a new set of per-node kthreads called
kcompactd, and lays the foundations, without introducing any new
tunables.  The lifecycle mimics kswapd kthreads, including the memory
hotplug hooks.

For compaction, kcompactd uses the standard compaction_suitable() and
ompact_finished() criteria and the deferred compaction functionality.
Unlike direct compaction, it uses only sync compaction, as there's no
allocation latency to minimize.

This patch doesn't yet add a call to wakeup_kcompactd.  The kswapd
compact/reclaim loop for high-order pages will be replaced by waking up
kcompactd in the next patch with the description of what's wrong with
the old approach.

Waking up of the kcompactd threads is also tied to kswapd activity and
follows these rules:
 - we don't want to affect any fastpaths, so wake up kcompactd only from
   the slowpath, as it's done for kswapd
 - if kswapd is doing reclaim, it's more important than compaction, so
   don't invoke kcompactd until kswapd goes to sleep
 - the target order used for kswapd is passed to kcompactd

Future possible future uses for kcompactd include the ability to wake up
kcompactd on demand in special situations, such as when hugepages are
not available (currently not done due to __GFP_NO_KSWAPD) or when a
fragmentation event (i.e.  __rmqueue_fallback()) occurs.  It's also
possible to perform periodic compaction with kcompactd.

[arnd@arndb.de: fix build errors with kcompactd]
[paul.gortmaker@windriver.com: don't use modular references for non modular code]
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Cc: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Git-commit: 698b1b30642f1ff0ea10ef1de9745ab633031377
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Change-Id: I987ae548cba936987b8479dc02de67d0f88b9cb6
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2017-02-21 12:36:57 +05:30
Ashay Jaiswal
58ca30db67 power: qcom-charger: add support for internal and external rsense
USBIN-USBIN parallel configuration can have either an internal current
sensing via main charger's BATFET or an external current sense resistor.
The FCC split between main and parallel charger differs based on current
sensing mode, add support to differentiate internal/external sensing and
the FCC split is done as follows:
- Internal Sensing: Main charger configure to full FCC
		    Parallel charger configured to 50% FCC.
- External sensing: Main charger configure to 50% FCC
		    Parallel charger configured to 50% FCC.

Change-Id: Ia0c6234ce6f62af460edd3c4f56e34810899b3e3
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
2017-02-18 09:41:34 +05:30
Linux Build Service Account
5997ded262 Merge "drivers: thermal: Exit sysfs notify kthread when sensor unregisters" 2017-02-16 03:05:12 -08:00
Linux Build Service Account
65ec0b0413 Merge "media: platform: msm: Add demux support for mediabox" 2017-02-15 17:01:30 -08:00
Linux Build Service Account
b24937b98d Merge "msm: sde: Ensure mdp splash cleanup before initiating rotation request" 2017-02-15 17:01:02 -08:00
Ram Chandrasekar
4a86c2f3cc drivers: thermal: Exit sysfs notify kthread when sensor unregisters
When a thermal zone unregisters, it initiates a blocking call
kthread_stop for the sysfs notify kthread to exit. But the sysfs notify
kthread is blocked on a completion event, which may not be triggered after
the sensor driver initiates a thermal zone unregister call. So, the
kthread_stop will be blocked forever.

As a part of thermal zone unregister, set a thermal zone unregister flag
and send a completion event before calling kthread_stop. Make the sysfs
notify kthread to be aware of thermal zone unregister flag and exit
after the completion event is triggered.

Change-Id: Icf045e0ad6e28135cd3a54c15d9923f095a286ff
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
2017-02-15 12:05:11 -07:00
Udaya Bhaskara Reddy Mallavarapu
79db7c3476 media: platform: msm: Add demux support for mediabox
Add audio stream buffer interface to write the Audio demux data
to audio decoder buffers. Add support in TSIF driver to append
LPASS subsystem time stamps to Transport Stream packets in TSIF HW.
This is required for AV sync & clock recovery handling
for mediabox project based on LE platform.

CR's-Fixed: 2005724
Change-Id: I39d2544e958c31ff1abdd2ad77412a87bc2a189b
Signed-off-by: Udaya Bhaskara Reddy Mallavarapu <udaym@codeaurora.org>
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
2017-02-14 16:44:11 -08:00
Linux Build Service Account
58a2863f69 Merge "qcom: smb-lib: make smb_irq_info common for smb2 and smb138x chargers" 2017-02-11 01:25:23 -08:00
Nicholas Troast
d86ba09f57 power_supply: add INPUT_VOLTAGE_SETTLED property
INPUT_VOLTAGE_SETTLED is the negotiated adapter voltage setting.

Change-Id: I2ac529a77e8ed007c908c4f37eea718a80bc11d3
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2017-02-10 16:16:47 -08:00
Harry Yang
5e55ca1847 power_supply: Add CURRENT_QNOVO and VOLTAGE_QNOVO properties
CURRENT_QNOVO - force fast charge current value
VOLTAGE_QNOVO - force float voltage value

CRs-Fixed: 2004173
Change-Id: I7569052fd2cb6d1ce9a3a8e69e79b950a6c62d57
Signed-off-by: Harry Yang <harryy@codeaurora.org>
2017-02-10 15:31:19 -08:00
Linux Build Service Account
564ead6a58 Merge "qpnp-smb2: support POWER_SUPPLY_PROP_CTM_CURRENT_MAX" 2017-02-10 06:46:02 -08:00
Linux Build Service Account
1a78d46209 Merge "power_supply: add DIE_HEALTH and CONNECTOR_HEALTH properties" 2017-02-10 06:46:01 -08:00
Nicholas Troast
fcc57cd62f power_supply: add CTM_CURRENT_MAX property
POWER_SUPPLY_PROP_CTM_CURRENT_MAX is needed by CTM to limit USB input
current. Add it.

Change-Id: I8aac65a91959300676cf7e1c2685a557f322c509
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2017-02-10 12:52:15 +05:30
Nicholas Troast
683a347835 power: supply: qcom: implement die and connector health property
The die and connector health properties expose the comparator output of
the thermal regulation. If both die and skin temperature regulation is
enabled then the output of the comparator will be the higher of the two.
The property values can be one of: Unknown, Cool, Warm, Hot, Overheat.

Change-Id: Ic92c9cb08ec42fd2c2f26a54687a17e3b05b388f
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2017-02-10 12:52:14 +05:30
Nicholas Troast
e93616b414 power_supply: add DIE_HEALTH and CONNECTOR_HEALTH properties
The DIE_HEALTH and CONNECTOR_HEALTH properties are used to show the
output of the thermal regulation TEMP_RANGE.

Change-Id: Ice3f159b7775084bdd0099047d4660a1e5edce98
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2017-02-10 12:52:13 +05:30
Linux Build Service Account
f1fa109c74 Merge "ASoC: qdsp6v2: update afe topology to RTAC driver" 2017-02-09 13:15:47 -08:00
Linux Build Service Account
6db651f50d Merge "msm: mdss: share MDP smmu device mappings with other mdss clients" 2017-02-09 03:11:57 -08:00
Linux Build Service Account
0c9dc102d9 Merge "Use after free from pid_nr_ns()" 2017-02-08 17:48:17 -08:00
Linux Build Service Account
1a80cbf258 Merge "ice: fix issue with losing ICE key configuration during reset" 2017-02-08 17:48:15 -08:00
Linux Build Service Account
a3863eb11e Merge "msm: ext_display: update hpd and notify for HDMI" 2017-02-08 17:48:02 -08:00
Linux Build Service Account
4c61075032 Merge "leds: leds-qpnp: correct various coding style issues" 2017-02-08 17:47:41 -08:00
Linux Build Service Account
52ea397825 Merge "iio: qcom-tadc: set all threshold comparators directions" 2017-02-08 17:47:34 -08:00
Andrey Markovytch
a1cd6239e4 ice: fix issue with losing ICE key configuration during reset
TZ is called to restore key configuration in case of UFS reset

Change-Id: Id434e7f9ec6befdce97f52fd350957b66adcb15f
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
2017-02-08 04:35:20 -08:00
Nicholas Troast
6cce933457 power_supply: add CONNECTOR_THERM_ZONE property
The CONNECTOR_THERM_ZONE property shows which thermal zone the
connector temperature is currently in.

Change-Id: I669344feea13f34f98ee808cae5649766543201a
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2017-02-07 13:39:39 -08:00
Linux Build Service Account
a2c6971ce7 Merge "sysctl: define upper limit for sched_freq_reporting_policy" 2017-02-07 02:08:10 -08:00
Jayant Shekhar
4c8baa4684 msm: sde: Ensure mdp splash cleanup before initiating rotation request
MDP and ROT use same Smmu context banks. If rotation request comes
when MDP is operating on physical address then fail the request such
that composition can fall back onto GPU. Allow HW rotation when MDP
switches to Virtual address access.

Change-Id: I8662855ddd09d9ca2bb074a0bcc11e759a6809df
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
2017-02-07 15:18:11 +05:30
Raviteja Tamatam
f325453a4d msm: mdss: update vbif Qos remapper settings for Rotator
Rotator and MDP share same Vbif. Made changes to apply vbif
remapper settings for respective rotator xin id.
Also, due to common vbif, register mutex lock is now shared.

Change-Id: Ifdfb36ce5c8f26196ab4f8f56487cf135bbd12ce
Signed-off-by: Raviteja Tamatam <travitej@codeaurora.org>
2017-02-06 21:31:49 -08:00
Kalyan Thota
e8b77a585b msm: mdss: share MDP smmu device mappings with other mdss clients
Rotator and MDP share same stream ID on sdm600 target,
hence share the smmu device with rotator device to map/unmap
its buffers.

The change will also handle different secure usecase concurrencies
like, mdp running in secure and rotator in non-secure and vice versa.

Change-Id: I3ff118baed3984d63e9a9fe94289d99523c7b3e9
Signed-off-by: Kalyan Thota <kalyant@codeaurora.org>
2017-02-07 10:51:12 +05:30
Vidyakumar Athota
6cd1cb7964 ASoC: qdsp6v2: update afe topology to RTAC driver
In device switch scenarios, AFE topology is stored in Real Time
Audio Calibration(RTAC) driver before afe ports are open, which
is invalid. Update AFE topology in RTAC driver after topology ID
is obtained during AFE port open.

Change-Id: I034321126fb0ffc9a2871f3c64f29f8aaedb21e7
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2017-02-03 14:57:40 -08:00
Linux Build Service Account
b1c46e3dc3 Merge "msm: ipa3: Validate IPA and GSI firmwares before loading" 2017-02-03 14:56:17 -08:00
David Collins
b2f04129ca regulator: qpnp-regulator: correct various coding style issues
Correct warnings flagged by checkpatch.  In particular, modify
the following:

 - Use octal file permissions instead of symbolic.

 - Add 'const' to type of struct of_device_id variables.

 - Remove unnecessary out-of-memory error messages.

 - Change variables of type 'unsigned' to 'unsigned int'.

 - Restructure conditionals to avoid else after return/break.

 - Remove 'return' from the end of void functions.

 - Join strings that are wrapped across two lines.

 - Remove ';' from the end of a macro definition.

 - Update the REGULATOR_QPNP Kconfig entry and the device tree
   documentation to use the name: 'Qualcomm Technologies, Inc.'

Change-Id: I9f2cde58929ae57667366bb886e65154d36dfd3d
Signed-off-by: David Collins <collinsd@codeaurora.org>
2017-02-03 12:18:57 -08:00
Nicholas Troast
557ea9fd77 iio: support writing processed values to IIO channels
Add a new function to the IIO API which allows consumers to write
processed values to IIO channels.

This is particularly useful for supporting hardware which has
configurable ADC thresholds. A consumer would be able to change an ADC
threshold by providing a processed value instead of calculating a raw
value.

Change-Id: I7d3b22beddb6fd1fda0cc0aefbcb4cf5cb58bf82
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2017-02-03 08:36:59 -08:00
Linux Build Service Account
9ffdcf0122 Merge "drivers: soc: apr: create glink buffers dynamically" 2017-02-03 06:26:57 -08:00
Linux Build Service Account
16ee74ee09 Merge "usb: xhci-plat: Add DT parameter to program xhci imod_interval" 2017-02-03 06:26:41 -08:00