scmi_pmu.h 831 B

123456789101112131415161718192021222324252627282930313233
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * SCMI PMU Protocols header
  4. *
  5. * Copyright (c) 2021, The Linux Foundation. All rights reserved.
  6. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  7. */
  8. #ifndef _SCMI_PMU_H
  9. #define _SCMI_PMU_H
  10. #include <linux/bitfield.h>
  11. #include <linux/device.h>
  12. #include <linux/types.h>
  13. #define SCMI_PMU_PROTOCOL 0x86
  14. #define MAX_NUM_CPUS 8
  15. struct scmi_protocol_handle;
  16. /**
  17. * struct scmi_pmu_vendor_ops - represents the various operations provided
  18. * by SCMI PMU Protocol
  19. */
  20. struct scmi_pmu_vendor_ops {
  21. int (*set_pmu_map)(const struct scmi_protocol_handle *ph, void *buf);
  22. int (*set_enable_trace)(const struct scmi_protocol_handle *ph, void *buf);
  23. int (*set_cache_enable)(const struct scmi_protocol_handle *ph, void *buf);
  24. };
  25. #endif /* _SCMI_PMU_H */