Commit Graph

989076 Commits

Author SHA1 Message Date
Elliot Berman
193bd742b5 gcc-wrapper.py: Add warning bcache.h exemption
Exempt the following warning from upstream UAPI header:

./usr/include/linux/bcache.h:354:2: warning: field '' with variable sized type 'union jset::(anonymous at ./usr/include/linux/bcache.h:354:2)' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end].
./usr/include/linux/bcache.h:355:2: warning: field '' with variable sized type 'union jset::(anonymous at ./usr/include/linux/bcache.h:355:2)' not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end].

Change-Id: Ib233bb85350dc2a47fa198982f466e763ff40241
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
2021-01-06 10:31:28 -08:00
qctecmdr
19fb631572 Merge "msm: kgsl: Update HW idle check for A619 holi" 2021-01-06 03:13:06 -08:00
qctecmdr
912aea2671 Merge "drivers: guestvm: Use mdt/scm apis to load guestvm" 2021-01-06 01:41:07 -08:00
qctecmdr
055ddb8141 Merge "waipio: fix dcvs_fp module name in modules list" 2021-01-06 01:41:07 -08:00
qctecmdr
eb16f9ad1e Merge "defconfig: enable config option for QTI's virtual machine" 2021-01-06 01:41:07 -08:00
qctecmdr
d076c44b94 Merge "modules.list.msm.lahaina: Add gdsc-regulator module" 2021-01-06 01:41:07 -08:00
qctecmdr
e0fe98fd4e Merge "drivers: thermal: bcl_pmic5: Remove QTI_THERMAL dependency" 2021-01-06 01:41:06 -08:00
qctecmdr
3e46046c72 Merge "msm: kgsl: Add a6xx GMU performance counters" 2021-01-06 01:41:06 -08:00
qctecmdr
f807371cb8 Merge "guestvm_loader: isolate cpus when VM is starting" 2021-01-06 00:24:10 -08:00
Amir Vajid
e0b25d0457 waipio: fix dcvs_fp module name in modules list
Add the correct name of the dcvs_fp module to
modules.list.msm.waipio.

Change-Id: Ibb859479aadbf0964bd4ce494e837353242ec8e9
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
2021-01-04 11:06:10 -08:00
Hareesh Gundu
a108bfd645 msm: kgsl: Update HW idle check for A619 holi
Update HW idle check for A619 holi to ensure GPU
idle status is captured correctly.

Change-Id: I2c332e43b3e3f653421e0bc4ab823ac557cfa141
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2021-01-04 08:58:44 -07:00
Jordan Crouse
73c23712ef msm: kgsl: Add a6xx GMU performance counters
Add three new groups to the a6xx performance counters for a620, a650,
and a660 to expose the GMU_XOCLK, GMU_GMUCLK and GMU_PERF counters.

Change-Id: Ic0dedbad07805bee4b6977e683e1161e4d500c1c
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2021-01-04 08:58:44 -07:00
Raghu Ananya Arabolu
d708c492d5 msm: kgsl: Modify gpu_max_clock sysfs node
The intent of the gpu_max_clock node is to set / show the maximum
GPU frequency. To accomplish this, set the max_pwrlevel instead of
thermal_pwrlevel when the gpu_max_clock node is set.

Change-Id: I90c5e638f22b363c60d351c8c78814df67b256a2
Signed-off-by: Raghu Ananya Arabolu <rarabolu@codeaurora.org>
2021-01-04 08:58:44 -07:00
qctecmdr
1cdba1d4a7 Merge "Revert "haven: rm: virtio extension"" 2020-12-31 00:54:17 -08:00
Jordan Crouse
32f166fd9f msm: kgsl: Finish up the last bits of the perfcounter transition
Now that all the perfcounter code is safely target specific finish up the
transition. First move the perfcounter definition from the gpudev to the
adreno_gpu_core so that we can specify the list per target which gives us
more control than modifying the gpudev at runtime or creating multiple
gpudev structs just for the perfcounter deltas.

Further drive home the point by marking the perfcounter and groups
as const. The perfcounter migration has now completed. You don't have
to go home, but you can't stay here.

