Add support for RIMPS mailbox controller, this driver
register as mailbox interface to support doorbell
between HLOS and RIMPS subsystem.
Change-Id: Id63eabd1692f7db925dbba37440fae5f193447fd
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>
GMU firmware to differentiate between A660 and A660 GPU variant
expects target version in bit 28-31. In device tree, target
version is specified in upper nibble of patch to align with
usermode driver expectation.
This change correctly formats the chipid before passing it to GMU
firmware to avoid boot-up issues.
Change-Id: I2d2ab742afedca849f87c7ba44c8184afe8a6737
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
It's useful for other virtual machines (VMs) to know if another
VM has successfully received a resource that was shared with it
(e.g. state tracking can be controlled better with this sort of
information). Add support for the MEM_ACCEPTED notification, which
clients can use to notify the VM that owns the resource that was
shared with it that it has accepted the resource and is using it.
Also, add support in the mem-notifier driver to forward the
MEM_ACCEPTED notification to clients.
Change-Id: I05b9f1d37906d7c2aa729b97df2f8ceb78b560bd
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Do not release CVP persist buffers until all outstanding DSP frames
are handled by firmware.
Change-Id: I14277b17d7c5babb7352934baf51cc749c3b1315
Signed-off-by: Haseeb Khan <hkhan@codeaurora.org>
Add "gcc_bimc_gpu_axi" clock to smmu clock voteable list to get
access to smmu register space.
Change-Id: Ic509c34d19d01cb9fc0749dd4ad3e872d2caf9f4
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
At higher SOC Vbatt is close to Vbus which can cause
(Vin/2 - Vout) to cross the 10mV threshold and thus result
in win-uv IRQ to fire. To prevent this CPs should not be
enabled below a certain FCC. Do this by not allowing
"min-ilim" value lower than 1A.
Eg: Master/Slave CP gets disable at following FCC if
main_fcc is 200mA:
slave disables = total_fcc < (3000mA + 200mA)
master disables = total_fcc < (2000mA + 200mA).
Change-Id: Ie67e9ae60b5e3526413a1a4bb256181b0226a1b1
Signed-off-by: Ashish Chavan <ashichav@codeaurora.org>
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>
As these drivers are buildable as modules, enable them for
lahaina_GKI as =m. Consequently they can be removed from the
lahaina_QGKI fragment.
Change-Id: I739eb9e62feeb538f598eeeaae1b831536be7af5
Signed-off-by: Jack Pham <jackp@codeaurora.org>
usb_ep_autoconfig_ss() is only needed in case a function wants
to match on both an EP descriptor as well as a SS companion
that specifies the number of streams. Since the QDSS function
doesn't use streams, we can simply use the normal
usb_ep_autoconfig() function instead to simplify the code.
This also allows building usb_f_qdss as a module against a GKI
kernel which doesn't currently have the usb_ep_autoconfig_ss()
symbol exported from the KMI.
Change-Id: Iab1caff332b7a9d708286a2d67ae2ee6bf490f34
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Remove the unused v4l2-core code and remove the
related unused code in rtc6226 driver.
CRs-Fixed: 2774873
Change-Id: Ib1b7fd89f735ba67ec2a38e236a2cecaf5540a53
Signed-off-by: himta ram <hram@codeaurora.org>
Since f_qdss is compiled as a module, it is dependent on
msm_data_fifo_config() being exported to avoid an undefined reference
compilation error.
Change-Id: I41155fe7af14c8e4003841f54ef878d3535d33d7
Signed-off-by: Wesley Cheng <wcheng@codeaurora.org>
Some symbols utilized by f_qdss are not exported, which leads to symbol
undefined errors when compiling usb_bam as a module. Export the symbols
remaining symbols used by f_qdss.
Change-Id: I3f01cee19bbbc990487df4437e15c3c5aa2a98e5
Signed-off-by: Wesley Cheng <wcheng@codeaurora.org>
The conditional check in qdss_enable_debug_inface_store() ensures that the
user input is either a 1 or 0. However, the comparison check used has
overlapping conditions, leading to a compile warning/error. Change the
operators to check explicitly for 1 or 0 to avoid this.
Change-Id: I582cd0ab56815b434818744f597f867fbf3abce2
Signed-off-by: Wesley Cheng <wcheng@codeaurora.org>
Many a times RPM/AOP dependencies are not available. This limits the abiity
to verify mem-offline features. Allow an module param to dynamically
enable/disable sending rpm/aop messages for mem offline/online requests.
Add mem_offline.bypass_send_msg=1 to kernel bootargs to enable bypass.
Change-Id: I1489bb0454164015e749459866982a608c211f63
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
Re-use base address from last entry only when the decs_type of
last entry equal to "DCC_ADDR_TYPE" in dcc_config_add().
Change-Id: I6c678ddaac6c689d73b14c63d03abdbd6289dc0c
Signed-off-by: Yuanfang Zhang <zhangyuanfang@codeaurora.org>
Node ref count decrement and test is performed inside ept
sem lock while node lookup is done inside node spin lock.
This can sometime cause node lookup to succeed while parallely
node can be freed in node release function. This will further
use of node and will result in use after free.
Additionally hold ept smem lock before performing node lookup.
Change-Id: Iaa5781c56ebee51611dfea9fddcde50f1367dfea
Signed-off-by: Deepak Kumar Singh <deesin@codeaurora.org>
Now that all clients have transitioned to using the correct
system heap ID, remove the aliasing logic that reroutes
allocations from ION_HEAP_SYSTEM to ION_SYSTEM_HEAP_ID.
For now, print a warning if an allocation is directed
towards ION_HEAP_SYSTEM to catch anyone who is still using
ION_HEAP_SYSTEM.
Change-Id: Ie4a7c6384806016cc62837b14f4bc8d05cd1549d
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
This reverts commit 72f2bc5fc2.
You can use input_handle_event instead of this vendor hook.
Change-Id: I8c6c5705f07181710c99a01239d75ecf43f9c5bf
Signed-off-by: Changki Kim <changki.kim@samsung.com>
The supported lanes are defined through dt.
Sometimes during link-startup (spm-lvl = 5) the discovered
lanes is less than the defined lanes. But sw anyway tries
configure the defined lanes and PMC fails.
This check is to catch these scenarios.
Change-Id: Iff8aac6a5b18b612771ecea2eaccdfc2569b5968
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
* refs/heads/tmp-a564726:
ANDROID: gki_defconfig: initialize locals with zeroes
UPSTREAM: security: allow using Clang's zero initialization for stack variables
BACKPORT: net: core: use listified Rx for GRO_NORMAL in napi_gro_receive()
UPSTREAM: spi: add power control when set_cs
UPSTREAM: nl80211: fix NL80211_ATTR_HE_6GHZ_CAPABILITY usage
ANDROID: ABI: Update allowed list for QCOM
Change-Id: If9451d95dac1c5414d25aff4bb115bc1a94df07b
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
SPU HAL server uses multiple RPC threads to handle HAL client requests.
pid is not shared between the threads which prevents releasing SPCOM
channels properly. tgid, the group ID which is shared between the
threads is used instead.
Change-Id: I7b119b386868364f3c476d1f6dfdf915aac8c306
Signed-off-by: Liron Daniel <lirond@codeaurora.org>
Android Common Kernel compiled by clang with Shadow Call Stack will
use GS segment. However, __restore_processor_state is called when
system wakes up from S3 and at the moment GS is not restored yet.
This is a hack by copying a small code snippet(setting gs base) from
__restore_processor_state to restore_processor_state. It prepares GS
before __restore_processor_state is called. At the same time,
restore_processor_state is still small enough so that SCS is not on,
as SCS seems to be on only for large functions.
Bug: 166163480
Change-Id: I3bfe4ac61dee876da57de6578c9a7f01431a1743
Signed-off-by: Haitao Shan <hshan@google.com>
Add driver to read limits cdsp Isense calibration data from SMEM
and enable sysfs file support to userspace daemon to access this data.
This driver is needed to avoid multiple re-calibration.
Change-Id: I1f1a70937034db388297c1ab52e12dcc468ee1dd
Signed-off-by: Manaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
Add support for charge pump master and slave power supplies through IIO
devices and properties under them through IIO channels under the device.
Change-Id: Iccd70399bb1326548b2aa597ec04d648ebd28097
Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org>
Signed-off-by: Ashish Chavan <ashichav@codeaurora.org>
The most common cause of the binder transaction buffer filling up is a
client rapidly firing oneway transactions into a process, before it has
a chance to handle them. Yet the root cause of this is often hard to
debug, because either the system or the app will stop, and by that time
binder debug information we dump in bugreports is no longer relevant.
This change warns as soon as a process dips below 80% of its oneway
space (less than 100kB available in the configuration), when any one
process is responsible for either more than 50 transactions, or more
than 50% of the oneway space.
Signed-off-by: Martijn Coenen <maco@android.com>
Signed-off-by: Martijn Coenen <maco@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Link: https://lore.kernel.org/r/20200821122544.1277051-1-maco@android.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 261e7818f06ec51e488e007f787ccd7e77272918
git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/
char-misc-next)
Signed-off-by: Martijn Coenen <maco@android.com>
Bug: 147795659
Change-Id: Idc2b03ddc779880ca4716fdae47a70df43211f25
Add fixup_dev_quirks vops for UFS on qcom platform
to modify or fix device quirks needed for
specific vendor without modifying ufs_fixup table.
Change-Id: Icff1788c1d618a1e0b0f3b74bcb63184228849cd
Signed-off-by: Nitin Rawat <nitirawa@codeaurora.org>
Commit 1278a5bf16 ("ANDROID: ABI: Added symbols for allwinner")
introduced ehci_* symbols to the symbol list. Due to a bug in genksyms,
the CRC of those is not resilient to whether other symbols are exported
as well. In particular, the CRC changes with the export/trimming of
ehci_handshake. Add an artificial symbol list to contain ehci_handshake
to make this stable.
Also update the ABI representation accordingly:
1 Added function:
[A] 'function int ehci_handshake(ehci_hcd*, void*, u32, u32, int)'
Bug: 167230325
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I58d3a93f49e70a66f34b66f9f8784b9c19c5a58b
STM should work on both non-secure and secure device. So remove the debug
fuse check.
Change-Id: If3ff461fec1dca2165ceaaf3750af7338332c486
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
This reverts commit a81a69408b as it is needed, and is in the upstream 5.4.y tree now.
Bug: 167477898
Change-Id: Ica5a915027546a7f6f655c336db2489897b007f0
Cc: Hyunsoon Kim <h10.kim@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Fix SMB5 and QG IIO device names in driver files instead of
obtaining them from DT node names.
Change-Id: I9a8188e94f5ed714b15384fd4dbb59f21d2a5c59
Signed-off-by: Jishnu Prakash <jprakash@codeaurora.org>
The memory sharing usecases that memshare caters to require the memory
associated with the usecase to be XPU protected. Since the memory
is currently drawn from the common CMA pool, there is still a normal
cached mapping in the kernel for the memory. This can lead to
speculative cache-line fills before the memory is unmapped from the
stage-2 page tables of Linux, and XPU protected. Later, when the lines
are evicted from the cache (as clean-evicts), this results in a write
to the system cache, which triggers an XPU violation.
Use carveouts for the memshare usecases, to avoid creating normal
cached mappings in the kernel for the memory that the memshare
usecases need to use.
Modify allocation based on the checks for the client id of the
memshare child node.
Change-Id: I1cfdc600a1aeea06072253cbbf1564fa5bebd62b
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
Enable DMA_CONFIGURE_ALIGNMENT by default for QGKI. Enablement as such
doesn't change the default alignment of DMA clients, clients needs to
explicitly enable it.
Change-Id: I5677d224fcb147a33a0b86bb7e80741572809756
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
regmap_bulk_read internally uses the data-type supported by the device
which is 8-bits for SPMI. Hence, its expected the argument should be
of right data-type (u8) for the data to be read correctly.
Change-Id: Ie14b745f7db625f399ac5f79b3467a1654ea4a22
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
For 8nm zero value is treated as a valid efuse value and
driver should honor this efuse value to update the tune
params. This change makes the updation of tune value possible
even if the efuse value is zero.
Change-Id: I6eac2e2414bf61b89aa41bebbfe56ad10017969e
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
After checking packet id invalid go to exit, do not process
the packet.
Change-Id: I97a396eca869d2b0f26b02b179a68a1ee049d4b6
Signed-off-by: suchawla <suchawla@codeaurora.org>