Kconfig 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # QCOM DCVS drivers
  4. #
  5. config QCOM_PMU_LIB
  6. tristate "QCOM PMU Driver"
  7. depends on ARCH_QCOM
  8. default n
  9. help
  10. This enables the QCOM PMU driver which manages and maintains
  11. per-CPU performance counters that are available on some
  12. Qualcomm Technologies, Inc. (QTI) chipsets. This includes
  13. preserving them across CPU idle and hotplug events.
  14. config QCOM_DCVS_FP
  15. tristate "Enable QCOM DCVS Fast Path Interface"
  16. depends on ARCH_QCOM && QCOM_RPMH
  17. default n
  18. help
  19. This enables the QCOM DCVS FP (Fast Path) driver which relies on
  20. certain "fast path" APIs from QCOM_RPMH to vote for various DCVS HW
  21. blocks in a faster scheme than standard voting paths. This requires a
  22. Qualcomm Technologies, Inc. (QTI) chipset that supports this feature.
  23. config QCOM_DCVS
  24. tristate "QCOM DCVS Driver"
  25. select INTERCONNECT
  26. default n
  27. help
  28. This enables the main QCOM DCVS framework which supports various
  29. DCVS HW blocks and voting interfaces that are supported on some
  30. Qualcomm Technologies, Inc. (QTI) chipsets. This includes voting
  31. interfaces from both QCOM_DCVS_FP and INTERCONNECT.
  32. config QCOM_MEMLAT
  33. tristate "QCOM Memlat Driver"
  34. depends on QCOM_DCVS && QCOM_PMU_LIB
  35. default n
  36. help
  37. This enables the QCOM Memlat driver which monitors CPU performance
  38. counters to identify memory latency bound workloads and vote for
  39. DCVS HW (memory) frequencies through the QCOM DCVS framework. This
  40. driver also configures epss memlat if enabled.
  41. config QCOM_BWMON
  42. tristate "QCOM BWMON Driver"
  43. depends on QCOM_DCVS
  44. default n
  45. help
  46. This enables the QCOM BWMON driver which monitors bandwidth counters
  47. to identify memory bandwidth bound workloads and vote for DCVS HW
  48. (memory) frequencies through the QCOM DCVS framework. This driver
  49. handles voting for DDR and LLCC.
  50. config QCOM_BWPROF
  51. tristate "QCOM BWPROF Driver"
  52. depends on ARCH_QCOM
  53. default n
  54. help
  55. This enables the QCOM BWPROF driver which monitors bandwidth counters
  56. and provides them to userspace clients at modest time intervals for
  57. the intention of bandwidth profiling and DDR frequency monitoring. The
  58. purpose of the driver is to enable the monitoring of the bandwidth usage
  59. at regular intervals, providing the userspace clients with a detailed
  60. view of the current state of the system.
  61. config QTI_PMU_SCMI_CLIENT
  62. tristate "Qualcomm Technologies Inc. SCMI client driver for PMU"
  63. depends on QTI_SCMI_PMU_PROTOCOL && QCOM_PMU_LIB
  64. default n
  65. help
  66. SCMI client driver registers itself with SCMI framework for pmu
  67. vendor protocol.
  68. This driver delivers the pmu vendor protocol handle to interface
  69. driver, and interface driver will use this handle to communicate with
  70. cpucp.
  71. config QTI_QCOM_SCMI_CLIENT
  72. tristate "Qualcomm Technologies Inc. SCMI client driver"
  73. depends on QTI_SCMI_VENDOR_PROTOCOL
  74. default n
  75. help
  76. SCMI client driver registers for Qcom vendor protocol.
  77. This driver delivers the qcom vendor protocol handle to interface
  78. driver, and interface driver will use this handle to communicate with
  79. cpucp.
  80. config QTI_C1DCVS_SCMI_CLIENT
  81. tristate "Qualcomm Technologies Inc. SCMI client driver for cpudcvs"
  82. depends on QTI_SCMI_C1DCVS_PROTOCOL
  83. default n
  84. help
  85. SCMI client driver registers itself with SCMI framework for c1dcvs
  86. vendor protocol.
  87. This driver delivers the cpudcvs protocol handle to interface
  88. driver, and interface driver will use this handle to communicate with
  89. cpucp.
  90. config QTI_C1DCVS_SCMI_V2
  91. tristate "Qualcomm Technologies Inc. SCMI client driver for C1 DCVS"
  92. depends on QTI_SCMI_VENDOR_PROTOCOL
  93. help
  94. C1 DCVS driver to expose sysfs node to user space and
  95. register with SCMI framework.
  96. This driver is used to expose sysfs interface to communicate
  97. with cpucp for C1 DCVS based on SCMI consolidation.
  98. config QTI_MPAM
  99. tristate "Qualcomm Technologies Inc. MPAM Interface Driver"
  100. depends on QTI_SCMI_VENDOR_PROTOCOL
  101. default n
  102. help
  103. Driver to expose MPAM sysfs nodes to user space.
  104. This driver gathers MPAM configuration parameters from sysfs
  105. userspace and relays them to CPUCP via SCMI communication.
  106. It is intended to be used by clients familiar with modifying
  107. the ARM MPAM configuration settings.
  108. config QTI_CPUFREQ_STATS_SCMI_V2
  109. tristate "Qualcomm Technologies Inc. SCMI client driver for CPU and L3 cpu freq stats"
  110. depends on QTI_SCMI_VENDOR_PROTOCOL
  111. default n
  112. help
  113. Driver to expose CPU freq stats debugfs nodes to user space.
  114. This driver is used to expose debugfs interface to communicate
  115. with cpucp for CPU freq stats based on SCMI consolidation protocol.
  116. It is intended to be used by clients to get CPU and L3 residency data.
  117. config QTI_DYNPF_SCMI
  118. tristate "Qualcomm Technologies Inc. SCMI client driver for DYNPF"
  119. depends on QTI_SCMI_VENDOR_PROTOCOL
  120. default n
  121. help
  122. Driver to expose DYNPF configuration APIs to userspace via sysfs.
  123. This driver gathers DYNPF configuration parameters from sysfs
  124. userspace and relays them to CPUCP via SCMI communication.
  125. It is intended to be used by clients familiar with modifying
  126. the DYNPF settings.