Skip to content

Commit 1513358

Browse files
committed
drm/i915/display: convert global state to struct intel_display
Going forward, struct intel_display is the main display device structure. Convert intel_global_state.[ch] to it. This allows us to make intel_pmdemand.c completely independent of i915_drv.h. Cc: Gustavo Sousa <[email protected]> Reviewed-by: Gustavo Sousa <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/2b5e743b285a86a59ee87085727847c758c8d552.1735662324.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <[email protected]>
1 parent 445fc68 commit 1513358

File tree

7 files changed

+33
-34
lines changed

7 files changed

+33
-34
lines changed

drivers/gpu/drm/i915/display/intel_bw.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1447,13 +1447,14 @@ static const struct intel_global_state_funcs intel_bw_funcs = {
14471447

14481448
int intel_bw_init(struct drm_i915_private *i915)
14491449
{
1450+
struct intel_display *display = &i915->display;
14501451
struct intel_bw_state *state;
14511452

14521453
state = kzalloc(sizeof(*state), GFP_KERNEL);
14531454
if (!state)
14541455
return -ENOMEM;
14551456

1456-
intel_atomic_global_obj_init(i915, &i915->display.bw.obj,
1457+
intel_atomic_global_obj_init(display, &display->bw.obj,
14571458
&state->base, &intel_bw_funcs);
14581459

14591460
/*

drivers/gpu/drm/i915/display/intel_cdclk.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3217,14 +3217,13 @@ int intel_cdclk_state_set_joined_mbus(struct intel_atomic_state *state, bool joi
32173217

32183218
int intel_cdclk_init(struct intel_display *display)
32193219
{
3220-
struct drm_i915_private *dev_priv = to_i915(display->drm);
32213220
struct intel_cdclk_state *cdclk_state;
32223221

32233222
cdclk_state = kzalloc(sizeof(*cdclk_state), GFP_KERNEL);
32243223
if (!cdclk_state)
32253224
return -ENOMEM;
32263225

3227-
intel_atomic_global_obj_init(dev_priv, &display->cdclk.obj,
3226+
intel_atomic_global_obj_init(display, &display->cdclk.obj,
32283227
&cdclk_state->base, &intel_cdclk_funcs);
32293228

32303229
return 0;

drivers/gpu/drm/i915/display/intel_display_driver.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,9 +163,7 @@ static void intel_mode_config_init(struct intel_display *display)
163163

164164
static void intel_mode_config_cleanup(struct intel_display *display)
165165
{
166-
struct drm_i915_private *i915 = to_i915(display->drm);
167-
168-
intel_atomic_global_obj_cleanup(i915);
166+
intel_atomic_global_obj_cleanup(display);
169167
drm_mode_config_cleanup(display->drm);
170168
}
171169

drivers/gpu/drm/i915/display/intel_global_state.c

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ intel_atomic_global_state_get(struct intel_global_state *obj_state)
7575
return obj_state;
7676
}
7777

78-
void intel_atomic_global_obj_init(struct drm_i915_private *dev_priv,
78+
void intel_atomic_global_obj_init(struct intel_display *display,
7979
struct intel_global_obj *obj,
8080
struct intel_global_state *state,
8181
const struct intel_global_state_funcs *funcs)
@@ -88,26 +88,26 @@ void intel_atomic_global_obj_init(struct drm_i915_private *dev_priv,
8888

8989
obj->state = state;
9090
obj->funcs = funcs;
91-
list_add_tail(&obj->head, &dev_priv->display.global.obj_list);
91+
list_add_tail(&obj->head, &display->global.obj_list);
9292
}
9393

94-
void intel_atomic_global_obj_cleanup(struct drm_i915_private *dev_priv)
94+
void intel_atomic_global_obj_cleanup(struct intel_display *display)
9595
{
9696
struct intel_global_obj *obj, *next;
9797

98-
list_for_each_entry_safe(obj, next, &dev_priv->display.global.obj_list, head) {
98+
list_for_each_entry_safe(obj, next, &display->global.obj_list, head) {
9999
list_del(&obj->head);
100100

101-
drm_WARN_ON(&dev_priv->drm, kref_read(&obj->state->ref) != 1);
101+
drm_WARN_ON(display->drm, kref_read(&obj->state->ref) != 1);
102102
intel_atomic_global_state_put(obj->state);
103103
}
104104
}
105105

106-
static void assert_global_state_write_locked(struct drm_i915_private *dev_priv)
106+
static void assert_global_state_write_locked(struct intel_display *display)
107107
{
108108
struct intel_crtc *crtc;
109109

110-
for_each_intel_crtc(&dev_priv->drm, crtc)
110+
for_each_intel_crtc(display->drm, crtc)
111111
drm_modeset_lock_assert_held(&crtc->base.mutex);
112112
}
113113

@@ -126,23 +126,23 @@ static bool modeset_lock_is_held(struct drm_modeset_acquire_ctx *ctx,
126126

127127
static void assert_global_state_read_locked(struct intel_atomic_state *state)
128128
{
129+
struct intel_display *display = to_intel_display(state);
129130
struct drm_modeset_acquire_ctx *ctx = state->base.acquire_ctx;
130-
struct drm_i915_private *dev_priv = to_i915(state->base.dev);
131131
struct intel_crtc *crtc;
132132

133-
for_each_intel_crtc(&dev_priv->drm, crtc) {
133+
for_each_intel_crtc(display->drm, crtc) {
134134
if (modeset_lock_is_held(ctx, &crtc->base.mutex))
135135
return;
136136
}
137137

138-
drm_WARN(&dev_priv->drm, 1, "Global state not read locked\n");
138+
drm_WARN(display->drm, 1, "Global state not read locked\n");
139139
}
140140

141141
struct intel_global_state *
142142
intel_atomic_get_global_obj_state(struct intel_atomic_state *state,
143143
struct intel_global_obj *obj)
144144
{
145-
struct drm_i915_private *i915 = to_i915(state->base.dev);
145+
struct intel_display *display = to_intel_display(state);
146146
int index, num_objs, i;
147147
size_t size;
148148
struct __intel_global_objs_state *arr;
@@ -184,7 +184,7 @@ intel_atomic_get_global_obj_state(struct intel_atomic_state *state,
184184

185185
state->num_global_objs = num_objs;
186186

187-
drm_dbg_atomic(&i915->drm, "Added new global object %p state %p to %p\n",
187+
drm_dbg_atomic(display->drm, "Added new global object %p state %p to %p\n",
188188
obj, obj_state, state);
189189

190190
return obj_state;
@@ -218,14 +218,14 @@ intel_atomic_get_new_global_obj_state(struct intel_atomic_state *state,
218218

219219
void intel_atomic_swap_global_state(struct intel_atomic_state *state)
220220
{
221-
struct drm_i915_private *dev_priv = to_i915(state->base.dev);
221+
struct intel_display *display = to_intel_display(state);
222222
struct intel_global_state *old_obj_state, *new_obj_state;
223223
struct intel_global_obj *obj;
224224
int i;
225225

226226
for_each_oldnew_global_obj_in_state(state, obj, old_obj_state,
227227
new_obj_state, i) {
228-
drm_WARN_ON(&dev_priv->drm, obj->state != old_obj_state);
228+
drm_WARN_ON(display->drm, obj->state != old_obj_state);
229229

230230
/*
231231
* If the new state wasn't modified (and properly
@@ -234,7 +234,7 @@ void intel_atomic_swap_global_state(struct intel_atomic_state *state)
234234
if (!new_obj_state->changed)
235235
continue;
236236

237-
assert_global_state_write_locked(dev_priv);
237+
assert_global_state_write_locked(display);
238238

239239
old_obj_state->state = state;
240240
new_obj_state->state = NULL;
@@ -265,10 +265,10 @@ void intel_atomic_clear_global_state(struct intel_atomic_state *state)
265265
int intel_atomic_lock_global_state(struct intel_global_state *obj_state)
266266
{
267267
struct intel_atomic_state *state = obj_state->state;
268-
struct drm_i915_private *dev_priv = to_i915(state->base.dev);
268+
struct intel_display *display = to_intel_display(state);
269269
struct intel_crtc *crtc;
270270

271-
for_each_intel_crtc(&dev_priv->drm, crtc) {
271+
for_each_intel_crtc(display->drm, crtc) {
272272
int ret;
273273

274274
ret = drm_modeset_lock(&crtc->base.mutex,
@@ -298,10 +298,10 @@ int intel_atomic_serialize_global_state(struct intel_global_state *obj_state)
298298
bool
299299
intel_atomic_global_state_is_serialized(struct intel_atomic_state *state)
300300
{
301-
struct drm_i915_private *i915 = to_i915(state->base.dev);
301+
struct intel_display *display = to_intel_display(state);
302302
struct intel_crtc *crtc;
303303

304-
for_each_intel_crtc(&i915->drm, crtc)
304+
for_each_intel_crtc(display->drm, crtc)
305305
if (!intel_atomic_get_new_crtc_state(state, crtc))
306306
return false;
307307
return true;
@@ -344,7 +344,7 @@ intel_atomic_global_state_setup_commit(struct intel_atomic_state *state)
344344
int
345345
intel_atomic_global_state_wait_for_dependencies(struct intel_atomic_state *state)
346346
{
347-
struct drm_i915_private *i915 = to_i915(state->base.dev);
347+
struct intel_display *display = to_intel_display(state);
348348
const struct intel_global_state *old_obj_state;
349349
struct intel_global_obj *obj;
350350
int i;
@@ -358,7 +358,7 @@ intel_atomic_global_state_wait_for_dependencies(struct intel_atomic_state *state
358358

359359
ret = wait_for_completion_timeout(&commit->done, 10 * HZ);
360360
if (ret == 0) {
361-
drm_err(&i915->drm, "global state timed out\n");
361+
drm_err(display->drm, "global state timed out\n");
362362
return -ETIMEDOUT;
363363
}
364364
}

drivers/gpu/drm/i915/display/intel_global_state.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
#include <linux/kref.h>
1010
#include <linux/list.h>
1111

12-
struct drm_i915_private;
1312
struct intel_atomic_state;
13+
struct intel_display;
1414
struct intel_global_obj;
1515
struct intel_global_state;
1616

@@ -69,11 +69,11 @@ struct __intel_global_objs_state {
6969
struct intel_global_state *state, *old_state, *new_state;
7070
};
7171

72-
void intel_atomic_global_obj_init(struct drm_i915_private *dev_priv,
72+
void intel_atomic_global_obj_init(struct intel_display *display,
7373
struct intel_global_obj *obj,
7474
struct intel_global_state *state,
7575
const struct intel_global_state_funcs *funcs);
76-
void intel_atomic_global_obj_cleanup(struct drm_i915_private *dev_priv);
76+
void intel_atomic_global_obj_cleanup(struct intel_display *display);
7777

7878
struct intel_global_state *
7979
intel_atomic_get_global_obj_state(struct intel_atomic_state *state,

drivers/gpu/drm/i915/display/intel_pmdemand.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55

66
#include <linux/bitops.h>
77

8-
#include "i915_drv.h"
98
#include "i915_reg.h"
9+
#include "i915_utils.h"
1010
#include "intel_atomic.h"
1111
#include "intel_bw.h"
1212
#include "intel_cdclk.h"
1313
#include "intel_de.h"
1414
#include "intel_display_trace.h"
1515
#include "intel_pmdemand.h"
16+
#include "intel_step.h"
1617
#include "skl_watermark.h"
1718

1819
struct pmdemand_params {
@@ -115,14 +116,13 @@ intel_atomic_get_new_pmdemand_state(struct intel_atomic_state *state)
115116

116117
int intel_pmdemand_init(struct intel_display *display)
117118
{
118-
struct drm_i915_private *i915 = to_i915(display->drm);
119119
struct intel_pmdemand_state *pmdemand_state;
120120

121121
pmdemand_state = kzalloc(sizeof(*pmdemand_state), GFP_KERNEL);
122122
if (!pmdemand_state)
123123
return -ENOMEM;
124124

125-
intel_atomic_global_obj_init(i915, &display->pmdemand.obj,
125+
intel_atomic_global_obj_init(display, &display->pmdemand.obj,
126126
&pmdemand_state->base,
127127
&intel_pmdemand_funcs);
128128

drivers/gpu/drm/i915/display/skl_watermark.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3333,13 +3333,14 @@ intel_atomic_get_dbuf_state(struct intel_atomic_state *state)
33333333

33343334
int intel_dbuf_init(struct drm_i915_private *i915)
33353335
{
3336+
struct intel_display *display = &i915->display;
33363337
struct intel_dbuf_state *dbuf_state;
33373338

33383339
dbuf_state = kzalloc(sizeof(*dbuf_state), GFP_KERNEL);
33393340
if (!dbuf_state)
33403341
return -ENOMEM;
33413342

3342-
intel_atomic_global_obj_init(i915, &i915->display.dbuf.obj,
3343+
intel_atomic_global_obj_init(display, &display->dbuf.obj,
33433344
&dbuf_state->base, &intel_dbuf_funcs);
33443345

33453346
return 0;

0 commit comments

Comments
 (0)