diff --git a/arch/arm64/configs/vendor/lahaina_debug.config b/arch/arm64/configs/vendor/lahaina_debug.config index cba791f3d633..db531583aa81 100644 --- a/arch/arm64/configs/vendor/lahaina_debug.config +++ b/arch/arm64/configs/vendor/lahaina_debug.config @@ -18,3 +18,4 @@ CONFIG_DEBUG_RWSEMS=y CONFIG_DEBUG_MUTEXES=y CONFIG_WQ_WATCHDOG=y CONFIG_PSTORE_PMSG=y +CONFIG_QCOM_RPMH_QGKI_DEBUG=y diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig index adee1670911c..b9ea12ac9311 100644 --- a/drivers/soc/qcom/Kconfig +++ b/drivers/soc/qcom/Kconfig @@ -367,6 +367,14 @@ config QCOM_RPMH of hardware components aggregate requests for these resources and help apply the aggregated state on the resource. +config QCOM_RPMH_QGKI_DEBUG + bool "Enhance RPMh debug for QGKI variants" + depends on QCOM_RPMH + help + Adding debug prints increases latency of handling RPMh requests. This + is specially notable during the boot process. Let's selectively remove + some tracing that are more informative than an actual error. + config QCOM_RPMHPD tristate "Qualcomm RPMh Power domain driver" depends on QCOM_RPMH && QCOM_COMMAND_DB diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c index 1a3a19eab131..be993305546b 100644 --- a/drivers/soc/qcom/rpmh-rsc.c +++ b/drivers/soc/qcom/rpmh-rsc.c @@ -469,6 +469,7 @@ int rpmh_rsc_send_data(struct rsc_drv *drv, const struct tcs_request *msg) do { ret = tcs_write(drv, msg); if (ret == -EBUSY) { +#ifdef QCOM_RPMH_QGKI_DEBUG bool irq_sts; irq_get_irqchip_state(drv->irq, IRQCHIP_STATE_PENDING, @@ -477,6 +478,7 @@ int rpmh_rsc_send_data(struct rsc_drv *drv, const struct tcs_request *msg) drv->name, msg->cmds[0].addr, irq_sts ? "PENDING" : "NOT PENDING"); +#endif /* QCOM_RPMH_QGKI_DEBUG */ udelay(10); } } while (ret == -EBUSY);