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