Commit graph

878,310 commits

Author SHA1 Message Date
Patrick Daly
de77105488 mm: oom-kill: Add lmk_kill possible for ULMK
While ULMK is active, prevent OOM for order <= COSTLY_ORDER
pages. No special actions are taken for larger orders.

Change-Id: I4ccba1b71155947569acc3d88ae2027e3b2e0620
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
2020-02-10 19:49:35 -08:00
Dennis Cagle
30dcc390c9 defconfig: arm64: Add SELinux configs
Add SELinux related kernel defconfig options.

Change-Id: Id08aec868995b0f3bfe1eab19a03f3b809e6967c
Signed-off-by: Dennis Cagle <dcagle@codeaurora.org>
2020-02-10 16:27:13 -08:00
Prakruthi Deepak Heragu
0cb0d8a9f5 defconfig: lahaina: Enable CONFIG_EDAC_QGKI flag
Enable CONFIG_EDAC_QGKI flag in non GKI variants to use defer work
feature for EDAC.

Change-Id: I8debaa58d36988a60a346ffdaf8d736abd2384d3
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
2020-02-10 13:12:31 -08:00
Rishabh Bhatnagar
401f6ee668 drivers: edac: Avoid configuring interrupt register in polling mode
Interrupt enable register configuration is only needed for
interrupt mode, So avoid interrupt configuration
in the polling mode.

Change-Id: I0cb9f50573deb580254aebceeee3883d98f6ff85
Signed-off-by: Rishabh Bhatnagar <rishabhb@codeaurora.org>
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
2020-02-10 13:11:55 -08:00
Elliot Berman
82e1a7c672 arm64: defconfig: Enable Haven HVC Driver
Enable Haven HVC driver for Lahiana platform.

Change-Id: I17fa7ab4f875407e1cd5f14a0ea14a366a8815e5
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2020-02-10 12:34:04 -08:00
Elliot Berman
94e8159e75 tty: Add Haven RM Console driver
Haven Resource Manager API defines a simple console for VM log sharing.
This patch adds support for this console with the HVC console framework.
It is possible to use this driver as the "primary VM" to listen to other
VM console logs or as the "secondary VM" to send logs to the "primary
VM". For the latter, CONFIG_HVC_HAVEN_CONSOLE must be set to y.

Change-Id: I3606b2d373535d0f347f66e5b729a303a9513fa8
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2020-02-10 12:34:03 -08:00
Elliot Berman
ad9c03a8b0 haven: rm: Add VM Services - Console APIs
Add console APIs to emulate virtual console mechanism between SVM and
PVM to get the SVM messages to PVM for debug purpose.

Change-Id: I24ec2c427460195c83f5975de70f4ec5c4f2f763
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2020-02-10 12:34:03 -08:00
Elliot Berman
3415eaf8cb haven: rm: Add IRQ Management APIs for IRQ lending
RM allows VMs to lend interrupts to one another. This patch implements
the lender API.

Change-Id: I7671a2b346d2425f963631da4b8529fc9b10dc40
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2020-02-10 12:34:03 -08:00
Akhil P Oommen
d14dbe6866 msm: kgsl: Fix gdsc disable timeout during reset
Smmu driver takes a vote on CX gdsc before calling the kgsl pagefault
handler. If there is contention for device mutex in this path and the
dispatcher fault handler is holding this lock, trying to turn off CX
gdsc will fail during the reset. So to avoid blocking here, try to
lock device mutex and return if it fails.

Change-Id: Idf1726960071d66b9112f6b4abdf19a49afacefd
Signed-off-by: Akhil P Oommen <akhilpo@codeaurora.org>
Signed-off-by: Urvashi Agrawal <urvaagra@codeaurora.org>
2020-02-10 12:32:18 -08:00
Oleg Perelet
3d2cf8b707 msm: kgsl: Always boot GMU with default CM3 config
Ensure that CM3 configuration is always set to default value
before taking CM3 out of reset. Also make sure that we
read/modify this register when we send NMI to GMU.

Change-Id: Ic9c4506c04c5e7dd1cabf12901fa53636e2ed9c7
Signed-off-by: Oleg Perelet <operelet@codeaurora.org>
Signed-off-by: Urvashi Agrawal <urvaagra@codeaurora.org>
2020-02-10 12:25:07 -08:00
Isaac J. Manjarres
a2b9b1678e ion: msm: Add support for the Trusted UI(TUI) dynamic carveout heap
Add support to allow usage of memory from the TUI dynamic carveout
heap.