Change-Id: Ic0dedbad4b4dbb8e9e49ed94dc23b97fc578324b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2020-12-30 12:09:48 -07:00
Jordan Crouse
869d6b0366 msm: kgsl: Move a6xx perfcounters to target specific
Migrate the a6xx perfcounters to target specific.  These counters
constitute the bulk of the specialized enable operations.  This also is
the place where VBIF gets replaced with GBIF so a630 gets its own set of
perfcounters and we have to double up the functions for a6xx.

Change-Id: Ic0dedbadf04fcafb46816c8b970af3bd32a57c7b
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2020-12-30 12:09:48 -07:00
Jordan Crouse
8642244e25 msm: kgsl: Move a5xx perfcounters to target specific code
Continuing to migrate the perfcounters by moving the a5xx counters
to the target specific side.

Change-Id: Ic0dedbad0ff3876e291a9daedb2349daf1e1916c
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2020-12-30 12:09:48 -07:00
Jordan Crouse
755a4effbc msm: kgsl: Move a3xx perfcounters to target specific
Add support for per-group enable and read functions and move all of the
3xx perfcounters to target specific code with specialized functions.
The a3xx functions are the most "non-standard" of the bunch because of
the freeze/unfreeze wrappers we need for most registers.

Change-Id: Ic0dedbad110eeaf667f6f44d809d4cd90942451a
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2020-12-30 12:09:48 -07:00
Gurbir Arora
3938909d31 drivers: guestvm: Use mdt/scm apis to load guestvm
Use mdt_loader/scm apis to load guestvm and unhook
from PIL framework.

Change-Id: I18d2c5a1c2758826330baa0963f13b9668c3ce64
Signed-off-by: Rishabh Bhatnagar <rishabhb@codeaurora.org>
Signed-off-by: Gurbir Arora <gurbaror@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-30 10:22:42 -08:00
Neeraj Upadhyay
ffe36ca736 soc: qcom: guestvm_loader: do cpu offline instead of isolate
CPU isolation while loading SVM still causing issue of locking
when multiple TZ calls goto TZ from both PVM and SVM. This is
because isolated CPUs can still handle IPIs and some tasks are
expected to run work on isolated CPUs and issue an IPI. At the
same instance if hypervisor schedule a SVM on same pCPU and SVM
do a TZ call then IPI can't be handled because SVM TZ call is
spinning in TZ for a lock to grab which is already grabbed by
PVM from a different CPU and that task is scheduled out. Hence
IPI would ever served by CPU and lead to watchdog. To avoid
this situation do cpu hotplug rather isolate.

Change-Id: I40cc06fcd11fd90583e334b044feec6dc95fff68
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-30 10:22:29 -08:00
Murali Nalajala
a6b82fdc22 guestvm_loader: isolate cpus when VM is starting
Do initial CPU reservation before starting VM, to
avoid any resource contention, while booting guest
VM. Remove the reservation after a configured timeout,
which defaults to 8 seconds.

Change-Id: Id49b07edd3e558dee074eafb729423ad8f8ff98d
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-30 10:20:02 -08:00
Murali Nalajala
4e7efccef0 soc: qcom: guestvm_loader: fix vm start print message
Fix vm start message. Currently the return value of vm start is
checked wronly and printing a wrong message though VM starts
successfully.

Change-Id: I57677bdd723695951e8c05b52fc9363863a02e2e
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-30 10:19:53 -08:00
Murali Nalajala
7191ecce60 Revert "Revert "soc: qcom: Initialize virtio device related resources""
This reverts commit cc1302b040.

Change-Id: I31abb294eb9b60f155ca4ed05384b6138bdf429e
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-30 10:18:10 -08:00
Murali Nalajala
08d07e6048 Revert "Revert "haven: rm: virtio extension""
This reverts commit fc9bb236a0.

Change-Id: I938bbfd240d5fd8b79ff537ddca28c8757fce898
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-30 10:16:20 -08:00
Murali Nalajala
8750e54ba4 haven: remove config to disable hyp uart
Hyp uart is default disabled from ABL now. There is no need of
CONFIG_HH_DISABLE_UART option anymore. Hyp uart now can be controlled
using DEBUG_FS interface.

Change-Id: Ie1a0986399d30b89bf62468a23633994c8d6b11b
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-30 10:16:12 -08:00
Murali Nalajala
7a75245dd5 haven: ctrl: add debugfs interface to control hyp uart
Hyp uart is disabled default today in ABL. Provide debugfs
interface to users when they want to enable hyp uart to
debug hypervisor and VM issues.

