Commit graph

891,679 commits

Author SHA1 Message Date
Jeevan Shriram
c2d1b1bf9e drivers: llcc: Add LLCC driver for sdxlemur target
Add Last Level Cache Controller (LLCC) driver for sdxlemur platform.

Change-Id: I5fe907c6ed6dd2863e6488dac42e0c352ca48f48
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2020-10-16 10:36:29 -07:00
Melody Olvera
f7101cee8b drivers: llcc: Allow configurations with no broadcast hardware
Previous iterations of the llcc driver did not account for caches with
no llcc broadcast hardware. This fixes this issue.

Change-Id: I221d0d65d17c34645cd1a4070737fe9bebfa4b16
Signed-off-by: Melody Olvera <molvera@codeaurora.org>
2020-10-16 10:32:29 -07:00
qctecmdr
ccbf386326 Merge "f2fs: handle errors of f2fs_get_meta_page_nofail" 2020-10-15 08:45:49 -07:00
qctecmdr
742ed2a741 Merge "defconfig: sdxlemur: Enable CNSS platform driver" 2020-10-15 08:45:49 -07:00
qctecmdr
d659404b98 Merge "mmc: sdhci-msm: Add support for gcc hw reset for sdcc" 2020-10-15 08:45:48 -07:00
qctecmdr
10404900a1 Merge "Firmware: arm_scmi: Add #ifdef guards for vendor extensions" 2020-10-15 08:45:48 -07:00
qctecmdr
74d363dba8 Merge "soc: qcom: msm_perf: Allow freq updates regardless of policy" 2020-10-15 05:37:58 -07:00
qctecmdr
abe544901b Merge "msm: kgsl: Don't allow re-importing memory owned by KGSL" 2020-10-15 05:37:57 -07:00
qctecmdr
b4b4cb7340 Merge "usb: dt-bindings: Add USB 5NM QMP PHY register macros" 2020-10-15 05:37:57 -07:00
qctecmdr
899c0b5bc8 Merge "rpmsg: glink: Remove channel decouple from rpdev release" 2020-10-15 05:37:57 -07:00
qctecmdr
6fe5f956c4 Merge "defconfig: enable config to add QTI specific code for sdxlemur" 2020-10-15 05:37:56 -07:00
Ram Prakash Gupta
e2a34cfbfb mmc: sdhci-msm: Add support for gcc hw reset for sdcc
Add support for gcc hw reset for sdcc. This feature would
help recover emmc host controller and card cleanly in case
software recovery fails.
This would also help reset hwkm key during probe for crypto
when called during probe.

Change-Id: I32c7fbfb1a97bb69924e1a0c6ea90a400dd35c43
Signed-off-by: Ram Prakash Gupta <rampraka@codeaurora.org>
2020-10-15 13:17:17 +05:30
Jaegeuk Kim
4c7f9d9f28 f2fs: handle errors of f2fs_get_meta_page_nofail
First problem is we hit BUG_ON() in f2fs_get_sum_page given EIO on
f2fs_get_meta_page_nofail().

Quick fix was not to give any error with infinite loop, but syzbot caught
a case where it goes to that loop from fuzzed image. In turned out we abused
f2fs_get_meta_page_nofail() like in the below call stack.

- f2fs_fill_super
 - f2fs_build_segment_manager
  - build_sit_entries
   - get_current_sit_page

INFO: task syz-executor178:6870 can't die for more than 143 seconds.
task:syz-executor178 state:R
 stack:26960 pid: 6870 ppid:  6869 flags:0x00004006
Call Trace:

Showing all locks held in the system:
1 lock held by khungtaskd/1179:
 #0: ffffffff8a554da0 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:6242
1 lock held by systemd-journal/3920:
1 lock held by in:imklog/6769:
 #0: ffff88809eebc130 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0xe9/0x100 fs/file.c:930
1 lock held by syz-executor178/6870:
 #0: ffff8880925120e0 (&type->s_umount_key#47/1){+.+.}-{3:3}, at: alloc_super+0x201/0xaf0 fs/super.c:229

Actually, we didn't have to use _nofail in this case, since we could return
error to mount(2) already with the error handler.

As a result, this patch tries to 1) remove _nofail callers as much as possible,
2) deal with error case in last remaining caller, f2fs_get_sum_page().

Change-Id: I886e51597190332553b6a6bbd9fa474f4995bac6
Reported-by: syzbot+ee250ac8137be41d7b13@syzkaller.appspotmail.com
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Git-commit: 86f33603f8c51537265ff7ac0320638fd2cbdb1b
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux.git/
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
2020-10-15 11:12:42 +05:30
Chris Lew
8fb662388c rpmsg: glink: Remove channel decouple from rpdev release
If a channel is being rapidly restarting and the kobj release worker
is busy, there is a chance the the rpdev_release function will run
after the channel struct itself has been released.