Change-Id: I585b68215f2f5e8ab114f1c83c19b3bc77a65845
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-02-10 10:52:50 -08:00
qctecmdr
3bdb50e53a Merge "arm64: defconfig: Enable haven doorbell driver" 2020-02-10 07:51:49 -08:00
Mao Jinlong
dc5dfae44f coresight-etm4x: Don't set LPOVERRIDE bit when tupwr-disable is true
Don't set LPOVERRIDE bit when tupwr-disable is true to avoid the cpu hang
issue.

Change-Id: Ie12b6faa3a39e35fac1566690771321a79e99bae
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
2020-02-10 00:50:09 -08:00
qctecmdr
81c4256b2e Merge "scsi: ufs: Fix phy init sequence" 2020-02-09 21:05:45 -08:00
Meng Wang
54792d2a02 ASoC: pcm: update arch_setup_dma_ops to of_dma_configure for hostless
arch_setup_dma_ops is not exported and when compiling ASoC framework
as modules, it would not found arch_setup_dma_ops. Change it to
of_dma_configure to resolve this issue.

Change-Id: I2a031373eff8a4abc212798825c9effd77bce9f7
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-02-09 20:21:33 -08:00
Vinayak Menon
39c6b7d296 mm: make faultaround produce old ptes
Based on Kirill's patch [1].

Currently, faultaround code produces young pte.  This can screw up
vmscan behaviour[2], as it makes vmscan think that these pages are hot
and not push them out on first round.

During sparse file access faultaround gets more pages mapped and all of
them are young. Under memory pressure, this makes vmscan swap out anon
pages instead, or to drop other page cache pages which otherwise stay
resident.

Modify faultaround to produce old ptes if sysctl 'want_old_faultaround_pte'
is set, so they can easily be reclaimed under memory pressure.

This can to some extend defeat the purpose of faultaround on machines
without hardware accessed bit as it will not help us with reducing the
number of minor page faults.

Making the faultaround ptes old results in a unixbench regression for some
architectures [3][4]. But on some architectures like arm64 it is not found
to cause any regression.

unixbench shell8 scores on arm64 v8.2 hardware with CONFIG_ARM64_HW_AFDBM
enabled  (5 runs min, max, avg):
Base: (741,748,744)
With this patch: (739,748,743)

So by default produce young ptes and provide a sysctl option to make the
ptes old.

[1] https://marc.info/?l=linux-mm&m=146348837703148
[2] https://lkml.org/lkml/2016/4/18/612
[3] https://marc.info/?l=linux-kernel&m=146582237922378&w=2
[4] https://marc.info/?l=linux-mm&m=146589376909424&w=2

Change-Id: I193185cc953bc33a44fc24963a9df9e555906d95
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Patch-mainline: linux-mm @ Fri, 19 Jan 2018 17:24:54
[vinmenon@codeaurora.org: enable by default since arm works well
with old fault_around ptes + edit the links in commit message to
fix checkpatch issues]
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
[swatsrid@codeaurora.org: Fix merge conflicts]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
Signed-off-by: Chris Goldsworthy <cgoldswo@codeaurora.org>
2020-02-09 19:57:16 -08:00
qctecmdr
c5d20367bc Merge "ion: msm: Add support for addition/removal of memory to ION heaps" 2020-02-09 14:36:35 -08:00
qctecmdr
d54f34fc01 Merge "input: qcom-hv-haptics: correct pattern source checking logic" 2020-02-09 09:08:49 -08:00
qctecmdr
495a16b463 Merge "leds: qti-flash: Fix updating flags when disabling flash/torch device" 2020-02-09 09:08:49 -08:00
Maya Erez
ae1b591161 wil6210: prevent ioctl access while in reset or suspend
Accessing some of the memory of the device while the device is
resetting or suspending may cause unexpected error as the HW is still
not in a stable state. Prevent this access to guarantee successful
read/write memory operations.

Change-Id: Idbf046e21726ec8d074161f75643f34137d6ec24
Signed-off-by: Ahmad Masri <amasri@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Lior David <liord@codeaurora.org>
2020-02-09 01:34:32 -08:00
Prakruthi Deepak Heragu
06c03f1e68 drivers: edac: Defer work for the polling EDAC driver
Use the defer work mechanism to poll for errors using a callback function.

