xref: /linux/drivers/gpu/drm/i915/i915_display_pc8.c (revision 1fd1dc41724319406b0aff221a352a400b0ddfc5)
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