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>
This reverts commit f85843d3df ("iommu/arm-smmu: Add support to disable
page-table coherency")
This change was added in order to allow iommu clients to disable page
table coherency.
However when page table coherency is disabled using this property on an
SMMU which is configured to be IO-coherent the attempts by the page table
code to apply CMOs on page table entries will be ignored because the
device it is using to apply the CMOs, the SMMU device, is IO-coherent.
This can result in the SMMU seeing stale page table entries.
Since this feature doesn't work and no clients are using revert it.
Change-Id: If6881d24722dd7f1a7398caf6cd904cc7f792bde
Signed-off-by: Liam Mark <lmark@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>