Change-Id: Id599a9159098a8b13df386290b3e46939831a4ff
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
2020-02-08 15:14:23 -08:00
Rohit Vaswani
b6541efc03 edac: Allow the option of creating a deferrable work for polling
EDAC provides a mechanism to poll for errors using a callback function
and uses a delayed timer to schedule it. Provide an option to create
a deferrable timer if the error checking is not worth waking up
the cpu from idle.

Change-Id: Ia25216323eabf7fa4b894897c950414006921f3f
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
Signed-off-by: Venkata Narendra Kumar Gutta <vnkgutta@codeaurora.org>
2020-02-08 15:13:16 -08:00
qctecmdr
3fb337ee18 Merge "power: reset: use nvmem restart_reason" 2020-02-08 06:26:43 -08:00
qctecmdr
6b53de76bd Merge "linux: scm: Update the API for assign memory to subsys" 2020-02-08 06:26:43 -08:00
qctecmdr
40becc1936 Merge "soc: qcom: glink_pkt: Fix minor version in device creation" 2020-02-08 06:26:43 -08:00
qctecmdr
4adec99e93 Merge "wil6210: add ioctl interface" 2020-02-08 06:26:42 -08:00
qctecmdr
08b5802cf3 Merge "ion: msm: Add support for mapping VMIDs to ION flags" 2020-02-08 06:26:42 -08:00
qctecmdr
bac1da57bd Merge "HID: Trace events for external sensor driver" 2020-02-08 00:48:03 -08:00
qctecmdr
18fc76a46e Merge "Bluetooth: Remove unused regulator entries" 2020-02-08 00:48:03 -08:00
qctecmdr
088760b3a7 Merge "msm: cvp: Enable CVP power collapse and LLC" 2020-02-08 00:48:03 -08:00
qctecmdr
6ddbe715d4 Merge "soc: qcom: ipcc: Do not reset the device during probe" 2020-02-07 18:53:35 -08:00
qctecmdr
5e2f8c3236 Merge "devfreq: memlat: Add CPU Hotplug and Idle awareness in memlat" 2020-02-07 18:53:35 -08:00
qctecmdr
ed8e9ec37e Merge "include/linux: add HDCP QSEECOM header file" 2020-02-07 18:53:35 -08:00
qctecmdr
2648fff13a Merge "qseecom: add compat_qseecom to support 32bit process" 2020-02-07 18:53:34 -08:00
Sudheer Papothi
7f0577a8e0 ASoC: dt-bindings: update soundwire port configurations
Update soundwire port configurations.

Change-Id: I1a6007c88bdf84b0544fdd13fa55ddbfde77526f
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2020-02-07 18:48:02 -08:00
Fenglin Wu
63cf41928a defconfig: lahaina: Enable hv-haptics driver
Enable hv-haptics which registers the High Voltage Haptics module as an
input FF device to receive the input events for playing different
vibration effects.

Change-Id: Iccd58121cf6a0e5129ad4ca98ae36d9e4e760e9d
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2020-02-08 09:51:15 +08:00
Fenglin Wu
885fb73a42 input: qcom-hv-haptics: correct pattern source checking logic
The pattern source check before loading predefined effect is incorrect.
Correct it.

Change-Id: I8026f6ee24ce17dfe43bc514eeb526300af99746
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2020-02-08 09:50:08 +08:00
Meng Wang
5f563b2c24 defconfig: lahaina: enable FSA driver on Lahaina
Enable FSA driver on Lahaina to support analog type-c
headset.

Change-Id: I45574cec40f0bb082708d44ace8a9db1c358113c
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-02-08 08:50:14 +08:00
Guru Das Srinagesh
5e5975841a defconfig: lahaina: Enable the Type-C alternate mode driver
The Type-C alternate mode driver provides an interface for Type-C
alternate mode clients to receive data such as Pin Assignment
Notifications from the Type-C stack running on a remote subsystem (e.g.
DSP) via the PMIC GLINK interface.

Change-Id: I241619d6790293557f488eb6dfba8e06d7fd9061
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
2020-02-07 16:21:40 -08:00
Guru Das Srinagesh
4a5af957ae soc: qcom: Add Type-C alternate mode driver
The Type-C standard defines various "alternate (alt) modes" which enable
standard Type-C connectors to carry non-USB signals and data.

This driver provides an interface for Type-C alternate mode clients to
receive data such as Pin Assignment Notifications from the Type-C stack
running on a remote subsystem (e.g. DSP) via the PMIC GLINK interface.

