Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915/display: convert intel_display_driver.[ch] to struct intel_display

Going forward, struct intel_display will be the main display driver
structure. Convert the main display entry points to struct
intel_display.

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241204102150.2223455-1-jani.nikula@intel.com

+238 -220
+2 -2
drivers/gpu/drm/i915/display/intel_crt.c
··· 870 870 if (!intel_display_device_enabled(display)) 871 871 return connector_status_disconnected; 872 872 873 - if (!intel_display_driver_check_access(dev_priv)) 873 + if (!intel_display_driver_check_access(display)) 874 874 return connector->status; 875 875 876 876 if (display->params.load_detect_test) { ··· 954 954 struct i2c_adapter *ddc; 955 955 int ret; 956 956 957 - if (!intel_display_driver_check_access(dev_priv)) 957 + if (!intel_display_driver_check_access(display)) 958 958 return drm_edid_connector_add_modes(connector); 959 959 960 960 wakeref = intel_display_power_get(dev_priv, encoder->power_domain);
+2 -1
drivers/gpu/drm/i915/display/intel_display.c
··· 6806 6806 int intel_atomic_check(struct drm_device *dev, 6807 6807 struct drm_atomic_state *_state) 6808 6808 { 6809 + struct intel_display *display = to_intel_display(dev); 6809 6810 struct drm_i915_private *dev_priv = to_i915(dev); 6810 6811 struct intel_atomic_state *state = to_intel_atomic_state(_state); 6811 6812 struct intel_crtc_state *old_crtc_state, *new_crtc_state; ··· 6814 6813 int ret, i; 6815 6814 bool any_ms = false; 6816 6815 6817 - if (!intel_display_driver_check_access(dev_priv)) 6816 + if (!intel_display_driver_check_access(display)) 6818 6817 return -ENODEV; 6819 6818 6820 6819 for_each_oldnew_intel_crtc_in_state(state, crtc, old_crtc_state,
+144 -136
drivers/gpu/drm/i915/display/intel_display_driver.c
··· 80 80 return false; 81 81 } 82 82 83 - void intel_display_driver_init_hw(struct drm_i915_private *i915) 83 + void intel_display_driver_init_hw(struct intel_display *display) 84 84 { 85 - struct intel_display *display = &i915->display; 85 + struct drm_i915_private *i915 = to_i915(display->drm); 86 86 struct intel_cdclk_state *cdclk_state; 87 87 88 - if (!HAS_DISPLAY(i915)) 88 + if (!HAS_DISPLAY(display)) 89 89 return; 90 90 91 91 cdclk_state = to_intel_cdclk_state(display->cdclk.obj.state); ··· 112 112 .atomic_commit_setup = drm_dp_mst_atomic_setup_commit, 113 113 }; 114 114 115 - static void intel_mode_config_init(struct drm_i915_private *i915) 115 + static void intel_mode_config_init(struct intel_display *display) 116 116 { 117 - struct drm_mode_config *mode_config = &i915->drm.mode_config; 117 + struct drm_mode_config *mode_config = &display->drm->mode_config; 118 118 119 - drm_mode_config_init(&i915->drm); 120 - INIT_LIST_HEAD(&i915->display.global.obj_list); 119 + drm_mode_config_init(display->drm); 120 + INIT_LIST_HEAD(&display->global.obj_list); 121 121 122 122 mode_config->min_width = 0; 123 123 mode_config->min_height = 0; ··· 128 128 mode_config->funcs = &intel_mode_funcs; 129 129 mode_config->helper_private = &intel_mode_config_funcs; 130 130 131 - mode_config->async_page_flip = HAS_ASYNC_FLIPS(i915); 131 + mode_config->async_page_flip = HAS_ASYNC_FLIPS(display); 132 132 133 133 /* 134 134 * Maximum framebuffer dimensions, chosen to match 135 135 * the maximum render engine surface size on gen4+. 136 136 */ 137 - if (DISPLAY_VER(i915) >= 7) { 137 + if (DISPLAY_VER(display) >= 7) { 138 138 mode_config->max_width = 16384; 139 139 mode_config->max_height = 16384; 140 - } else if (DISPLAY_VER(i915) >= 4) { 140 + } else if (DISPLAY_VER(display) >= 4) { 141 141 mode_config->max_width = 8192; 142 142 mode_config->max_height = 8192; 143 - } else if (DISPLAY_VER(i915) == 3) { 143 + } else if (DISPLAY_VER(display) == 3) { 144 144 mode_config->max_width = 4096; 145 145 mode_config->max_height = 4096; 146 146 } else { ··· 148 148 mode_config->max_height = 2048; 149 149 } 150 150 151 - if (IS_I845G(i915) || IS_I865G(i915)) { 152 - mode_config->cursor_width = IS_I845G(i915) ? 64 : 512; 151 + if (display->platform.i845g || display->platform.i865g) { 152 + mode_config->cursor_width = display->platform.i845g ? 64 : 512; 153 153 mode_config->cursor_height = 1023; 154 - } else if (IS_I830(i915) || IS_I85X(i915) || 155 - IS_I915G(i915) || IS_I915GM(i915)) { 154 + } else if (display->platform.i830 || display->platform.i85x || 155 + display->platform.i915g || display->platform.i915gm) { 156 156 mode_config->cursor_width = 64; 157 157 mode_config->cursor_height = 64; 158 158 } else { ··· 161 161 } 162 162 } 163 163 164 - static void intel_mode_config_cleanup(struct drm_i915_private *i915) 164 + static void intel_mode_config_cleanup(struct intel_display *display) 165 165 { 166 + struct drm_i915_private *i915 = to_i915(display->drm); 167 + 166 168 intel_atomic_global_obj_cleanup(i915); 167 - drm_mode_config_cleanup(&i915->drm); 169 + drm_mode_config_cleanup(display->drm); 168 170 } 169 171 170 - static void intel_plane_possible_crtcs_init(struct drm_i915_private *dev_priv) 172 + static void intel_plane_possible_crtcs_init(struct intel_display *display) 171 173 { 172 - struct intel_display *display = &dev_priv->display; 173 174 struct intel_plane *plane; 174 175 175 - for_each_intel_plane(&dev_priv->drm, plane) { 176 + for_each_intel_plane(display->drm, plane) { 176 177 struct intel_crtc *crtc = intel_crtc_for_pipe(display, 177 178 plane->pipe); 178 179 ··· 181 180 } 182 181 } 183 182 184 - void intel_display_driver_early_probe(struct drm_i915_private *i915) 183 + void intel_display_driver_early_probe(struct intel_display *display) 185 184 { 186 - if (!HAS_DISPLAY(i915)) 185 + struct drm_i915_private *i915 = to_i915(display->drm); 186 + 187 + if (!HAS_DISPLAY(display)) 187 188 return; 188 189 189 - spin_lock_init(&i915->display.fb_tracking.lock); 190 - mutex_init(&i915->display.backlight.lock); 191 - mutex_init(&i915->display.audio.mutex); 192 - mutex_init(&i915->display.wm.wm_mutex); 193 - mutex_init(&i915->display.pps.mutex); 194 - mutex_init(&i915->display.hdcp.hdcp_mutex); 190 + spin_lock_init(&display->fb_tracking.lock); 191 + mutex_init(&display->backlight.lock); 192 + mutex_init(&display->audio.mutex); 193 + mutex_init(&display->wm.wm_mutex); 194 + mutex_init(&display->pps.mutex); 195 + mutex_init(&display->hdcp.hdcp_mutex); 195 196 196 197 intel_display_irq_init(i915); 197 198 intel_dkl_phy_init(i915); 198 - intel_color_init_hooks(&i915->display); 199 - intel_init_cdclk_hooks(&i915->display); 199 + intel_color_init_hooks(display); 200 + intel_init_cdclk_hooks(display); 200 201 intel_audio_hooks_init(i915); 201 202 intel_dpll_init_clock_hook(i915); 202 203 intel_init_display_hooks(i915); 203 204 intel_fdi_init_hook(i915); 204 - intel_dmc_wl_init(&i915->display); 205 + intel_dmc_wl_init(display); 205 206 } 206 207 207 208 /* part #1: call before irq install */ 208 - int intel_display_driver_probe_noirq(struct drm_i915_private *i915) 209 + int intel_display_driver_probe_noirq(struct intel_display *display) 209 210 { 210 - struct intel_display *display = &i915->display; 211 + struct drm_i915_private *i915 = to_i915(display->drm); 211 212 int ret; 212 213 213 214 if (i915_inject_probe_failure(i915)) 214 215 return -ENODEV; 215 216 216 - if (HAS_DISPLAY(i915)) { 217 - ret = drm_vblank_init(&i915->drm, 218 - INTEL_NUM_PIPES(i915)); 217 + if (HAS_DISPLAY(display)) { 218 + ret = drm_vblank_init(display->drm, 219 + INTEL_NUM_PIPES(display)); 219 220 if (ret) 220 221 return ret; 221 222 } ··· 237 234 238 235 intel_power_domains_init_hw(display, false); 239 236 240 - if (!HAS_DISPLAY(i915)) 237 + if (!HAS_DISPLAY(display)) 241 238 return 0; 242 239 243 240 intel_dmc_init(display); 244 241 245 - i915->display.wq.modeset = alloc_ordered_workqueue("i915_modeset", 0); 246 - i915->display.wq.flip = alloc_workqueue("i915_flip", WQ_HIGHPRI | 242 + display->wq.modeset = alloc_ordered_workqueue("i915_modeset", 0); 243 + display->wq.flip = alloc_workqueue("i915_flip", WQ_HIGHPRI | 247 244 WQ_UNBOUND, WQ_UNBOUND_MAX_ACTIVE); 248 - i915->display.wq.cleanup = alloc_workqueue("i915_cleanup", WQ_HIGHPRI, 0); 245 + display->wq.cleanup = alloc_workqueue("i915_cleanup", WQ_HIGHPRI, 0); 249 246 250 - intel_mode_config_init(i915); 247 + intel_mode_config_init(display); 251 248 252 249 ret = intel_cdclk_init(display); 253 250 if (ret) ··· 286 283 return ret; 287 284 } 288 285 289 - static void set_display_access(struct drm_i915_private *i915, 286 + static void set_display_access(struct intel_display *display, 290 287 bool any_task_allowed, 291 288 struct task_struct *allowed_task) 292 289 { ··· 294 291 int err; 295 292 296 293 intel_modeset_lock_ctx_retry(&ctx, NULL, 0, err) { 297 - err = drm_modeset_lock_all_ctx(&i915->drm, &ctx); 294 + err = drm_modeset_lock_all_ctx(display->drm, &ctx); 298 295 if (err) 299 296 continue; 300 297 301 - i915->display.access.any_task_allowed = any_task_allowed; 302 - i915->display.access.allowed_task = allowed_task; 298 + display->access.any_task_allowed = any_task_allowed; 299 + display->access.allowed_task = allowed_task; 303 300 } 304 301 305 - drm_WARN_ON(&i915->drm, err); 302 + drm_WARN_ON(display->drm, err); 306 303 } 307 304 308 305 /** 309 306 * intel_display_driver_enable_user_access - Enable display HW access for all threads 310 - * @i915: i915 device instance 307 + * @display: display device instance 311 308 * 312 309 * Enable the display HW access for all threads. Examples for such accesses 313 310 * are modeset commits and connector probing. ··· 315 312 * This function should be called during driver loading and system resume once 316 313 * all the HW initialization steps are done. 317 314 */ 318 - void intel_display_driver_enable_user_access(struct drm_i915_private *i915) 315 + void intel_display_driver_enable_user_access(struct intel_display *display) 319 316 { 320 - set_display_access(i915, true, NULL); 317 + struct drm_i915_private *i915 = to_i915(display->drm); 318 + 319 + set_display_access(display, true, NULL); 321 320 322 321 intel_hpd_enable_detection_work(i915); 323 322 } 324 323 325 324 /** 326 325 * intel_display_driver_disable_user_access - Disable display HW access for user threads 327 - * @i915: i915 device instance 326 + * @display: display device instance 328 327 * 329 328 * Disable the display HW access for user threads. Examples for such accesses 330 329 * are modeset commits and connector probing. For the current thread the ··· 341 336 * This function should be called during driver loading/unloading and system 342 337 * suspend/shutdown before starting the HW init/deinit programming. 343 338 */ 344 - void intel_display_driver_disable_user_access(struct drm_i915_private *i915) 339 + void intel_display_driver_disable_user_access(struct intel_display *display) 345 340 { 341 + struct drm_i915_private *i915 = to_i915(display->drm); 342 + 346 343 intel_hpd_disable_detection_work(i915); 347 344 348 - set_display_access(i915, false, current); 345 + set_display_access(display, false, current); 349 346 } 350 347 351 348 /** 352 349 * intel_display_driver_suspend_access - Suspend display HW access for all threads 353 - * @i915: i915 device instance 350 + * @display: display device instance 354 351 * 355 352 * Disable the display HW access for all threads. Examples for such accesses 356 353 * are modeset commits and connector probing. This call should be either ··· 362 355 * This function should be called during driver unloading and system 363 356 * suspend/shutdown after completing the HW deinit programming. 364 357 */ 365 - void intel_display_driver_suspend_access(struct drm_i915_private *i915) 358 + void intel_display_driver_suspend_access(struct intel_display *display) 366 359 { 367 - set_display_access(i915, false, NULL); 360 + set_display_access(display, false, NULL); 368 361 } 369 362 370 363 /** 371 364 * intel_display_driver_resume_access - Resume display HW access for the resume thread 372 - * @i915: i915 device instance 365 + * @display: display device instance 373 366 * 374 367 * Enable the display HW access for the current resume thread, keeping the 375 368 * access disabled for all other (user) threads. Examples for such accesses ··· 381 374 * This function should be called during system resume before starting the HW 382 375 * init steps. 383 376 */ 384 - void intel_display_driver_resume_access(struct drm_i915_private *i915) 377 + void intel_display_driver_resume_access(struct intel_display *display) 385 378 { 386 - set_display_access(i915, false, current); 379 + set_display_access(display, false, current); 387 380 } 388 381 389 382 /** 390 383 * intel_display_driver_check_access - Check if the current thread has disaplay HW access 391 - * @i915: i915 device instance 384 + * @display: display device instance 392 385 * 393 386 * Check whether the current thread has display HW access, print a debug 394 387 * message if it doesn't. Such accesses are modeset commits and connector ··· 397 390 * Returns %true if the current thread has display HW access, %false 398 391 * otherwise. 399 392 */ 400 - bool intel_display_driver_check_access(struct drm_i915_private *i915) 393 + bool intel_display_driver_check_access(struct intel_display *display) 401 394 { 402 395 char comm[TASK_COMM_LEN]; 403 396 char current_task[TASK_COMM_LEN + 16]; 404 397 char allowed_task[TASK_COMM_LEN + 16] = "none"; 405 398 406 - if (i915->display.access.any_task_allowed || 407 - i915->display.access.allowed_task == current) 399 + if (display->access.any_task_allowed || 400 + display->access.allowed_task == current) 408 401 return true; 409 402 410 403 snprintf(current_task, sizeof(current_task), "%s[%d]", 411 404 get_task_comm(comm, current), 412 405 task_pid_vnr(current)); 413 406 414 - if (i915->display.access.allowed_task) 407 + if (display->access.allowed_task) 415 408 snprintf(allowed_task, sizeof(allowed_task), "%s[%d]", 416 - get_task_comm(comm, i915->display.access.allowed_task), 417 - task_pid_vnr(i915->display.access.allowed_task)); 409 + get_task_comm(comm, display->access.allowed_task), 410 + task_pid_vnr(display->access.allowed_task)); 418 411 419 - drm_dbg_kms(&i915->drm, 412 + drm_dbg_kms(display->drm, 420 413 "Reject display access from task %s (allowed to %s)\n", 421 414 current_task, allowed_task); 422 415 ··· 424 417 } 425 418 426 419 /* part #2: call after irq install, but before gem init */ 427 - int intel_display_driver_probe_nogem(struct drm_i915_private *i915) 420 + int intel_display_driver_probe_nogem(struct intel_display *display) 428 421 { 429 - struct intel_display *display = &i915->display; 430 - struct drm_device *dev = display->drm; 422 + struct drm_i915_private *i915 = to_i915(display->drm); 431 423 enum pipe pipe; 432 424 int ret; 433 425 434 - if (!HAS_DISPLAY(i915)) 426 + if (!HAS_DISPLAY(display)) 435 427 return 0; 436 428 437 429 intel_wm_init(i915); ··· 441 435 442 436 intel_gmbus_setup(display); 443 437 444 - drm_dbg_kms(&i915->drm, "%d display pipe%s available.\n", 445 - INTEL_NUM_PIPES(i915), 446 - INTEL_NUM_PIPES(i915) > 1 ? "s" : ""); 438 + drm_dbg_kms(display->drm, "%d display pipe%s available.\n", 439 + INTEL_NUM_PIPES(display), 440 + INTEL_NUM_PIPES(display) > 1 ? "s" : ""); 447 441 448 - for_each_pipe(i915, pipe) { 442 + for_each_pipe(display, pipe) { 449 443 ret = intel_crtc_init(i915, pipe); 450 444 if (ret) 451 445 goto err_mode_config; 452 446 } 453 447 454 - intel_plane_possible_crtcs_init(i915); 448 + intel_plane_possible_crtcs_init(display); 455 449 intel_shared_dpll_init(i915); 456 450 intel_fdi_pll_freq_update(i915); 457 451 458 452 intel_update_czclk(i915); 459 - intel_display_driver_init_hw(i915); 453 + intel_display_driver_init_hw(display); 460 454 intel_dpll_update_ref_clks(i915); 461 455 462 456 if (display->cdclk.max_cdclk_freq == 0) ··· 472 466 if (ret) 473 467 goto err_hdcp; 474 468 475 - intel_display_driver_disable_user_access(i915); 469 + intel_display_driver_disable_user_access(display); 476 470 477 - drm_modeset_lock_all(dev); 478 - intel_modeset_setup_hw_state(i915, dev->mode_config.acquire_ctx); 471 + drm_modeset_lock_all(display->drm); 472 + intel_modeset_setup_hw_state(i915, display->drm->mode_config.acquire_ctx); 479 473 intel_acpi_assign_connector_fwnodes(display); 480 - drm_modeset_unlock_all(dev); 474 + drm_modeset_unlock_all(display->drm); 481 475 482 476 intel_initial_plane_config(display); 483 477 ··· 486 480 * Note that we need to do this after reconstructing the BIOS fb's 487 481 * since the watermark calculation done here will use pstate->fb. 488 482 */ 489 - if (!HAS_GMCH(i915)) 483 + if (!HAS_GMCH(display)) 490 484 ilk_wm_sanitize(i915); 491 485 492 486 return 0; ··· 494 488 err_hdcp: 495 489 intel_hdcp_component_fini(display); 496 490 err_mode_config: 497 - intel_mode_config_cleanup(i915); 491 + intel_mode_config_cleanup(display); 498 492 499 493 return ret; 500 494 } 501 495 502 496 /* part #3: call after gem init */ 503 - int intel_display_driver_probe(struct drm_i915_private *i915) 497 + int intel_display_driver_probe(struct intel_display *display) 504 498 { 505 - struct intel_display *display = &i915->display; 499 + struct drm_i915_private *i915 = to_i915(display->drm); 506 500 int ret; 507 501 508 - if (!HAS_DISPLAY(i915)) 502 + if (!HAS_DISPLAY(display)) 509 503 return 0; 510 504 511 505 /* ··· 521 515 * are already calculated and there is no assert_plane warnings 522 516 * during bootup. 523 517 */ 524 - ret = intel_initial_commit(&i915->drm); 518 + ret = intel_initial_commit(display->drm); 525 519 if (ret) 526 - drm_dbg_kms(&i915->drm, "Initial modeset failed, %d\n", ret); 520 + drm_dbg_kms(display->drm, "Initial modeset failed, %d\n", ret); 527 521 528 522 intel_overlay_setup(display); 529 523 ··· 535 529 return 0; 536 530 } 537 531 538 - void intel_display_driver_register(struct drm_i915_private *i915) 532 + void intel_display_driver_register(struct intel_display *display) 539 533 { 540 - struct intel_display *display = &i915->display; 541 - struct drm_printer p = drm_dbg_printer(&i915->drm, DRM_UT_KMS, 534 + struct drm_i915_private *i915 = to_i915(display->drm); 535 + struct drm_printer p = drm_dbg_printer(display->drm, DRM_UT_KMS, 542 536 "i915 display info:"); 543 537 544 - if (!HAS_DISPLAY(i915)) 538 + if (!HAS_DISPLAY(display)) 545 539 return; 546 540 547 541 /* Must be done after probing outputs */ ··· 550 544 551 545 intel_audio_init(i915); 552 546 553 - intel_display_driver_enable_user_access(i915); 547 + intel_display_driver_enable_user_access(display); 554 548 555 549 intel_audio_register(i915); 556 550 ··· 561 555 * fbdev configuration, for which we use the 562 556 * fbdev->async_cookie. 563 557 */ 564 - drm_kms_helper_poll_init(&i915->drm); 558 + drm_kms_helper_poll_init(display->drm); 565 559 intel_hpd_poll_disable(i915); 566 560 567 561 intel_fbdev_setup(i915); 568 562 569 - intel_display_device_info_print(DISPLAY_INFO(i915), 570 - DISPLAY_RUNTIME_INFO(i915), &p); 563 + intel_display_device_info_print(DISPLAY_INFO(display), 564 + DISPLAY_RUNTIME_INFO(display), &p); 571 565 } 572 566 573 567 /* part #1: call before irq uninstall */ 574 - void intel_display_driver_remove(struct drm_i915_private *i915) 568 + void intel_display_driver_remove(struct intel_display *display) 575 569 { 576 - if (!HAS_DISPLAY(i915)) 570 + struct drm_i915_private *i915 = to_i915(display->drm); 571 + 572 + if (!HAS_DISPLAY(display)) 577 573 return; 578 574 579 - flush_workqueue(i915->display.wq.flip); 580 - flush_workqueue(i915->display.wq.modeset); 581 - flush_workqueue(i915->display.wq.cleanup); 575 + flush_workqueue(display->wq.flip); 576 + flush_workqueue(display->wq.modeset); 577 + flush_workqueue(display->wq.cleanup); 582 578 583 579 /* 584 580 * MST topology needs to be suspended so we don't have any calls to ··· 591 583 } 592 584 593 585 /* part #2: call after irq uninstall */ 594 - void intel_display_driver_remove_noirq(struct drm_i915_private *i915) 586 + void intel_display_driver_remove_noirq(struct intel_display *display) 595 587 { 596 - struct intel_display *display = &i915->display; 588 + struct drm_i915_private *i915 = to_i915(display->drm); 597 589 598 - if (!HAS_DISPLAY(i915)) 590 + if (!HAS_DISPLAY(display)) 599 591 return; 600 592 601 - intel_display_driver_suspend_access(i915); 593 + intel_display_driver_suspend_access(display); 602 594 603 595 /* 604 596 * Due to the hpd irq storm handling the hotplug work can re-arm the ··· 613 605 614 606 intel_hdcp_component_fini(display); 615 607 616 - intel_mode_config_cleanup(i915); 608 + intel_mode_config_cleanup(display); 617 609 618 610 intel_dp_tunnel_mgr_cleanup(display); 619 611 ··· 621 613 622 614 intel_gmbus_teardown(display); 623 615 624 - destroy_workqueue(i915->display.wq.flip); 625 - destroy_workqueue(i915->display.wq.modeset); 626 - destroy_workqueue(i915->display.wq.cleanup); 616 + destroy_workqueue(display->wq.flip); 617 + destroy_workqueue(display->wq.modeset); 618 + destroy_workqueue(display->wq.cleanup); 627 619 628 - intel_fbc_cleanup(&i915->display); 620 + intel_fbc_cleanup(display); 629 621 } 630 622 631 623 /* part #3: call after gem init */ 632 - void intel_display_driver_remove_nogem(struct drm_i915_private *i915) 624 + void intel_display_driver_remove_nogem(struct intel_display *display) 633 625 { 634 - struct intel_display *display = &i915->display; 635 - 636 626 intel_dmc_fini(display); 637 627 638 628 intel_power_domains_driver_remove(display); ··· 640 634 intel_bios_driver_remove(display); 641 635 } 642 636 643 - void intel_display_driver_unregister(struct drm_i915_private *i915) 637 + void intel_display_driver_unregister(struct intel_display *display) 644 638 { 645 - struct intel_display *display = &i915->display; 639 + struct drm_i915_private *i915 = to_i915(display->drm); 646 640 647 - if (!HAS_DISPLAY(i915)) 641 + if (!HAS_DISPLAY(display)) 648 642 return; 649 643 650 - drm_client_dev_unregister(&i915->drm); 644 + drm_client_dev_unregister(display->drm); 651 645 652 646 /* 653 647 * After flushing the fbdev (incl. a late async config which 654 648 * will have delayed queuing of a hotplug event), then flush 655 649 * the hotplug events. 656 650 */ 657 - drm_kms_helper_poll_fini(&i915->drm); 651 + drm_kms_helper_poll_fini(display->drm); 658 652 659 - intel_display_driver_disable_user_access(i915); 653 + intel_display_driver_disable_user_access(display); 660 654 661 655 intel_audio_deinit(i915); 662 656 663 - drm_atomic_helper_shutdown(&i915->drm); 657 + drm_atomic_helper_shutdown(display->drm); 664 658 665 659 acpi_video_unregister(); 666 660 intel_opregion_unregister(display); ··· 670 664 * turn all crtc's off, but do not adjust state 671 665 * This has to be paired with a call to intel_modeset_setup_hw_state. 672 666 */ 673 - int intel_display_driver_suspend(struct drm_i915_private *i915) 667 + int intel_display_driver_suspend(struct intel_display *display) 674 668 { 669 + struct drm_i915_private *i915 = to_i915(display->drm); 675 670 struct drm_atomic_state *state; 676 671 int ret; 677 672 678 - if (!HAS_DISPLAY(i915)) 673 + if (!HAS_DISPLAY(display)) 679 674 return 0; 680 675 681 - state = drm_atomic_helper_suspend(&i915->drm); 676 + state = drm_atomic_helper_suspend(display->drm); 682 677 ret = PTR_ERR_OR_ZERO(state); 683 678 if (ret) 684 - drm_err(&i915->drm, "Suspending crtc's failed with %i\n", 679 + drm_err(display->drm, "Suspending crtc's failed with %i\n", 685 680 ret); 686 681 else 687 - i915->display.restore.modeset_state = state; 682 + display->restore.modeset_state = state; 688 683 689 684 /* ensure all DPT VMAs have been unpinned for intel_dpt_suspend() */ 690 - flush_workqueue(i915->display.wq.cleanup); 685 + flush_workqueue(display->wq.cleanup); 691 686 692 687 intel_dp_mst_suspend(i915); 693 688 ··· 696 689 } 697 690 698 691 int 699 - __intel_display_driver_resume(struct drm_i915_private *i915, 692 + __intel_display_driver_resume(struct intel_display *display, 700 693 struct drm_atomic_state *state, 701 694 struct drm_modeset_acquire_ctx *ctx) 702 695 { 703 - struct intel_display *display = &i915->display; 696 + struct drm_i915_private *i915 = to_i915(display->drm); 704 697 struct drm_crtc_state *crtc_state; 705 698 struct drm_crtc *crtc; 706 699 int ret, i; ··· 726 719 } 727 720 728 721 /* ignore any reset values/BIOS leftovers in the WM registers */ 729 - if (!HAS_GMCH(i915)) 722 + if (!HAS_GMCH(display)) 730 723 to_intel_atomic_state(state)->skip_intermediate_wm = true; 731 724 732 725 ret = drm_atomic_helper_commit_duplicated_state(state, ctx); 733 726 734 - drm_WARN_ON(&i915->drm, ret == -EDEADLK); 727 + drm_WARN_ON(display->drm, ret == -EDEADLK); 735 728 736 729 return ret; 737 730 } 738 731 739 - void intel_display_driver_resume(struct drm_i915_private *i915) 732 + void intel_display_driver_resume(struct intel_display *display) 740 733 { 741 - struct drm_atomic_state *state = i915->display.restore.modeset_state; 734 + struct drm_i915_private *i915 = to_i915(display->drm); 735 + struct drm_atomic_state *state = display->restore.modeset_state; 742 736 struct drm_modeset_acquire_ctx ctx; 743 737 int ret; 744 738 745 - if (!HAS_DISPLAY(i915)) 739 + if (!HAS_DISPLAY(display)) 746 740 return; 747 741 748 742 /* MST sideband requires HPD interrupts enabled */ 749 743 intel_dp_mst_resume(i915); 750 744 751 - i915->display.restore.modeset_state = NULL; 745 + display->restore.modeset_state = NULL; 752 746 if (state) 753 747 state->acquire_ctx = &ctx; 754 748 755 749 drm_modeset_acquire_init(&ctx, 0); 756 750 757 751 while (1) { 758 - ret = drm_modeset_lock_all_ctx(&i915->drm, &ctx); 752 + ret = drm_modeset_lock_all_ctx(display->drm, &ctx); 759 753 if (ret != -EDEADLK) 760 754 break; 761 755 ··· 764 756 } 765 757 766 758 if (!ret) 767 - ret = __intel_display_driver_resume(i915, state, &ctx); 759 + ret = __intel_display_driver_resume(display, state, &ctx); 768 760 769 761 skl_watermark_ipc_update(i915); 770 762 drm_modeset_drop_locks(&ctx); 771 763 drm_modeset_acquire_fini(&ctx); 772 764 773 765 if (ret) 774 - drm_err(&i915->drm, 766 + drm_err(display->drm, 775 767 "Restoring old state failed with %i\n", ret); 776 768 if (state) 777 769 drm_atomic_state_put(state);
+19 -19
drivers/gpu/drm/i915/display/intel_display_driver.h
··· 9 9 #include <linux/types.h> 10 10 11 11 struct drm_atomic_state; 12 - struct drm_i915_private; 13 12 struct drm_modeset_acquire_ctx; 13 + struct intel_display; 14 14 struct pci_dev; 15 15 16 16 bool intel_display_driver_probe_defer(struct pci_dev *pdev); 17 - void intel_display_driver_init_hw(struct drm_i915_private *i915); 18 - void intel_display_driver_early_probe(struct drm_i915_private *i915); 19 - int intel_display_driver_probe_noirq(struct drm_i915_private *i915); 20 - int intel_display_driver_probe_nogem(struct drm_i915_private *i915); 21 - int intel_display_driver_probe(struct drm_i915_private *i915); 22 - void intel_display_driver_register(struct drm_i915_private *i915); 23 - void intel_display_driver_remove(struct drm_i915_private *i915); 24 - void intel_display_driver_remove_noirq(struct drm_i915_private *i915); 25 - void intel_display_driver_remove_nogem(struct drm_i915_private *i915); 26 - void intel_display_driver_unregister(struct drm_i915_private *i915); 27 - int intel_display_driver_suspend(struct drm_i915_private *i915); 28 - void intel_display_driver_resume(struct drm_i915_private *i915); 17 + void intel_display_driver_init_hw(struct intel_display *display); 18 + void intel_display_driver_early_probe(struct intel_display *display); 19 + int intel_display_driver_probe_noirq(struct intel_display *display); 20 + int intel_display_driver_probe_nogem(struct intel_display *display); 21 + int intel_display_driver_probe(struct intel_display *display); 22 + void intel_display_driver_register(struct intel_display *display); 23 + void intel_display_driver_remove(struct intel_display *display); 24 + void intel_display_driver_remove_noirq(struct intel_display *display); 25 + void intel_display_driver_remove_nogem(struct intel_display *display); 26 + void intel_display_driver_unregister(struct intel_display *display); 27 + int intel_display_driver_suspend(struct intel_display *display); 28 + void intel_display_driver_resume(struct intel_display *display); 29 29 30 30 /* interface for intel_display_reset.c */ 31 - int __intel_display_driver_resume(struct drm_i915_private *i915, 31 + int __intel_display_driver_resume(struct intel_display *display, 32 32 struct drm_atomic_state *state, 33 33 struct drm_modeset_acquire_ctx *ctx); 34 34 35 - void intel_display_driver_enable_user_access(struct drm_i915_private *i915); 36 - void intel_display_driver_disable_user_access(struct drm_i915_private *i915); 37 - void intel_display_driver_suspend_access(struct drm_i915_private *i915); 38 - void intel_display_driver_resume_access(struct drm_i915_private *i915); 39 - bool intel_display_driver_check_access(struct drm_i915_private *i915); 35 + void intel_display_driver_enable_user_access(struct intel_display *display); 36 + void intel_display_driver_disable_user_access(struct intel_display *display); 37 + void intel_display_driver_suspend_access(struct intel_display *display); 38 + void intel_display_driver_resume_access(struct intel_display *display); 39 + bool intel_display_driver_check_access(struct intel_display *display); 40 40 41 41 #endif /* __INTEL_DISPLAY_DRIVER_H__ */ 42 42
+2 -2
drivers/gpu/drm/i915/display/intel_display_reset.c
··· 114 114 * so need a full re-initialization. 115 115 */ 116 116 intel_pps_unlock_regs_wa(display); 117 - intel_display_driver_init_hw(i915); 117 + intel_display_driver_init_hw(display); 118 118 intel_clock_gating_init(i915); 119 119 intel_hpd_init(i915); 120 120 121 - ret = __intel_display_driver_resume(i915, state, ctx); 121 + ret = __intel_display_driver_resume(display, state, ctx); 122 122 if (ret) 123 123 drm_err(&i915->drm, 124 124 "Restoring old state failed with %i\n", ret);
+3 -2
drivers/gpu/drm/i915/display/intel_dp.c
··· 5652 5652 if (!intel_display_device_enabled(display)) 5653 5653 return connector_status_disconnected; 5654 5654 5655 - if (!intel_display_driver_check_access(dev_priv)) 5655 + if (!intel_display_driver_check_access(display)) 5656 5656 return connector->status; 5657 5657 5658 5658 intel_dp_flush_connector_commits(intel_connector); ··· 5774 5774 static void 5775 5775 intel_dp_force(struct drm_connector *connector) 5776 5776 { 5777 + struct intel_display *display = to_intel_display(connector->dev); 5777 5778 struct intel_dp *intel_dp = intel_attached_dp(to_intel_connector(connector)); 5778 5779 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); 5779 5780 struct intel_encoder *intel_encoder = &dig_port->base; ··· 5783 5782 drm_dbg_kms(&dev_priv->drm, "[CONNECTOR:%d:%s]\n", 5784 5783 connector->base.id, connector->name); 5785 5784 5786 - if (!intel_display_driver_check_access(dev_priv)) 5785 + if (!intel_display_driver_check_access(display)) 5787 5786 return; 5788 5787 5789 5788 intel_dp_unset_edid(intel_dp);
+3 -4
drivers/gpu/drm/i915/display/intel_dp_mst.c
··· 1345 1345 1346 1346 static int mst_connector_get_ddc_modes(struct drm_connector *connector) 1347 1347 { 1348 + struct intel_display *display = to_intel_display(connector->dev); 1348 1349 struct intel_connector *intel_connector = to_intel_connector(connector); 1349 - struct drm_i915_private *i915 = to_i915(intel_connector->base.dev); 1350 1350 struct intel_dp *intel_dp = intel_connector->mst_port; 1351 1351 const struct drm_edid *drm_edid; 1352 1352 int ret; ··· 1354 1354 if (drm_connector_is_unregistered(connector)) 1355 1355 return intel_connector_update_modes(connector, NULL); 1356 1356 1357 - if (!intel_display_driver_check_access(i915)) 1357 + if (!intel_display_driver_check_access(display)) 1358 1358 return drm_edid_connector_add_modes(connector); 1359 1359 1360 1360 drm_edid = drm_dp_mst_edid_read(connector, &intel_dp->mst_mgr, intel_connector->port); ··· 1544 1544 struct drm_modeset_acquire_ctx *ctx, bool force) 1545 1545 { 1546 1546 struct intel_display *display = to_intel_display(connector->dev); 1547 - struct drm_i915_private *i915 = to_i915(connector->dev); 1548 1547 struct intel_connector *intel_connector = to_intel_connector(connector); 1549 1548 struct intel_dp *intel_dp = intel_connector->mst_port; 1550 1549 ··· 1553 1554 if (drm_connector_is_unregistered(connector)) 1554 1555 return connector_status_disconnected; 1555 1556 1556 - if (!intel_display_driver_check_access(i915)) 1557 + if (!intel_display_driver_check_access(display)) 1557 1558 return connector->status; 1558 1559 1559 1560 intel_dp_flush_connector_commits(intel_connector);
+3 -3
drivers/gpu/drm/i915/display/intel_dvo.c
··· 329 329 if (!intel_display_device_enabled(display)) 330 330 return connector_status_disconnected; 331 331 332 - if (!intel_display_driver_check_access(i915)) 332 + if (!intel_display_driver_check_access(display)) 333 333 return connector->base.status; 334 334 335 335 return intel_dvo->dev.dev_ops->detect(&intel_dvo->dev); ··· 337 337 338 338 static int intel_dvo_get_modes(struct drm_connector *_connector) 339 339 { 340 + struct intel_display *display = to_intel_display(_connector->dev); 340 341 struct intel_connector *connector = to_intel_connector(_connector); 341 - struct drm_i915_private *i915 = to_i915(connector->base.dev); 342 342 int num_modes; 343 343 344 - if (!intel_display_driver_check_access(i915)) 344 + if (!intel_display_driver_check_access(display)) 345 345 return drm_edid_connector_add_modes(&connector->base); 346 346 347 347 /*
+2 -3
drivers/gpu/drm/i915/display/intel_hdmi.c
··· 2557 2557 if (!intel_display_device_enabled(display)) 2558 2558 return connector_status_disconnected; 2559 2559 2560 - if (!intel_display_driver_check_access(dev_priv)) 2560 + if (!intel_display_driver_check_access(display)) 2561 2561 return connector->status; 2562 2562 2563 2563 wakeref = intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS); ··· 2584 2584 intel_hdmi_force(struct drm_connector *connector) 2585 2585 { 2586 2586 struct intel_display *display = to_intel_display(connector->dev); 2587 - struct drm_i915_private *i915 = to_i915(connector->dev); 2588 2587 2589 2588 drm_dbg_kms(display->drm, "[CONNECTOR:%d:%s]\n", 2590 2589 connector->base.id, connector->name); 2591 2590 2592 - if (!intel_display_driver_check_access(i915)) 2591 + if (!intel_display_driver_check_access(display)) 2593 2592 return; 2594 2593 2595 2594 intel_hdmi_unset_edid(connector);
+1 -2
drivers/gpu/drm/i915/display/intel_panel.c
··· 384 384 intel_panel_detect(struct drm_connector *connector, bool force) 385 385 { 386 386 struct intel_display *display = to_intel_display(connector->dev); 387 - struct drm_i915_private *i915 = to_i915(connector->dev); 388 387 389 388 if (!intel_display_device_enabled(display)) 390 389 return connector_status_disconnected; 391 390 392 - if (!intel_display_driver_check_access(i915)) 391 + if (!intel_display_driver_check_access(display)) 393 392 return connector->status; 394 393 395 394 return connector_status_connected;
+5 -4
drivers/gpu/drm/i915/display/intel_sdvo.c
··· 2149 2149 if (!intel_display_device_enabled(display)) 2150 2150 return connector_status_disconnected; 2151 2151 2152 - if (!intel_display_driver_check_access(i915)) 2152 + if (!intel_display_driver_check_access(display)) 2153 2153 return connector->status; 2154 2154 2155 2155 if (!intel_sdvo_set_target_output(intel_sdvo, ··· 2197 2197 2198 2198 static int intel_sdvo_get_ddc_modes(struct drm_connector *connector) 2199 2199 { 2200 - struct drm_i915_private *i915 = to_i915(connector->dev); 2200 + struct intel_display *display = to_intel_display(connector->dev); 2201 2201 int num_modes = 0; 2202 2202 const struct drm_edid *drm_edid; 2203 2203 2204 2204 drm_dbg_kms(connector->dev, "[CONNECTOR:%d:%s]\n", 2205 2205 connector->base.id, connector->name); 2206 2206 2207 - if (!intel_display_driver_check_access(i915)) 2207 + if (!intel_display_driver_check_access(display)) 2208 2208 return drm_edid_connector_add_modes(connector); 2209 2209 2210 2210 /* set the bus switch and get the modes */ ··· 2298 2298 2299 2299 static int intel_sdvo_get_tv_modes(struct drm_connector *connector) 2300 2300 { 2301 + struct intel_display *display = to_intel_display(connector->dev); 2301 2302 struct intel_sdvo *intel_sdvo = intel_attached_sdvo(to_intel_connector(connector)); 2302 2303 struct drm_i915_private *i915 = to_i915(intel_sdvo->base.base.dev); 2303 2304 struct intel_sdvo_connector *intel_sdvo_connector = ··· 2312 2311 drm_dbg_kms(&i915->drm, "[CONNECTOR:%d:%s]\n", 2313 2312 connector->base.id, connector->name); 2314 2313 2315 - if (!intel_display_driver_check_access(i915)) 2314 + if (!intel_display_driver_check_access(display)) 2316 2315 return 0; 2317 2316 2318 2317 /*
+1 -2
drivers/gpu/drm/i915/display/intel_tv.c
··· 1714 1714 bool force) 1715 1715 { 1716 1716 struct intel_display *display = to_intel_display(connector->dev); 1717 - struct drm_i915_private *i915 = to_i915(connector->dev); 1718 1717 struct intel_tv *intel_tv = intel_attached_tv(to_intel_connector(connector)); 1719 1718 enum drm_connector_status status; 1720 1719 int type; ··· 1724 1725 if (!intel_display_device_enabled(display)) 1725 1726 return connector_status_disconnected; 1726 1727 1727 - if (!intel_display_driver_check_access(i915)) 1728 + if (!intel_display_driver_check_access(display)) 1728 1729 return connector->status; 1729 1730 1730 1731 if (force) {
+26 -21
drivers/gpu/drm/i915/i915_driver.c
··· 220 220 */ 221 221 static int i915_driver_early_probe(struct drm_i915_private *dev_priv) 222 222 { 223 + struct intel_display *display = &dev_priv->display; 223 224 int ret = 0; 224 225 225 226 if (i915_inject_probe_failure(dev_priv)) ··· 264 263 intel_detect_pch(dev_priv); 265 264 266 265 intel_irq_init(dev_priv); 267 - intel_display_driver_early_probe(dev_priv); 266 + intel_display_driver_early_probe(display); 268 267 intel_clock_gating_hooks_init(dev_priv); 269 268 270 269 intel_detect_preproduction_hw(dev_priv); ··· 637 636 638 637 i915_hwmon_register(dev_priv); 639 638 640 - intel_display_driver_register(dev_priv); 639 + intel_display_driver_register(display); 641 640 642 641 intel_power_domains_enable(display); 643 642 intel_runtime_pm_enable(&dev_priv->runtime_pm); ··· 665 664 intel_runtime_pm_disable(&dev_priv->runtime_pm); 666 665 intel_power_domains_disable(display); 667 666 668 - intel_display_driver_unregister(dev_priv); 667 + intel_display_driver_unregister(display); 669 668 670 669 intel_pxp_fini(dev_priv); 671 670 ··· 761 760 int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent) 762 761 { 763 762 struct drm_i915_private *i915; 763 + struct intel_display *display; 764 764 int ret; 765 765 766 766 ret = pci_enable_device(pdev); ··· 775 773 pci_disable_device(pdev); 776 774 return PTR_ERR(i915); 777 775 } 776 + 777 + display = &i915->display; 778 778 779 779 ret = i915_driver_early_probe(i915); 780 780 if (ret < 0) ··· 798 794 if (ret < 0) 799 795 goto out_cleanup_mmio; 800 796 801 - ret = intel_display_driver_probe_noirq(i915); 797 + ret = intel_display_driver_probe_noirq(display); 802 798 if (ret < 0) 803 799 goto out_cleanup_hw; 804 800 ··· 806 802 if (ret) 807 803 goto out_cleanup_modeset; 808 804 809 - ret = intel_display_driver_probe_nogem(i915); 805 + ret = intel_display_driver_probe_nogem(display); 810 806 if (ret) 811 807 goto out_cleanup_irq; 812 808 ··· 818 814 if (ret && ret != -ENODEV) 819 815 drm_dbg(&i915->drm, "pxp init failed with %d\n", ret); 820 816 821 - ret = intel_display_driver_probe(i915); 817 + ret = intel_display_driver_probe(display); 822 818 if (ret) 823 819 goto out_cleanup_gem; 824 820 ··· 838 834 i915_gem_driver_release(i915); 839 835 out_cleanup_modeset2: 840 836 /* FIXME clean up the error path */ 841 - intel_display_driver_remove(i915); 837 + intel_display_driver_remove(display); 842 838 intel_irq_uninstall(i915); 843 - intel_display_driver_remove_noirq(i915); 839 + intel_display_driver_remove_noirq(display); 844 840 goto out_cleanup_modeset; 845 841 out_cleanup_irq: 846 842 intel_irq_uninstall(i915); 847 843 out_cleanup_modeset: 848 - intel_display_driver_remove_nogem(i915); 844 + intel_display_driver_remove_nogem(display); 849 845 out_cleanup_hw: 850 846 i915_driver_hw_remove(i915); 851 847 intel_memory_regions_driver_release(i915); ··· 865 861 866 862 void i915_driver_remove(struct drm_i915_private *i915) 867 863 { 864 + struct intel_display *display = &i915->display; 868 865 intel_wakeref_t wakeref; 869 866 870 867 wakeref = intel_runtime_pm_get(&i915->runtime_pm); ··· 879 874 880 875 intel_gvt_driver_remove(i915); 881 876 882 - intel_display_driver_remove(i915); 877 + intel_display_driver_remove(display); 883 878 884 879 intel_irq_uninstall(i915); 885 880 886 - intel_display_driver_remove_noirq(i915); 881 + intel_display_driver_remove_noirq(display); 887 882 888 883 i915_reset_error_state(i915); 889 884 i915_gem_driver_remove(i915); 890 885 891 - intel_display_driver_remove_nogem(i915); 886 + intel_display_driver_remove_nogem(display); 892 887 893 888 i915_driver_hw_remove(i915); 894 889 ··· 961 956 intel_fbdev_set_suspend(&i915->drm, FBINFO_STATE_SUSPENDED, true); 962 957 if (HAS_DISPLAY(i915)) { 963 958 drm_kms_helper_poll_disable(&i915->drm); 964 - intel_display_driver_disable_user_access(i915); 959 + intel_display_driver_disable_user_access(display); 965 960 966 961 drm_atomic_helper_shutdown(&i915->drm); 967 962 } ··· 972 967 intel_hpd_cancel_work(i915); 973 968 974 969 if (HAS_DISPLAY(i915)) 975 - intel_display_driver_suspend_access(i915); 970 + intel_display_driver_suspend_access(display); 976 971 977 972 intel_encoder_suspend_all(&i915->display); 978 973 intel_encoder_shutdown_all(&i915->display); ··· 1044 1039 intel_fbdev_set_suspend(dev, FBINFO_STATE_SUSPENDED, true); 1045 1040 if (HAS_DISPLAY(dev_priv)) { 1046 1041 drm_kms_helper_poll_disable(dev); 1047 - intel_display_driver_disable_user_access(dev_priv); 1042 + intel_display_driver_disable_user_access(display); 1048 1043 } 1049 1044 1050 1045 pci_save_state(pdev); 1051 1046 1052 - intel_display_driver_suspend(dev_priv); 1047 + intel_display_driver_suspend(display); 1053 1048 1054 1049 intel_irq_suspend(dev_priv); 1055 1050 intel_hpd_cancel_work(dev_priv); 1056 1051 1057 1052 if (HAS_DISPLAY(dev_priv)) 1058 - intel_display_driver_suspend_access(dev_priv); 1053 + intel_display_driver_suspend_access(display); 1059 1054 1060 1055 intel_encoder_suspend_all(&dev_priv->display); 1061 1056 ··· 1208 1203 1209 1204 i915_gem_resume(dev_priv); 1210 1205 1211 - intel_display_driver_init_hw(dev_priv); 1206 + intel_display_driver_init_hw(display); 1212 1207 1213 1208 intel_clock_gating_init(dev_priv); 1214 1209 1215 1210 if (HAS_DISPLAY(dev_priv)) 1216 - intel_display_driver_resume_access(dev_priv); 1211 + intel_display_driver_resume_access(display); 1217 1212 1218 1213 intel_hpd_init(dev_priv); 1219 1214 1220 - intel_display_driver_resume(dev_priv); 1215 + intel_display_driver_resume(display); 1221 1216 1222 1217 if (HAS_DISPLAY(dev_priv)) { 1223 - intel_display_driver_enable_user_access(dev_priv); 1218 + intel_display_driver_enable_user_access(display); 1224 1219 drm_kms_helper_poll_enable(dev); 1225 1220 } 1226 1221 intel_hpd_poll_disable(dev_priv);
+25 -19
drivers/gpu/drm/xe/display/xe_display.c
··· 134 134 if (!xe->info.probe_display) 135 135 return; 136 136 137 - intel_display_driver_remove_noirq(xe); 137 + intel_display_driver_remove_noirq(display); 138 138 intel_opregion_cleanup(display); 139 139 } 140 140 ··· 146 146 if (!xe->info.probe_display) 147 147 return 0; 148 148 149 - intel_display_driver_early_probe(xe); 149 + intel_display_driver_early_probe(display); 150 150 151 151 /* Early display init.. */ 152 152 intel_opregion_setup(display); ··· 161 161 162 162 intel_display_device_info_runtime_init(display); 163 163 164 - err = intel_display_driver_probe_noirq(xe); 164 + err = intel_display_driver_probe_noirq(display); 165 165 if (err) { 166 166 intel_opregion_cleanup(display); 167 167 return err; ··· 173 173 static void xe_display_fini_noaccel(void *arg) 174 174 { 175 175 struct xe_device *xe = arg; 176 + struct intel_display *display = &xe->display; 176 177 177 178 if (!xe->info.probe_display) 178 179 return; 179 180 180 - intel_display_driver_remove_nogem(xe); 181 + intel_display_driver_remove_nogem(display); 181 182 } 182 183 183 184 int xe_display_init_noaccel(struct xe_device *xe) 184 185 { 186 + struct intel_display *display = &xe->display; 185 187 int err; 186 188 187 189 if (!xe->info.probe_display) 188 190 return 0; 189 191 190 - err = intel_display_driver_probe_nogem(xe); 192 + err = intel_display_driver_probe_nogem(display); 191 193 if (err) 192 194 return err; 193 195 ··· 198 196 199 197 int xe_display_init(struct xe_device *xe) 200 198 { 199 + struct intel_display *display = &xe->display; 200 + 201 201 if (!xe->info.probe_display) 202 202 return 0; 203 203 204 - return intel_display_driver_probe(xe); 204 + return intel_display_driver_probe(display); 205 205 } 206 206 207 207 void xe_display_fini(struct xe_device *xe) ··· 226 222 if (!xe->info.probe_display) 227 223 return; 228 224 229 - intel_display_driver_register(xe); 225 + intel_display_driver_register(display); 230 226 intel_power_domains_enable(display); 231 227 intel_register_dsm_handler(); 232 228 } ··· 240 236 241 237 intel_unregister_dsm_handler(); 242 238 intel_power_domains_disable(display); 243 - intel_display_driver_unregister(xe); 239 + intel_display_driver_unregister(display); 244 240 } 245 241 246 242 void xe_display_driver_remove(struct xe_device *xe) 247 243 { 244 + struct intel_display *display = &xe->display; 245 + 248 246 if (!xe->info.probe_display) 249 247 return; 250 248 251 - intel_display_driver_remove(xe); 249 + intel_display_driver_remove(display); 252 250 } 253 251 254 252 /* IRQ-related functions */ ··· 340 334 341 335 if (!runtime && has_display(xe)) { 342 336 drm_kms_helper_poll_disable(&xe->drm); 343 - intel_display_driver_disable_user_access(xe); 344 - intel_display_driver_suspend(xe); 337 + intel_display_driver_disable_user_access(display); 338 + intel_display_driver_suspend(display); 345 339 } 346 340 347 341 xe_display_flush_cleanup_work(xe); ··· 349 343 intel_hpd_cancel_work(xe); 350 344 351 345 if (!runtime && has_display(xe)) { 352 - intel_display_driver_suspend_access(xe); 346 + intel_display_driver_suspend_access(display); 353 347 intel_encoder_suspend_all(&xe->display); 354 348 } 355 349 ··· 374 368 intel_fbdev_set_suspend(&xe->drm, FBINFO_STATE_SUSPENDED, true); 375 369 if (has_display(xe)) { 376 370 drm_kms_helper_poll_disable(&xe->drm); 377 - intel_display_driver_disable_user_access(xe); 378 - intel_display_driver_suspend(xe); 371 + intel_display_driver_disable_user_access(display); 372 + intel_display_driver_suspend(display); 379 373 } 380 374 381 375 xe_display_flush_cleanup_work(xe); ··· 383 377 intel_hpd_cancel_work(xe); 384 378 385 379 if (has_display(xe)) 386 - intel_display_driver_suspend_access(xe); 380 + intel_display_driver_suspend_access(display); 387 381 388 382 intel_encoder_suspend_all(display); 389 383 intel_encoder_shutdown_all(display); ··· 470 464 if (has_display(xe)) 471 465 drm_mode_config_reset(&xe->drm); 472 466 473 - intel_display_driver_init_hw(xe); 467 + intel_display_driver_init_hw(display); 474 468 475 469 if (!runtime && has_display(xe)) 476 - intel_display_driver_resume_access(xe); 470 + intel_display_driver_resume_access(display); 477 471 478 472 intel_hpd_init(xe); 479 473 480 474 if (!runtime && has_display(xe)) { 481 - intel_display_driver_resume(xe); 475 + intel_display_driver_resume(display); 482 476 drm_kms_helper_poll_enable(&xe->drm); 483 - intel_display_driver_enable_user_access(xe); 477 + intel_display_driver_enable_user_access(display); 484 478 intel_hpd_poll_disable(xe); 485 479 } 486 480