There could be instances where the RCG configuration update or readback
could fail. Notify the caller of the failure. Add support to change
scope of mux_div_get_src_div() in order to use it globally.
Change-Id: Ica07c28cede695785db81697effcb40ab6b717d4
Signed-off-by: Amit Nischal <anischal@codeaurora.org>
Signed-off-by: Taniya Das <tdas@codeaurora.org>
Signed-off-by: Naveen Yadav <naveenky@codeaurora.org>
Currently, when a single channel's brightness is set, and then cleared
to zero subsequently, the LED stays on instead of getting turned off
because symmetrical brightness distribution logic does not allow the
paired channel's brightness to be set to zero. Fix this.
It was also observed that the brightness of a channel that is getting
turned off doesn't show up as zero, so fix that as well.
In addition, strengthen error-checking of the "qcom,led-mask" device
tree property.
Change-Id: I245ec2177b2ebe0f567eb96397dd13a05a587d60
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
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>
Due to a race condition between the probe and glink message
callback, it is observed that the glink messages/notifications
can be handled even after the probe failure which leads to
an invalid memory access. Fix it by introducing "initialized"
flag. While at it, add few error logs to identify the exact
message failures.
Change-Id: I18e61dea734efde6a11ee072793da8eead269b12
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
In certain devices, LED channels are paired and connected to two
separate LEDs. Due to symmetrical configuration, a switch that controls
all four channels sets the same brightness value to both LEDs, which is
not the intended behaviour; hence, handle this case separately.
E.g. If flash0 (group 1) is set to 144 and flash1 (group 2) is set to
1056, current will be distributed evenly to all 4 channels like so: 300
mA would be set on all channels (as 144 + 1056 = 1200; 1200 / 4 = 300).
Change this to:
144 / 2 = 72 on channels 0 and 3 (group 1)
1056 / 2 = 528 on channels 1 and 2 (group 2).
Change-Id: Ie135811d59104cfa5551d17ebbb729a57c101099
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
When the remote subsystem restarts (SSR) or the charger firmware
restarts (PDR), resend the ICL/FCC votes from clients like USB
driver, thermal SW once the subsystem is up.
Change-Id: Ia0da3747fdb98c7873b65c948b76f6b6a286e31c
Signed-off-by: Subbaraman Narayanamurthy <subbaram@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>