There should not be a need to decouple the channel from rpdev in the
rpdev release since that should only happen from the close commands.

Change-Id: Ia4131151b7efb014716c5a0666f940384975ea42
Signed-off-by: Chris Lew <clew@codeaurora.org>
2020-10-14 21:54:20 -07:00
Santosh Mardi
575809e6e3 Firmware: arm_scmi: Add #ifdef guards for vendor extensions
Surround vendor extensions with #ifdef directive to make them 
available only for QGKI builds.

Change-Id: Ibea4847739e97e4ffd9ea97223c20f14aa53a967
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
2020-10-14 21:00:58 -07:00
Kishore Sri venkata Ganesh Bolisetty
35dd0208c3 soc: qcom: msm_perf: Allow freq updates regardless of policy
If frequency update is not honored in cases where it matches to the
previous update, the previous policy update may be revoked any time
and desired performance may drop before the usecase completeion of
the current frequency update.

Change-Id: Ib626f04ecdd343b767c3e0609863a9b8d30f5187
Signed-off-by: Kishore Sri venkata Ganesh Bolisetty <bsrivenk@codeaurora.org>
2020-10-14 15:48:12 -07:00
qctecmdr
37cdb7af00 Merge "net/ipv4: always honour route mtu during forwarding" 2020-10-14 13:09:04 -07:00
qctecmdr
754a4a9755 Merge "usb: dwc3: Remove WQ_MEM_RECLAIM flag while allocating sm_usb_wq" 2020-10-14 13:09:04 -07:00
Pratham Pratap
ded9d8b53d usb: dwc3: Remove WQ_MEM_RECLAIM flag while allocating sm_usb_wq
This change removes WQ_MEM_RECLAIM flag while allocating workqueue for
sm_usb_wq. With this flag, below warning message and calltrace is seen
while flushing hub_wq during peripheral disconnect.

[  223.260116] workqueue: WQ_MEM_RECLAIM k_sm_usb:dwc3_otg_sm_work is
flushing !WQ_MEM_RECLAIM usb_hub_wq:          (null)
[  223.279836] pstate: 60c00005 (nZCv daif +PAN +UAO)
[  223.304544] pc : check_flush_dependency+0x118/0x120
[  223.393801] lr : check_flush_dependency+0x118/0x120
Call trace:
[  224.069750]  check_flush_dependency+0x118/0x120
[  224.074420]  flush_workqueue+0x1b0/0x488
[  224.078466]  usb_flush_hub_wq+0x18/0x20
[  224.082416]  usb_remove_hcd+0xc4/0x240
[  224.086288]  xhci_plat_remove+0x68/0xe8
[  224.090244]  platform_drv_remove+0x28/0x50
[  224.094463]  device_release_driver_internal+0x1ac/0x260
[  224.099839]  device_release_driver+0x24/0x30
[  224.104244]  bus_remove_device+0xf0/0x140
[  224.108379]  device_del+0x294/0x4a0
[  224.111974]  platform_device_unregister+0x30/0xa0
[  224.116817]  dwc3_host_exit+0x5c/0x68
[  224.120589]  dwc3_otg_start_host+0x37c/0x760
[  224.124983]  dwc3_otg_sm_work+0x2d4/0x718
[  224.129112]  process_one_work+0x328/0x6b0
[  224.133247]  worker_thread+0x330/0x4d0
[  224.137108]  kthread+0x128/0x138
[  224.140437]  ret_from_fork+0x10/0x1c
[  224.144116] irq event stamp: 0.

Change-Id: Ida3f8c56406756b09cfb81f816e8ea76e21f8caa
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
2020-10-14 11:35:46 -07:00
Tony Truong
9559f3a8fa defconfig: enable config to add QTI specific code for sdxlemur
Enable PCI_QTI config flag to add QTI specific code to upstream
PCI driver for sdxlemur.

Change-Id: Ic17441714ac67c7965af43c59ff24cfef432ae6b
Signed-off-by: Tony Truong <truong@codeaurora.org>
2020-10-14 11:13:34 -07:00
qctecmdr
8a6b39ffdb Merge "msm: ipa: Support hardware accelerated DIAG over qdss" 2020-10-14 10:15:01 -07:00
qctecmdr
29ffcd8eaa Merge "msm: ipa: ioctl to receive mac addr list and parental control flag" 2020-10-14 10:15:00 -07:00
qctecmdr
7d41484048 Merge "net: Enabling SYN_COOKIES config option for holi target" 2020-10-14 10:15:00 -07:00
qctecmdr
fb30070451 Merge "soc: qcom: ipcc: Move the suspend/resume to dev_pm" 2020-10-14 10:15:00 -07:00
Maciej Żenczykowski
2ecac8d06b net/ipv4: always honour route mtu during forwarding
Documentation/networking/ip-sysctl.txt:46 says:
  ip_forward_use_pmtu - BOOLEAN
    By default we don't trust protocol path MTUs while forwarding
    because they could be easily forged and can lead to unwanted
    fragmentation by the router.
    You only need to enable this if you have user-space software
    which tries to discover path mtus by itself and depends on the
    kernel honoring this information. This is normally not the case.
    Default: 0 (disabled)
    Possible values:
    0 - disabled
    1 - enabled

