Add clock IDs for APSSCC clients to be able to request for clocks
from these clock controllers.
Change-Id: I284beb3b62a4f5c4521c7e7e0f9d068c469a85bb
Signed-off-by: Naveen Yadav <naveenky@codeaurora.org>
Set saved cmac on ioctl from user space.
Write saved cmac to shared memory on SSR.
Read calculated cmac from shared memory.
Provide calculated cmac to user space via sysfs.
Cleanup unused IAR-STATE fuses.
Cleanup unused IAR-FEATURE-ENABLED fuse.
Read actual PIL area size from register.
pbl_cmac_show() returns binary rather than string.
Change IOCTL to use variable-size-array.
Change-Id: Ic4ea38685f6b9d1100a28bd958e44f513373fea9
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
To support SA8155, we need the following clocks:
GCC_GPU_CFG_AHB_CLK, GCC_DDRSS_GPU_AXI_CLK.
Change-Id: Ie2b4ec643136c11c1fa679a12f20b72ced3a6263
Signed-off-by: Hui Li <hul@codeaurora.org>
USB_CONFIGFS_RNDIS is currently enabled by gki_defconfig.
Although the upstream F_RNDIS driver can coexist with the USB
GSI driver, currently there is a conflict in userspace that can
result in choosing the wrong one. Disable the SW-only F_RNDIS
driver to allow the GSI driver to be enabled exclusively.
Change-Id: I272b632dda1e792931102f94554cd26065389b34
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Array index of memblock and the client_id of memshare clients
confused usage can cause issue. Correct the usage by properly
defining variable names.
Change-Id: I29a0c6a01d63e92774e11fd258d018c03769ca50
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
Currently __set_oom_adj loops through all processes in the system to
keep oom_score_adj and oom_score_adj_min in sync between processes
sharing their mm. This is done for any task with more that one mm_users,
which includes processes with multiple threads (sharing mm and signals).
However for such processes the loop is unnecessary because their signal
structure is shared as well.
Android updates oom_score_adj whenever a tasks changes its role
(background/foreground/...) or binds to/unbinds from a service, making
it more/less important. Such operation can happen frequently.
We noticed that updates to oom_score_adj became more expensive and after
further investigation found out that the patch mentioned in "Fixes"
introduced a regression. Using Pixel 4 with a typical Android workload,
write time to oom_score_adj increased from ~3.57us to ~362us. Moreover
this regression linearly depends on the number of multi-threaded
processes running on the system.
Mark the mm with a new MMF_MULTIPROCESS flag bit when task is created with
(CLONE_VM && !CLONE_THREAD && !CLONE_VFORK). Change __set_oom_adj to use
MMF_MULTIPROCESS instead of mm_users to decide whether oom_score_adj
update should be synchronized between multiple processes. To prevent
races between clone() and __set_oom_adj(), when oom_score_adj of the
process being cloned might be modified from userspace, we use
oom_adj_mutex. Its scope is changed to global. The combination of
(CLONE_VM && !CLONE_THREAD) is rarely used except for the case of vfork().
To prevent performance regressions of vfork(), we skip taking oom_adj_mutex
and setting MMF_MULTIPROCESS when CLONE_VFORK is specified. Clearing the
MMF_MULTIPROCESS flag (when the last process sharing the mm exits) is left
out of this patch to keep it simple and because it is believed that this
threading model is rare. Should there ever be a need for optimizing that
case as well, it can be done by hooking into the exit path, likely
following the mm_update_next_owner pattern.
With the combination of (CLONE_VM && !CLONE_THREAD && !CLONE_VFORK) being
quite rare, the regression is gone after the change is applied.
Fixes: 44a70adec9 ("mm, oom_adj: make sure processes sharing mm have same view of oom_score_adj")
Reported-by: Tim Murray <timmurray@google.com>
Debugged-by: Minchan Kim <minchan@kernel.org>
Suggested-by: Michal Hocko <mhocko@kernel.org>
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Bug: 168521639
Link: https://lore.kernel.org/linux-fsdevel/20200902012558.2335613-1-surenb@google.com/
[isaacm: upstream bound, no cherry-pick info because patch is in mm tree]
Change-Id: I20352a77815fbc358c36e686bb1503fdeea658ed
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Git-commit: 40f057fb2d
Git-repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Along with client id, client domain info is also required
by mmrm driver to identify & register clients accurately.
Change-Id: I516749c363474604b4b24f967c1068f8d48d90a7
Signed-off-by: Shivendra Kakrania <shiven@codeaurora.org>
Overwrite EA provided in device tree with
Moselle's EA if Moselle is attached.
CRs-Fixed: 2778447
Change-Id: I73b01c5f4eb62bbe7d726695737c4e30b8e97cbf
Signed-off-by: Satish Kodishala <skodisha@codeaurora.org>
-Change EA for HSP before getting LA based
on the soc type queried from BT power driver.
-By default, HSP's Slimbus EA is added in DTSI file.
Update HST's Slimbus slave EA address based on HST chip ver.
CRs-Fixed: 2667021
Change-Id: I49e06e2e43025797e6110bf55304c7b3f0616c8e
Signed-off-by: Satish Kodishala <skodisha@codeaurora.org>