41
41
#include <drm/drm_atomic.h>
42
42
#include <media/cec-notifier.h>
43
43
44
+ struct drm_printer ;
45
+
44
46
/**
45
47
* __wait_for - magic wait macro
46
48
*
@@ -2084,6 +2086,7 @@ bool intel_psr_enabled(struct intel_dp *intel_dp);
2084
2086
void intel_init_quirks (struct drm_i915_private * dev_priv );
2085
2087
2086
2088
/* intel_runtime_pm.c */
2089
+ void intel_runtime_pm_init_early (struct drm_i915_private * dev_priv );
2087
2090
int intel_power_domains_init (struct drm_i915_private * );
2088
2091
void intel_power_domains_cleanup (struct drm_i915_private * dev_priv );
2089
2092
void intel_power_domains_init_hw (struct drm_i915_private * dev_priv , bool resume );
@@ -2106,6 +2109,7 @@ void bxt_display_core_init(struct drm_i915_private *dev_priv, bool resume);
2106
2109
void bxt_display_core_uninit (struct drm_i915_private * dev_priv );
2107
2110
void intel_runtime_pm_enable (struct drm_i915_private * dev_priv );
2108
2111
void intel_runtime_pm_disable (struct drm_i915_private * dev_priv );
2112
+ void intel_runtime_pm_cleanup (struct drm_i915_private * dev_priv );
2109
2113
const char *
2110
2114
intel_display_power_domain_str (enum intel_display_power_domain domain );
2111
2115
@@ -2123,23 +2127,23 @@ void icl_dbuf_slices_update(struct drm_i915_private *dev_priv,
2123
2127
u8 req_slices );
2124
2128
2125
2129
static inline void
2126
- assert_rpm_device_not_suspended (struct drm_i915_private * dev_priv )
2130
+ assert_rpm_device_not_suspended (struct drm_i915_private * i915 )
2127
2131
{
2128
- WARN_ONCE (dev_priv -> runtime_pm .suspended ,
2132
+ WARN_ONCE (i915 -> runtime_pm .suspended ,
2129
2133
"Device suspended during HW access\n" );
2130
2134
}
2131
2135
2132
2136
static inline void
2133
- assert_rpm_wakelock_held (struct drm_i915_private * dev_priv )
2137
+ assert_rpm_wakelock_held (struct drm_i915_private * i915 )
2134
2138
{
2135
- assert_rpm_device_not_suspended (dev_priv );
2136
- WARN_ONCE (!atomic_read (& dev_priv -> runtime_pm .wakeref_count ),
2139
+ assert_rpm_device_not_suspended (i915 );
2140
+ WARN_ONCE (!atomic_read (& i915 -> runtime_pm .wakeref_count ),
2137
2141
"RPM wakelock ref not held during HW access" );
2138
2142
}
2139
2143
2140
2144
/**
2141
2145
* disable_rpm_wakeref_asserts - disable the RPM assert checks
2142
- * @dev_priv : i915 device instance
2146
+ * @i915 : i915 device instance
2143
2147
*
2144
2148
* This function disable asserts that check if we hold an RPM wakelock
2145
2149
* reference, while keeping the device-not-suspended checks still enabled.
@@ -2156,14 +2160,14 @@ assert_rpm_wakelock_held(struct drm_i915_private *dev_priv)
2156
2160
* enable_rpm_wakeref_asserts().
2157
2161
*/
2158
2162
static inline void
2159
- disable_rpm_wakeref_asserts (struct drm_i915_private * dev_priv )
2163
+ disable_rpm_wakeref_asserts (struct drm_i915_private * i915 )
2160
2164
{
2161
- atomic_inc (& dev_priv -> runtime_pm .wakeref_count );
2165
+ atomic_inc (& i915 -> runtime_pm .wakeref_count );
2162
2166
}
2163
2167
2164
2168
/**
2165
2169
* enable_rpm_wakeref_asserts - re-enable the RPM assert checks
2166
- * @dev_priv : i915 device instance
2170
+ * @i915 : i915 device instance
2167
2171
*
2168
2172
* This function re-enables the RPM assert checks after disabling them with
2169
2173
* disable_rpm_wakeref_asserts. It's meant to be used only in special
@@ -2173,15 +2177,25 @@ disable_rpm_wakeref_asserts(struct drm_i915_private *dev_priv)
2173
2177
* disable_rpm_wakeref_asserts().
2174
2178
*/
2175
2179
static inline void
2176
- enable_rpm_wakeref_asserts (struct drm_i915_private * dev_priv )
2180
+ enable_rpm_wakeref_asserts (struct drm_i915_private * i915 )
2177
2181
{
2178
- atomic_dec (& dev_priv -> runtime_pm .wakeref_count );
2182
+ atomic_dec (& i915 -> runtime_pm .wakeref_count );
2179
2183
}
2180
2184
2181
- void intel_runtime_pm_get (struct drm_i915_private * dev_priv );
2182
- bool intel_runtime_pm_get_if_in_use (struct drm_i915_private * dev_priv );
2183
- void intel_runtime_pm_get_noresume (struct drm_i915_private * dev_priv );
2184
- void intel_runtime_pm_put (struct drm_i915_private * dev_priv );
2185
+ void intel_runtime_pm_get (struct drm_i915_private * i915 );
2186
+ bool intel_runtime_pm_get_if_in_use (struct drm_i915_private * i915 );
2187
+ void intel_runtime_pm_get_noresume (struct drm_i915_private * i915 );
2188
+ void intel_runtime_pm_put (struct drm_i915_private * i915 );
2189
+
2190
+ #if IS_ENABLED (CONFIG_DRM_I915_DEBUG_RUNTIME_PM )
2191
+ void print_intel_runtime_pm_wakeref (struct drm_i915_private * i915 ,
2192
+ struct drm_printer * p );
2193
+ #else
2194
+ static inline void print_intel_runtime_pm_wakeref (struct drm_i915_private * i915 ,
2195
+ struct drm_printer * p )
2196
+ {
2197
+ }
2198
+ #endif
2185
2199
2186
2200
void chv_phy_powergate_lanes (struct intel_encoder * encoder ,
2187
2201
bool override , unsigned int mask );
0 commit comments