Which makes it pretty clear that setting it to 1 is a potential
security/safety/DoS issue, and yet it is entirely reasonable to want
forwarded traffic to honour explicitly administrator configured
route mtus (instead of defaulting to device mtu).

Indeed, I can't think of a single reason why you wouldn't want to.
Since you configured a route mtu you probably know better...

It is pretty common to have a higher device mtu to allow receiving
large (jumbo) frames, while having some routes via that interface
(potentially including the default route to the internet) specify
a lower mtu.

Note that ipv6 forwarding uses device mtu unless the route is locked
(in which case it will use the route mtu).

This approach is not usable for IPv4 where an 'mtu lock' on a route
also has the side effect of disabling TCP path mtu discovery via
disabling the IPv4 DF (don't frag) bit on all outgoing frames.

I'm not aware of a way to lock a route from an IPv6 RA, so that also
potentially seems wrong.

Signed-off-by: Maciej Żenczykowski <maze@google.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Cc: Lorenzo Colitti <lorenzo@google.com>
Cc: Sunmeet Gill (Sunny) <sgill@qti.qualcomm.com>
Cc: Vinay Paradkar <vparadka@qti.qualcomm.com>
Cc: Tyler Wear <twear@qti.qualcomm.com>
Cc: David Ahern <dsahern@kernel.org>
Reviewed-by: Eric Dumazet <edumazet@google.com>
(Backported from commit 02a1b175b0e92d9e0fa5df3957ade8d733ceb6a0).

Change-Id: I26f336f891711f0149b2835d2c4a78fc8407b5ba
Git-Commit: 02a1b175b0e92d9e0fa5df3957ade8d733ceb6a0
Git-repo: https://kernel.googlesource.com/pub/scm/linux/kernel/git/stable/linux
Signed-off-by: Sauvik Saha <ssaha@codeaurora.org>
2020-10-14 22:18:21 +05:30
qctecmdr
24bf2ae19b Merge "qcom-sps-dma: Add snapshot of QCOM SPS DMA driver" 2020-10-14 07:19:04 -07:00
qctecmdr
f7e8799a6d Merge "scsi: ufs: add support for low voltage VCC support" 2020-10-14 07:19:04 -07:00
qctecmdr
04bd6e03c9 Merge "Fix removed logging code for BT RST GPIO" 2020-10-14 07:19:04 -07:00
Chinmay Agarwal
1fc40e31be net: Enabling SYN_COOKIES config option for holi target
Enabling SYN_COOKIES config to allow multi stream tcp scenarios to
connect simultaneously.

Change-Id: I0e828513763c7c09656ed43dfc471334c315899d
Signed-off-by: Chinmay Agarwal <chinagar@codeaurora.org>
2020-10-14 19:37:57 +05:30
qctecmdr
95929f9308 Merge "soc: qcom: Fix memcpy operations in ramdump_read" 2020-10-14 04:23:02 -07:00
qctecmdr
0f94ddc2cf Merge "soc: qcom: ramdump: Fix the missed unmap of mapped memory" 2020-10-14 04:23:02 -07:00
qctecmdr
9b07d3dc10 Merge "spi: spi_qsd: Add snapshot of SPI BLSP driver" 2020-10-14 04:23:02 -07:00
qctecmdr
6aba77a362 Merge "arm64: defconfig: Enable qfprom_sys for GKI" 2020-10-14 04:23:01 -07:00
Elson Roy Serrao
743d15bca8 usb: dt-bindings: Add USB 5NM QMP PHY register macros
Add 5nm Combo and Uni phy macro definition file for
broader use across all 5nm QMP Phy device tree nodes.

Change-Id: I5791723981b3b7015e69d2dbc07e0cdd2d2a25c6
Signed-off-by: Elson Roy Serrao <eserrao@codeaurora.org>
2020-10-14 03:57:28 -07:00
priyankar
27e62a7db2 Fix removed logging code for BT RST GPIO
This patch contains changes for fixing code removed for logging
BT RST gpio.

Change-Id: I74e621f26de31a03a1a062496b6b06a6f744700a
Signed-off-by: priyankar <prigup@codeaurora.org>
2020-10-13 23:37:38 -07:00
Mukesh Ojha
75ae7139bd soc: qcom: ramdump: Fix the missed unmap of mapped memory
Before copying dump to userspace, memory is mapped and then the
content get copied to userspace and later that memory should be
unmapped.

Let's unmap the memory after the content get copied to
userspace.

Change-Id: I03d53ebd1cdb743e1820f226a49d46136eca4874
Signed-off-by: Mukesh Ojha <mojha@codeaurora.org>
2020-10-13 23:22:46 -07:00
qctecmdr
2dccc73dc0 Merge "dt-bindings: ipcc: Rename WDSP client to WPSS" 2020-10-13 23:15:11 -07:00
qctecmdr
03db2e3c1a Merge "cnss2: Increase mhi timeout to 60 seconds for firmware download" 2020-10-13 23:15:11 -07:00
qctecmdr
bac14d76ca Merge "drivers: thermal: cpu_voltage: initialize pointer variables before using it" 2020-10-13 20:34:00 -07:00
qctecmdr
2fb888326d Merge "defconfig: sdxlemur: Enable MHI Host driver" 2020-10-13 20:34:00 -07:00
qctecmdr
48d7c9d79e Merge "clk: qcom: Fix race condition when unvoting regulators in sync_state" 2020-10-13 20:33:59 -07:00
qctecmdr
89c95aa166 Merge "icnss2: Avoid calibration during SSR of WCN6750" 2020-10-13 20:33:58 -07:00
Naman Padhiar
024b204099 icnss2: Avoid calibration during SSR of WCN6750
Send Calibration mode to FW only at the time of cold
boot. At the time of SSR Calibration mode will not be
sent.

Change-Id: Idf7016384937433480f62d0912e5e3dcf76f4e44
Signed-off-by: Naman Padhiar <npadhiar@codeaurora.org>
2020-10-13 18:26:16 -07:00
Mike Tipton
0cf6edfae0 clk: qcom: Fix race condition when unvoting regulators in sync_state
Normally clk_vote_vdd_level() and clk_unvote_vdd_level() are called
while holding the clock framework's prepare_lock since they are called
in the prepare paths. However, we're also calling clk_unvote_vdd_level()
from qcom_cc_sync_state() when removing proxy votes. This happens
outside of the clock framework, so the prepare_lock isn't protecting
this case. If the sync_state callback fires while another thread is
voting/unvoting voltage from a normal clock call, then there's a race
condition that can result in regulators being set to the incorrect
voltage or being pre-maturely disabled.

Add a mutex to protect this case.

Change-Id: Ib979e2edaaa5824dc80f7d4f065d72ca0b1a4444
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
2020-10-13 17:58:02 -07:00
Hemant Kumar
175a539082 defconfig: sdxlemur: Enable MHI Host driver
Enable MHI core, debug and uci drivers.

Change-Id: Iae442621c2000c29dca7c72d25b6de21db8870ac
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2020-10-13 17:26:01 -07:00
Raghavendra Rao Ananta
6494e39f05 soc: qcom: ipcc: Move the suspend/resume to dev_pm
The target platforms use PM_SUSPEND_TO_IDLE as its default
suspend target. Since syscore_ops's suspend/resume callbacks
are not called in this path, the IPCC driver will never be
able to log the client's details that caused the wakeup in
it's resume handler. Hence, move the suspend/resume handlers
to dev_pm_ops for better visibility.

Change-Id: I095f02217aeea5ed7c5036017a7e960e2b98757a
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
2020-10-13 17:25:44 -07:00
Hemant Kumar
b140707f18 mhi: core: Fix undefined reference to `__bad_udelay'
According to the comment in arch/arm/include/asm/delay.h,
__bad_udelay is specifically designed on ARM to produce a
build failure when udelay is called with a value > 2000.
Fix the issue by using mdelay for value > 2000.

Change-Id: Ia5ee988eeef68ce60b637232e0dd3989b8cbfe64
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2020-10-13 16:59:41 -07:00
Hemant Kumar
7762013938 mhi: core: Perform 32 bit register reads on time sync reg
Driver is directly performing a 64 bit read on time sync
register. In order to avoid compilation error on a 32 bit
platform perform two 32 bit reads instead of 64 bit read.

Change-Id: I477647c88a0bb2b4302ce2564bdc58fc4d68e806
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2020-10-13 16:59:41 -07:00
Hemant Kumar
9bf568586c mhi: core: Fix missing return value check
sysfs_create_group() and mhi_read_reg_field() APIs
expect to check the return value. Add return check
to fix compilation error.

Change-Id: I0a8249cd6b87eba51c130add97098de6cafbc908
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2020-10-13 16:59:32 -07:00
qctecmdr
d2e2c00823 Merge "Revert "usb: typec: Fix setting of invalid value of opmode"" 2020-10-13 16:49:31 -07:00