Change-Id: I5e2c0501ed309a65c9dff1304b2e88e0d58917ae
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-30 10:16:03 -08:00
Murali Nalajala
8b58bab4a2 haven: irq_lend: handle irq accept failure case
When PVM lend an IRQ, a notification is given to SVM. Later SVM can
accept the IRQ that is lend by PVM. If the SVM do not accept an IRQ,
PVM can reclaim it back and lend again to SVM. This scenario is not
handled correctly and notification for lend from PVM to SVM is not
happening. Do an extra check in the callback handler whether previous
lend succeeded or not.

Change-Id: I9a6d335b6c11c8aea956fa1535b093c385e4cde1
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-30 10:15:51 -08:00
qctecmdr
d90013f80c Merge "mmc: sdhci-msm: Refactor sysfs entries" 2020-12-30 08:49:48 -08:00
qctecmdr
a1b89da864 Merge "slimbus: qcom-ngd-ctrl: Add support for 44.1Khz frequency" 2020-12-30 02:08:53 -08:00
qctecmdr
d9e294205f Merge "drivers: qcom: sys_pm_vx: Add waipio support" 2020-12-30 00:57:19 -08:00
Tushar Nimkar
72890717e7 drivers: qcom: sys_pm_vx: Add waipio support
This change enables sys_pm_vx to work for waipio.

While doing this corrects sys_pm_vx to depends on QCOM_AOSS_QMP
because qcom_aoss provide same debugfs functionality as
qmp-debugfs-client driver.

Change-Id: I34494331f326e7571bea0bb74460a30714ec3894
Signed-off-by: Tushar Nimkar <tnimkar@codeaurora.org>
2020-12-30 12:08:49 +05:30
qctecmdr
a78a610c24 Merge "Merge android12-5.10.3 (8c1b0c9) into msm-5.10" 2020-12-29 21:55:58 -08:00
qctecmdr
a271797503 Merge "usb: gadget: f_gsi: Remove msm_ep_config() from GSI" 2020-12-29 16:37:53 -08:00
Sai Harshini Nimmala
5aeb4b68f6 soc/qcom/hyp_core_ctl: Add new VM resource type
Virtual PM Group resource type has been added to the list of
hypervisor resource types that can be queried for by a VM.
This addition is in preparation for the hyp core ctl driver to store and
utilize the information related to VPM group such as cap_id and
VPM group state in relevant hypervisor features.

Change-Id: I4ec9b4dca5f095980b8ce9134c7cac695562f101
Signed-off-by: Sai Harshini Nimmala <snimmala@codeaurora.org>
2020-12-29 13:40:48 -08:00
Sai Harshini Nimmala
80be4b4047 haven: hcall: Add Virtual PM group get state API
The state information of the Virtual PM group can be obtained
through this API.

Change-Id: I0a00e8bfe38f7908ed20bc105f66149097e6532b
Signed-off-by: Sai Harshini Nimmala <snimmala@codeaurora.org>
2020-12-29 13:40:40 -08:00
Murali Nalajala
3788424234 haven: avoid sleeping in atomic context messages
Currently blocking calls are made from atomic context in doorbell and
message queue drivers. Modify the code flow to avoid kernel warnings
when drivers are initializing.

Change-Id: Iae851d5d7e09210a8fb617da0e2cc4cc52c0f258
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-29 13:40:29 -08:00
Neeraj Upadhyay
93e783d83e haven: hh_dbl: Add missing unlock in hh_dbl_validate_params
Add missing unlock of cap_entry_lock in hh_dbl_validate_params().

Change-Id: Icdcf7aa1bcb2c037f4a924cddcad36007beadd00
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
2020-12-29 13:40:20 -08:00
Murali Nalajala
21edf7ab7a hh_dbl: fix a race condition while vm is booting
When VM is booting, neuron driver can send a request to PVM using doorbell.
Currently this call is racing with when the doorbell driver is getting
the resources from the RM driver. Prevent clients to send a message when
resources are not ready. Added locking in function to check whether
resources are ready are not.