Change-Id: Ic7eacb6901830cab181d91a1775cf02cddbccae2
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
2020-02-07 16:21:39 -08:00
Isaac J. Manjarres
d8ff597794 ion: Add support for dynamic carveout heaps
The memory regions managed by carveout heaps are provisioned to
the heaps at boot, and once a memory region is bound to a heap,
the binding of heap to memory region is immutable. In some cases,
it might be desireable to assign the memory region for a carveout
heap on demand.

Thus, add support for dynamic carveout heaps. Dynamic carveout heaps
are initialized as empty heaps (i.e. they have no memory associated
with them) and must have memory added to them prior to use. Dynamic
heaps can also have memory removed from them, so add support for both
of these functionalities as well.

Change-Id: Icafe83c879e7f5a10a92dd1fcd97f1fda2b02c20
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-02-07 14:03:10 -08:00
Subramanian Ananthanarayanan
e5e857aef6 i3c: i3c-master-msm-geni: Propagate tip changes from 4.19
Changes are to propagate the tip changes of 4.19 to 5.4 kernel

'commit 137b5f5720ba ("i3c: i3c-master-qcom-geni: Support for
OD,PUSH-PULL mode frequency switch")'.
'commit a7d29dd6723b ("i3c: i3c-master-qcom-geni: Support for
static address zero")'.

Change-Id: I40ed219bc9b099e095595e8a0f777bc0d3ae6df6
Signed-off-by: Subramanian Ananthanarayanan <skananth@codeaurora.org>
2020-02-08 03:13:28 +05:30
Shyam Kumar Thella
d06911ff63 leds: qti-flash: Fix updating flags when disabling flash/torch device
Currently when brightness is zeroed-out for a flash/torch device its
"configured" flag is set to false. Hence the flash/torch device is
ignored when its switch is disabled. This leads to the corresponding
LED channel left enabled. Fix this by setting "configured" flag to
false only when led strobe is de-asserted.

Change-Id: I46c640d3e0db8611343e2e67321db820161dd144
Signed-off-by: Shyam Kumar Thella <sthella@codeaurora.org>
2020-02-07 23:30:49 +05:30
Jack Pham
a96556c936 sound: usb: Add snapshot for usb audio qmi driver
This change adds snapshot of usb audio qmi service related files.
A remote entity communicates with usb audio qmi server to enable
or disable particular audio stream on enumerated usb audio device.
This offloads ISOC data transfer operations to remote entity and
allows apps processor to go to power collapse more frequently for
better power saving.

This snapshot was taken as of msm-4.19 commit 3ecc1a5c8726 ("sound:
usb: Don't bail out if qmi_send_indication fails"). In addition,
several updates were made for the current kernel to be compatible
with the GKI ABI, such as making direct calls to APIs exported by
the XHCI driver as well as other minor checkpatch fixes.

Change-Id: I0d3c1c129723e2327406a61ae7c756736df99872
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Signed-off-by: Jack Pham <jackp@codeaurora.org>
2020-02-07 00:33:20 -08:00
Isaac J. Manjarres
0585fb4452 ion: msm: Add support for addition/removal of memory to ION heaps
There is currently no interface for adding/removing memory to an
ION heap, so add one.

Change-Id: I68061feca3c29cd8f2370665f40f8005fb8765ff
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-02-06 22:54:49 -08:00
Isaac J. Manjarres
878cf94a7a ion: msm: Add support for querying the security state of heaps
ION clients may want to know about the security state of a heap
prior to allocating from it, so expose an interface for querying
the security state of a heap.

Change-Id: Ibf832792ffbc81b5b96b8ddbc507db5418a47928
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-02-06 22:54:49 -08:00
Isaac J. Manjarres
f1efdc30c2 ion: msm: Add support for mapping VMIDs to ION flags
Add support for mapping VMID values to their corresponding
ION flags.

Change-Id: I827c4e7c4a1761fcc6c6b08f2855f490243d8ea5
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-02-06 22:54:48 -08:00
qctecmdr
0cfe100396 Merge "arm64: defconfig: Enable USB Mass Storage drivers on Lahaina" 2020-02-06 18:37:45 -08:00
qctecmdr
5ecbe390cb Merge "drivers: cpuidle: lpm-levels: Move local_irq_enable" 2020-02-06 18:37:45 -08:00
qctecmdr
668565e9c7 Merge "soc: qcom: rpmh: Correct rpm_msg pointer offset and add list_del" 2020-02-06 18:37:44 -08:00