968bd3f038
use low level P-Unit semaphore lock for axp288 register accesses directly and for more than one access a time, to reduce the number of times this semaphore is locked and released which is an expensive operation. i2c-bus to the XPower is shared between the kernel and the SoCs P-Unit. The P-Unit has a semaphore wich the kernel must lock for axp288 register accesses. When the P-Unit semaphore is locked CPU and GPU power states cannot change or the system will freeze. The P-Unit semaphore lock is already managed inside the regmap access logic, but for each access the semaphore is locked and released. So use directly iosf_mbi_(un)block_punit_i2c_access(), we are safe in doing so because nested calls to the same semaphore are turned to nops. Suggested-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Tested-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com> |
||
---|---|---|
.. | ||
devres.c | ||
extcon-adc-jack.c | ||
extcon-axp288.c | ||
extcon-fsa9480.c | ||
extcon-gpio.c | ||
extcon-intel-cht-wc.c | ||
extcon-intel-int3496.c | ||
extcon-intel-mrfld.c | ||
extcon-intel.h | ||
extcon-max3355.c | ||
extcon-max8997.c | ||
extcon-max14577.c | ||
extcon-max77693.c | ||
extcon-max77843.c | ||
extcon-palmas.c | ||
extcon-ptn5150.c | ||
extcon-qcom-spmi-misc.c | ||
extcon-rt8973a.c | ||
extcon-rt8973a.h | ||
extcon-sm5502.c | ||
extcon-sm5502.h | ||
extcon-usb-gpio.c | ||
extcon-usbc-cros-ec.c | ||
extcon-usbc-tusb320.c | ||
extcon.c | ||
extcon.h | ||
Kconfig | ||
Makefile |