Unable to handle kernel NULL pointer dereference at virtual address 0x0
__wake_up_common+0x88/0x190
__wake_up+0x78/0xc0
hh_dbl_populate_cap_info+0xf4/0x1f8
hh_rm_populate_hyp_res+0x17c/0x2d0
hh_rm_get_svm_res_work_fn+0x34/0x78
process_one_work+0x214/0x468
worker_thread+0x330/0x4c0
kthread+0x134/0x148.

Change-Id: Id66b2d6382f33260dbb4c8d069c9fe5bc41e52fe
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-29 13:40:13 -08:00
Murali Nalajala
c2b67e4945 hh_rm_core: delay sending characters to RM
No flow control mechanism exist in RM console. That means when there is
huge messages sent from SVM to PVM there is a possibility that messages
being dropped by RM and hence loss of messages on console. Add a delay
of 800us for every console write and flush calls.

Change-Id: I65fb7a347b093d079c1380765c63b38bf90e0b66
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-29 13:40:06 -08:00
Murali Nalajala
a27e9c5a26 haven: irq_lend: add support for IRQ notifications
Currently IRQ APIs are combined with notifications to VMs for sharing the
handles. This limit the clients for managing the error handling from the
drivers. Hence separate the notifications from the actual APIs so that
clients manage the error handling better. Add support for notifications
like IRQ_LEND/ACCEPT/RELEASE from SVM to PVM when SVM accept the irq
handle shared by PVM.

Change-Id: I49999c2d9494c68b1542680e521c012a25e3f6a8
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-29 13:39:55 -08:00
Murali Nalajala
fc9bb236a0 Revert "haven: rm: virtio extension"
This reverts commit 9fcd2b0568.
Reverting this change to apply leftover changes to msm-5.10
from msm-5.4 cleanly. Otherwise it causes the merge conflicts.

Change-Id: I22ba3686081b3ed74970134c28117de3016fde20
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-29 13:24:22 -08:00
Murali Nalajala
cc1302b040 Revert "soc: qcom: Initialize virtio device related resources"
This reverts commit 7fd3755cdd.
Reverting this change to apply leftover changes to msm-5.10
from msm-5.4 cleanly. Otherwise it causes the merge conflicts.

