This is a snapshot of the crypto driver changes taken as of
msm-4.19 commit <Id3a3c379eb1>
("ANDROID: scsi: ufs: UFS crypto variant operations API").
Change-Id: I5a80c2ba9ccdbc5125e7e5507fbf49cd1dcfce66
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
This enables the QTI specific ufs core driver.
The upstream core driver is skipped when enabled.
Change-Id: Ia2c3932aa627245495d1ff70027c2f9f9c3a5bc0
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
This patch fixes a NULL pointer dereference by checking
if vccq & vccq2 are valid before dereferencing it.
Change-Id: Ieb5aefab77428adbbbbf892f2be1a9942d7c3851
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
On uC debug stats, whenever uC provides the invalid protocol id,
we have to do the iounmap to prevent the leak.
Change-Id: I1360a04c5013657b5c9a051ee11d1a6cb5556915
Signed-off-by: Bojun Pan <bojunp@codeaurora.org>
After a memory block is offlined, the page-table entries should be removed
in order to avoid any CPU speculative accesses happening on this region.
Clear off the entries at the leaf levels (PUD or PMD) on a block mapped
memory region. This only zeroes the entries and does not free the page
table memory. During online, we create mappings again for these regions.
Change-Id: I71091c33589645567c60457ba569dd393ddcab59
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[isaacm@codeaurora.org: resolve merge conflicts]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Currently we use a percentage property value to determine the amount of
offlinable memory in the system.
However a percentage property doesn't support accurately configuring the
offlinable region sizes on targets with different amounts of DDR.
For example it is not possible to configure the system such that 4GB
targets won't have any offlinable region, 6GB targets will have a 1GB
offlinable region and 8GB targets having a 3GB offlinable region without
creating a separate DT files for each target.
Many customers want to be able to support different DDR sizes without
creating separate DT files for each target.
Replace the mem-percent property with an offline-sizes property which
contains an array of offlinable memory region sizes to apply to targets
based on their DDR size.
Change-Id: I93210beec153ca0179c0087ce98afd4dfc22ea02
Signed-off-by: Liam Mark <lmark@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Update the physical end address of available RAM in calculation
used for randomizing the memory base address base.
Change-Id: Id32260d5c15ec4363ab62755238a10cc4dfaabe8
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
The system RAM region would not be ideally contiguous from
start to end of DRAM. Detect any offset/holes present in the
DDR region and update the memory limit being set, so that the
DRAM end address is aligned to the memory block size. This is
a requirement for mem-offline framework to work properly.
Change-Id: I97cb0cce70e7c414ae2d200a4a3f714d145c0e64
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Add a new sysfs node called allocated_bytes to each memory block which
reports the amount of memory currently allocated from that block.
Userspace can then use the allocated_byes node to better evaluate the
potential cost of offlining an individual block since all the allocated
memory in the block will need to be migrated when the block is offlined.
Change-Id: I520de2dd56e4562a65c48e38edb1236a8cbce5fd
Signed-off-by: Liam Mark <lmark@codeaurora.org>
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
[isaacm@codeaurora.org: resolve merge conflicts]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
remove_pagetable() should only be called when CONFIG_MEMORY_HOTPLUG
is enabled to clean up the page table entries created when memory
was hot-added.
Change-Id: I38cf42673a7637dac62d13a3083b0963c8a435b3
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Before killing a process first try to see if there are any offlined
memory blocks, if there are try to online one of them.
Change-Id: Ie97c8b69f0ba173c202a891a38a5c914869ddaae
Signed-off-by: Liam Mark <lmark@codeaurora.org>
[isaacm@codeaurora.org: Update walk_memory_range to walk_memory_blocks]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Currently On arm64, memory section size is hard-coded to 1G.
Make this configurable if memory-hotplug is enabled, to support
more finer granularity for hotplug-able memory.
Change-Id: Id889f93537df8ae7e72094b552cff735d31048e6
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[swatsrid@codeaurora.org: Fix merge conflicts]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
[isaacm@codeaurora.org: Remove unnecessary config dependency]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
When onlining memory blocks, this option helps to add the target
memory block to ZONE_MOVABLE zone type. For successful offlining,
these memory blocks should belong to 'ZONE_MOVABLE' since it carries
only movable pages. When this option is not set, the default zone
policy is to add the blocks to 'ZONE_NORMAL' which may pin pages.
Change-Id: I7f38a07d3c6817141ec8cce3a910fa7d7d91712d
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[isaacm@codeaurora.org: Use IS_ENABLED() for checking configs]
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
To guarantee successful hot-plugging of memory blocks, these blocks
should belong to ZONE_MOVABLE which has migratable pages. Linux kernel
during boot initializes all the available memory blocks to ZONE_DMA and
ZONE_NORMAL. Hence, boot the system with less memory whose percentage
is given by mem-offline DT property 'mem-percent' and override any memory
limit imposed by kernel boot params and let mem-offline driver initialize
the remaining with ZONE_MOVABLE. The memory blocks in this zone are
applicable for memory offlining.
Change-Id: Ia7b804522fe9425101ee83d1ee354ed09483df13
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
[swatsrid@codeaurora.org: Fix merge conflicts]
Signed-off-by: Swathi Sridhar <swatsrid@codeaurora.org>
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
This is a snapshot of the mem-offline driver as of msm-4.19
commit ef9b421ba16b ("sched: walt: Improve the scheduler").
Change-Id: I81be12ce85033d5d5ab6be8b10aa76a2685d5720
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Add configuration changes in lahaina to support tsens driver.
Change-Id: Ib6f6a1684bb62355741e826419e179b159cb3d31
Signed-off-by: Ajay Prathi <aprathi@codeaurora.org>
Add new slave driver to support NFC over I3C interface.
I2C driver is a refactored driver. The base for this is
'commit dea45e3d54b5 ("NFC: Add support for eSE cold reset")'.
Change-Id: I58eaee72bd2bc07e855acd294b9659038e2357f3
Signed-off-by: Karthik Poosa <kpoosa2@codeaurora.org>