i915_display_pc8.c 776 B

12345678910111213141516171819202122232425262728293031
  1. // SPDX-License-Identifier: MIT
  2. /*
  3. * Copyright 2025, Intel Corporation.
  4. */
  5. #include <drm/drm_print.h>
  6. #include <drm/intel/display_parent_interface.h>
  7. #include "i915_display_pc8.h"
  8. #include "i915_drv.h"
  9. #include "intel_uncore.h"
  10. static void i915_display_pc8_block(struct drm_device *drm)
  11. {
  12. struct intel_uncore *uncore = &to_i915(drm)->uncore;
  13. /* to prevent PC8 state, just enable force_wake */
  14. intel_uncore_forcewake_get(uncore, FORCEWAKE_ALL);
  15. }
  16. static void i915_display_pc8_unblock(struct drm_device *drm)
  17. {
  18. struct intel_uncore *uncore = &to_i915(drm)->uncore;
  19. intel_uncore_forcewake_put(uncore, FORCEWAKE_ALL);
  20. }
  21. const struct intel_display_pc8_interface i915_display_pc8_interface = {
  22. .block = i915_display_pc8_block,
  23. .unblock = i915_display_pc8_unblock,
  24. };