Change-Id: I4024432bc57d8088eb263082afc14378e61d6d38
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
2020-12-29 13:22:47 -08:00
Ivaylo Georgiev
64f21b2c07 Merge android12-5.10.3 (8c1b0c9) into msm-5.10
* refs/heads/tmp-8c1b0c9:
  ANDROID: USB: gadget: f_fs.c: Fix merge issue
  ANDROID: crypto: keysetup: use FSCRYPT_MODE_MAX instead of __FSCRYPT_MODE_MAX
  Linux 5.10.3
  md: fix a warning caused by a race between concurrent md_ioctl()s
  nl80211: validate key indexes for cfg80211_registered_device
  crypto: af_alg - avoid undefined behavior accessing salg_name
  media: msi2500: assign SPI bus number dynamically
  fs: quota: fix array-index-out-of-bounds bug by passing correct argument to vfs_cleanup_quota_inode()
  quota: Sanity-check quota file headers on load
  Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
  f2fs: prevent creating duplicate encrypted filenames
  ext4: prevent creating duplicate encrypted filenames
  ubifs: prevent creating duplicate encrypted filenames
  fscrypt: add fscrypt_is_nokey_name()
  fscrypt: remove kernel-internal constants from UAPI header
  serial_core: Check for port state when tty is in error state
  HID: i2c-hid: add Vero K147 to descriptor override
  scsi: megaraid_sas: Check user-provided offsets
  f2fs: init dirty_secmap incorrectly
  f2fs: fix to seek incorrect data offset in inline data file
  coresight: etm4x: Handle TRCVIPCSSCTLR accesses
  coresight: etm4x: Fix accesses to TRCPROCSELR
  coresight: etm4x: Fix accesses to TRCCIDCTLR1
  coresight: etm4x: Fix accesses to TRCVMIDCTLR1
  coresight: etm4x: Skip setting LPOVERRIDE bit for qcom, skip-power-up
  coresight: etb10: Fix possible NULL ptr dereference in etb_enable_perf()
  coresight: tmc-etr: Fix barrier packet insertion for perf buffer
  coresight: tmc-etr: Check if page is valid before dma_map_page()
  coresight: tmc-etf: Fix NULL ptr dereference in tmc_enable_etf_sink_perf()
  ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU
  ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
  ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
  usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
  USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
  usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
  USB: gadget: f_midi: setup SuperSpeed Plus descriptors
  USB: gadget: f_acm: add support for SuperSpeed Plus
  USB: serial: option: add interface-number sanity check to flag handling
  usb: mtu3: fix memory corruption in mtu3_debugfs_regset()
  soc/tegra: fuse: Fix index bug in get_process_id
  exfat: Avoid allocating upcase table using kcalloc()
  x86/split-lock: Avoid returning with interrupts enabled
  net: ipconfig: Avoid spurious blank lines in boot log
  ANDROID: dma-buf: heap: export dma_heap_put
  ANDROID: percpu: Export per_cpu_ptr_to_phys for loadable modules
  ANDROID: printk: Export symbols for loadable modules
  ANDROID: cpuhp/pause: add trace points for pause and resume
  ANDROID: usb: gadget: f_accessory: fix CTS test stuck
  ANDROID: GKI: Enable CRYPTO_MD5
  ANDROID: defconfig: Enable DMA-BUF system heap as a module
  ANDROID: dma-buf: heaps: Allow the DMA-BUF system heap to be a module
  ANDROID: Update db845c KMI symbol list for DWC3 changes
  UPSTREAM: selftests/seccomp: Update kernel config
  UPSTREAM: seccomp: Remove bogus __user annotations
  UPSTREAM: xtensa: Enable seccomp architecture tracking
  UPSTREAM: sh: Enable seccomp architecture tracking
  UPSTREAM: s390: Enable seccomp architecture tracking
  UPSTREAM: riscv: Enable seccomp architecture tracking
  UPSTREAM: powerpc: Enable seccomp architecture tracking
  UPSTREAM: parisc: Enable seccomp architecture tracking
  UPSTREAM: csky: Enable seccomp architecture tracking
  UPSTREAM: arm: Enable seccomp architecture tracking
  UPSTREAM: arm64: Enable seccomp architecture tracking
  UPSTREAM: selftests/seccomp: Compare bitmap vs filter overhead
  UPSTREAM: x86: Enable seccomp architecture tracking
  UPSTREAM: seccomp/cache: Add "emulator" to check if filter is constant allow
  UPSTREAM: seccomp/cache: Lookup syscall allowlist bitmap for fast path
  ANDROID: timer: Export hrtimer_expire_entry/exit tracepoints
  ANDROID: workqueue: Export workqueue_execute_start/end tracepoints
  ANDROID: softirq: Export irq_handler_exit tracepoint
  ANDROID: sched: Add rvh for cpu controller cgroup can attach

Change-Id: I46f3ac80cb7cebd996156f37513adfbc19c283bd
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2020-12-29 13:19:35 -08:00
qctecmdr
fd98a25da3 Merge "modules.blocklist: Add blocklist for waipio" 2020-12-29 10:26:59 -08:00
qctecmdr
47ec322620 Merge "mm/zsmalloc.c: Prevent slab cache allocations from using __GFP_CMA" 2020-12-29 10:26:59 -08:00
qctecmdr
0aa48a5045 Merge "msm: kgsl: Make sure GPU is idle before changing the CPAPRIV bit" 2020-12-29 09:13:14 -08:00
qctecmdr
b35775868d Merge "drivers: qcom: Excess memory allocation fixed in ddr_stats" 2020-12-29 03:03:45 -08:00
Tushar Nimkar
f12a1d3e65 drivers: qcom: Excess memory allocation fixed in ddr_stats
Currently ddr_reg gets allocate depends on num_records, which is not useful
in case of ddr_stats.

This change fixes extra memory allocation, passes ddr_reg directly as
private data and eventually reduces memory footprint of
soc_sleep_stats driver.

Change-Id: Ide661eed62e437442b500ac757d79efcfe1a7af2
Signed-off-by: Tushar Nimkar <tnimkar@codeaurora.org>
2020-12-29 14:05:39 +05:30
qctecmdr
1e260f51ff Merge "Merge android12-5.10.2 (40ec013) into msm-5.10" 2020-12-29 00:12:15 -08:00
qctecmdr
f2cd4a6922 Merge "defconfig: Enable MHI driver and related functionality for Waipio" 2020-12-28 22:43:03 -08:00