diff mbox series

[v3,1/4] drm/i915/display: remove drm_device aliases

Message ID 20221006204844.2831303-1-andrzej.hajda@intel.com (mailing list archive)
State New, archived
Headers show
Series [v3,1/4] drm/i915/display: remove drm_device aliases | expand

Commit Message

Andrzej Hajda Oct. 6, 2022, 8:48 p.m. UTC
drm_device pointers are unwelcome.

Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
---
 drivers/gpu/drm/i915/display/icl_dsi.c        |  9 ++--
 drivers/gpu/drm/i915/display/intel_display.c  |  9 ++--
 .../drm/i915/display/intel_display_debugfs.c  | 51 ++++++++-----------
 .../drm/i915/display/intel_display_power.c    |  3 +-
 drivers/gpu/drm/i915/display/intel_dp.c       |  7 ++-
 drivers/gpu/drm/i915/display/intel_hotplug.c  | 28 +++++-----
 .../gpu/drm/i915/display/intel_lpe_audio.c    |  5 +-
 drivers/gpu/drm/i915/display/intel_lvds.c     | 11 ++--
 drivers/gpu/drm/i915/display/intel_opregion.c |  7 ++-
 drivers/gpu/drm/i915/display/intel_pipe_crc.c |  9 ++--
 drivers/gpu/drm/i915/display/intel_psr.c      |  5 +-
 drivers/gpu/drm/i915/display/intel_tv.c       |  5 +-
 drivers/gpu/drm/i915/display/vlv_dsi.c        |  9 ++--
 drivers/gpu/drm/i915/i915_driver.c            | 17 +++----
 drivers/gpu/drm/i915/i915_irq.c               |  3 +-
 15 files changed, 74 insertions(+), 104 deletions(-)

Comments

Andi Shyti Oct. 10, 2022, 2:31 p.m. UTC | #1
On Thu, Oct 06, 2022 at 10:48:44PM +0200, Andrzej Hajda wrote:
> drm_device pointers are unwelcome.
> 
> Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>

Acked-by: Andi Shyti <andi.shyti@linux.intel.com>

To me both versions were good...

Jani, Ville, could you please check on this patch?

Andi

> ---
>  drivers/gpu/drm/i915/display/icl_dsi.c        |  9 ++--
>  drivers/gpu/drm/i915/display/intel_display.c  |  9 ++--
>  .../drm/i915/display/intel_display_debugfs.c  | 51 ++++++++-----------
>  .../drm/i915/display/intel_display_power.c    |  3 +-
>  drivers/gpu/drm/i915/display/intel_dp.c       |  7 ++-
>  drivers/gpu/drm/i915/display/intel_hotplug.c  | 28 +++++-----
>  .../gpu/drm/i915/display/intel_lpe_audio.c    |  5 +-
>  drivers/gpu/drm/i915/display/intel_lvds.c     | 11 ++--
>  drivers/gpu/drm/i915/display/intel_opregion.c |  7 ++-
>  drivers/gpu/drm/i915/display/intel_pipe_crc.c |  9 ++--
>  drivers/gpu/drm/i915/display/intel_psr.c      |  5 +-
>  drivers/gpu/drm/i915/display/intel_tv.c       |  5 +-
>  drivers/gpu/drm/i915/display/vlv_dsi.c        |  9 ++--
>  drivers/gpu/drm/i915/i915_driver.c            | 17 +++----
>  drivers/gpu/drm/i915/i915_irq.c               |  3 +-
>  15 files changed, 74 insertions(+), 104 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
> index 47f13750f6fa66..e05e7cd6c4123a 100644
> --- a/drivers/gpu/drm/i915/display/icl_dsi.c
> +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
> @@ -1985,7 +1985,6 @@ static void icl_dsi_add_properties(struct intel_connector *connector)
>  
>  void icl_dsi_init(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct intel_dsi *intel_dsi;
>  	struct intel_encoder *encoder;
>  	struct intel_connector *intel_connector;
> @@ -2010,7 +2009,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>  	connector = &intel_connector->base;
>  
>  	/* register DSI encoder with DRM subsystem */
> -	drm_encoder_init(dev, &encoder->base, &gen11_dsi_encoder_funcs,
> +	drm_encoder_init(&dev_priv->drm, &encoder->base, &gen11_dsi_encoder_funcs,
>  			 DRM_MODE_ENCODER_DSI, "DSI %c", port_name(port));
>  
>  	encoder->pre_pll_enable = gen11_dsi_pre_pll_enable;
> @@ -2034,7 +2033,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>  	encoder->is_clock_enabled = gen11_dsi_is_clock_enabled;
>  
>  	/* register DSI connector with DRM subsystem */
> -	drm_connector_init(dev, connector, &gen11_dsi_connector_funcs,
> +	drm_connector_init(&dev_priv->drm, connector, &gen11_dsi_connector_funcs,
>  			   DRM_MODE_CONNECTOR_DSI);
>  	drm_connector_helper_add(connector, &gen11_dsi_connector_helper_funcs);
>  	connector->display_info.subpixel_order = SubPixelHorizontalRGB;
> @@ -2045,9 +2044,9 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>  
>  	intel_bios_init_panel(dev_priv, &intel_connector->panel, NULL, NULL);
>  
> -	mutex_lock(&dev->mode_config.mutex);
> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>  	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
> -	mutex_unlock(&dev->mode_config.mutex);
> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>  
>  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>  		drm_err(&dev_priv->drm, "DSI fixed mode info missing\n");
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 8c3bd9ba0d7481..67e35a8e3db481 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -878,7 +878,6 @@ static bool gpu_reset_clobbers_display(struct drm_i915_private *dev_priv)
>  
>  void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct drm_modeset_acquire_ctx *ctx = &dev_priv->reset_ctx;
>  	struct drm_atomic_state *state;
>  	int ret;
> @@ -906,10 +905,10 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>  	 * Need mode_config.mutex so that we don't
>  	 * trample ongoing ->detect() and whatnot.
>  	 */
> -	mutex_lock(&dev->mode_config.mutex);
> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>  	drm_modeset_acquire_init(ctx, 0);
>  	while (1) {
> -		ret = drm_modeset_lock_all_ctx(dev, ctx);
> +		ret = drm_modeset_lock_all_ctx(&dev_priv->drm, ctx);
>  		if (ret != -EDEADLK)
>  			break;
>  
> @@ -919,7 +918,7 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>  	 * Disabling the crtcs gracefully seems nicer. Also the
>  	 * g33 docs say we should at least disable all the planes.
>  	 */
> -	state = drm_atomic_helper_duplicate_state(dev, ctx);
> +	state = drm_atomic_helper_duplicate_state(&dev_priv->drm, ctx);
>  	if (IS_ERR(state)) {
>  		ret = PTR_ERR(state);
>  		drm_err(&dev_priv->drm, "Duplicating state failed with %i\n",
> @@ -927,7 +926,7 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>  		return;
>  	}
>  
> -	ret = drm_atomic_helper_disable_all(dev, ctx);
> +	ret = drm_atomic_helper_disable_all(&dev_priv->drm, ctx);
>  	if (ret) {
>  		drm_err(&dev_priv->drm, "Suspending crtc's failed with %i\n",
>  			ret);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> index 372a5b427e4fbd..cfc056a05bbf17 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> @@ -128,7 +128,6 @@ static int i915_vbt(struct seq_file *m, void *unused)
>  static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>  {
>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct intel_framebuffer *fbdev_fb = NULL;
>  	struct drm_framebuffer *drm_fb;
>  
> @@ -147,8 +146,8 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>  	}
>  #endif
>  
> -	mutex_lock(&dev->mode_config.fb_lock);
> -	drm_for_each_fb(drm_fb, dev) {
> +	mutex_lock(&dev_priv->drm.mode_config.fb_lock);
> +	drm_for_each_fb(drm_fb, &dev_priv->drm) {
>  		struct intel_framebuffer *fb = to_intel_framebuffer(drm_fb);
>  		if (fb == fbdev_fb)
>  			continue;
> @@ -163,7 +162,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>  		i915_debugfs_describe_obj(m, intel_fb_obj(&fb->base));
>  		seq_putc(m, '\n');
>  	}
> -	mutex_unlock(&dev->mode_config.fb_lock);
> +	mutex_unlock(&dev_priv->drm.mode_config.fb_lock);
>  
>  	return 0;
>  }
> @@ -898,7 +897,6 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc)
>  static int i915_display_info(struct seq_file *m, void *unused)
>  {
>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct intel_crtc *crtc;
>  	struct drm_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
> @@ -906,22 +904,22 @@ static int i915_display_info(struct seq_file *m, void *unused)
>  
>  	wakeref = intel_runtime_pm_get(&dev_priv->runtime_pm);
>  
> -	drm_modeset_lock_all(dev);
> +	drm_modeset_lock_all(&dev_priv->drm);
>  
>  	seq_printf(m, "CRTC info\n");
>  	seq_printf(m, "---------\n");
> -	for_each_intel_crtc(dev, crtc)
> +	for_each_intel_crtc(&dev_priv->drm, crtc)
>  		intel_crtc_info(m, crtc);
>  
>  	seq_printf(m, "\n");
>  	seq_printf(m, "Connector info\n");
>  	seq_printf(m, "--------------\n");
> -	drm_connector_list_iter_begin(dev, &conn_iter);
> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	drm_for_each_connector_iter(connector, &conn_iter)
>  		intel_connector_info(m, connector);
>  	drm_connector_list_iter_end(&conn_iter);
>  
> -	drm_modeset_unlock_all(dev);
> +	drm_modeset_unlock_all(&dev_priv->drm);
>  
>  	intel_runtime_pm_put(&dev_priv->runtime_pm, wakeref);
>  
> @@ -931,10 +929,9 @@ static int i915_display_info(struct seq_file *m, void *unused)
>  static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>  {
>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> -	struct drm_device *dev = &dev_priv->drm;
>  	int i;
>  
> -	drm_modeset_lock_all(dev);
> +	drm_modeset_lock_all(&dev_priv->drm);
>  
>  	seq_printf(m, "PLL refclks: non-SSC: %d kHz, SSC: %d kHz\n",
>  		   dev_priv->display.dpll.ref_clks.nssc,
> @@ -979,7 +976,7 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>  		seq_printf(m, " mg_pll_tdc_coldst_bias: 0x%08x\n",
>  			   pll->state.hw_state.mg_pll_tdc_coldst_bias);
>  	}
> -	drm_modeset_unlock_all(dev);
> +	drm_modeset_unlock_all(&dev_priv->drm);
>  
>  	return 0;
>  }
> @@ -987,14 +984,13 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>  static int i915_ddb_info(struct seq_file *m, void *unused)
>  {
>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct skl_ddb_entry *entry;
>  	struct intel_crtc *crtc;
>  
>  	if (DISPLAY_VER(dev_priv) < 9)
>  		return -ENODEV;
>  
> -	drm_modeset_lock_all(dev);
> +	drm_modeset_lock_all(&dev_priv->drm);
>  
>  	seq_printf(m, "%-15s%8s%8s%8s\n", "", "Start", "End", "Size");
>  
> @@ -1018,7 +1014,7 @@ static int i915_ddb_info(struct seq_file *m, void *unused)
>  			   entry->end, skl_ddb_entry_size(entry));
>  	}
>  
> -	drm_modeset_unlock_all(dev);
> +	drm_modeset_unlock_all(&dev_priv->drm);
>  
>  	return 0;
>  }
> @@ -1062,13 +1058,12 @@ static int i915_lpsp_status(struct seq_file *m, void *unused)
>  static int i915_dp_mst_info(struct seq_file *m, void *unused)
>  {
>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct intel_encoder *intel_encoder;
>  	struct intel_digital_port *dig_port;
>  	struct drm_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
>  
> -	drm_connector_list_iter_begin(dev, &conn_iter);
> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	drm_for_each_connector_iter(connector, &conn_iter) {
>  		if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort)
>  			continue;
> @@ -1155,12 +1150,11 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
>  static int i915_displayport_test_active_show(struct seq_file *m, void *data)
>  {
>  	struct drm_i915_private *dev_priv = m->private;
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct drm_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
>  	struct intel_dp *intel_dp;
>  
> -	drm_connector_list_iter_begin(dev, &conn_iter);
> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	drm_for_each_connector_iter(connector, &conn_iter) {
>  		struct intel_encoder *encoder;
>  
> @@ -1205,12 +1199,11 @@ static const struct file_operations i915_displayport_test_active_fops = {
>  static int i915_displayport_test_data_show(struct seq_file *m, void *data)
>  {
>  	struct drm_i915_private *dev_priv = m->private;
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct drm_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
>  	struct intel_dp *intel_dp;
>  
> -	drm_connector_list_iter_begin(dev, &conn_iter);
> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	drm_for_each_connector_iter(connector, &conn_iter) {
>  		struct intel_encoder *encoder;
>  
> @@ -1259,12 +1252,11 @@ DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_data);
>  static int i915_displayport_test_type_show(struct seq_file *m, void *data)
>  {
>  	struct drm_i915_private *dev_priv = m->private;
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct drm_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
>  	struct intel_dp *intel_dp;
>  
> -	drm_connector_list_iter_begin(dev, &conn_iter);
> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	drm_for_each_connector_iter(connector, &conn_iter) {
>  		struct intel_encoder *encoder;
>  
> @@ -1291,7 +1283,6 @@ DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_type);
>  static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>  {
>  	struct drm_i915_private *dev_priv = m->private;
> -	struct drm_device *dev = &dev_priv->drm;
>  	int level;
>  	int num_levels;
>  
> @@ -1304,7 +1295,7 @@ static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>  	else
>  		num_levels = ilk_wm_max_level(dev_priv) + 1;
>  
> -	drm_modeset_lock_all(dev);
> +	drm_modeset_lock_all(&dev_priv->drm);
>  
>  	for (level = 0; level < num_levels; level++) {
>  		unsigned int latency = wm[level];
> @@ -1325,7 +1316,7 @@ static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>  			   level, wm[level], latency / 10, latency % 10);
>  	}
>  
> -	drm_modeset_unlock_all(dev);
> +	drm_modeset_unlock_all(&dev_priv->drm);
>  }
>  
>  static int pri_wm_latency_show(struct seq_file *m, void *data)
> @@ -1408,7 +1399,6 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
>  {
>  	struct seq_file *m = file->private_data;
>  	struct drm_i915_private *dev_priv = m->private;
> -	struct drm_device *dev = &dev_priv->drm;
>  	u16 new[8] = { 0 };
>  	int num_levels;
>  	int level;
> @@ -1438,12 +1428,12 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
>  	if (ret != num_levels)
>  		return -EINVAL;
>  
> -	drm_modeset_lock_all(dev);
> +	drm_modeset_lock_all(&dev_priv->drm);
>  
>  	for (level = 0; level < num_levels; level++)
>  		wm[level] = new[level];
>  
> -	drm_modeset_unlock_all(dev);
> +	drm_modeset_unlock_all(&dev_priv->drm);
>  
>  	return len;
>  }
> @@ -1528,7 +1518,6 @@ i915_fifo_underrun_reset_write(struct file *filp,
>  {
>  	struct drm_i915_private *dev_priv = filp->private_data;
>  	struct intel_crtc *crtc;
> -	struct drm_device *dev = &dev_priv->drm;
>  	int ret;
>  	bool reset;
>  
> @@ -1539,7 +1528,7 @@ i915_fifo_underrun_reset_write(struct file *filp,
>  	if (!reset)
>  		return cnt;
>  
> -	for_each_intel_crtc(dev, crtc) {
> +	for_each_intel_crtc(&dev_priv->drm, crtc) {
>  		struct drm_crtc_commit *commit;
>  		struct intel_crtc_state *crtc_state;
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> index 1e608b9e505593..4c1de91e56ff9d 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -1148,10 +1148,9 @@ static void hsw_assert_cdclk(struct drm_i915_private *dev_priv)
>  
>  static void assert_can_disable_lcpll(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct intel_crtc *crtc;
>  
> -	for_each_intel_crtc(dev, crtc)
> +	for_each_intel_crtc(&dev_priv->drm, crtc)
>  		I915_STATE_WARN(crtc->active, "CRTC for pipe %c enabled\n",
>  				pipe_name(crtc->pipe));
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> index 70b06806ec0d90..a060903891b201 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -5229,7 +5229,6 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>  				     struct intel_connector *intel_connector)
>  {
>  	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct drm_connector *connector = &intel_connector->base;
>  	struct drm_display_mode *fixed_mode;
>  	struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
> @@ -5246,7 +5245,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>  	 * with an already powered-on LVDS power sequencer.
>  	 */
>  	if (intel_get_lvds_encoder(dev_priv)) {
> -		drm_WARN_ON(dev,
> +		drm_WARN_ON(&dev_priv->drm,
>  			    !(HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)));
>  		drm_info(&dev_priv->drm,
>  			 "LVDS was detected, not registering eDP\n");
> @@ -5267,7 +5266,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>  		goto out_vdd_off;
>  	}
>  
> -	mutex_lock(&dev->mode_config.mutex);
> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>  	edid = drm_get_edid(connector, &intel_dp->aux.ddc);
>  	if (!edid) {
>  		/* Fallback to EDID from ACPI OpRegion, if any */
> @@ -5305,7 +5304,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>  	if (!intel_panel_preferred_fixed_mode(intel_connector))
>  		intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
>  
> -	mutex_unlock(&dev->mode_config.mutex);
> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>  
>  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>  		drm_info(&dev_priv->drm,
> diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
> index 352a1b53b63ed6..907ab7526cb478 100644
> --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
> +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
> @@ -178,14 +178,13 @@ static bool intel_hpd_irq_storm_detect(struct drm_i915_private *dev_priv,
>  static void
>  intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct drm_connector_list_iter conn_iter;
>  	struct intel_connector *connector;
>  	bool hpd_disabled = false;
>  
>  	lockdep_assert_held(&dev_priv->irq_lock);
>  
> -	drm_connector_list_iter_begin(dev, &conn_iter);
> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	for_each_intel_connector_iter(connector, &conn_iter) {
>  		enum hpd_pin pin;
>  
> @@ -211,7 +210,7 @@ intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
>  
>  	/* Enable polling and queue hotplug re-enabling. */
>  	if (hpd_disabled) {
> -		drm_kms_helper_poll_enable(dev);
> +		drm_kms_helper_poll_enable(&dev_priv->drm);
>  		mod_delayed_work(system_wq, &dev_priv->display.hotplug.reenable_work,
>  				 msecs_to_jiffies(HPD_STORM_REENABLE_DELAY));
>  	}
> @@ -222,7 +221,6 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
>  	struct drm_i915_private *dev_priv =
>  		container_of(work, typeof(*dev_priv),
>  			     display.hotplug.reenable_work.work);
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct drm_connector_list_iter conn_iter;
>  	struct intel_connector *connector;
>  	intel_wakeref_t wakeref;
> @@ -232,7 +230,7 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
>  
>  	spin_lock_irq(&dev_priv->irq_lock);
>  
> -	drm_connector_list_iter_begin(dev, &conn_iter);
> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	for_each_intel_connector_iter(connector, &conn_iter) {
>  		pin = intel_connector_hpd_pin(connector);
>  		if (pin == HPD_NONE ||
> @@ -370,14 +368,13 @@ static void i915_hotplug_work_func(struct work_struct *work)
>  	struct drm_i915_private *dev_priv =
>  		container_of(work, struct drm_i915_private,
>  			     display.hotplug.hotplug_work.work);
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct drm_connector_list_iter conn_iter;
>  	struct intel_connector *connector;
>  	u32 changed = 0, retry = 0;
>  	u32 hpd_event_bits;
>  	u32 hpd_retry_bits;
>  
> -	mutex_lock(&dev->mode_config.mutex);
> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>  	drm_dbg_kms(&dev_priv->drm, "running encoder hotplug functions\n");
>  
>  	spin_lock_irq(&dev_priv->irq_lock);
> @@ -392,7 +389,7 @@ static void i915_hotplug_work_func(struct work_struct *work)
>  
>  	spin_unlock_irq(&dev_priv->irq_lock);
>  
> -	drm_connector_list_iter_begin(dev, &conn_iter);
> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	for_each_intel_connector_iter(connector, &conn_iter) {
>  		enum hpd_pin pin;
>  		u32 hpd_bit;
> @@ -429,10 +426,10 @@ static void i915_hotplug_work_func(struct work_struct *work)
>  		}
>  	}
>  	drm_connector_list_iter_end(&conn_iter);
> -	mutex_unlock(&dev->mode_config.mutex);
> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>  
>  	if (changed)
> -		drm_kms_helper_hotplug_event(dev);
> +		drm_kms_helper_hotplug_event(&dev_priv->drm);
>  
>  	/* Remove shared HPD pins that have changed */
>  	retry &= ~changed;
> @@ -615,16 +612,15 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
>  	struct drm_i915_private *dev_priv =
>  		container_of(work, struct drm_i915_private,
>  			     display.hotplug.poll_init_work);
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct drm_connector_list_iter conn_iter;
>  	struct intel_connector *connector;
>  	bool enabled;
>  
> -	mutex_lock(&dev->mode_config.mutex);
> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>  
>  	enabled = READ_ONCE(dev_priv->display.hotplug.poll_enabled);
>  
> -	drm_connector_list_iter_begin(dev, &conn_iter);
> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	for_each_intel_connector_iter(connector, &conn_iter) {
>  		enum hpd_pin pin;
>  
> @@ -641,16 +637,16 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
>  	drm_connector_list_iter_end(&conn_iter);
>  
>  	if (enabled)
> -		drm_kms_helper_poll_enable(dev);
> +		drm_kms_helper_poll_enable(&dev_priv->drm);
>  
> -	mutex_unlock(&dev->mode_config.mutex);
> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>  
>  	/*
>  	 * We might have missed any hotplugs that happened while we were
>  	 * in the middle of disabling polling
>  	 */
>  	if (!enabled)
> -		drm_helper_hpd_irq_event(dev);
> +		drm_helper_hpd_irq_event(&dev_priv->drm);
>  }
>  
>  /**
> diff --git a/drivers/gpu/drm/i915/display/intel_lpe_audio.c b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
> index dca6003ccac80f..6a7ac60e4f7667 100644
> --- a/drivers/gpu/drm/i915/display/intel_lpe_audio.c
> +++ b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
> @@ -80,8 +80,7 @@
>  static struct platform_device *
>  lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
> -	struct pci_dev *pdev = to_pci_dev(dev->dev);
> +	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
>  	struct platform_device_info pinfo = {};
>  	struct resource *rsc;
>  	struct platform_device *platdev;
> @@ -108,7 +107,7 @@ lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
>  	rsc[1].flags    = IORESOURCE_MEM;
>  	rsc[1].name     = "hdmi-lpe-audio-mmio";
>  
> -	pinfo.parent = dev->dev;
> +	pinfo.parent = dev_priv->drm.dev;
>  	pinfo.name = "hdmi-lpe-audio";
>  	pinfo.id = -1;
>  	pinfo.res = rsc;
> diff --git a/drivers/gpu/drm/i915/display/intel_lvds.c b/drivers/gpu/drm/i915/display/intel_lvds.c
> index e97e24f690a9f8..246787bbf5ef0a 100644
> --- a/drivers/gpu/drm/i915/display/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/display/intel_lvds.c
> @@ -828,7 +828,6 @@ static void intel_lvds_add_properties(struct drm_connector *connector)
>   */
>  void intel_lvds_init(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct intel_lvds_encoder *lvds_encoder;
>  	struct intel_encoder *intel_encoder;
>  	struct intel_connector *intel_connector;
> @@ -841,7 +840,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>  
>  	/* Skip init on machines we know falsely report LVDS */
>  	if (dmi_check_system(intel_no_lvds)) {
> -		drm_WARN(dev, !dev_priv->display.vbt.int_lvds_support,
> +		drm_WARN(&dev_priv->drm, !dev_priv->display.vbt.int_lvds_support,
>  			 "Useless DMI match. Internal LVDS support disabled by VBT\n");
>  		return;
>  	}
> @@ -890,10 +889,10 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>  	intel_encoder = &lvds_encoder->base;
>  	encoder = &intel_encoder->base;
>  	connector = &intel_connector->base;
> -	drm_connector_init(dev, &intel_connector->base, &intel_lvds_connector_funcs,
> +	drm_connector_init(&dev_priv->drm, &intel_connector->base, &intel_lvds_connector_funcs,
>  			   DRM_MODE_CONNECTOR_LVDS);
>  
> -	drm_encoder_init(dev, &intel_encoder->base, &intel_lvds_enc_funcs,
> +	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_lvds_enc_funcs,
>  			 DRM_MODE_ENCODER_LVDS, "LVDS");
>  
>  	intel_encoder->enable = intel_enable_lvds;
> @@ -944,7 +943,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>  	 * Attempt to get the fixed panel mode from DDC.  Assume that the
>  	 * preferred mode is the right one.
>  	 */
> -	mutex_lock(&dev->mode_config.mutex);
> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>  	if (vga_switcheroo_handler_flags() & VGA_SWITCHEROO_CAN_SWITCH_DDC)
>  		edid = drm_get_edid_switcheroo(connector,
>  				    intel_gmbus_get_adapter(dev_priv, pin));
> @@ -982,7 +981,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>  	if (!intel_panel_preferred_fixed_mode(intel_connector))
>  		intel_panel_add_encoder_fixed_mode(intel_connector, intel_encoder);
>  
> -	mutex_unlock(&dev->mode_config.mutex);
> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>  
>  	/* If we still don't have a mode after all that, give up. */
>  	if (!intel_panel_preferred_fixed_mode(intel_connector))
> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> index caa07ef34f21ef..e0184745632c07 100644
> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> @@ -463,7 +463,6 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>  	struct intel_connector *connector;
>  	struct drm_connector_list_iter conn_iter;
>  	struct opregion_asle *asle = dev_priv->display.opregion.asle;
> -	struct drm_device *dev = &dev_priv->drm;
>  
>  	drm_dbg(&dev_priv->drm, "bclp = 0x%08x\n", bclp);
>  
> @@ -480,7 +479,7 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>  	if (bclp > 255)
>  		return ASLC_BACKLIGHT_FAILED;
>  
> -	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
> +	drm_modeset_lock(&dev_priv->drm.mode_config.connection_mutex, NULL);
>  
>  	/*
>  	 * Update backlight on all connectors that support backlight (usually
> @@ -488,13 +487,13 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>  	 */
>  	drm_dbg_kms(&dev_priv->drm, "updating opregion backlight %d/255\n",
>  		    bclp);
> -	drm_connector_list_iter_begin(dev, &conn_iter);
> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	for_each_intel_connector_iter(connector, &conn_iter)
>  		intel_backlight_set_acpi(connector->base.state, bclp, 255);
>  	drm_connector_list_iter_end(&conn_iter);
>  	asle->cblv = DIV_ROUND_UP(bclp * 100, 255) | ASLE_CBLV_VALID;
>  
> -	drm_modeset_unlock(&dev->mode_config.connection_mutex);
> +	drm_modeset_unlock(&dev_priv->drm.mode_config.connection_mutex);
>  
>  
>  	return 0;
> diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> index 8ac263f471bee1..1c74388c60d7bd 100644
> --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> @@ -75,7 +75,6 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>  				     enum pipe pipe,
>  				     enum intel_pipe_crc_source *source)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct intel_encoder *encoder;
>  	struct intel_crtc *crtc;
>  	struct intel_digital_port *dig_port;
> @@ -83,8 +82,8 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>  
>  	*source = INTEL_PIPE_CRC_SOURCE_PIPE;
>  
> -	drm_modeset_lock_all(dev);
> -	for_each_intel_encoder(dev, encoder) {
> +	drm_modeset_lock_all(&dev_priv->drm);
> +	for_each_intel_encoder(&dev_priv->drm, encoder) {
>  		if (!encoder->base.crtc)
>  			continue;
>  
> @@ -111,7 +110,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>  				*source = INTEL_PIPE_CRC_SOURCE_DP_D;
>  				break;
>  			default:
> -				drm_WARN(dev, 1, "nonexisting DP port %c\n",
> +				drm_WARN(&dev_priv->drm, 1, "nonexisting DP port %c\n",
>  					 port_name(dig_port->base.port));
>  				break;
>  			}
> @@ -120,7 +119,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>  			break;
>  		}
>  	}
> -	drm_modeset_unlock_all(dev);
> +	drm_modeset_unlock_all(&dev_priv->drm);
>  
>  	return ret;
>  }
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index 16cf17b1e9d998..904a1049eff39a 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -2063,13 +2063,12 @@ static bool __psr_wait_for_idle_locked(struct intel_dp *intel_dp)
>  static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
>  {
>  	struct drm_connector_list_iter conn_iter;
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct drm_modeset_acquire_ctx ctx;
>  	struct drm_atomic_state *state;
>  	struct drm_connector *conn;
>  	int err = 0;
>  
> -	state = drm_atomic_state_alloc(dev);
> +	state = drm_atomic_state_alloc(&dev_priv->drm);
>  	if (!state)
>  		return -ENOMEM;
>  
> @@ -2078,7 +2077,7 @@ static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
>  
>  retry:
>  
> -	drm_connector_list_iter_begin(dev, &conn_iter);
> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>  	drm_for_each_connector_iter(conn, &conn_iter) {
>  		struct drm_connector_state *conn_state;
>  		struct drm_crtc_state *crtc_state;
> diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c
> index b2e93c2ad8f32d..cf7d5c1ab4069b 100644
> --- a/drivers/gpu/drm/i915/display/intel_tv.c
> +++ b/drivers/gpu/drm/i915/display/intel_tv.c
> @@ -1925,7 +1925,6 @@ static void intel_tv_add_properties(struct drm_connector *connector)
>  void
>  intel_tv_init(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct drm_connector *connector;
>  	struct intel_tv *intel_tv;
>  	struct intel_encoder *intel_encoder;
> @@ -1989,10 +1988,10 @@ intel_tv_init(struct drm_i915_private *dev_priv)
>  	 */
>  	intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT;
>  
> -	drm_connector_init(dev, connector, &intel_tv_connector_funcs,
> +	drm_connector_init(&dev_priv->drm, connector, &intel_tv_connector_funcs,
>  			   DRM_MODE_CONNECTOR_SVIDEO);
>  
> -	drm_encoder_init(dev, &intel_encoder->base, &intel_tv_enc_funcs,
> +	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_tv_enc_funcs,
>  			 DRM_MODE_ENCODER_TVDAC, "TV");
>  
>  	intel_encoder->compute_config = intel_tv_compute_config;
> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
> index dee0147a316ce7..5a741ea4505f7e 100644
> --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
> +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
> @@ -1845,7 +1845,6 @@ static void vlv_dphy_param_init(struct intel_dsi *intel_dsi)
>  
>  void vlv_dsi_init(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct intel_dsi *intel_dsi;
>  	struct intel_encoder *intel_encoder;
>  	struct drm_encoder *encoder;
> @@ -1882,7 +1881,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>  
>  	connector = &intel_connector->base;
>  
> -	drm_encoder_init(dev, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
> +	drm_encoder_init(&dev_priv->drm, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
>  			 "DSI %c", port_name(port));
>  
>  	intel_encoder->compute_config = intel_dsi_compute_config;
> @@ -1965,7 +1964,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>  	intel_dsi_vbt_gpio_init(intel_dsi,
>  				intel_dsi_get_hw_state(intel_encoder, &pipe));
>  
> -	drm_connector_init(dev, connector, &intel_dsi_connector_funcs,
> +	drm_connector_init(&dev_priv->drm, connector, &intel_dsi_connector_funcs,
>  			   DRM_MODE_CONNECTOR_DSI);
>  
>  	drm_connector_helper_add(connector, &intel_dsi_connector_helper_funcs);
> @@ -1974,9 +1973,9 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>  
>  	intel_connector_attach_encoder(intel_connector, intel_encoder);
>  
> -	mutex_lock(&dev->mode_config.mutex);
> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>  	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
> -	mutex_unlock(&dev->mode_config.mutex);
> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>  
>  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>  		drm_dbg_kms(&dev_priv->drm, "no fixed mode\n");
> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
> index fb3826dabe8b6b..f934ba37f0194f 100644
> --- a/drivers/gpu/drm/i915/i915_driver.c
> +++ b/drivers/gpu/drm/i915/i915_driver.c
> @@ -739,7 +739,6 @@ static void i915_driver_hw_remove(struct drm_i915_private *dev_priv)
>   */
>  static void i915_driver_register(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct intel_gt *gt;
>  	unsigned int i;
>  
> @@ -749,7 +748,7 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
>  	intel_vgpu_register(dev_priv);
>  
>  	/* Reveal our presence to userspace */
> -	if (drm_dev_register(dev, 0)) {
> +	if (drm_dev_register(&dev_priv->drm, 0)) {
>  		drm_err(&dev_priv->drm,
>  			"Failed to register driver for userspace access!\n");
>  		return;
> @@ -1093,32 +1092,30 @@ static void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)
>  
>  static void intel_suspend_encoders(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct intel_encoder *encoder;
>  
>  	if (!HAS_DISPLAY(dev_priv))
>  		return;
>  
> -	drm_modeset_lock_all(dev);
> -	for_each_intel_encoder(dev, encoder)
> +	drm_modeset_lock_all(&dev_priv->drm);
> +	for_each_intel_encoder(&dev_priv->drm, encoder)
>  		if (encoder->suspend)
>  			encoder->suspend(encoder);
> -	drm_modeset_unlock_all(dev);
> +	drm_modeset_unlock_all(&dev_priv->drm);
>  }
>  
>  static void intel_shutdown_encoders(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	struct intel_encoder *encoder;
>  
>  	if (!HAS_DISPLAY(dev_priv))
>  		return;
>  
> -	drm_modeset_lock_all(dev);
> -	for_each_intel_encoder(dev, encoder)
> +	drm_modeset_lock_all(&dev_priv->drm);
> +	for_each_intel_encoder(&dev_priv->drm, encoder)
>  		if (encoder->shutdown)
>  			encoder->shutdown(encoder);
> -	drm_modeset_unlock_all(dev);
> +	drm_modeset_unlock_all(&dev_priv->drm);
>  }
>  
>  void i915_driver_shutdown(struct drm_i915_private *i915)
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 87cb05b3b6ceab..72f4278d2d0ba1 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -4384,7 +4384,6 @@ void intel_hpd_irq_setup(struct drm_i915_private *i915)
>   */
>  void intel_irq_init(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_device *dev = &dev_priv->drm;
>  	int i;
>  
>  	INIT_WORK(&dev_priv->l3_parity.error_work, ivb_parity_work);
> @@ -4402,7 +4401,7 @@ void intel_irq_init(struct drm_i915_private *dev_priv)
>  
>  	intel_hpd_init_early(dev_priv);
>  
> -	dev->vblank_disable_immediate = true;
> +	dev_priv->drm.vblank_disable_immediate = true;
>  
>  	/* Most platforms treat the display irq block as an always-on
>  	 * power domain. vlv/chv can disable it at runtime and need
> -- 
> 2.34.1
Jani Nikula Oct. 10, 2022, 3:22 p.m. UTC | #2
On Mon, 10 Oct 2022, Andi Shyti <andi.shyti@linux.intel.com> wrote:
> On Thu, Oct 06, 2022 at 10:48:44PM +0200, Andrzej Hajda wrote:
>> drm_device pointers are unwelcome.
>> 
>> Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
>
> Acked-by: Andi Shyti <andi.shyti@linux.intel.com>
>
> To me both versions were good...
>
> Jani, Ville, could you please check on this patch?

Acked-by: Jani Nikula <jani.nikula@intel.com>

>
> Andi
>
>> ---
>>  drivers/gpu/drm/i915/display/icl_dsi.c        |  9 ++--
>>  drivers/gpu/drm/i915/display/intel_display.c  |  9 ++--
>>  .../drm/i915/display/intel_display_debugfs.c  | 51 ++++++++-----------
>>  .../drm/i915/display/intel_display_power.c    |  3 +-
>>  drivers/gpu/drm/i915/display/intel_dp.c       |  7 ++-
>>  drivers/gpu/drm/i915/display/intel_hotplug.c  | 28 +++++-----
>>  .../gpu/drm/i915/display/intel_lpe_audio.c    |  5 +-
>>  drivers/gpu/drm/i915/display/intel_lvds.c     | 11 ++--
>>  drivers/gpu/drm/i915/display/intel_opregion.c |  7 ++-
>>  drivers/gpu/drm/i915/display/intel_pipe_crc.c |  9 ++--
>>  drivers/gpu/drm/i915/display/intel_psr.c      |  5 +-
>>  drivers/gpu/drm/i915/display/intel_tv.c       |  5 +-
>>  drivers/gpu/drm/i915/display/vlv_dsi.c        |  9 ++--
>>  drivers/gpu/drm/i915/i915_driver.c            | 17 +++----
>>  drivers/gpu/drm/i915/i915_irq.c               |  3 +-
>>  15 files changed, 74 insertions(+), 104 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
>> index 47f13750f6fa66..e05e7cd6c4123a 100644
>> --- a/drivers/gpu/drm/i915/display/icl_dsi.c
>> +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
>> @@ -1985,7 +1985,6 @@ static void icl_dsi_add_properties(struct intel_connector *connector)
>>  
>>  void icl_dsi_init(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct intel_dsi *intel_dsi;
>>  	struct intel_encoder *encoder;
>>  	struct intel_connector *intel_connector;
>> @@ -2010,7 +2009,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>>  	connector = &intel_connector->base;
>>  
>>  	/* register DSI encoder with DRM subsystem */
>> -	drm_encoder_init(dev, &encoder->base, &gen11_dsi_encoder_funcs,
>> +	drm_encoder_init(&dev_priv->drm, &encoder->base, &gen11_dsi_encoder_funcs,
>>  			 DRM_MODE_ENCODER_DSI, "DSI %c", port_name(port));
>>  
>>  	encoder->pre_pll_enable = gen11_dsi_pre_pll_enable;
>> @@ -2034,7 +2033,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>>  	encoder->is_clock_enabled = gen11_dsi_is_clock_enabled;
>>  
>>  	/* register DSI connector with DRM subsystem */
>> -	drm_connector_init(dev, connector, &gen11_dsi_connector_funcs,
>> +	drm_connector_init(&dev_priv->drm, connector, &gen11_dsi_connector_funcs,
>>  			   DRM_MODE_CONNECTOR_DSI);
>>  	drm_connector_helper_add(connector, &gen11_dsi_connector_helper_funcs);
>>  	connector->display_info.subpixel_order = SubPixelHorizontalRGB;
>> @@ -2045,9 +2044,9 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>>  
>>  	intel_bios_init_panel(dev_priv, &intel_connector->panel, NULL, NULL);
>>  
>> -	mutex_lock(&dev->mode_config.mutex);
>> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>  	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
>> -	mutex_unlock(&dev->mode_config.mutex);
>> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>  
>>  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>>  		drm_err(&dev_priv->drm, "DSI fixed mode info missing\n");
>> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>> index 8c3bd9ba0d7481..67e35a8e3db481 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display.c
>> @@ -878,7 +878,6 @@ static bool gpu_reset_clobbers_display(struct drm_i915_private *dev_priv)
>>  
>>  void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct drm_modeset_acquire_ctx *ctx = &dev_priv->reset_ctx;
>>  	struct drm_atomic_state *state;
>>  	int ret;
>> @@ -906,10 +905,10 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>>  	 * Need mode_config.mutex so that we don't
>>  	 * trample ongoing ->detect() and whatnot.
>>  	 */
>> -	mutex_lock(&dev->mode_config.mutex);
>> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>  	drm_modeset_acquire_init(ctx, 0);
>>  	while (1) {
>> -		ret = drm_modeset_lock_all_ctx(dev, ctx);
>> +		ret = drm_modeset_lock_all_ctx(&dev_priv->drm, ctx);
>>  		if (ret != -EDEADLK)
>>  			break;
>>  
>> @@ -919,7 +918,7 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>>  	 * Disabling the crtcs gracefully seems nicer. Also the
>>  	 * g33 docs say we should at least disable all the planes.
>>  	 */
>> -	state = drm_atomic_helper_duplicate_state(dev, ctx);
>> +	state = drm_atomic_helper_duplicate_state(&dev_priv->drm, ctx);
>>  	if (IS_ERR(state)) {
>>  		ret = PTR_ERR(state);
>>  		drm_err(&dev_priv->drm, "Duplicating state failed with %i\n",
>> @@ -927,7 +926,7 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>>  		return;
>>  	}
>>  
>> -	ret = drm_atomic_helper_disable_all(dev, ctx);
>> +	ret = drm_atomic_helper_disable_all(&dev_priv->drm, ctx);
>>  	if (ret) {
>>  		drm_err(&dev_priv->drm, "Suspending crtc's failed with %i\n",
>>  			ret);
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>> index 372a5b427e4fbd..cfc056a05bbf17 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>> @@ -128,7 +128,6 @@ static int i915_vbt(struct seq_file *m, void *unused)
>>  static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>>  {
>>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct intel_framebuffer *fbdev_fb = NULL;
>>  	struct drm_framebuffer *drm_fb;
>>  
>> @@ -147,8 +146,8 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>>  	}
>>  #endif
>>  
>> -	mutex_lock(&dev->mode_config.fb_lock);
>> -	drm_for_each_fb(drm_fb, dev) {
>> +	mutex_lock(&dev_priv->drm.mode_config.fb_lock);
>> +	drm_for_each_fb(drm_fb, &dev_priv->drm) {
>>  		struct intel_framebuffer *fb = to_intel_framebuffer(drm_fb);
>>  		if (fb == fbdev_fb)
>>  			continue;
>> @@ -163,7 +162,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>>  		i915_debugfs_describe_obj(m, intel_fb_obj(&fb->base));
>>  		seq_putc(m, '\n');
>>  	}
>> -	mutex_unlock(&dev->mode_config.fb_lock);
>> +	mutex_unlock(&dev_priv->drm.mode_config.fb_lock);
>>  
>>  	return 0;
>>  }
>> @@ -898,7 +897,6 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc)
>>  static int i915_display_info(struct seq_file *m, void *unused)
>>  {
>>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct intel_crtc *crtc;
>>  	struct drm_connector *connector;
>>  	struct drm_connector_list_iter conn_iter;
>> @@ -906,22 +904,22 @@ static int i915_display_info(struct seq_file *m, void *unused)
>>  
>>  	wakeref = intel_runtime_pm_get(&dev_priv->runtime_pm);
>>  
>> -	drm_modeset_lock_all(dev);
>> +	drm_modeset_lock_all(&dev_priv->drm);
>>  
>>  	seq_printf(m, "CRTC info\n");
>>  	seq_printf(m, "---------\n");
>> -	for_each_intel_crtc(dev, crtc)
>> +	for_each_intel_crtc(&dev_priv->drm, crtc)
>>  		intel_crtc_info(m, crtc);
>>  
>>  	seq_printf(m, "\n");
>>  	seq_printf(m, "Connector info\n");
>>  	seq_printf(m, "--------------\n");
>> -	drm_connector_list_iter_begin(dev, &conn_iter);
>> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>  	drm_for_each_connector_iter(connector, &conn_iter)
>>  		intel_connector_info(m, connector);
>>  	drm_connector_list_iter_end(&conn_iter);
>>  
>> -	drm_modeset_unlock_all(dev);
>> +	drm_modeset_unlock_all(&dev_priv->drm);
>>  
>>  	intel_runtime_pm_put(&dev_priv->runtime_pm, wakeref);
>>  
>> @@ -931,10 +929,9 @@ static int i915_display_info(struct seq_file *m, void *unused)
>>  static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>>  {
>>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	int i;
>>  
>> -	drm_modeset_lock_all(dev);
>> +	drm_modeset_lock_all(&dev_priv->drm);
>>  
>>  	seq_printf(m, "PLL refclks: non-SSC: %d kHz, SSC: %d kHz\n",
>>  		   dev_priv->display.dpll.ref_clks.nssc,
>> @@ -979,7 +976,7 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>>  		seq_printf(m, " mg_pll_tdc_coldst_bias: 0x%08x\n",
>>  			   pll->state.hw_state.mg_pll_tdc_coldst_bias);
>>  	}
>> -	drm_modeset_unlock_all(dev);
>> +	drm_modeset_unlock_all(&dev_priv->drm);
>>  
>>  	return 0;
>>  }
>> @@ -987,14 +984,13 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>>  static int i915_ddb_info(struct seq_file *m, void *unused)
>>  {
>>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct skl_ddb_entry *entry;
>>  	struct intel_crtc *crtc;
>>  
>>  	if (DISPLAY_VER(dev_priv) < 9)
>>  		return -ENODEV;
>>  
>> -	drm_modeset_lock_all(dev);
>> +	drm_modeset_lock_all(&dev_priv->drm);
>>  
>>  	seq_printf(m, "%-15s%8s%8s%8s\n", "", "Start", "End", "Size");
>>  
>> @@ -1018,7 +1014,7 @@ static int i915_ddb_info(struct seq_file *m, void *unused)
>>  			   entry->end, skl_ddb_entry_size(entry));
>>  	}
>>  
>> -	drm_modeset_unlock_all(dev);
>> +	drm_modeset_unlock_all(&dev_priv->drm);
>>  
>>  	return 0;
>>  }
>> @@ -1062,13 +1058,12 @@ static int i915_lpsp_status(struct seq_file *m, void *unused)
>>  static int i915_dp_mst_info(struct seq_file *m, void *unused)
>>  {
>>  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct intel_encoder *intel_encoder;
>>  	struct intel_digital_port *dig_port;
>>  	struct drm_connector *connector;
>>  	struct drm_connector_list_iter conn_iter;
>>  
>> -	drm_connector_list_iter_begin(dev, &conn_iter);
>> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>  	drm_for_each_connector_iter(connector, &conn_iter) {
>>  		if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort)
>>  			continue;
>> @@ -1155,12 +1150,11 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
>>  static int i915_displayport_test_active_show(struct seq_file *m, void *data)
>>  {
>>  	struct drm_i915_private *dev_priv = m->private;
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct drm_connector *connector;
>>  	struct drm_connector_list_iter conn_iter;
>>  	struct intel_dp *intel_dp;
>>  
>> -	drm_connector_list_iter_begin(dev, &conn_iter);
>> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>  	drm_for_each_connector_iter(connector, &conn_iter) {
>>  		struct intel_encoder *encoder;
>>  
>> @@ -1205,12 +1199,11 @@ static const struct file_operations i915_displayport_test_active_fops = {
>>  static int i915_displayport_test_data_show(struct seq_file *m, void *data)
>>  {
>>  	struct drm_i915_private *dev_priv = m->private;
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct drm_connector *connector;
>>  	struct drm_connector_list_iter conn_iter;
>>  	struct intel_dp *intel_dp;
>>  
>> -	drm_connector_list_iter_begin(dev, &conn_iter);
>> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>  	drm_for_each_connector_iter(connector, &conn_iter) {
>>  		struct intel_encoder *encoder;
>>  
>> @@ -1259,12 +1252,11 @@ DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_data);
>>  static int i915_displayport_test_type_show(struct seq_file *m, void *data)
>>  {
>>  	struct drm_i915_private *dev_priv = m->private;
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct drm_connector *connector;
>>  	struct drm_connector_list_iter conn_iter;
>>  	struct intel_dp *intel_dp;
>>  
>> -	drm_connector_list_iter_begin(dev, &conn_iter);
>> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>  	drm_for_each_connector_iter(connector, &conn_iter) {
>>  		struct intel_encoder *encoder;
>>  
>> @@ -1291,7 +1283,6 @@ DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_type);
>>  static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>>  {
>>  	struct drm_i915_private *dev_priv = m->private;
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	int level;
>>  	int num_levels;
>>  
>> @@ -1304,7 +1295,7 @@ static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>>  	else
>>  		num_levels = ilk_wm_max_level(dev_priv) + 1;
>>  
>> -	drm_modeset_lock_all(dev);
>> +	drm_modeset_lock_all(&dev_priv->drm);
>>  
>>  	for (level = 0; level < num_levels; level++) {
>>  		unsigned int latency = wm[level];
>> @@ -1325,7 +1316,7 @@ static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>>  			   level, wm[level], latency / 10, latency % 10);
>>  	}
>>  
>> -	drm_modeset_unlock_all(dev);
>> +	drm_modeset_unlock_all(&dev_priv->drm);
>>  }
>>  
>>  static int pri_wm_latency_show(struct seq_file *m, void *data)
>> @@ -1408,7 +1399,6 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
>>  {
>>  	struct seq_file *m = file->private_data;
>>  	struct drm_i915_private *dev_priv = m->private;
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	u16 new[8] = { 0 };
>>  	int num_levels;
>>  	int level;
>> @@ -1438,12 +1428,12 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
>>  	if (ret != num_levels)
>>  		return -EINVAL;
>>  
>> -	drm_modeset_lock_all(dev);
>> +	drm_modeset_lock_all(&dev_priv->drm);
>>  
>>  	for (level = 0; level < num_levels; level++)
>>  		wm[level] = new[level];
>>  
>> -	drm_modeset_unlock_all(dev);
>> +	drm_modeset_unlock_all(&dev_priv->drm);
>>  
>>  	return len;
>>  }
>> @@ -1528,7 +1518,6 @@ i915_fifo_underrun_reset_write(struct file *filp,
>>  {
>>  	struct drm_i915_private *dev_priv = filp->private_data;
>>  	struct intel_crtc *crtc;
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	int ret;
>>  	bool reset;
>>  
>> @@ -1539,7 +1528,7 @@ i915_fifo_underrun_reset_write(struct file *filp,
>>  	if (!reset)
>>  		return cnt;
>>  
>> -	for_each_intel_crtc(dev, crtc) {
>> +	for_each_intel_crtc(&dev_priv->drm, crtc) {
>>  		struct drm_crtc_commit *commit;
>>  		struct intel_crtc_state *crtc_state;
>>  
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
>> index 1e608b9e505593..4c1de91e56ff9d 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
>> @@ -1148,10 +1148,9 @@ static void hsw_assert_cdclk(struct drm_i915_private *dev_priv)
>>  
>>  static void assert_can_disable_lcpll(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct intel_crtc *crtc;
>>  
>> -	for_each_intel_crtc(dev, crtc)
>> +	for_each_intel_crtc(&dev_priv->drm, crtc)
>>  		I915_STATE_WARN(crtc->active, "CRTC for pipe %c enabled\n",
>>  				pipe_name(crtc->pipe));
>>  
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>> index 70b06806ec0d90..a060903891b201 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>> @@ -5229,7 +5229,6 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>>  				     struct intel_connector *intel_connector)
>>  {
>>  	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct drm_connector *connector = &intel_connector->base;
>>  	struct drm_display_mode *fixed_mode;
>>  	struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
>> @@ -5246,7 +5245,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>>  	 * with an already powered-on LVDS power sequencer.
>>  	 */
>>  	if (intel_get_lvds_encoder(dev_priv)) {
>> -		drm_WARN_ON(dev,
>> +		drm_WARN_ON(&dev_priv->drm,
>>  			    !(HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)));
>>  		drm_info(&dev_priv->drm,
>>  			 "LVDS was detected, not registering eDP\n");
>> @@ -5267,7 +5266,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>>  		goto out_vdd_off;
>>  	}
>>  
>> -	mutex_lock(&dev->mode_config.mutex);
>> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>  	edid = drm_get_edid(connector, &intel_dp->aux.ddc);
>>  	if (!edid) {
>>  		/* Fallback to EDID from ACPI OpRegion, if any */
>> @@ -5305,7 +5304,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>>  	if (!intel_panel_preferred_fixed_mode(intel_connector))
>>  		intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
>>  
>> -	mutex_unlock(&dev->mode_config.mutex);
>> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>  
>>  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>>  		drm_info(&dev_priv->drm,
>> diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
>> index 352a1b53b63ed6..907ab7526cb478 100644
>> --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
>> +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
>> @@ -178,14 +178,13 @@ static bool intel_hpd_irq_storm_detect(struct drm_i915_private *dev_priv,
>>  static void
>>  intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct drm_connector_list_iter conn_iter;
>>  	struct intel_connector *connector;
>>  	bool hpd_disabled = false;
>>  
>>  	lockdep_assert_held(&dev_priv->irq_lock);
>>  
>> -	drm_connector_list_iter_begin(dev, &conn_iter);
>> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>  	for_each_intel_connector_iter(connector, &conn_iter) {
>>  		enum hpd_pin pin;
>>  
>> @@ -211,7 +210,7 @@ intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
>>  
>>  	/* Enable polling and queue hotplug re-enabling. */
>>  	if (hpd_disabled) {
>> -		drm_kms_helper_poll_enable(dev);
>> +		drm_kms_helper_poll_enable(&dev_priv->drm);
>>  		mod_delayed_work(system_wq, &dev_priv->display.hotplug.reenable_work,
>>  				 msecs_to_jiffies(HPD_STORM_REENABLE_DELAY));
>>  	}
>> @@ -222,7 +221,6 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
>>  	struct drm_i915_private *dev_priv =
>>  		container_of(work, typeof(*dev_priv),
>>  			     display.hotplug.reenable_work.work);
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct drm_connector_list_iter conn_iter;
>>  	struct intel_connector *connector;
>>  	intel_wakeref_t wakeref;
>> @@ -232,7 +230,7 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
>>  
>>  	spin_lock_irq(&dev_priv->irq_lock);
>>  
>> -	drm_connector_list_iter_begin(dev, &conn_iter);
>> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>  	for_each_intel_connector_iter(connector, &conn_iter) {
>>  		pin = intel_connector_hpd_pin(connector);
>>  		if (pin == HPD_NONE ||
>> @@ -370,14 +368,13 @@ static void i915_hotplug_work_func(struct work_struct *work)
>>  	struct drm_i915_private *dev_priv =
>>  		container_of(work, struct drm_i915_private,
>>  			     display.hotplug.hotplug_work.work);
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct drm_connector_list_iter conn_iter;
>>  	struct intel_connector *connector;
>>  	u32 changed = 0, retry = 0;
>>  	u32 hpd_event_bits;
>>  	u32 hpd_retry_bits;
>>  
>> -	mutex_lock(&dev->mode_config.mutex);
>> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>  	drm_dbg_kms(&dev_priv->drm, "running encoder hotplug functions\n");
>>  
>>  	spin_lock_irq(&dev_priv->irq_lock);
>> @@ -392,7 +389,7 @@ static void i915_hotplug_work_func(struct work_struct *work)
>>  
>>  	spin_unlock_irq(&dev_priv->irq_lock);
>>  
>> -	drm_connector_list_iter_begin(dev, &conn_iter);
>> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>  	for_each_intel_connector_iter(connector, &conn_iter) {
>>  		enum hpd_pin pin;
>>  		u32 hpd_bit;
>> @@ -429,10 +426,10 @@ static void i915_hotplug_work_func(struct work_struct *work)
>>  		}
>>  	}
>>  	drm_connector_list_iter_end(&conn_iter);
>> -	mutex_unlock(&dev->mode_config.mutex);
>> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>  
>>  	if (changed)
>> -		drm_kms_helper_hotplug_event(dev);
>> +		drm_kms_helper_hotplug_event(&dev_priv->drm);
>>  
>>  	/* Remove shared HPD pins that have changed */
>>  	retry &= ~changed;
>> @@ -615,16 +612,15 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
>>  	struct drm_i915_private *dev_priv =
>>  		container_of(work, struct drm_i915_private,
>>  			     display.hotplug.poll_init_work);
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct drm_connector_list_iter conn_iter;
>>  	struct intel_connector *connector;
>>  	bool enabled;
>>  
>> -	mutex_lock(&dev->mode_config.mutex);
>> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>  
>>  	enabled = READ_ONCE(dev_priv->display.hotplug.poll_enabled);
>>  
>> -	drm_connector_list_iter_begin(dev, &conn_iter);
>> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>  	for_each_intel_connector_iter(connector, &conn_iter) {
>>  		enum hpd_pin pin;
>>  
>> @@ -641,16 +637,16 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
>>  	drm_connector_list_iter_end(&conn_iter);
>>  
>>  	if (enabled)
>> -		drm_kms_helper_poll_enable(dev);
>> +		drm_kms_helper_poll_enable(&dev_priv->drm);
>>  
>> -	mutex_unlock(&dev->mode_config.mutex);
>> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>  
>>  	/*
>>  	 * We might have missed any hotplugs that happened while we were
>>  	 * in the middle of disabling polling
>>  	 */
>>  	if (!enabled)
>> -		drm_helper_hpd_irq_event(dev);
>> +		drm_helper_hpd_irq_event(&dev_priv->drm);
>>  }
>>  
>>  /**
>> diff --git a/drivers/gpu/drm/i915/display/intel_lpe_audio.c b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
>> index dca6003ccac80f..6a7ac60e4f7667 100644
>> --- a/drivers/gpu/drm/i915/display/intel_lpe_audio.c
>> +++ b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
>> @@ -80,8 +80,7 @@
>>  static struct platform_device *
>>  lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>> -	struct pci_dev *pdev = to_pci_dev(dev->dev);
>> +	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
>>  	struct platform_device_info pinfo = {};
>>  	struct resource *rsc;
>>  	struct platform_device *platdev;
>> @@ -108,7 +107,7 @@ lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
>>  	rsc[1].flags    = IORESOURCE_MEM;
>>  	rsc[1].name     = "hdmi-lpe-audio-mmio";
>>  
>> -	pinfo.parent = dev->dev;
>> +	pinfo.parent = dev_priv->drm.dev;
>>  	pinfo.name = "hdmi-lpe-audio";
>>  	pinfo.id = -1;
>>  	pinfo.res = rsc;
>> diff --git a/drivers/gpu/drm/i915/display/intel_lvds.c b/drivers/gpu/drm/i915/display/intel_lvds.c
>> index e97e24f690a9f8..246787bbf5ef0a 100644
>> --- a/drivers/gpu/drm/i915/display/intel_lvds.c
>> +++ b/drivers/gpu/drm/i915/display/intel_lvds.c
>> @@ -828,7 +828,6 @@ static void intel_lvds_add_properties(struct drm_connector *connector)
>>   */
>>  void intel_lvds_init(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct intel_lvds_encoder *lvds_encoder;
>>  	struct intel_encoder *intel_encoder;
>>  	struct intel_connector *intel_connector;
>> @@ -841,7 +840,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>>  
>>  	/* Skip init on machines we know falsely report LVDS */
>>  	if (dmi_check_system(intel_no_lvds)) {
>> -		drm_WARN(dev, !dev_priv->display.vbt.int_lvds_support,
>> +		drm_WARN(&dev_priv->drm, !dev_priv->display.vbt.int_lvds_support,
>>  			 "Useless DMI match. Internal LVDS support disabled by VBT\n");
>>  		return;
>>  	}
>> @@ -890,10 +889,10 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>>  	intel_encoder = &lvds_encoder->base;
>>  	encoder = &intel_encoder->base;
>>  	connector = &intel_connector->base;
>> -	drm_connector_init(dev, &intel_connector->base, &intel_lvds_connector_funcs,
>> +	drm_connector_init(&dev_priv->drm, &intel_connector->base, &intel_lvds_connector_funcs,
>>  			   DRM_MODE_CONNECTOR_LVDS);
>>  
>> -	drm_encoder_init(dev, &intel_encoder->base, &intel_lvds_enc_funcs,
>> +	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_lvds_enc_funcs,
>>  			 DRM_MODE_ENCODER_LVDS, "LVDS");
>>  
>>  	intel_encoder->enable = intel_enable_lvds;
>> @@ -944,7 +943,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>>  	 * Attempt to get the fixed panel mode from DDC.  Assume that the
>>  	 * preferred mode is the right one.
>>  	 */
>> -	mutex_lock(&dev->mode_config.mutex);
>> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>  	if (vga_switcheroo_handler_flags() & VGA_SWITCHEROO_CAN_SWITCH_DDC)
>>  		edid = drm_get_edid_switcheroo(connector,
>>  				    intel_gmbus_get_adapter(dev_priv, pin));
>> @@ -982,7 +981,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>>  	if (!intel_panel_preferred_fixed_mode(intel_connector))
>>  		intel_panel_add_encoder_fixed_mode(intel_connector, intel_encoder);
>>  
>> -	mutex_unlock(&dev->mode_config.mutex);
>> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>  
>>  	/* If we still don't have a mode after all that, give up. */
>>  	if (!intel_panel_preferred_fixed_mode(intel_connector))
>> diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
>> index caa07ef34f21ef..e0184745632c07 100644
>> --- a/drivers/gpu/drm/i915/display/intel_opregion.c
>> +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
>> @@ -463,7 +463,6 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>>  	struct intel_connector *connector;
>>  	struct drm_connector_list_iter conn_iter;
>>  	struct opregion_asle *asle = dev_priv->display.opregion.asle;
>> -	struct drm_device *dev = &dev_priv->drm;
>>  
>>  	drm_dbg(&dev_priv->drm, "bclp = 0x%08x\n", bclp);
>>  
>> @@ -480,7 +479,7 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>>  	if (bclp > 255)
>>  		return ASLC_BACKLIGHT_FAILED;
>>  
>> -	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
>> +	drm_modeset_lock(&dev_priv->drm.mode_config.connection_mutex, NULL);
>>  
>>  	/*
>>  	 * Update backlight on all connectors that support backlight (usually
>> @@ -488,13 +487,13 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>>  	 */
>>  	drm_dbg_kms(&dev_priv->drm, "updating opregion backlight %d/255\n",
>>  		    bclp);
>> -	drm_connector_list_iter_begin(dev, &conn_iter);
>> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>  	for_each_intel_connector_iter(connector, &conn_iter)
>>  		intel_backlight_set_acpi(connector->base.state, bclp, 255);
>>  	drm_connector_list_iter_end(&conn_iter);
>>  	asle->cblv = DIV_ROUND_UP(bclp * 100, 255) | ASLE_CBLV_VALID;
>>  
>> -	drm_modeset_unlock(&dev->mode_config.connection_mutex);
>> +	drm_modeset_unlock(&dev_priv->drm.mode_config.connection_mutex);
>>  
>>  
>>  	return 0;
>> diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>> index 8ac263f471bee1..1c74388c60d7bd 100644
>> --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>> +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>> @@ -75,7 +75,6 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>>  				     enum pipe pipe,
>>  				     enum intel_pipe_crc_source *source)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct intel_encoder *encoder;
>>  	struct intel_crtc *crtc;
>>  	struct intel_digital_port *dig_port;
>> @@ -83,8 +82,8 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>>  
>>  	*source = INTEL_PIPE_CRC_SOURCE_PIPE;
>>  
>> -	drm_modeset_lock_all(dev);
>> -	for_each_intel_encoder(dev, encoder) {
>> +	drm_modeset_lock_all(&dev_priv->drm);
>> +	for_each_intel_encoder(&dev_priv->drm, encoder) {
>>  		if (!encoder->base.crtc)
>>  			continue;
>>  
>> @@ -111,7 +110,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>>  				*source = INTEL_PIPE_CRC_SOURCE_DP_D;
>>  				break;
>>  			default:
>> -				drm_WARN(dev, 1, "nonexisting DP port %c\n",
>> +				drm_WARN(&dev_priv->drm, 1, "nonexisting DP port %c\n",
>>  					 port_name(dig_port->base.port));
>>  				break;
>>  			}
>> @@ -120,7 +119,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>>  			break;
>>  		}
>>  	}
>> -	drm_modeset_unlock_all(dev);
>> +	drm_modeset_unlock_all(&dev_priv->drm);
>>  
>>  	return ret;
>>  }
>> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
>> index 16cf17b1e9d998..904a1049eff39a 100644
>> --- a/drivers/gpu/drm/i915/display/intel_psr.c
>> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
>> @@ -2063,13 +2063,12 @@ static bool __psr_wait_for_idle_locked(struct intel_dp *intel_dp)
>>  static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
>>  {
>>  	struct drm_connector_list_iter conn_iter;
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct drm_modeset_acquire_ctx ctx;
>>  	struct drm_atomic_state *state;
>>  	struct drm_connector *conn;
>>  	int err = 0;
>>  
>> -	state = drm_atomic_state_alloc(dev);
>> +	state = drm_atomic_state_alloc(&dev_priv->drm);
>>  	if (!state)
>>  		return -ENOMEM;
>>  
>> @@ -2078,7 +2077,7 @@ static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
>>  
>>  retry:
>>  
>> -	drm_connector_list_iter_begin(dev, &conn_iter);
>> +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>  	drm_for_each_connector_iter(conn, &conn_iter) {
>>  		struct drm_connector_state *conn_state;
>>  		struct drm_crtc_state *crtc_state;
>> diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c
>> index b2e93c2ad8f32d..cf7d5c1ab4069b 100644
>> --- a/drivers/gpu/drm/i915/display/intel_tv.c
>> +++ b/drivers/gpu/drm/i915/display/intel_tv.c
>> @@ -1925,7 +1925,6 @@ static void intel_tv_add_properties(struct drm_connector *connector)
>>  void
>>  intel_tv_init(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct drm_connector *connector;
>>  	struct intel_tv *intel_tv;
>>  	struct intel_encoder *intel_encoder;
>> @@ -1989,10 +1988,10 @@ intel_tv_init(struct drm_i915_private *dev_priv)
>>  	 */
>>  	intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT;
>>  
>> -	drm_connector_init(dev, connector, &intel_tv_connector_funcs,
>> +	drm_connector_init(&dev_priv->drm, connector, &intel_tv_connector_funcs,
>>  			   DRM_MODE_CONNECTOR_SVIDEO);
>>  
>> -	drm_encoder_init(dev, &intel_encoder->base, &intel_tv_enc_funcs,
>> +	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_tv_enc_funcs,
>>  			 DRM_MODE_ENCODER_TVDAC, "TV");
>>  
>>  	intel_encoder->compute_config = intel_tv_compute_config;
>> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
>> index dee0147a316ce7..5a741ea4505f7e 100644
>> --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
>> +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
>> @@ -1845,7 +1845,6 @@ static void vlv_dphy_param_init(struct intel_dsi *intel_dsi)
>>  
>>  void vlv_dsi_init(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct intel_dsi *intel_dsi;
>>  	struct intel_encoder *intel_encoder;
>>  	struct drm_encoder *encoder;
>> @@ -1882,7 +1881,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>>  
>>  	connector = &intel_connector->base;
>>  
>> -	drm_encoder_init(dev, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
>> +	drm_encoder_init(&dev_priv->drm, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
>>  			 "DSI %c", port_name(port));
>>  
>>  	intel_encoder->compute_config = intel_dsi_compute_config;
>> @@ -1965,7 +1964,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>>  	intel_dsi_vbt_gpio_init(intel_dsi,
>>  				intel_dsi_get_hw_state(intel_encoder, &pipe));
>>  
>> -	drm_connector_init(dev, connector, &intel_dsi_connector_funcs,
>> +	drm_connector_init(&dev_priv->drm, connector, &intel_dsi_connector_funcs,
>>  			   DRM_MODE_CONNECTOR_DSI);
>>  
>>  	drm_connector_helper_add(connector, &intel_dsi_connector_helper_funcs);
>> @@ -1974,9 +1973,9 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>>  
>>  	intel_connector_attach_encoder(intel_connector, intel_encoder);
>>  
>> -	mutex_lock(&dev->mode_config.mutex);
>> +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>  	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
>> -	mutex_unlock(&dev->mode_config.mutex);
>> +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>  
>>  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>>  		drm_dbg_kms(&dev_priv->drm, "no fixed mode\n");
>> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
>> index fb3826dabe8b6b..f934ba37f0194f 100644
>> --- a/drivers/gpu/drm/i915/i915_driver.c
>> +++ b/drivers/gpu/drm/i915/i915_driver.c
>> @@ -739,7 +739,6 @@ static void i915_driver_hw_remove(struct drm_i915_private *dev_priv)
>>   */
>>  static void i915_driver_register(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct intel_gt *gt;
>>  	unsigned int i;
>>  
>> @@ -749,7 +748,7 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
>>  	intel_vgpu_register(dev_priv);
>>  
>>  	/* Reveal our presence to userspace */
>> -	if (drm_dev_register(dev, 0)) {
>> +	if (drm_dev_register(&dev_priv->drm, 0)) {
>>  		drm_err(&dev_priv->drm,
>>  			"Failed to register driver for userspace access!\n");
>>  		return;
>> @@ -1093,32 +1092,30 @@ static void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)
>>  
>>  static void intel_suspend_encoders(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct intel_encoder *encoder;
>>  
>>  	if (!HAS_DISPLAY(dev_priv))
>>  		return;
>>  
>> -	drm_modeset_lock_all(dev);
>> -	for_each_intel_encoder(dev, encoder)
>> +	drm_modeset_lock_all(&dev_priv->drm);
>> +	for_each_intel_encoder(&dev_priv->drm, encoder)
>>  		if (encoder->suspend)
>>  			encoder->suspend(encoder);
>> -	drm_modeset_unlock_all(dev);
>> +	drm_modeset_unlock_all(&dev_priv->drm);
>>  }
>>  
>>  static void intel_shutdown_encoders(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	struct intel_encoder *encoder;
>>  
>>  	if (!HAS_DISPLAY(dev_priv))
>>  		return;
>>  
>> -	drm_modeset_lock_all(dev);
>> -	for_each_intel_encoder(dev, encoder)
>> +	drm_modeset_lock_all(&dev_priv->drm);
>> +	for_each_intel_encoder(&dev_priv->drm, encoder)
>>  		if (encoder->shutdown)
>>  			encoder->shutdown(encoder);
>> -	drm_modeset_unlock_all(dev);
>> +	drm_modeset_unlock_all(&dev_priv->drm);
>>  }
>>  
>>  void i915_driver_shutdown(struct drm_i915_private *i915)
>> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
>> index 87cb05b3b6ceab..72f4278d2d0ba1 100644
>> --- a/drivers/gpu/drm/i915/i915_irq.c
>> +++ b/drivers/gpu/drm/i915/i915_irq.c
>> @@ -4384,7 +4384,6 @@ void intel_hpd_irq_setup(struct drm_i915_private *i915)
>>   */
>>  void intel_irq_init(struct drm_i915_private *dev_priv)
>>  {
>> -	struct drm_device *dev = &dev_priv->drm;
>>  	int i;
>>  
>>  	INIT_WORK(&dev_priv->l3_parity.error_work, ivb_parity_work);
>> @@ -4402,7 +4401,7 @@ void intel_irq_init(struct drm_i915_private *dev_priv)
>>  
>>  	intel_hpd_init_early(dev_priv);
>>  
>> -	dev->vblank_disable_immediate = true;
>> +	dev_priv->drm.vblank_disable_immediate = true;
>>  
>>  	/* Most platforms treat the display irq block as an always-on
>>  	 * power domain. vlv/chv can disable it at runtime and need
>> -- 
>> 2.34.1
Andi Shyti Oct. 11, 2022, 10:09 a.m. UTC | #3
On Mon, Oct 10, 2022 at 04:31:28PM +0200, Andi Shyti wrote:
> On Thu, Oct 06, 2022 at 10:48:44PM +0200, Andrzej Hajda wrote:
> > drm_device pointers are unwelcome.
> > 
> > Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
> 
> Acked-by: Andi Shyti <andi.shyti@linux.intel.com>

Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>

Only this first patch is strictly related to display, I'm taking
the series in intel-gt-next. Anyone against?

Andi

> To me both versions were good...
> 
> Jani, Ville, could you please check on this patch?
> 
> Andi
> 
> > ---
> >  drivers/gpu/drm/i915/display/icl_dsi.c        |  9 ++--
> >  drivers/gpu/drm/i915/display/intel_display.c  |  9 ++--
> >  .../drm/i915/display/intel_display_debugfs.c  | 51 ++++++++-----------
> >  .../drm/i915/display/intel_display_power.c    |  3 +-
> >  drivers/gpu/drm/i915/display/intel_dp.c       |  7 ++-
> >  drivers/gpu/drm/i915/display/intel_hotplug.c  | 28 +++++-----
> >  .../gpu/drm/i915/display/intel_lpe_audio.c    |  5 +-
> >  drivers/gpu/drm/i915/display/intel_lvds.c     | 11 ++--
> >  drivers/gpu/drm/i915/display/intel_opregion.c |  7 ++-
> >  drivers/gpu/drm/i915/display/intel_pipe_crc.c |  9 ++--
> >  drivers/gpu/drm/i915/display/intel_psr.c      |  5 +-
> >  drivers/gpu/drm/i915/display/intel_tv.c       |  5 +-
> >  drivers/gpu/drm/i915/display/vlv_dsi.c        |  9 ++--
> >  drivers/gpu/drm/i915/i915_driver.c            | 17 +++----
> >  drivers/gpu/drm/i915/i915_irq.c               |  3 +-
> >  15 files changed, 74 insertions(+), 104 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
> > index 47f13750f6fa66..e05e7cd6c4123a 100644
> > --- a/drivers/gpu/drm/i915/display/icl_dsi.c
> > +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
> > @@ -1985,7 +1985,6 @@ static void icl_dsi_add_properties(struct intel_connector *connector)
> >  
> >  void icl_dsi_init(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct intel_dsi *intel_dsi;
> >  	struct intel_encoder *encoder;
> >  	struct intel_connector *intel_connector;
> > @@ -2010,7 +2009,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
> >  	connector = &intel_connector->base;
> >  
> >  	/* register DSI encoder with DRM subsystem */
> > -	drm_encoder_init(dev, &encoder->base, &gen11_dsi_encoder_funcs,
> > +	drm_encoder_init(&dev_priv->drm, &encoder->base, &gen11_dsi_encoder_funcs,
> >  			 DRM_MODE_ENCODER_DSI, "DSI %c", port_name(port));
> >  
> >  	encoder->pre_pll_enable = gen11_dsi_pre_pll_enable;
> > @@ -2034,7 +2033,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
> >  	encoder->is_clock_enabled = gen11_dsi_is_clock_enabled;
> >  
> >  	/* register DSI connector with DRM subsystem */
> > -	drm_connector_init(dev, connector, &gen11_dsi_connector_funcs,
> > +	drm_connector_init(&dev_priv->drm, connector, &gen11_dsi_connector_funcs,
> >  			   DRM_MODE_CONNECTOR_DSI);
> >  	drm_connector_helper_add(connector, &gen11_dsi_connector_helper_funcs);
> >  	connector->display_info.subpixel_order = SubPixelHorizontalRGB;
> > @@ -2045,9 +2044,9 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
> >  
> >  	intel_bios_init_panel(dev_priv, &intel_connector->panel, NULL, NULL);
> >  
> > -	mutex_lock(&dev->mode_config.mutex);
> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
> >  	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
> > -	mutex_unlock(&dev->mode_config.mutex);
> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
> >  
> >  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
> >  		drm_err(&dev_priv->drm, "DSI fixed mode info missing\n");
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> > index 8c3bd9ba0d7481..67e35a8e3db481 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -878,7 +878,6 @@ static bool gpu_reset_clobbers_display(struct drm_i915_private *dev_priv)
> >  
> >  void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct drm_modeset_acquire_ctx *ctx = &dev_priv->reset_ctx;
> >  	struct drm_atomic_state *state;
> >  	int ret;
> > @@ -906,10 +905,10 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
> >  	 * Need mode_config.mutex so that we don't
> >  	 * trample ongoing ->detect() and whatnot.
> >  	 */
> > -	mutex_lock(&dev->mode_config.mutex);
> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
> >  	drm_modeset_acquire_init(ctx, 0);
> >  	while (1) {
> > -		ret = drm_modeset_lock_all_ctx(dev, ctx);
> > +		ret = drm_modeset_lock_all_ctx(&dev_priv->drm, ctx);
> >  		if (ret != -EDEADLK)
> >  			break;
> >  
> > @@ -919,7 +918,7 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
> >  	 * Disabling the crtcs gracefully seems nicer. Also the
> >  	 * g33 docs say we should at least disable all the planes.
> >  	 */
> > -	state = drm_atomic_helper_duplicate_state(dev, ctx);
> > +	state = drm_atomic_helper_duplicate_state(&dev_priv->drm, ctx);
> >  	if (IS_ERR(state)) {
> >  		ret = PTR_ERR(state);
> >  		drm_err(&dev_priv->drm, "Duplicating state failed with %i\n",
> > @@ -927,7 +926,7 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
> >  		return;
> >  	}
> >  
> > -	ret = drm_atomic_helper_disable_all(dev, ctx);
> > +	ret = drm_atomic_helper_disable_all(&dev_priv->drm, ctx);
> >  	if (ret) {
> >  		drm_err(&dev_priv->drm, "Suspending crtc's failed with %i\n",
> >  			ret);
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > index 372a5b427e4fbd..cfc056a05bbf17 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
> > @@ -128,7 +128,6 @@ static int i915_vbt(struct seq_file *m, void *unused)
> >  static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
> >  {
> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct intel_framebuffer *fbdev_fb = NULL;
> >  	struct drm_framebuffer *drm_fb;
> >  
> > @@ -147,8 +146,8 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
> >  	}
> >  #endif
> >  
> > -	mutex_lock(&dev->mode_config.fb_lock);
> > -	drm_for_each_fb(drm_fb, dev) {
> > +	mutex_lock(&dev_priv->drm.mode_config.fb_lock);
> > +	drm_for_each_fb(drm_fb, &dev_priv->drm) {
> >  		struct intel_framebuffer *fb = to_intel_framebuffer(drm_fb);
> >  		if (fb == fbdev_fb)
> >  			continue;
> > @@ -163,7 +162,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
> >  		i915_debugfs_describe_obj(m, intel_fb_obj(&fb->base));
> >  		seq_putc(m, '\n');
> >  	}
> > -	mutex_unlock(&dev->mode_config.fb_lock);
> > +	mutex_unlock(&dev_priv->drm.mode_config.fb_lock);
> >  
> >  	return 0;
> >  }
> > @@ -898,7 +897,6 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc)
> >  static int i915_display_info(struct seq_file *m, void *unused)
> >  {
> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct intel_crtc *crtc;
> >  	struct drm_connector *connector;
> >  	struct drm_connector_list_iter conn_iter;
> > @@ -906,22 +904,22 @@ static int i915_display_info(struct seq_file *m, void *unused)
> >  
> >  	wakeref = intel_runtime_pm_get(&dev_priv->runtime_pm);
> >  
> > -	drm_modeset_lock_all(dev);
> > +	drm_modeset_lock_all(&dev_priv->drm);
> >  
> >  	seq_printf(m, "CRTC info\n");
> >  	seq_printf(m, "---------\n");
> > -	for_each_intel_crtc(dev, crtc)
> > +	for_each_intel_crtc(&dev_priv->drm, crtc)
> >  		intel_crtc_info(m, crtc);
> >  
> >  	seq_printf(m, "\n");
> >  	seq_printf(m, "Connector info\n");
> >  	seq_printf(m, "--------------\n");
> > -	drm_connector_list_iter_begin(dev, &conn_iter);
> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
> >  	drm_for_each_connector_iter(connector, &conn_iter)
> >  		intel_connector_info(m, connector);
> >  	drm_connector_list_iter_end(&conn_iter);
> >  
> > -	drm_modeset_unlock_all(dev);
> > +	drm_modeset_unlock_all(&dev_priv->drm);
> >  
> >  	intel_runtime_pm_put(&dev_priv->runtime_pm, wakeref);
> >  
> > @@ -931,10 +929,9 @@ static int i915_display_info(struct seq_file *m, void *unused)
> >  static int i915_shared_dplls_info(struct seq_file *m, void *unused)
> >  {
> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	int i;
> >  
> > -	drm_modeset_lock_all(dev);
> > +	drm_modeset_lock_all(&dev_priv->drm);
> >  
> >  	seq_printf(m, "PLL refclks: non-SSC: %d kHz, SSC: %d kHz\n",
> >  		   dev_priv->display.dpll.ref_clks.nssc,
> > @@ -979,7 +976,7 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
> >  		seq_printf(m, " mg_pll_tdc_coldst_bias: 0x%08x\n",
> >  			   pll->state.hw_state.mg_pll_tdc_coldst_bias);
> >  	}
> > -	drm_modeset_unlock_all(dev);
> > +	drm_modeset_unlock_all(&dev_priv->drm);
> >  
> >  	return 0;
> >  }
> > @@ -987,14 +984,13 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
> >  static int i915_ddb_info(struct seq_file *m, void *unused)
> >  {
> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct skl_ddb_entry *entry;
> >  	struct intel_crtc *crtc;
> >  
> >  	if (DISPLAY_VER(dev_priv) < 9)
> >  		return -ENODEV;
> >  
> > -	drm_modeset_lock_all(dev);
> > +	drm_modeset_lock_all(&dev_priv->drm);
> >  
> >  	seq_printf(m, "%-15s%8s%8s%8s\n", "", "Start", "End", "Size");
> >  
> > @@ -1018,7 +1014,7 @@ static int i915_ddb_info(struct seq_file *m, void *unused)
> >  			   entry->end, skl_ddb_entry_size(entry));
> >  	}
> >  
> > -	drm_modeset_unlock_all(dev);
> > +	drm_modeset_unlock_all(&dev_priv->drm);
> >  
> >  	return 0;
> >  }
> > @@ -1062,13 +1058,12 @@ static int i915_lpsp_status(struct seq_file *m, void *unused)
> >  static int i915_dp_mst_info(struct seq_file *m, void *unused)
> >  {
> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct intel_encoder *intel_encoder;
> >  	struct intel_digital_port *dig_port;
> >  	struct drm_connector *connector;
> >  	struct drm_connector_list_iter conn_iter;
> >  
> > -	drm_connector_list_iter_begin(dev, &conn_iter);
> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
> >  	drm_for_each_connector_iter(connector, &conn_iter) {
> >  		if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort)
> >  			continue;
> > @@ -1155,12 +1150,11 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
> >  static int i915_displayport_test_active_show(struct seq_file *m, void *data)
> >  {
> >  	struct drm_i915_private *dev_priv = m->private;
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct drm_connector *connector;
> >  	struct drm_connector_list_iter conn_iter;
> >  	struct intel_dp *intel_dp;
> >  
> > -	drm_connector_list_iter_begin(dev, &conn_iter);
> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
> >  	drm_for_each_connector_iter(connector, &conn_iter) {
> >  		struct intel_encoder *encoder;
> >  
> > @@ -1205,12 +1199,11 @@ static const struct file_operations i915_displayport_test_active_fops = {
> >  static int i915_displayport_test_data_show(struct seq_file *m, void *data)
> >  {
> >  	struct drm_i915_private *dev_priv = m->private;
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct drm_connector *connector;
> >  	struct drm_connector_list_iter conn_iter;
> >  	struct intel_dp *intel_dp;
> >  
> > -	drm_connector_list_iter_begin(dev, &conn_iter);
> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
> >  	drm_for_each_connector_iter(connector, &conn_iter) {
> >  		struct intel_encoder *encoder;
> >  
> > @@ -1259,12 +1252,11 @@ DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_data);
> >  static int i915_displayport_test_type_show(struct seq_file *m, void *data)
> >  {
> >  	struct drm_i915_private *dev_priv = m->private;
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct drm_connector *connector;
> >  	struct drm_connector_list_iter conn_iter;
> >  	struct intel_dp *intel_dp;
> >  
> > -	drm_connector_list_iter_begin(dev, &conn_iter);
> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
> >  	drm_for_each_connector_iter(connector, &conn_iter) {
> >  		struct intel_encoder *encoder;
> >  
> > @@ -1291,7 +1283,6 @@ DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_type);
> >  static void wm_latency_show(struct seq_file *m, const u16 wm[8])
> >  {
> >  	struct drm_i915_private *dev_priv = m->private;
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	int level;
> >  	int num_levels;
> >  
> > @@ -1304,7 +1295,7 @@ static void wm_latency_show(struct seq_file *m, const u16 wm[8])
> >  	else
> >  		num_levels = ilk_wm_max_level(dev_priv) + 1;
> >  
> > -	drm_modeset_lock_all(dev);
> > +	drm_modeset_lock_all(&dev_priv->drm);
> >  
> >  	for (level = 0; level < num_levels; level++) {
> >  		unsigned int latency = wm[level];
> > @@ -1325,7 +1316,7 @@ static void wm_latency_show(struct seq_file *m, const u16 wm[8])
> >  			   level, wm[level], latency / 10, latency % 10);
> >  	}
> >  
> > -	drm_modeset_unlock_all(dev);
> > +	drm_modeset_unlock_all(&dev_priv->drm);
> >  }
> >  
> >  static int pri_wm_latency_show(struct seq_file *m, void *data)
> > @@ -1408,7 +1399,6 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
> >  {
> >  	struct seq_file *m = file->private_data;
> >  	struct drm_i915_private *dev_priv = m->private;
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	u16 new[8] = { 0 };
> >  	int num_levels;
> >  	int level;
> > @@ -1438,12 +1428,12 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
> >  	if (ret != num_levels)
> >  		return -EINVAL;
> >  
> > -	drm_modeset_lock_all(dev);
> > +	drm_modeset_lock_all(&dev_priv->drm);
> >  
> >  	for (level = 0; level < num_levels; level++)
> >  		wm[level] = new[level];
> >  
> > -	drm_modeset_unlock_all(dev);
> > +	drm_modeset_unlock_all(&dev_priv->drm);
> >  
> >  	return len;
> >  }
> > @@ -1528,7 +1518,6 @@ i915_fifo_underrun_reset_write(struct file *filp,
> >  {
> >  	struct drm_i915_private *dev_priv = filp->private_data;
> >  	struct intel_crtc *crtc;
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	int ret;
> >  	bool reset;
> >  
> > @@ -1539,7 +1528,7 @@ i915_fifo_underrun_reset_write(struct file *filp,
> >  	if (!reset)
> >  		return cnt;
> >  
> > -	for_each_intel_crtc(dev, crtc) {
> > +	for_each_intel_crtc(&dev_priv->drm, crtc) {
> >  		struct drm_crtc_commit *commit;
> >  		struct intel_crtc_state *crtc_state;
> >  
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> > index 1e608b9e505593..4c1de91e56ff9d 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> > @@ -1148,10 +1148,9 @@ static void hsw_assert_cdclk(struct drm_i915_private *dev_priv)
> >  
> >  static void assert_can_disable_lcpll(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct intel_crtc *crtc;
> >  
> > -	for_each_intel_crtc(dev, crtc)
> > +	for_each_intel_crtc(&dev_priv->drm, crtc)
> >  		I915_STATE_WARN(crtc->active, "CRTC for pipe %c enabled\n",
> >  				pipe_name(crtc->pipe));
> >  
> > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> > index 70b06806ec0d90..a060903891b201 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > @@ -5229,7 +5229,6 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
> >  				     struct intel_connector *intel_connector)
> >  {
> >  	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct drm_connector *connector = &intel_connector->base;
> >  	struct drm_display_mode *fixed_mode;
> >  	struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
> > @@ -5246,7 +5245,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
> >  	 * with an already powered-on LVDS power sequencer.
> >  	 */
> >  	if (intel_get_lvds_encoder(dev_priv)) {
> > -		drm_WARN_ON(dev,
> > +		drm_WARN_ON(&dev_priv->drm,
> >  			    !(HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)));
> >  		drm_info(&dev_priv->drm,
> >  			 "LVDS was detected, not registering eDP\n");
> > @@ -5267,7 +5266,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
> >  		goto out_vdd_off;
> >  	}
> >  
> > -	mutex_lock(&dev->mode_config.mutex);
> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
> >  	edid = drm_get_edid(connector, &intel_dp->aux.ddc);
> >  	if (!edid) {
> >  		/* Fallback to EDID from ACPI OpRegion, if any */
> > @@ -5305,7 +5304,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
> >  	if (!intel_panel_preferred_fixed_mode(intel_connector))
> >  		intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
> >  
> > -	mutex_unlock(&dev->mode_config.mutex);
> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
> >  
> >  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
> >  		drm_info(&dev_priv->drm,
> > diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
> > index 352a1b53b63ed6..907ab7526cb478 100644
> > --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
> > +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
> > @@ -178,14 +178,13 @@ static bool intel_hpd_irq_storm_detect(struct drm_i915_private *dev_priv,
> >  static void
> >  intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct drm_connector_list_iter conn_iter;
> >  	struct intel_connector *connector;
> >  	bool hpd_disabled = false;
> >  
> >  	lockdep_assert_held(&dev_priv->irq_lock);
> >  
> > -	drm_connector_list_iter_begin(dev, &conn_iter);
> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
> >  	for_each_intel_connector_iter(connector, &conn_iter) {
> >  		enum hpd_pin pin;
> >  
> > @@ -211,7 +210,7 @@ intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
> >  
> >  	/* Enable polling and queue hotplug re-enabling. */
> >  	if (hpd_disabled) {
> > -		drm_kms_helper_poll_enable(dev);
> > +		drm_kms_helper_poll_enable(&dev_priv->drm);
> >  		mod_delayed_work(system_wq, &dev_priv->display.hotplug.reenable_work,
> >  				 msecs_to_jiffies(HPD_STORM_REENABLE_DELAY));
> >  	}
> > @@ -222,7 +221,6 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
> >  	struct drm_i915_private *dev_priv =
> >  		container_of(work, typeof(*dev_priv),
> >  			     display.hotplug.reenable_work.work);
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct drm_connector_list_iter conn_iter;
> >  	struct intel_connector *connector;
> >  	intel_wakeref_t wakeref;
> > @@ -232,7 +230,7 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
> >  
> >  	spin_lock_irq(&dev_priv->irq_lock);
> >  
> > -	drm_connector_list_iter_begin(dev, &conn_iter);
> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
> >  	for_each_intel_connector_iter(connector, &conn_iter) {
> >  		pin = intel_connector_hpd_pin(connector);
> >  		if (pin == HPD_NONE ||
> > @@ -370,14 +368,13 @@ static void i915_hotplug_work_func(struct work_struct *work)
> >  	struct drm_i915_private *dev_priv =
> >  		container_of(work, struct drm_i915_private,
> >  			     display.hotplug.hotplug_work.work);
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct drm_connector_list_iter conn_iter;
> >  	struct intel_connector *connector;
> >  	u32 changed = 0, retry = 0;
> >  	u32 hpd_event_bits;
> >  	u32 hpd_retry_bits;
> >  
> > -	mutex_lock(&dev->mode_config.mutex);
> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
> >  	drm_dbg_kms(&dev_priv->drm, "running encoder hotplug functions\n");
> >  
> >  	spin_lock_irq(&dev_priv->irq_lock);
> > @@ -392,7 +389,7 @@ static void i915_hotplug_work_func(struct work_struct *work)
> >  
> >  	spin_unlock_irq(&dev_priv->irq_lock);
> >  
> > -	drm_connector_list_iter_begin(dev, &conn_iter);
> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
> >  	for_each_intel_connector_iter(connector, &conn_iter) {
> >  		enum hpd_pin pin;
> >  		u32 hpd_bit;
> > @@ -429,10 +426,10 @@ static void i915_hotplug_work_func(struct work_struct *work)
> >  		}
> >  	}
> >  	drm_connector_list_iter_end(&conn_iter);
> > -	mutex_unlock(&dev->mode_config.mutex);
> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
> >  
> >  	if (changed)
> > -		drm_kms_helper_hotplug_event(dev);
> > +		drm_kms_helper_hotplug_event(&dev_priv->drm);
> >  
> >  	/* Remove shared HPD pins that have changed */
> >  	retry &= ~changed;
> > @@ -615,16 +612,15 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
> >  	struct drm_i915_private *dev_priv =
> >  		container_of(work, struct drm_i915_private,
> >  			     display.hotplug.poll_init_work);
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct drm_connector_list_iter conn_iter;
> >  	struct intel_connector *connector;
> >  	bool enabled;
> >  
> > -	mutex_lock(&dev->mode_config.mutex);
> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
> >  
> >  	enabled = READ_ONCE(dev_priv->display.hotplug.poll_enabled);
> >  
> > -	drm_connector_list_iter_begin(dev, &conn_iter);
> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
> >  	for_each_intel_connector_iter(connector, &conn_iter) {
> >  		enum hpd_pin pin;
> >  
> > @@ -641,16 +637,16 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
> >  	drm_connector_list_iter_end(&conn_iter);
> >  
> >  	if (enabled)
> > -		drm_kms_helper_poll_enable(dev);
> > +		drm_kms_helper_poll_enable(&dev_priv->drm);
> >  
> > -	mutex_unlock(&dev->mode_config.mutex);
> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
> >  
> >  	/*
> >  	 * We might have missed any hotplugs that happened while we were
> >  	 * in the middle of disabling polling
> >  	 */
> >  	if (!enabled)
> > -		drm_helper_hpd_irq_event(dev);
> > +		drm_helper_hpd_irq_event(&dev_priv->drm);
> >  }
> >  
> >  /**
> > diff --git a/drivers/gpu/drm/i915/display/intel_lpe_audio.c b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
> > index dca6003ccac80f..6a7ac60e4f7667 100644
> > --- a/drivers/gpu/drm/i915/display/intel_lpe_audio.c
> > +++ b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
> > @@ -80,8 +80,7 @@
> >  static struct platform_device *
> >  lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> > -	struct pci_dev *pdev = to_pci_dev(dev->dev);
> > +	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
> >  	struct platform_device_info pinfo = {};
> >  	struct resource *rsc;
> >  	struct platform_device *platdev;
> > @@ -108,7 +107,7 @@ lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
> >  	rsc[1].flags    = IORESOURCE_MEM;
> >  	rsc[1].name     = "hdmi-lpe-audio-mmio";
> >  
> > -	pinfo.parent = dev->dev;
> > +	pinfo.parent = dev_priv->drm.dev;
> >  	pinfo.name = "hdmi-lpe-audio";
> >  	pinfo.id = -1;
> >  	pinfo.res = rsc;
> > diff --git a/drivers/gpu/drm/i915/display/intel_lvds.c b/drivers/gpu/drm/i915/display/intel_lvds.c
> > index e97e24f690a9f8..246787bbf5ef0a 100644
> > --- a/drivers/gpu/drm/i915/display/intel_lvds.c
> > +++ b/drivers/gpu/drm/i915/display/intel_lvds.c
> > @@ -828,7 +828,6 @@ static void intel_lvds_add_properties(struct drm_connector *connector)
> >   */
> >  void intel_lvds_init(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct intel_lvds_encoder *lvds_encoder;
> >  	struct intel_encoder *intel_encoder;
> >  	struct intel_connector *intel_connector;
> > @@ -841,7 +840,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
> >  
> >  	/* Skip init on machines we know falsely report LVDS */
> >  	if (dmi_check_system(intel_no_lvds)) {
> > -		drm_WARN(dev, !dev_priv->display.vbt.int_lvds_support,
> > +		drm_WARN(&dev_priv->drm, !dev_priv->display.vbt.int_lvds_support,
> >  			 "Useless DMI match. Internal LVDS support disabled by VBT\n");
> >  		return;
> >  	}
> > @@ -890,10 +889,10 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
> >  	intel_encoder = &lvds_encoder->base;
> >  	encoder = &intel_encoder->base;
> >  	connector = &intel_connector->base;
> > -	drm_connector_init(dev, &intel_connector->base, &intel_lvds_connector_funcs,
> > +	drm_connector_init(&dev_priv->drm, &intel_connector->base, &intel_lvds_connector_funcs,
> >  			   DRM_MODE_CONNECTOR_LVDS);
> >  
> > -	drm_encoder_init(dev, &intel_encoder->base, &intel_lvds_enc_funcs,
> > +	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_lvds_enc_funcs,
> >  			 DRM_MODE_ENCODER_LVDS, "LVDS");
> >  
> >  	intel_encoder->enable = intel_enable_lvds;
> > @@ -944,7 +943,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
> >  	 * Attempt to get the fixed panel mode from DDC.  Assume that the
> >  	 * preferred mode is the right one.
> >  	 */
> > -	mutex_lock(&dev->mode_config.mutex);
> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
> >  	if (vga_switcheroo_handler_flags() & VGA_SWITCHEROO_CAN_SWITCH_DDC)
> >  		edid = drm_get_edid_switcheroo(connector,
> >  				    intel_gmbus_get_adapter(dev_priv, pin));
> > @@ -982,7 +981,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
> >  	if (!intel_panel_preferred_fixed_mode(intel_connector))
> >  		intel_panel_add_encoder_fixed_mode(intel_connector, intel_encoder);
> >  
> > -	mutex_unlock(&dev->mode_config.mutex);
> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
> >  
> >  	/* If we still don't have a mode after all that, give up. */
> >  	if (!intel_panel_preferred_fixed_mode(intel_connector))
> > diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
> > index caa07ef34f21ef..e0184745632c07 100644
> > --- a/drivers/gpu/drm/i915/display/intel_opregion.c
> > +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
> > @@ -463,7 +463,6 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
> >  	struct intel_connector *connector;
> >  	struct drm_connector_list_iter conn_iter;
> >  	struct opregion_asle *asle = dev_priv->display.opregion.asle;
> > -	struct drm_device *dev = &dev_priv->drm;
> >  
> >  	drm_dbg(&dev_priv->drm, "bclp = 0x%08x\n", bclp);
> >  
> > @@ -480,7 +479,7 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
> >  	if (bclp > 255)
> >  		return ASLC_BACKLIGHT_FAILED;
> >  
> > -	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
> > +	drm_modeset_lock(&dev_priv->drm.mode_config.connection_mutex, NULL);
> >  
> >  	/*
> >  	 * Update backlight on all connectors that support backlight (usually
> > @@ -488,13 +487,13 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
> >  	 */
> >  	drm_dbg_kms(&dev_priv->drm, "updating opregion backlight %d/255\n",
> >  		    bclp);
> > -	drm_connector_list_iter_begin(dev, &conn_iter);
> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
> >  	for_each_intel_connector_iter(connector, &conn_iter)
> >  		intel_backlight_set_acpi(connector->base.state, bclp, 255);
> >  	drm_connector_list_iter_end(&conn_iter);
> >  	asle->cblv = DIV_ROUND_UP(bclp * 100, 255) | ASLE_CBLV_VALID;
> >  
> > -	drm_modeset_unlock(&dev->mode_config.connection_mutex);
> > +	drm_modeset_unlock(&dev_priv->drm.mode_config.connection_mutex);
> >  
> >  
> >  	return 0;
> > diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> > index 8ac263f471bee1..1c74388c60d7bd 100644
> > --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> > +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> > @@ -75,7 +75,6 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
> >  				     enum pipe pipe,
> >  				     enum intel_pipe_crc_source *source)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct intel_encoder *encoder;
> >  	struct intel_crtc *crtc;
> >  	struct intel_digital_port *dig_port;
> > @@ -83,8 +82,8 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
> >  
> >  	*source = INTEL_PIPE_CRC_SOURCE_PIPE;
> >  
> > -	drm_modeset_lock_all(dev);
> > -	for_each_intel_encoder(dev, encoder) {
> > +	drm_modeset_lock_all(&dev_priv->drm);
> > +	for_each_intel_encoder(&dev_priv->drm, encoder) {
> >  		if (!encoder->base.crtc)
> >  			continue;
> >  
> > @@ -111,7 +110,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
> >  				*source = INTEL_PIPE_CRC_SOURCE_DP_D;
> >  				break;
> >  			default:
> > -				drm_WARN(dev, 1, "nonexisting DP port %c\n",
> > +				drm_WARN(&dev_priv->drm, 1, "nonexisting DP port %c\n",
> >  					 port_name(dig_port->base.port));
> >  				break;
> >  			}
> > @@ -120,7 +119,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
> >  			break;
> >  		}
> >  	}
> > -	drm_modeset_unlock_all(dev);
> > +	drm_modeset_unlock_all(&dev_priv->drm);
> >  
> >  	return ret;
> >  }
> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> > index 16cf17b1e9d998..904a1049eff39a 100644
> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > @@ -2063,13 +2063,12 @@ static bool __psr_wait_for_idle_locked(struct intel_dp *intel_dp)
> >  static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
> >  {
> >  	struct drm_connector_list_iter conn_iter;
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct drm_modeset_acquire_ctx ctx;
> >  	struct drm_atomic_state *state;
> >  	struct drm_connector *conn;
> >  	int err = 0;
> >  
> > -	state = drm_atomic_state_alloc(dev);
> > +	state = drm_atomic_state_alloc(&dev_priv->drm);
> >  	if (!state)
> >  		return -ENOMEM;
> >  
> > @@ -2078,7 +2077,7 @@ static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
> >  
> >  retry:
> >  
> > -	drm_connector_list_iter_begin(dev, &conn_iter);
> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
> >  	drm_for_each_connector_iter(conn, &conn_iter) {
> >  		struct drm_connector_state *conn_state;
> >  		struct drm_crtc_state *crtc_state;
> > diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c
> > index b2e93c2ad8f32d..cf7d5c1ab4069b 100644
> > --- a/drivers/gpu/drm/i915/display/intel_tv.c
> > +++ b/drivers/gpu/drm/i915/display/intel_tv.c
> > @@ -1925,7 +1925,6 @@ static void intel_tv_add_properties(struct drm_connector *connector)
> >  void
> >  intel_tv_init(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct drm_connector *connector;
> >  	struct intel_tv *intel_tv;
> >  	struct intel_encoder *intel_encoder;
> > @@ -1989,10 +1988,10 @@ intel_tv_init(struct drm_i915_private *dev_priv)
> >  	 */
> >  	intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT;
> >  
> > -	drm_connector_init(dev, connector, &intel_tv_connector_funcs,
> > +	drm_connector_init(&dev_priv->drm, connector, &intel_tv_connector_funcs,
> >  			   DRM_MODE_CONNECTOR_SVIDEO);
> >  
> > -	drm_encoder_init(dev, &intel_encoder->base, &intel_tv_enc_funcs,
> > +	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_tv_enc_funcs,
> >  			 DRM_MODE_ENCODER_TVDAC, "TV");
> >  
> >  	intel_encoder->compute_config = intel_tv_compute_config;
> > diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
> > index dee0147a316ce7..5a741ea4505f7e 100644
> > --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
> > +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
> > @@ -1845,7 +1845,6 @@ static void vlv_dphy_param_init(struct intel_dsi *intel_dsi)
> >  
> >  void vlv_dsi_init(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct intel_dsi *intel_dsi;
> >  	struct intel_encoder *intel_encoder;
> >  	struct drm_encoder *encoder;
> > @@ -1882,7 +1881,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
> >  
> >  	connector = &intel_connector->base;
> >  
> > -	drm_encoder_init(dev, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
> > +	drm_encoder_init(&dev_priv->drm, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
> >  			 "DSI %c", port_name(port));
> >  
> >  	intel_encoder->compute_config = intel_dsi_compute_config;
> > @@ -1965,7 +1964,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
> >  	intel_dsi_vbt_gpio_init(intel_dsi,
> >  				intel_dsi_get_hw_state(intel_encoder, &pipe));
> >  
> > -	drm_connector_init(dev, connector, &intel_dsi_connector_funcs,
> > +	drm_connector_init(&dev_priv->drm, connector, &intel_dsi_connector_funcs,
> >  			   DRM_MODE_CONNECTOR_DSI);
> >  
> >  	drm_connector_helper_add(connector, &intel_dsi_connector_helper_funcs);
> > @@ -1974,9 +1973,9 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
> >  
> >  	intel_connector_attach_encoder(intel_connector, intel_encoder);
> >  
> > -	mutex_lock(&dev->mode_config.mutex);
> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
> >  	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
> > -	mutex_unlock(&dev->mode_config.mutex);
> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
> >  
> >  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
> >  		drm_dbg_kms(&dev_priv->drm, "no fixed mode\n");
> > diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
> > index fb3826dabe8b6b..f934ba37f0194f 100644
> > --- a/drivers/gpu/drm/i915/i915_driver.c
> > +++ b/drivers/gpu/drm/i915/i915_driver.c
> > @@ -739,7 +739,6 @@ static void i915_driver_hw_remove(struct drm_i915_private *dev_priv)
> >   */
> >  static void i915_driver_register(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct intel_gt *gt;
> >  	unsigned int i;
> >  
> > @@ -749,7 +748,7 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
> >  	intel_vgpu_register(dev_priv);
> >  
> >  	/* Reveal our presence to userspace */
> > -	if (drm_dev_register(dev, 0)) {
> > +	if (drm_dev_register(&dev_priv->drm, 0)) {
> >  		drm_err(&dev_priv->drm,
> >  			"Failed to register driver for userspace access!\n");
> >  		return;
> > @@ -1093,32 +1092,30 @@ static void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)
> >  
> >  static void intel_suspend_encoders(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct intel_encoder *encoder;
> >  
> >  	if (!HAS_DISPLAY(dev_priv))
> >  		return;
> >  
> > -	drm_modeset_lock_all(dev);
> > -	for_each_intel_encoder(dev, encoder)
> > +	drm_modeset_lock_all(&dev_priv->drm);
> > +	for_each_intel_encoder(&dev_priv->drm, encoder)
> >  		if (encoder->suspend)
> >  			encoder->suspend(encoder);
> > -	drm_modeset_unlock_all(dev);
> > +	drm_modeset_unlock_all(&dev_priv->drm);
> >  }
> >  
> >  static void intel_shutdown_encoders(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	struct intel_encoder *encoder;
> >  
> >  	if (!HAS_DISPLAY(dev_priv))
> >  		return;
> >  
> > -	drm_modeset_lock_all(dev);
> > -	for_each_intel_encoder(dev, encoder)
> > +	drm_modeset_lock_all(&dev_priv->drm);
> > +	for_each_intel_encoder(&dev_priv->drm, encoder)
> >  		if (encoder->shutdown)
> >  			encoder->shutdown(encoder);
> > -	drm_modeset_unlock_all(dev);
> > +	drm_modeset_unlock_all(&dev_priv->drm);
> >  }
> >  
> >  void i915_driver_shutdown(struct drm_i915_private *i915)
> > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> > index 87cb05b3b6ceab..72f4278d2d0ba1 100644
> > --- a/drivers/gpu/drm/i915/i915_irq.c
> > +++ b/drivers/gpu/drm/i915/i915_irq.c
> > @@ -4384,7 +4384,6 @@ void intel_hpd_irq_setup(struct drm_i915_private *i915)
> >   */
> >  void intel_irq_init(struct drm_i915_private *dev_priv)
> >  {
> > -	struct drm_device *dev = &dev_priv->drm;
> >  	int i;
> >  
> >  	INIT_WORK(&dev_priv->l3_parity.error_work, ivb_parity_work);
> > @@ -4402,7 +4401,7 @@ void intel_irq_init(struct drm_i915_private *dev_priv)
> >  
> >  	intel_hpd_init_early(dev_priv);
> >  
> > -	dev->vblank_disable_immediate = true;
> > +	dev_priv->drm.vblank_disable_immediate = true;
> >  
> >  	/* Most platforms treat the display irq block as an always-on
> >  	 * power domain. vlv/chv can disable it at runtime and need
> > -- 
> > 2.34.1
Jani Nikula Oct. 11, 2022, 10:13 a.m. UTC | #4
On Tue, 11 Oct 2022, Andi Shyti <andi.shyti@linux.intel.com> wrote:
> On Mon, Oct 10, 2022 at 04:31:28PM +0200, Andi Shyti wrote:
>> On Thu, Oct 06, 2022 at 10:48:44PM +0200, Andrzej Hajda wrote:
>> > drm_device pointers are unwelcome.
>> > 
>> > Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
>> 
>> Acked-by: Andi Shyti <andi.shyti@linux.intel.com>
>
> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
>
> Only this first patch is strictly related to display, I'm taking
> the series in intel-gt-next. Anyone against?

Absolutely against. That logic is backwards.

drm-intel-gt-next is for stuff that's strictly about gt/gem. Everything
else, especially stuff touching common code, needs to go through
drm-intel-next.

There's nothing here that's gt/gem specific.


BR,
Jani.

>
> Andi
>
>> To me both versions were good...
>> 
>> Jani, Ville, could you please check on this patch?
>> 
>> Andi
>> 
>> > ---
>> >  drivers/gpu/drm/i915/display/icl_dsi.c        |  9 ++--
>> >  drivers/gpu/drm/i915/display/intel_display.c  |  9 ++--
>> >  .../drm/i915/display/intel_display_debugfs.c  | 51 ++++++++-----------
>> >  .../drm/i915/display/intel_display_power.c    |  3 +-
>> >  drivers/gpu/drm/i915/display/intel_dp.c       |  7 ++-
>> >  drivers/gpu/drm/i915/display/intel_hotplug.c  | 28 +++++-----
>> >  .../gpu/drm/i915/display/intel_lpe_audio.c    |  5 +-
>> >  drivers/gpu/drm/i915/display/intel_lvds.c     | 11 ++--
>> >  drivers/gpu/drm/i915/display/intel_opregion.c |  7 ++-
>> >  drivers/gpu/drm/i915/display/intel_pipe_crc.c |  9 ++--
>> >  drivers/gpu/drm/i915/display/intel_psr.c      |  5 +-
>> >  drivers/gpu/drm/i915/display/intel_tv.c       |  5 +-
>> >  drivers/gpu/drm/i915/display/vlv_dsi.c        |  9 ++--
>> >  drivers/gpu/drm/i915/i915_driver.c            | 17 +++----
>> >  drivers/gpu/drm/i915/i915_irq.c               |  3 +-
>> >  15 files changed, 74 insertions(+), 104 deletions(-)
>> > 
>> > diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
>> > index 47f13750f6fa66..e05e7cd6c4123a 100644
>> > --- a/drivers/gpu/drm/i915/display/icl_dsi.c
>> > +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
>> > @@ -1985,7 +1985,6 @@ static void icl_dsi_add_properties(struct intel_connector *connector)
>> >  
>> >  void icl_dsi_init(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct intel_dsi *intel_dsi;
>> >  	struct intel_encoder *encoder;
>> >  	struct intel_connector *intel_connector;
>> > @@ -2010,7 +2009,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>> >  	connector = &intel_connector->base;
>> >  
>> >  	/* register DSI encoder with DRM subsystem */
>> > -	drm_encoder_init(dev, &encoder->base, &gen11_dsi_encoder_funcs,
>> > +	drm_encoder_init(&dev_priv->drm, &encoder->base, &gen11_dsi_encoder_funcs,
>> >  			 DRM_MODE_ENCODER_DSI, "DSI %c", port_name(port));
>> >  
>> >  	encoder->pre_pll_enable = gen11_dsi_pre_pll_enable;
>> > @@ -2034,7 +2033,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>> >  	encoder->is_clock_enabled = gen11_dsi_is_clock_enabled;
>> >  
>> >  	/* register DSI connector with DRM subsystem */
>> > -	drm_connector_init(dev, connector, &gen11_dsi_connector_funcs,
>> > +	drm_connector_init(&dev_priv->drm, connector, &gen11_dsi_connector_funcs,
>> >  			   DRM_MODE_CONNECTOR_DSI);
>> >  	drm_connector_helper_add(connector, &gen11_dsi_connector_helper_funcs);
>> >  	connector->display_info.subpixel_order = SubPixelHorizontalRGB;
>> > @@ -2045,9 +2044,9 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>> >  
>> >  	intel_bios_init_panel(dev_priv, &intel_connector->panel, NULL, NULL);
>> >  
>> > -	mutex_lock(&dev->mode_config.mutex);
>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>> >  	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
>> > -	mutex_unlock(&dev->mode_config.mutex);
>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>> >  
>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>> >  		drm_err(&dev_priv->drm, "DSI fixed mode info missing\n");
>> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>> > index 8c3bd9ba0d7481..67e35a8e3db481 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_display.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
>> > @@ -878,7 +878,6 @@ static bool gpu_reset_clobbers_display(struct drm_i915_private *dev_priv)
>> >  
>> >  void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct drm_modeset_acquire_ctx *ctx = &dev_priv->reset_ctx;
>> >  	struct drm_atomic_state *state;
>> >  	int ret;
>> > @@ -906,10 +905,10 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>> >  	 * Need mode_config.mutex so that we don't
>> >  	 * trample ongoing ->detect() and whatnot.
>> >  	 */
>> > -	mutex_lock(&dev->mode_config.mutex);
>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>> >  	drm_modeset_acquire_init(ctx, 0);
>> >  	while (1) {
>> > -		ret = drm_modeset_lock_all_ctx(dev, ctx);
>> > +		ret = drm_modeset_lock_all_ctx(&dev_priv->drm, ctx);
>> >  		if (ret != -EDEADLK)
>> >  			break;
>> >  
>> > @@ -919,7 +918,7 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>> >  	 * Disabling the crtcs gracefully seems nicer. Also the
>> >  	 * g33 docs say we should at least disable all the planes.
>> >  	 */
>> > -	state = drm_atomic_helper_duplicate_state(dev, ctx);
>> > +	state = drm_atomic_helper_duplicate_state(&dev_priv->drm, ctx);
>> >  	if (IS_ERR(state)) {
>> >  		ret = PTR_ERR(state);
>> >  		drm_err(&dev_priv->drm, "Duplicating state failed with %i\n",
>> > @@ -927,7 +926,7 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>> >  		return;
>> >  	}
>> >  
>> > -	ret = drm_atomic_helper_disable_all(dev, ctx);
>> > +	ret = drm_atomic_helper_disable_all(&dev_priv->drm, ctx);
>> >  	if (ret) {
>> >  		drm_err(&dev_priv->drm, "Suspending crtc's failed with %i\n",
>> >  			ret);
>> > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>> > index 372a5b427e4fbd..cfc056a05bbf17 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>> > @@ -128,7 +128,6 @@ static int i915_vbt(struct seq_file *m, void *unused)
>> >  static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>> >  {
>> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct intel_framebuffer *fbdev_fb = NULL;
>> >  	struct drm_framebuffer *drm_fb;
>> >  
>> > @@ -147,8 +146,8 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>> >  	}
>> >  #endif
>> >  
>> > -	mutex_lock(&dev->mode_config.fb_lock);
>> > -	drm_for_each_fb(drm_fb, dev) {
>> > +	mutex_lock(&dev_priv->drm.mode_config.fb_lock);
>> > +	drm_for_each_fb(drm_fb, &dev_priv->drm) {
>> >  		struct intel_framebuffer *fb = to_intel_framebuffer(drm_fb);
>> >  		if (fb == fbdev_fb)
>> >  			continue;
>> > @@ -163,7 +162,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>> >  		i915_debugfs_describe_obj(m, intel_fb_obj(&fb->base));
>> >  		seq_putc(m, '\n');
>> >  	}
>> > -	mutex_unlock(&dev->mode_config.fb_lock);
>> > +	mutex_unlock(&dev_priv->drm.mode_config.fb_lock);
>> >  
>> >  	return 0;
>> >  }
>> > @@ -898,7 +897,6 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc)
>> >  static int i915_display_info(struct seq_file *m, void *unused)
>> >  {
>> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct intel_crtc *crtc;
>> >  	struct drm_connector *connector;
>> >  	struct drm_connector_list_iter conn_iter;
>> > @@ -906,22 +904,22 @@ static int i915_display_info(struct seq_file *m, void *unused)
>> >  
>> >  	wakeref = intel_runtime_pm_get(&dev_priv->runtime_pm);
>> >  
>> > -	drm_modeset_lock_all(dev);
>> > +	drm_modeset_lock_all(&dev_priv->drm);
>> >  
>> >  	seq_printf(m, "CRTC info\n");
>> >  	seq_printf(m, "---------\n");
>> > -	for_each_intel_crtc(dev, crtc)
>> > +	for_each_intel_crtc(&dev_priv->drm, crtc)
>> >  		intel_crtc_info(m, crtc);
>> >  
>> >  	seq_printf(m, "\n");
>> >  	seq_printf(m, "Connector info\n");
>> >  	seq_printf(m, "--------------\n");
>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>> >  	drm_for_each_connector_iter(connector, &conn_iter)
>> >  		intel_connector_info(m, connector);
>> >  	drm_connector_list_iter_end(&conn_iter);
>> >  
>> > -	drm_modeset_unlock_all(dev);
>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>> >  
>> >  	intel_runtime_pm_put(&dev_priv->runtime_pm, wakeref);
>> >  
>> > @@ -931,10 +929,9 @@ static int i915_display_info(struct seq_file *m, void *unused)
>> >  static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>> >  {
>> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	int i;
>> >  
>> > -	drm_modeset_lock_all(dev);
>> > +	drm_modeset_lock_all(&dev_priv->drm);
>> >  
>> >  	seq_printf(m, "PLL refclks: non-SSC: %d kHz, SSC: %d kHz\n",
>> >  		   dev_priv->display.dpll.ref_clks.nssc,
>> > @@ -979,7 +976,7 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>> >  		seq_printf(m, " mg_pll_tdc_coldst_bias: 0x%08x\n",
>> >  			   pll->state.hw_state.mg_pll_tdc_coldst_bias);
>> >  	}
>> > -	drm_modeset_unlock_all(dev);
>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>> >  
>> >  	return 0;
>> >  }
>> > @@ -987,14 +984,13 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>> >  static int i915_ddb_info(struct seq_file *m, void *unused)
>> >  {
>> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct skl_ddb_entry *entry;
>> >  	struct intel_crtc *crtc;
>> >  
>> >  	if (DISPLAY_VER(dev_priv) < 9)
>> >  		return -ENODEV;
>> >  
>> > -	drm_modeset_lock_all(dev);
>> > +	drm_modeset_lock_all(&dev_priv->drm);
>> >  
>> >  	seq_printf(m, "%-15s%8s%8s%8s\n", "", "Start", "End", "Size");
>> >  
>> > @@ -1018,7 +1014,7 @@ static int i915_ddb_info(struct seq_file *m, void *unused)
>> >  			   entry->end, skl_ddb_entry_size(entry));
>> >  	}
>> >  
>> > -	drm_modeset_unlock_all(dev);
>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>> >  
>> >  	return 0;
>> >  }
>> > @@ -1062,13 +1058,12 @@ static int i915_lpsp_status(struct seq_file *m, void *unused)
>> >  static int i915_dp_mst_info(struct seq_file *m, void *unused)
>> >  {
>> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct intel_encoder *intel_encoder;
>> >  	struct intel_digital_port *dig_port;
>> >  	struct drm_connector *connector;
>> >  	struct drm_connector_list_iter conn_iter;
>> >  
>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>> >  	drm_for_each_connector_iter(connector, &conn_iter) {
>> >  		if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort)
>> >  			continue;
>> > @@ -1155,12 +1150,11 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
>> >  static int i915_displayport_test_active_show(struct seq_file *m, void *data)
>> >  {
>> >  	struct drm_i915_private *dev_priv = m->private;
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct drm_connector *connector;
>> >  	struct drm_connector_list_iter conn_iter;
>> >  	struct intel_dp *intel_dp;
>> >  
>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>> >  	drm_for_each_connector_iter(connector, &conn_iter) {
>> >  		struct intel_encoder *encoder;
>> >  
>> > @@ -1205,12 +1199,11 @@ static const struct file_operations i915_displayport_test_active_fops = {
>> >  static int i915_displayport_test_data_show(struct seq_file *m, void *data)
>> >  {
>> >  	struct drm_i915_private *dev_priv = m->private;
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct drm_connector *connector;
>> >  	struct drm_connector_list_iter conn_iter;
>> >  	struct intel_dp *intel_dp;
>> >  
>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>> >  	drm_for_each_connector_iter(connector, &conn_iter) {
>> >  		struct intel_encoder *encoder;
>> >  
>> > @@ -1259,12 +1252,11 @@ DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_data);
>> >  static int i915_displayport_test_type_show(struct seq_file *m, void *data)
>> >  {
>> >  	struct drm_i915_private *dev_priv = m->private;
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct drm_connector *connector;
>> >  	struct drm_connector_list_iter conn_iter;
>> >  	struct intel_dp *intel_dp;
>> >  
>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>> >  	drm_for_each_connector_iter(connector, &conn_iter) {
>> >  		struct intel_encoder *encoder;
>> >  
>> > @@ -1291,7 +1283,6 @@ DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_type);
>> >  static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>> >  {
>> >  	struct drm_i915_private *dev_priv = m->private;
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	int level;
>> >  	int num_levels;
>> >  
>> > @@ -1304,7 +1295,7 @@ static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>> >  	else
>> >  		num_levels = ilk_wm_max_level(dev_priv) + 1;
>> >  
>> > -	drm_modeset_lock_all(dev);
>> > +	drm_modeset_lock_all(&dev_priv->drm);
>> >  
>> >  	for (level = 0; level < num_levels; level++) {
>> >  		unsigned int latency = wm[level];
>> > @@ -1325,7 +1316,7 @@ static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>> >  			   level, wm[level], latency / 10, latency % 10);
>> >  	}
>> >  
>> > -	drm_modeset_unlock_all(dev);
>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>> >  }
>> >  
>> >  static int pri_wm_latency_show(struct seq_file *m, void *data)
>> > @@ -1408,7 +1399,6 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
>> >  {
>> >  	struct seq_file *m = file->private_data;
>> >  	struct drm_i915_private *dev_priv = m->private;
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	u16 new[8] = { 0 };
>> >  	int num_levels;
>> >  	int level;
>> > @@ -1438,12 +1428,12 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
>> >  	if (ret != num_levels)
>> >  		return -EINVAL;
>> >  
>> > -	drm_modeset_lock_all(dev);
>> > +	drm_modeset_lock_all(&dev_priv->drm);
>> >  
>> >  	for (level = 0; level < num_levels; level++)
>> >  		wm[level] = new[level];
>> >  
>> > -	drm_modeset_unlock_all(dev);
>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>> >  
>> >  	return len;
>> >  }
>> > @@ -1528,7 +1518,6 @@ i915_fifo_underrun_reset_write(struct file *filp,
>> >  {
>> >  	struct drm_i915_private *dev_priv = filp->private_data;
>> >  	struct intel_crtc *crtc;
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	int ret;
>> >  	bool reset;
>> >  
>> > @@ -1539,7 +1528,7 @@ i915_fifo_underrun_reset_write(struct file *filp,
>> >  	if (!reset)
>> >  		return cnt;
>> >  
>> > -	for_each_intel_crtc(dev, crtc) {
>> > +	for_each_intel_crtc(&dev_priv->drm, crtc) {
>> >  		struct drm_crtc_commit *commit;
>> >  		struct intel_crtc_state *crtc_state;
>> >  
>> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
>> > index 1e608b9e505593..4c1de91e56ff9d 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_display_power.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
>> > @@ -1148,10 +1148,9 @@ static void hsw_assert_cdclk(struct drm_i915_private *dev_priv)
>> >  
>> >  static void assert_can_disable_lcpll(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct intel_crtc *crtc;
>> >  
>> > -	for_each_intel_crtc(dev, crtc)
>> > +	for_each_intel_crtc(&dev_priv->drm, crtc)
>> >  		I915_STATE_WARN(crtc->active, "CRTC for pipe %c enabled\n",
>> >  				pipe_name(crtc->pipe));
>> >  
>> > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>> > index 70b06806ec0d90..a060903891b201 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_dp.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>> > @@ -5229,7 +5229,6 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>> >  				     struct intel_connector *intel_connector)
>> >  {
>> >  	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct drm_connector *connector = &intel_connector->base;
>> >  	struct drm_display_mode *fixed_mode;
>> >  	struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
>> > @@ -5246,7 +5245,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>> >  	 * with an already powered-on LVDS power sequencer.
>> >  	 */
>> >  	if (intel_get_lvds_encoder(dev_priv)) {
>> > -		drm_WARN_ON(dev,
>> > +		drm_WARN_ON(&dev_priv->drm,
>> >  			    !(HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)));
>> >  		drm_info(&dev_priv->drm,
>> >  			 "LVDS was detected, not registering eDP\n");
>> > @@ -5267,7 +5266,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>> >  		goto out_vdd_off;
>> >  	}
>> >  
>> > -	mutex_lock(&dev->mode_config.mutex);
>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>> >  	edid = drm_get_edid(connector, &intel_dp->aux.ddc);
>> >  	if (!edid) {
>> >  		/* Fallback to EDID from ACPI OpRegion, if any */
>> > @@ -5305,7 +5304,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector))
>> >  		intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
>> >  
>> > -	mutex_unlock(&dev->mode_config.mutex);
>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>> >  
>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>> >  		drm_info(&dev_priv->drm,
>> > diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
>> > index 352a1b53b63ed6..907ab7526cb478 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
>> > @@ -178,14 +178,13 @@ static bool intel_hpd_irq_storm_detect(struct drm_i915_private *dev_priv,
>> >  static void
>> >  intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct drm_connector_list_iter conn_iter;
>> >  	struct intel_connector *connector;
>> >  	bool hpd_disabled = false;
>> >  
>> >  	lockdep_assert_held(&dev_priv->irq_lock);
>> >  
>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>> >  	for_each_intel_connector_iter(connector, &conn_iter) {
>> >  		enum hpd_pin pin;
>> >  
>> > @@ -211,7 +210,7 @@ intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
>> >  
>> >  	/* Enable polling and queue hotplug re-enabling. */
>> >  	if (hpd_disabled) {
>> > -		drm_kms_helper_poll_enable(dev);
>> > +		drm_kms_helper_poll_enable(&dev_priv->drm);
>> >  		mod_delayed_work(system_wq, &dev_priv->display.hotplug.reenable_work,
>> >  				 msecs_to_jiffies(HPD_STORM_REENABLE_DELAY));
>> >  	}
>> > @@ -222,7 +221,6 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
>> >  	struct drm_i915_private *dev_priv =
>> >  		container_of(work, typeof(*dev_priv),
>> >  			     display.hotplug.reenable_work.work);
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct drm_connector_list_iter conn_iter;
>> >  	struct intel_connector *connector;
>> >  	intel_wakeref_t wakeref;
>> > @@ -232,7 +230,7 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
>> >  
>> >  	spin_lock_irq(&dev_priv->irq_lock);
>> >  
>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>> >  	for_each_intel_connector_iter(connector, &conn_iter) {
>> >  		pin = intel_connector_hpd_pin(connector);
>> >  		if (pin == HPD_NONE ||
>> > @@ -370,14 +368,13 @@ static void i915_hotplug_work_func(struct work_struct *work)
>> >  	struct drm_i915_private *dev_priv =
>> >  		container_of(work, struct drm_i915_private,
>> >  			     display.hotplug.hotplug_work.work);
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct drm_connector_list_iter conn_iter;
>> >  	struct intel_connector *connector;
>> >  	u32 changed = 0, retry = 0;
>> >  	u32 hpd_event_bits;
>> >  	u32 hpd_retry_bits;
>> >  
>> > -	mutex_lock(&dev->mode_config.mutex);
>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>> >  	drm_dbg_kms(&dev_priv->drm, "running encoder hotplug functions\n");
>> >  
>> >  	spin_lock_irq(&dev_priv->irq_lock);
>> > @@ -392,7 +389,7 @@ static void i915_hotplug_work_func(struct work_struct *work)
>> >  
>> >  	spin_unlock_irq(&dev_priv->irq_lock);
>> >  
>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>> >  	for_each_intel_connector_iter(connector, &conn_iter) {
>> >  		enum hpd_pin pin;
>> >  		u32 hpd_bit;
>> > @@ -429,10 +426,10 @@ static void i915_hotplug_work_func(struct work_struct *work)
>> >  		}
>> >  	}
>> >  	drm_connector_list_iter_end(&conn_iter);
>> > -	mutex_unlock(&dev->mode_config.mutex);
>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>> >  
>> >  	if (changed)
>> > -		drm_kms_helper_hotplug_event(dev);
>> > +		drm_kms_helper_hotplug_event(&dev_priv->drm);
>> >  
>> >  	/* Remove shared HPD pins that have changed */
>> >  	retry &= ~changed;
>> > @@ -615,16 +612,15 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
>> >  	struct drm_i915_private *dev_priv =
>> >  		container_of(work, struct drm_i915_private,
>> >  			     display.hotplug.poll_init_work);
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct drm_connector_list_iter conn_iter;
>> >  	struct intel_connector *connector;
>> >  	bool enabled;
>> >  
>> > -	mutex_lock(&dev->mode_config.mutex);
>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>> >  
>> >  	enabled = READ_ONCE(dev_priv->display.hotplug.poll_enabled);
>> >  
>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>> >  	for_each_intel_connector_iter(connector, &conn_iter) {
>> >  		enum hpd_pin pin;
>> >  
>> > @@ -641,16 +637,16 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
>> >  	drm_connector_list_iter_end(&conn_iter);
>> >  
>> >  	if (enabled)
>> > -		drm_kms_helper_poll_enable(dev);
>> > +		drm_kms_helper_poll_enable(&dev_priv->drm);
>> >  
>> > -	mutex_unlock(&dev->mode_config.mutex);
>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>> >  
>> >  	/*
>> >  	 * We might have missed any hotplugs that happened while we were
>> >  	 * in the middle of disabling polling
>> >  	 */
>> >  	if (!enabled)
>> > -		drm_helper_hpd_irq_event(dev);
>> > +		drm_helper_hpd_irq_event(&dev_priv->drm);
>> >  }
>> >  
>> >  /**
>> > diff --git a/drivers/gpu/drm/i915/display/intel_lpe_audio.c b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
>> > index dca6003ccac80f..6a7ac60e4f7667 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_lpe_audio.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
>> > @@ -80,8 +80,7 @@
>> >  static struct platform_device *
>> >  lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> > -	struct pci_dev *pdev = to_pci_dev(dev->dev);
>> > +	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
>> >  	struct platform_device_info pinfo = {};
>> >  	struct resource *rsc;
>> >  	struct platform_device *platdev;
>> > @@ -108,7 +107,7 @@ lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
>> >  	rsc[1].flags    = IORESOURCE_MEM;
>> >  	rsc[1].name     = "hdmi-lpe-audio-mmio";
>> >  
>> > -	pinfo.parent = dev->dev;
>> > +	pinfo.parent = dev_priv->drm.dev;
>> >  	pinfo.name = "hdmi-lpe-audio";
>> >  	pinfo.id = -1;
>> >  	pinfo.res = rsc;
>> > diff --git a/drivers/gpu/drm/i915/display/intel_lvds.c b/drivers/gpu/drm/i915/display/intel_lvds.c
>> > index e97e24f690a9f8..246787bbf5ef0a 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_lvds.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_lvds.c
>> > @@ -828,7 +828,6 @@ static void intel_lvds_add_properties(struct drm_connector *connector)
>> >   */
>> >  void intel_lvds_init(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct intel_lvds_encoder *lvds_encoder;
>> >  	struct intel_encoder *intel_encoder;
>> >  	struct intel_connector *intel_connector;
>> > @@ -841,7 +840,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>> >  
>> >  	/* Skip init on machines we know falsely report LVDS */
>> >  	if (dmi_check_system(intel_no_lvds)) {
>> > -		drm_WARN(dev, !dev_priv->display.vbt.int_lvds_support,
>> > +		drm_WARN(&dev_priv->drm, !dev_priv->display.vbt.int_lvds_support,
>> >  			 "Useless DMI match. Internal LVDS support disabled by VBT\n");
>> >  		return;
>> >  	}
>> > @@ -890,10 +889,10 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>> >  	intel_encoder = &lvds_encoder->base;
>> >  	encoder = &intel_encoder->base;
>> >  	connector = &intel_connector->base;
>> > -	drm_connector_init(dev, &intel_connector->base, &intel_lvds_connector_funcs,
>> > +	drm_connector_init(&dev_priv->drm, &intel_connector->base, &intel_lvds_connector_funcs,
>> >  			   DRM_MODE_CONNECTOR_LVDS);
>> >  
>> > -	drm_encoder_init(dev, &intel_encoder->base, &intel_lvds_enc_funcs,
>> > +	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_lvds_enc_funcs,
>> >  			 DRM_MODE_ENCODER_LVDS, "LVDS");
>> >  
>> >  	intel_encoder->enable = intel_enable_lvds;
>> > @@ -944,7 +943,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>> >  	 * Attempt to get the fixed panel mode from DDC.  Assume that the
>> >  	 * preferred mode is the right one.
>> >  	 */
>> > -	mutex_lock(&dev->mode_config.mutex);
>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>> >  	if (vga_switcheroo_handler_flags() & VGA_SWITCHEROO_CAN_SWITCH_DDC)
>> >  		edid = drm_get_edid_switcheroo(connector,
>> >  				    intel_gmbus_get_adapter(dev_priv, pin));
>> > @@ -982,7 +981,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector))
>> >  		intel_panel_add_encoder_fixed_mode(intel_connector, intel_encoder);
>> >  
>> > -	mutex_unlock(&dev->mode_config.mutex);
>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>> >  
>> >  	/* If we still don't have a mode after all that, give up. */
>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector))
>> > diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
>> > index caa07ef34f21ef..e0184745632c07 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_opregion.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
>> > @@ -463,7 +463,6 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>> >  	struct intel_connector *connector;
>> >  	struct drm_connector_list_iter conn_iter;
>> >  	struct opregion_asle *asle = dev_priv->display.opregion.asle;
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  
>> >  	drm_dbg(&dev_priv->drm, "bclp = 0x%08x\n", bclp);
>> >  
>> > @@ -480,7 +479,7 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>> >  	if (bclp > 255)
>> >  		return ASLC_BACKLIGHT_FAILED;
>> >  
>> > -	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
>> > +	drm_modeset_lock(&dev_priv->drm.mode_config.connection_mutex, NULL);
>> >  
>> >  	/*
>> >  	 * Update backlight on all connectors that support backlight (usually
>> > @@ -488,13 +487,13 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>> >  	 */
>> >  	drm_dbg_kms(&dev_priv->drm, "updating opregion backlight %d/255\n",
>> >  		    bclp);
>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>> >  	for_each_intel_connector_iter(connector, &conn_iter)
>> >  		intel_backlight_set_acpi(connector->base.state, bclp, 255);
>> >  	drm_connector_list_iter_end(&conn_iter);
>> >  	asle->cblv = DIV_ROUND_UP(bclp * 100, 255) | ASLE_CBLV_VALID;
>> >  
>> > -	drm_modeset_unlock(&dev->mode_config.connection_mutex);
>> > +	drm_modeset_unlock(&dev_priv->drm.mode_config.connection_mutex);
>> >  
>> >  
>> >  	return 0;
>> > diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>> > index 8ac263f471bee1..1c74388c60d7bd 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>> > @@ -75,7 +75,6 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>> >  				     enum pipe pipe,
>> >  				     enum intel_pipe_crc_source *source)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct intel_encoder *encoder;
>> >  	struct intel_crtc *crtc;
>> >  	struct intel_digital_port *dig_port;
>> > @@ -83,8 +82,8 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>> >  
>> >  	*source = INTEL_PIPE_CRC_SOURCE_PIPE;
>> >  
>> > -	drm_modeset_lock_all(dev);
>> > -	for_each_intel_encoder(dev, encoder) {
>> > +	drm_modeset_lock_all(&dev_priv->drm);
>> > +	for_each_intel_encoder(&dev_priv->drm, encoder) {
>> >  		if (!encoder->base.crtc)
>> >  			continue;
>> >  
>> > @@ -111,7 +110,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>> >  				*source = INTEL_PIPE_CRC_SOURCE_DP_D;
>> >  				break;
>> >  			default:
>> > -				drm_WARN(dev, 1, "nonexisting DP port %c\n",
>> > +				drm_WARN(&dev_priv->drm, 1, "nonexisting DP port %c\n",
>> >  					 port_name(dig_port->base.port));
>> >  				break;
>> >  			}
>> > @@ -120,7 +119,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>> >  			break;
>> >  		}
>> >  	}
>> > -	drm_modeset_unlock_all(dev);
>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>> >  
>> >  	return ret;
>> >  }
>> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
>> > index 16cf17b1e9d998..904a1049eff39a 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
>> > @@ -2063,13 +2063,12 @@ static bool __psr_wait_for_idle_locked(struct intel_dp *intel_dp)
>> >  static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
>> >  {
>> >  	struct drm_connector_list_iter conn_iter;
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct drm_modeset_acquire_ctx ctx;
>> >  	struct drm_atomic_state *state;
>> >  	struct drm_connector *conn;
>> >  	int err = 0;
>> >  
>> > -	state = drm_atomic_state_alloc(dev);
>> > +	state = drm_atomic_state_alloc(&dev_priv->drm);
>> >  	if (!state)
>> >  		return -ENOMEM;
>> >  
>> > @@ -2078,7 +2077,7 @@ static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
>> >  
>> >  retry:
>> >  
>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>> >  	drm_for_each_connector_iter(conn, &conn_iter) {
>> >  		struct drm_connector_state *conn_state;
>> >  		struct drm_crtc_state *crtc_state;
>> > diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c
>> > index b2e93c2ad8f32d..cf7d5c1ab4069b 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_tv.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_tv.c
>> > @@ -1925,7 +1925,6 @@ static void intel_tv_add_properties(struct drm_connector *connector)
>> >  void
>> >  intel_tv_init(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct drm_connector *connector;
>> >  	struct intel_tv *intel_tv;
>> >  	struct intel_encoder *intel_encoder;
>> > @@ -1989,10 +1988,10 @@ intel_tv_init(struct drm_i915_private *dev_priv)
>> >  	 */
>> >  	intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT;
>> >  
>> > -	drm_connector_init(dev, connector, &intel_tv_connector_funcs,
>> > +	drm_connector_init(&dev_priv->drm, connector, &intel_tv_connector_funcs,
>> >  			   DRM_MODE_CONNECTOR_SVIDEO);
>> >  
>> > -	drm_encoder_init(dev, &intel_encoder->base, &intel_tv_enc_funcs,
>> > +	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_tv_enc_funcs,
>> >  			 DRM_MODE_ENCODER_TVDAC, "TV");
>> >  
>> >  	intel_encoder->compute_config = intel_tv_compute_config;
>> > diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
>> > index dee0147a316ce7..5a741ea4505f7e 100644
>> > --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
>> > +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
>> > @@ -1845,7 +1845,6 @@ static void vlv_dphy_param_init(struct intel_dsi *intel_dsi)
>> >  
>> >  void vlv_dsi_init(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct intel_dsi *intel_dsi;
>> >  	struct intel_encoder *intel_encoder;
>> >  	struct drm_encoder *encoder;
>> > @@ -1882,7 +1881,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>> >  
>> >  	connector = &intel_connector->base;
>> >  
>> > -	drm_encoder_init(dev, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
>> > +	drm_encoder_init(&dev_priv->drm, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
>> >  			 "DSI %c", port_name(port));
>> >  
>> >  	intel_encoder->compute_config = intel_dsi_compute_config;
>> > @@ -1965,7 +1964,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>> >  	intel_dsi_vbt_gpio_init(intel_dsi,
>> >  				intel_dsi_get_hw_state(intel_encoder, &pipe));
>> >  
>> > -	drm_connector_init(dev, connector, &intel_dsi_connector_funcs,
>> > +	drm_connector_init(&dev_priv->drm, connector, &intel_dsi_connector_funcs,
>> >  			   DRM_MODE_CONNECTOR_DSI);
>> >  
>> >  	drm_connector_helper_add(connector, &intel_dsi_connector_helper_funcs);
>> > @@ -1974,9 +1973,9 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>> >  
>> >  	intel_connector_attach_encoder(intel_connector, intel_encoder);
>> >  
>> > -	mutex_lock(&dev->mode_config.mutex);
>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>> >  	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
>> > -	mutex_unlock(&dev->mode_config.mutex);
>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>> >  
>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>> >  		drm_dbg_kms(&dev_priv->drm, "no fixed mode\n");
>> > diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
>> > index fb3826dabe8b6b..f934ba37f0194f 100644
>> > --- a/drivers/gpu/drm/i915/i915_driver.c
>> > +++ b/drivers/gpu/drm/i915/i915_driver.c
>> > @@ -739,7 +739,6 @@ static void i915_driver_hw_remove(struct drm_i915_private *dev_priv)
>> >   */
>> >  static void i915_driver_register(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct intel_gt *gt;
>> >  	unsigned int i;
>> >  
>> > @@ -749,7 +748,7 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
>> >  	intel_vgpu_register(dev_priv);
>> >  
>> >  	/* Reveal our presence to userspace */
>> > -	if (drm_dev_register(dev, 0)) {
>> > +	if (drm_dev_register(&dev_priv->drm, 0)) {
>> >  		drm_err(&dev_priv->drm,
>> >  			"Failed to register driver for userspace access!\n");
>> >  		return;
>> > @@ -1093,32 +1092,30 @@ static void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)
>> >  
>> >  static void intel_suspend_encoders(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct intel_encoder *encoder;
>> >  
>> >  	if (!HAS_DISPLAY(dev_priv))
>> >  		return;
>> >  
>> > -	drm_modeset_lock_all(dev);
>> > -	for_each_intel_encoder(dev, encoder)
>> > +	drm_modeset_lock_all(&dev_priv->drm);
>> > +	for_each_intel_encoder(&dev_priv->drm, encoder)
>> >  		if (encoder->suspend)
>> >  			encoder->suspend(encoder);
>> > -	drm_modeset_unlock_all(dev);
>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>> >  }
>> >  
>> >  static void intel_shutdown_encoders(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	struct intel_encoder *encoder;
>> >  
>> >  	if (!HAS_DISPLAY(dev_priv))
>> >  		return;
>> >  
>> > -	drm_modeset_lock_all(dev);
>> > -	for_each_intel_encoder(dev, encoder)
>> > +	drm_modeset_lock_all(&dev_priv->drm);
>> > +	for_each_intel_encoder(&dev_priv->drm, encoder)
>> >  		if (encoder->shutdown)
>> >  			encoder->shutdown(encoder);
>> > -	drm_modeset_unlock_all(dev);
>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>> >  }
>> >  
>> >  void i915_driver_shutdown(struct drm_i915_private *i915)
>> > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
>> > index 87cb05b3b6ceab..72f4278d2d0ba1 100644
>> > --- a/drivers/gpu/drm/i915/i915_irq.c
>> > +++ b/drivers/gpu/drm/i915/i915_irq.c
>> > @@ -4384,7 +4384,6 @@ void intel_hpd_irq_setup(struct drm_i915_private *i915)
>> >   */
>> >  void intel_irq_init(struct drm_i915_private *dev_priv)
>> >  {
>> > -	struct drm_device *dev = &dev_priv->drm;
>> >  	int i;
>> >  
>> >  	INIT_WORK(&dev_priv->l3_parity.error_work, ivb_parity_work);
>> > @@ -4402,7 +4401,7 @@ void intel_irq_init(struct drm_i915_private *dev_priv)
>> >  
>> >  	intel_hpd_init_early(dev_priv);
>> >  
>> > -	dev->vblank_disable_immediate = true;
>> > +	dev_priv->drm.vblank_disable_immediate = true;
>> >  
>> >  	/* Most platforms treat the display irq block as an always-on
>> >  	 * power domain. vlv/chv can disable it at runtime and need
>> > -- 
>> > 2.34.1
Jani Nikula Oct. 11, 2022, 10:17 a.m. UTC | #5
On Tue, 11 Oct 2022, Jani Nikula <jani.nikula@intel.com> wrote:
> On Tue, 11 Oct 2022, Andi Shyti <andi.shyti@linux.intel.com> wrote:
>> On Mon, Oct 10, 2022 at 04:31:28PM +0200, Andi Shyti wrote:
>>> On Thu, Oct 06, 2022 at 10:48:44PM +0200, Andrzej Hajda wrote:
>>> > drm_device pointers are unwelcome.
>>> > 
>>> > Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
>>> 
>>> Acked-by: Andi Shyti <andi.shyti@linux.intel.com>
>>
>> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
>>
>> Only this first patch is strictly related to display, I'm taking
>> the series in intel-gt-next. Anyone against?
>
> Absolutely against. That logic is backwards.
>
> drm-intel-gt-next is for stuff that's strictly about gt/gem. Everything
> else, especially stuff touching common code, needs to go through
> drm-intel-next.
>
> There's nothing here that's gt/gem specific.

To elaborate on this, we can do drm-intel-next -> drm-intel-gt-next
cross-merges. Not vice versa.

If you merge code to drm-intel-gt-next that other work in drm-intel-next
depends on, we'll need a drm-intel-gt-next pull request to drm-next and
a backmerge from drm-next to drm-intel-next. And that creates a
dependency outside of drm-intel.git, as well as potentially several
weeks' delay when drm-next is not open for pull requests.

BR,
Jani.


>
>
> BR,
> Jani.
>
>>
>> Andi
>>
>>> To me both versions were good...
>>> 
>>> Jani, Ville, could you please check on this patch?
>>> 
>>> Andi
>>> 
>>> > ---
>>> >  drivers/gpu/drm/i915/display/icl_dsi.c        |  9 ++--
>>> >  drivers/gpu/drm/i915/display/intel_display.c  |  9 ++--
>>> >  .../drm/i915/display/intel_display_debugfs.c  | 51 ++++++++-----------
>>> >  .../drm/i915/display/intel_display_power.c    |  3 +-
>>> >  drivers/gpu/drm/i915/display/intel_dp.c       |  7 ++-
>>> >  drivers/gpu/drm/i915/display/intel_hotplug.c  | 28 +++++-----
>>> >  .../gpu/drm/i915/display/intel_lpe_audio.c    |  5 +-
>>> >  drivers/gpu/drm/i915/display/intel_lvds.c     | 11 ++--
>>> >  drivers/gpu/drm/i915/display/intel_opregion.c |  7 ++-
>>> >  drivers/gpu/drm/i915/display/intel_pipe_crc.c |  9 ++--
>>> >  drivers/gpu/drm/i915/display/intel_psr.c      |  5 +-
>>> >  drivers/gpu/drm/i915/display/intel_tv.c       |  5 +-
>>> >  drivers/gpu/drm/i915/display/vlv_dsi.c        |  9 ++--
>>> >  drivers/gpu/drm/i915/i915_driver.c            | 17 +++----
>>> >  drivers/gpu/drm/i915/i915_irq.c               |  3 +-
>>> >  15 files changed, 74 insertions(+), 104 deletions(-)
>>> > 
>>> > diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
>>> > index 47f13750f6fa66..e05e7cd6c4123a 100644
>>> > --- a/drivers/gpu/drm/i915/display/icl_dsi.c
>>> > +++ b/drivers/gpu/drm/i915/display/icl_dsi.c
>>> > @@ -1985,7 +1985,6 @@ static void icl_dsi_add_properties(struct intel_connector *connector)
>>> >  
>>> >  void icl_dsi_init(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct intel_dsi *intel_dsi;
>>> >  	struct intel_encoder *encoder;
>>> >  	struct intel_connector *intel_connector;
>>> > @@ -2010,7 +2009,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>>> >  	connector = &intel_connector->base;
>>> >  
>>> >  	/* register DSI encoder with DRM subsystem */
>>> > -	drm_encoder_init(dev, &encoder->base, &gen11_dsi_encoder_funcs,
>>> > +	drm_encoder_init(&dev_priv->drm, &encoder->base, &gen11_dsi_encoder_funcs,
>>> >  			 DRM_MODE_ENCODER_DSI, "DSI %c", port_name(port));
>>> >  
>>> >  	encoder->pre_pll_enable = gen11_dsi_pre_pll_enable;
>>> > @@ -2034,7 +2033,7 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>>> >  	encoder->is_clock_enabled = gen11_dsi_is_clock_enabled;
>>> >  
>>> >  	/* register DSI connector with DRM subsystem */
>>> > -	drm_connector_init(dev, connector, &gen11_dsi_connector_funcs,
>>> > +	drm_connector_init(&dev_priv->drm, connector, &gen11_dsi_connector_funcs,
>>> >  			   DRM_MODE_CONNECTOR_DSI);
>>> >  	drm_connector_helper_add(connector, &gen11_dsi_connector_helper_funcs);
>>> >  	connector->display_info.subpixel_order = SubPixelHorizontalRGB;
>>> > @@ -2045,9 +2044,9 @@ void icl_dsi_init(struct drm_i915_private *dev_priv)
>>> >  
>>> >  	intel_bios_init_panel(dev_priv, &intel_connector->panel, NULL, NULL);
>>> >  
>>> > -	mutex_lock(&dev->mode_config.mutex);
>>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>> >  	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
>>> > -	mutex_unlock(&dev->mode_config.mutex);
>>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>> >  
>>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>>> >  		drm_err(&dev_priv->drm, "DSI fixed mode info missing\n");
>>> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>>> > index 8c3bd9ba0d7481..67e35a8e3db481 100644
>>> > --- a/drivers/gpu/drm/i915/display/intel_display.c
>>> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
>>> > @@ -878,7 +878,6 @@ static bool gpu_reset_clobbers_display(struct drm_i915_private *dev_priv)
>>> >  
>>> >  void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct drm_modeset_acquire_ctx *ctx = &dev_priv->reset_ctx;
>>> >  	struct drm_atomic_state *state;
>>> >  	int ret;
>>> > @@ -906,10 +905,10 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>>> >  	 * Need mode_config.mutex so that we don't
>>> >  	 * trample ongoing ->detect() and whatnot.
>>> >  	 */
>>> > -	mutex_lock(&dev->mode_config.mutex);
>>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>> >  	drm_modeset_acquire_init(ctx, 0);
>>> >  	while (1) {
>>> > -		ret = drm_modeset_lock_all_ctx(dev, ctx);
>>> > +		ret = drm_modeset_lock_all_ctx(&dev_priv->drm, ctx);
>>> >  		if (ret != -EDEADLK)
>>> >  			break;
>>> >  
>>> > @@ -919,7 +918,7 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>>> >  	 * Disabling the crtcs gracefully seems nicer. Also the
>>> >  	 * g33 docs say we should at least disable all the planes.
>>> >  	 */
>>> > -	state = drm_atomic_helper_duplicate_state(dev, ctx);
>>> > +	state = drm_atomic_helper_duplicate_state(&dev_priv->drm, ctx);
>>> >  	if (IS_ERR(state)) {
>>> >  		ret = PTR_ERR(state);
>>> >  		drm_err(&dev_priv->drm, "Duplicating state failed with %i\n",
>>> > @@ -927,7 +926,7 @@ void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
>>> >  		return;
>>> >  	}
>>> >  
>>> > -	ret = drm_atomic_helper_disable_all(dev, ctx);
>>> > +	ret = drm_atomic_helper_disable_all(&dev_priv->drm, ctx);
>>> >  	if (ret) {
>>> >  		drm_err(&dev_priv->drm, "Suspending crtc's failed with %i\n",
>>> >  			ret);
>>> > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>> > index 372a5b427e4fbd..cfc056a05bbf17 100644
>>> > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>> > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
>>> > @@ -128,7 +128,6 @@ static int i915_vbt(struct seq_file *m, void *unused)
>>> >  static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>>> >  {
>>> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct intel_framebuffer *fbdev_fb = NULL;
>>> >  	struct drm_framebuffer *drm_fb;
>>> >  
>>> > @@ -147,8 +146,8 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>>> >  	}
>>> >  #endif
>>> >  
>>> > -	mutex_lock(&dev->mode_config.fb_lock);
>>> > -	drm_for_each_fb(drm_fb, dev) {
>>> > +	mutex_lock(&dev_priv->drm.mode_config.fb_lock);
>>> > +	drm_for_each_fb(drm_fb, &dev_priv->drm) {
>>> >  		struct intel_framebuffer *fb = to_intel_framebuffer(drm_fb);
>>> >  		if (fb == fbdev_fb)
>>> >  			continue;
>>> > @@ -163,7 +162,7 @@ static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
>>> >  		i915_debugfs_describe_obj(m, intel_fb_obj(&fb->base));
>>> >  		seq_putc(m, '\n');
>>> >  	}
>>> > -	mutex_unlock(&dev->mode_config.fb_lock);
>>> > +	mutex_unlock(&dev_priv->drm.mode_config.fb_lock);
>>> >  
>>> >  	return 0;
>>> >  }
>>> > @@ -898,7 +897,6 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc)
>>> >  static int i915_display_info(struct seq_file *m, void *unused)
>>> >  {
>>> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct intel_crtc *crtc;
>>> >  	struct drm_connector *connector;
>>> >  	struct drm_connector_list_iter conn_iter;
>>> > @@ -906,22 +904,22 @@ static int i915_display_info(struct seq_file *m, void *unused)
>>> >  
>>> >  	wakeref = intel_runtime_pm_get(&dev_priv->runtime_pm);
>>> >  
>>> > -	drm_modeset_lock_all(dev);
>>> > +	drm_modeset_lock_all(&dev_priv->drm);
>>> >  
>>> >  	seq_printf(m, "CRTC info\n");
>>> >  	seq_printf(m, "---------\n");
>>> > -	for_each_intel_crtc(dev, crtc)
>>> > +	for_each_intel_crtc(&dev_priv->drm, crtc)
>>> >  		intel_crtc_info(m, crtc);
>>> >  
>>> >  	seq_printf(m, "\n");
>>> >  	seq_printf(m, "Connector info\n");
>>> >  	seq_printf(m, "--------------\n");
>>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>> >  	drm_for_each_connector_iter(connector, &conn_iter)
>>> >  		intel_connector_info(m, connector);
>>> >  	drm_connector_list_iter_end(&conn_iter);
>>> >  
>>> > -	drm_modeset_unlock_all(dev);
>>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>>> >  
>>> >  	intel_runtime_pm_put(&dev_priv->runtime_pm, wakeref);
>>> >  
>>> > @@ -931,10 +929,9 @@ static int i915_display_info(struct seq_file *m, void *unused)
>>> >  static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>>> >  {
>>> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	int i;
>>> >  
>>> > -	drm_modeset_lock_all(dev);
>>> > +	drm_modeset_lock_all(&dev_priv->drm);
>>> >  
>>> >  	seq_printf(m, "PLL refclks: non-SSC: %d kHz, SSC: %d kHz\n",
>>> >  		   dev_priv->display.dpll.ref_clks.nssc,
>>> > @@ -979,7 +976,7 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>>> >  		seq_printf(m, " mg_pll_tdc_coldst_bias: 0x%08x\n",
>>> >  			   pll->state.hw_state.mg_pll_tdc_coldst_bias);
>>> >  	}
>>> > -	drm_modeset_unlock_all(dev);
>>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>>> >  
>>> >  	return 0;
>>> >  }
>>> > @@ -987,14 +984,13 @@ static int i915_shared_dplls_info(struct seq_file *m, void *unused)
>>> >  static int i915_ddb_info(struct seq_file *m, void *unused)
>>> >  {
>>> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct skl_ddb_entry *entry;
>>> >  	struct intel_crtc *crtc;
>>> >  
>>> >  	if (DISPLAY_VER(dev_priv) < 9)
>>> >  		return -ENODEV;
>>> >  
>>> > -	drm_modeset_lock_all(dev);
>>> > +	drm_modeset_lock_all(&dev_priv->drm);
>>> >  
>>> >  	seq_printf(m, "%-15s%8s%8s%8s\n", "", "Start", "End", "Size");
>>> >  
>>> > @@ -1018,7 +1014,7 @@ static int i915_ddb_info(struct seq_file *m, void *unused)
>>> >  			   entry->end, skl_ddb_entry_size(entry));
>>> >  	}
>>> >  
>>> > -	drm_modeset_unlock_all(dev);
>>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>>> >  
>>> >  	return 0;
>>> >  }
>>> > @@ -1062,13 +1058,12 @@ static int i915_lpsp_status(struct seq_file *m, void *unused)
>>> >  static int i915_dp_mst_info(struct seq_file *m, void *unused)
>>> >  {
>>> >  	struct drm_i915_private *dev_priv = node_to_i915(m->private);
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct intel_encoder *intel_encoder;
>>> >  	struct intel_digital_port *dig_port;
>>> >  	struct drm_connector *connector;
>>> >  	struct drm_connector_list_iter conn_iter;
>>> >  
>>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>> >  	drm_for_each_connector_iter(connector, &conn_iter) {
>>> >  		if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort)
>>> >  			continue;
>>> > @@ -1155,12 +1150,11 @@ static ssize_t i915_displayport_test_active_write(struct file *file,
>>> >  static int i915_displayport_test_active_show(struct seq_file *m, void *data)
>>> >  {
>>> >  	struct drm_i915_private *dev_priv = m->private;
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct drm_connector *connector;
>>> >  	struct drm_connector_list_iter conn_iter;
>>> >  	struct intel_dp *intel_dp;
>>> >  
>>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>> >  	drm_for_each_connector_iter(connector, &conn_iter) {
>>> >  		struct intel_encoder *encoder;
>>> >  
>>> > @@ -1205,12 +1199,11 @@ static const struct file_operations i915_displayport_test_active_fops = {
>>> >  static int i915_displayport_test_data_show(struct seq_file *m, void *data)
>>> >  {
>>> >  	struct drm_i915_private *dev_priv = m->private;
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct drm_connector *connector;
>>> >  	struct drm_connector_list_iter conn_iter;
>>> >  	struct intel_dp *intel_dp;
>>> >  
>>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>> >  	drm_for_each_connector_iter(connector, &conn_iter) {
>>> >  		struct intel_encoder *encoder;
>>> >  
>>> > @@ -1259,12 +1252,11 @@ DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_data);
>>> >  static int i915_displayport_test_type_show(struct seq_file *m, void *data)
>>> >  {
>>> >  	struct drm_i915_private *dev_priv = m->private;
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct drm_connector *connector;
>>> >  	struct drm_connector_list_iter conn_iter;
>>> >  	struct intel_dp *intel_dp;
>>> >  
>>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>> >  	drm_for_each_connector_iter(connector, &conn_iter) {
>>> >  		struct intel_encoder *encoder;
>>> >  
>>> > @@ -1291,7 +1283,6 @@ DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_type);
>>> >  static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>>> >  {
>>> >  	struct drm_i915_private *dev_priv = m->private;
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	int level;
>>> >  	int num_levels;
>>> >  
>>> > @@ -1304,7 +1295,7 @@ static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>>> >  	else
>>> >  		num_levels = ilk_wm_max_level(dev_priv) + 1;
>>> >  
>>> > -	drm_modeset_lock_all(dev);
>>> > +	drm_modeset_lock_all(&dev_priv->drm);
>>> >  
>>> >  	for (level = 0; level < num_levels; level++) {
>>> >  		unsigned int latency = wm[level];
>>> > @@ -1325,7 +1316,7 @@ static void wm_latency_show(struct seq_file *m, const u16 wm[8])
>>> >  			   level, wm[level], latency / 10, latency % 10);
>>> >  	}
>>> >  
>>> > -	drm_modeset_unlock_all(dev);
>>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>>> >  }
>>> >  
>>> >  static int pri_wm_latency_show(struct seq_file *m, void *data)
>>> > @@ -1408,7 +1399,6 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
>>> >  {
>>> >  	struct seq_file *m = file->private_data;
>>> >  	struct drm_i915_private *dev_priv = m->private;
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	u16 new[8] = { 0 };
>>> >  	int num_levels;
>>> >  	int level;
>>> > @@ -1438,12 +1428,12 @@ static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
>>> >  	if (ret != num_levels)
>>> >  		return -EINVAL;
>>> >  
>>> > -	drm_modeset_lock_all(dev);
>>> > +	drm_modeset_lock_all(&dev_priv->drm);
>>> >  
>>> >  	for (level = 0; level < num_levels; level++)
>>> >  		wm[level] = new[level];
>>> >  
>>> > -	drm_modeset_unlock_all(dev);
>>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>>> >  
>>> >  	return len;
>>> >  }
>>> > @@ -1528,7 +1518,6 @@ i915_fifo_underrun_reset_write(struct file *filp,
>>> >  {
>>> >  	struct drm_i915_private *dev_priv = filp->private_data;
>>> >  	struct intel_crtc *crtc;
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	int ret;
>>> >  	bool reset;
>>> >  
>>> > @@ -1539,7 +1528,7 @@ i915_fifo_underrun_reset_write(struct file *filp,
>>> >  	if (!reset)
>>> >  		return cnt;
>>> >  
>>> > -	for_each_intel_crtc(dev, crtc) {
>>> > +	for_each_intel_crtc(&dev_priv->drm, crtc) {
>>> >  		struct drm_crtc_commit *commit;
>>> >  		struct intel_crtc_state *crtc_state;
>>> >  
>>> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
>>> > index 1e608b9e505593..4c1de91e56ff9d 100644
>>> > --- a/drivers/gpu/drm/i915/display/intel_display_power.c
>>> > +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
>>> > @@ -1148,10 +1148,9 @@ static void hsw_assert_cdclk(struct drm_i915_private *dev_priv)
>>> >  
>>> >  static void assert_can_disable_lcpll(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct intel_crtc *crtc;
>>> >  
>>> > -	for_each_intel_crtc(dev, crtc)
>>> > +	for_each_intel_crtc(&dev_priv->drm, crtc)
>>> >  		I915_STATE_WARN(crtc->active, "CRTC for pipe %c enabled\n",
>>> >  				pipe_name(crtc->pipe));
>>> >  
>>> > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>>> > index 70b06806ec0d90..a060903891b201 100644
>>> > --- a/drivers/gpu/drm/i915/display/intel_dp.c
>>> > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>>> > @@ -5229,7 +5229,6 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>>> >  				     struct intel_connector *intel_connector)
>>> >  {
>>> >  	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct drm_connector *connector = &intel_connector->base;
>>> >  	struct drm_display_mode *fixed_mode;
>>> >  	struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
>>> > @@ -5246,7 +5245,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>>> >  	 * with an already powered-on LVDS power sequencer.
>>> >  	 */
>>> >  	if (intel_get_lvds_encoder(dev_priv)) {
>>> > -		drm_WARN_ON(dev,
>>> > +		drm_WARN_ON(&dev_priv->drm,
>>> >  			    !(HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)));
>>> >  		drm_info(&dev_priv->drm,
>>> >  			 "LVDS was detected, not registering eDP\n");
>>> > @@ -5267,7 +5266,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>>> >  		goto out_vdd_off;
>>> >  	}
>>> >  
>>> > -	mutex_lock(&dev->mode_config.mutex);
>>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>> >  	edid = drm_get_edid(connector, &intel_dp->aux.ddc);
>>> >  	if (!edid) {
>>> >  		/* Fallback to EDID from ACPI OpRegion, if any */
>>> > @@ -5305,7 +5304,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector))
>>> >  		intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
>>> >  
>>> > -	mutex_unlock(&dev->mode_config.mutex);
>>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>> >  
>>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>>> >  		drm_info(&dev_priv->drm,
>>> > diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
>>> > index 352a1b53b63ed6..907ab7526cb478 100644
>>> > --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
>>> > +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
>>> > @@ -178,14 +178,13 @@ static bool intel_hpd_irq_storm_detect(struct drm_i915_private *dev_priv,
>>> >  static void
>>> >  intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct drm_connector_list_iter conn_iter;
>>> >  	struct intel_connector *connector;
>>> >  	bool hpd_disabled = false;
>>> >  
>>> >  	lockdep_assert_held(&dev_priv->irq_lock);
>>> >  
>>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>> >  	for_each_intel_connector_iter(connector, &conn_iter) {
>>> >  		enum hpd_pin pin;
>>> >  
>>> > @@ -211,7 +210,7 @@ intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
>>> >  
>>> >  	/* Enable polling and queue hotplug re-enabling. */
>>> >  	if (hpd_disabled) {
>>> > -		drm_kms_helper_poll_enable(dev);
>>> > +		drm_kms_helper_poll_enable(&dev_priv->drm);
>>> >  		mod_delayed_work(system_wq, &dev_priv->display.hotplug.reenable_work,
>>> >  				 msecs_to_jiffies(HPD_STORM_REENABLE_DELAY));
>>> >  	}
>>> > @@ -222,7 +221,6 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
>>> >  	struct drm_i915_private *dev_priv =
>>> >  		container_of(work, typeof(*dev_priv),
>>> >  			     display.hotplug.reenable_work.work);
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct drm_connector_list_iter conn_iter;
>>> >  	struct intel_connector *connector;
>>> >  	intel_wakeref_t wakeref;
>>> > @@ -232,7 +230,7 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
>>> >  
>>> >  	spin_lock_irq(&dev_priv->irq_lock);
>>> >  
>>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>> >  	for_each_intel_connector_iter(connector, &conn_iter) {
>>> >  		pin = intel_connector_hpd_pin(connector);
>>> >  		if (pin == HPD_NONE ||
>>> > @@ -370,14 +368,13 @@ static void i915_hotplug_work_func(struct work_struct *work)
>>> >  	struct drm_i915_private *dev_priv =
>>> >  		container_of(work, struct drm_i915_private,
>>> >  			     display.hotplug.hotplug_work.work);
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct drm_connector_list_iter conn_iter;
>>> >  	struct intel_connector *connector;
>>> >  	u32 changed = 0, retry = 0;
>>> >  	u32 hpd_event_bits;
>>> >  	u32 hpd_retry_bits;
>>> >  
>>> > -	mutex_lock(&dev->mode_config.mutex);
>>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>> >  	drm_dbg_kms(&dev_priv->drm, "running encoder hotplug functions\n");
>>> >  
>>> >  	spin_lock_irq(&dev_priv->irq_lock);
>>> > @@ -392,7 +389,7 @@ static void i915_hotplug_work_func(struct work_struct *work)
>>> >  
>>> >  	spin_unlock_irq(&dev_priv->irq_lock);
>>> >  
>>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>> >  	for_each_intel_connector_iter(connector, &conn_iter) {
>>> >  		enum hpd_pin pin;
>>> >  		u32 hpd_bit;
>>> > @@ -429,10 +426,10 @@ static void i915_hotplug_work_func(struct work_struct *work)
>>> >  		}
>>> >  	}
>>> >  	drm_connector_list_iter_end(&conn_iter);
>>> > -	mutex_unlock(&dev->mode_config.mutex);
>>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>> >  
>>> >  	if (changed)
>>> > -		drm_kms_helper_hotplug_event(dev);
>>> > +		drm_kms_helper_hotplug_event(&dev_priv->drm);
>>> >  
>>> >  	/* Remove shared HPD pins that have changed */
>>> >  	retry &= ~changed;
>>> > @@ -615,16 +612,15 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
>>> >  	struct drm_i915_private *dev_priv =
>>> >  		container_of(work, struct drm_i915_private,
>>> >  			     display.hotplug.poll_init_work);
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct drm_connector_list_iter conn_iter;
>>> >  	struct intel_connector *connector;
>>> >  	bool enabled;
>>> >  
>>> > -	mutex_lock(&dev->mode_config.mutex);
>>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>> >  
>>> >  	enabled = READ_ONCE(dev_priv->display.hotplug.poll_enabled);
>>> >  
>>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>> >  	for_each_intel_connector_iter(connector, &conn_iter) {
>>> >  		enum hpd_pin pin;
>>> >  
>>> > @@ -641,16 +637,16 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
>>> >  	drm_connector_list_iter_end(&conn_iter);
>>> >  
>>> >  	if (enabled)
>>> > -		drm_kms_helper_poll_enable(dev);
>>> > +		drm_kms_helper_poll_enable(&dev_priv->drm);
>>> >  
>>> > -	mutex_unlock(&dev->mode_config.mutex);
>>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>> >  
>>> >  	/*
>>> >  	 * We might have missed any hotplugs that happened while we were
>>> >  	 * in the middle of disabling polling
>>> >  	 */
>>> >  	if (!enabled)
>>> > -		drm_helper_hpd_irq_event(dev);
>>> > +		drm_helper_hpd_irq_event(&dev_priv->drm);
>>> >  }
>>> >  
>>> >  /**
>>> > diff --git a/drivers/gpu/drm/i915/display/intel_lpe_audio.c b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
>>> > index dca6003ccac80f..6a7ac60e4f7667 100644
>>> > --- a/drivers/gpu/drm/i915/display/intel_lpe_audio.c
>>> > +++ b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
>>> > @@ -80,8 +80,7 @@
>>> >  static struct platform_device *
>>> >  lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> > -	struct pci_dev *pdev = to_pci_dev(dev->dev);
>>> > +	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
>>> >  	struct platform_device_info pinfo = {};
>>> >  	struct resource *rsc;
>>> >  	struct platform_device *platdev;
>>> > @@ -108,7 +107,7 @@ lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
>>> >  	rsc[1].flags    = IORESOURCE_MEM;
>>> >  	rsc[1].name     = "hdmi-lpe-audio-mmio";
>>> >  
>>> > -	pinfo.parent = dev->dev;
>>> > +	pinfo.parent = dev_priv->drm.dev;
>>> >  	pinfo.name = "hdmi-lpe-audio";
>>> >  	pinfo.id = -1;
>>> >  	pinfo.res = rsc;
>>> > diff --git a/drivers/gpu/drm/i915/display/intel_lvds.c b/drivers/gpu/drm/i915/display/intel_lvds.c
>>> > index e97e24f690a9f8..246787bbf5ef0a 100644
>>> > --- a/drivers/gpu/drm/i915/display/intel_lvds.c
>>> > +++ b/drivers/gpu/drm/i915/display/intel_lvds.c
>>> > @@ -828,7 +828,6 @@ static void intel_lvds_add_properties(struct drm_connector *connector)
>>> >   */
>>> >  void intel_lvds_init(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct intel_lvds_encoder *lvds_encoder;
>>> >  	struct intel_encoder *intel_encoder;
>>> >  	struct intel_connector *intel_connector;
>>> > @@ -841,7 +840,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>>> >  
>>> >  	/* Skip init on machines we know falsely report LVDS */
>>> >  	if (dmi_check_system(intel_no_lvds)) {
>>> > -		drm_WARN(dev, !dev_priv->display.vbt.int_lvds_support,
>>> > +		drm_WARN(&dev_priv->drm, !dev_priv->display.vbt.int_lvds_support,
>>> >  			 "Useless DMI match. Internal LVDS support disabled by VBT\n");
>>> >  		return;
>>> >  	}
>>> > @@ -890,10 +889,10 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>>> >  	intel_encoder = &lvds_encoder->base;
>>> >  	encoder = &intel_encoder->base;
>>> >  	connector = &intel_connector->base;
>>> > -	drm_connector_init(dev, &intel_connector->base, &intel_lvds_connector_funcs,
>>> > +	drm_connector_init(&dev_priv->drm, &intel_connector->base, &intel_lvds_connector_funcs,
>>> >  			   DRM_MODE_CONNECTOR_LVDS);
>>> >  
>>> > -	drm_encoder_init(dev, &intel_encoder->base, &intel_lvds_enc_funcs,
>>> > +	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_lvds_enc_funcs,
>>> >  			 DRM_MODE_ENCODER_LVDS, "LVDS");
>>> >  
>>> >  	intel_encoder->enable = intel_enable_lvds;
>>> > @@ -944,7 +943,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>>> >  	 * Attempt to get the fixed panel mode from DDC.  Assume that the
>>> >  	 * preferred mode is the right one.
>>> >  	 */
>>> > -	mutex_lock(&dev->mode_config.mutex);
>>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>> >  	if (vga_switcheroo_handler_flags() & VGA_SWITCHEROO_CAN_SWITCH_DDC)
>>> >  		edid = drm_get_edid_switcheroo(connector,
>>> >  				    intel_gmbus_get_adapter(dev_priv, pin));
>>> > @@ -982,7 +981,7 @@ void intel_lvds_init(struct drm_i915_private *dev_priv)
>>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector))
>>> >  		intel_panel_add_encoder_fixed_mode(intel_connector, intel_encoder);
>>> >  
>>> > -	mutex_unlock(&dev->mode_config.mutex);
>>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>> >  
>>> >  	/* If we still don't have a mode after all that, give up. */
>>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector))
>>> > diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
>>> > index caa07ef34f21ef..e0184745632c07 100644
>>> > --- a/drivers/gpu/drm/i915/display/intel_opregion.c
>>> > +++ b/drivers/gpu/drm/i915/display/intel_opregion.c
>>> > @@ -463,7 +463,6 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>>> >  	struct intel_connector *connector;
>>> >  	struct drm_connector_list_iter conn_iter;
>>> >  	struct opregion_asle *asle = dev_priv->display.opregion.asle;
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  
>>> >  	drm_dbg(&dev_priv->drm, "bclp = 0x%08x\n", bclp);
>>> >  
>>> > @@ -480,7 +479,7 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>>> >  	if (bclp > 255)
>>> >  		return ASLC_BACKLIGHT_FAILED;
>>> >  
>>> > -	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
>>> > +	drm_modeset_lock(&dev_priv->drm.mode_config.connection_mutex, NULL);
>>> >  
>>> >  	/*
>>> >  	 * Update backlight on all connectors that support backlight (usually
>>> > @@ -488,13 +487,13 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>>> >  	 */
>>> >  	drm_dbg_kms(&dev_priv->drm, "updating opregion backlight %d/255\n",
>>> >  		    bclp);
>>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>> >  	for_each_intel_connector_iter(connector, &conn_iter)
>>> >  		intel_backlight_set_acpi(connector->base.state, bclp, 255);
>>> >  	drm_connector_list_iter_end(&conn_iter);
>>> >  	asle->cblv = DIV_ROUND_UP(bclp * 100, 255) | ASLE_CBLV_VALID;
>>> >  
>>> > -	drm_modeset_unlock(&dev->mode_config.connection_mutex);
>>> > +	drm_modeset_unlock(&dev_priv->drm.mode_config.connection_mutex);
>>> >  
>>> >  
>>> >  	return 0;
>>> > diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>>> > index 8ac263f471bee1..1c74388c60d7bd 100644
>>> > --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>>> > +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
>>> > @@ -75,7 +75,6 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>>> >  				     enum pipe pipe,
>>> >  				     enum intel_pipe_crc_source *source)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct intel_encoder *encoder;
>>> >  	struct intel_crtc *crtc;
>>> >  	struct intel_digital_port *dig_port;
>>> > @@ -83,8 +82,8 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>>> >  
>>> >  	*source = INTEL_PIPE_CRC_SOURCE_PIPE;
>>> >  
>>> > -	drm_modeset_lock_all(dev);
>>> > -	for_each_intel_encoder(dev, encoder) {
>>> > +	drm_modeset_lock_all(&dev_priv->drm);
>>> > +	for_each_intel_encoder(&dev_priv->drm, encoder) {
>>> >  		if (!encoder->base.crtc)
>>> >  			continue;
>>> >  
>>> > @@ -111,7 +110,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>>> >  				*source = INTEL_PIPE_CRC_SOURCE_DP_D;
>>> >  				break;
>>> >  			default:
>>> > -				drm_WARN(dev, 1, "nonexisting DP port %c\n",
>>> > +				drm_WARN(&dev_priv->drm, 1, "nonexisting DP port %c\n",
>>> >  					 port_name(dig_port->base.port));
>>> >  				break;
>>> >  			}
>>> > @@ -120,7 +119,7 @@ static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
>>> >  			break;
>>> >  		}
>>> >  	}
>>> > -	drm_modeset_unlock_all(dev);
>>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>>> >  
>>> >  	return ret;
>>> >  }
>>> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
>>> > index 16cf17b1e9d998..904a1049eff39a 100644
>>> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
>>> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
>>> > @@ -2063,13 +2063,12 @@ static bool __psr_wait_for_idle_locked(struct intel_dp *intel_dp)
>>> >  static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
>>> >  {
>>> >  	struct drm_connector_list_iter conn_iter;
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct drm_modeset_acquire_ctx ctx;
>>> >  	struct drm_atomic_state *state;
>>> >  	struct drm_connector *conn;
>>> >  	int err = 0;
>>> >  
>>> > -	state = drm_atomic_state_alloc(dev);
>>> > +	state = drm_atomic_state_alloc(&dev_priv->drm);
>>> >  	if (!state)
>>> >  		return -ENOMEM;
>>> >  
>>> > @@ -2078,7 +2077,7 @@ static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
>>> >  
>>> >  retry:
>>> >  
>>> > -	drm_connector_list_iter_begin(dev, &conn_iter);
>>> > +	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
>>> >  	drm_for_each_connector_iter(conn, &conn_iter) {
>>> >  		struct drm_connector_state *conn_state;
>>> >  		struct drm_crtc_state *crtc_state;
>>> > diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c
>>> > index b2e93c2ad8f32d..cf7d5c1ab4069b 100644
>>> > --- a/drivers/gpu/drm/i915/display/intel_tv.c
>>> > +++ b/drivers/gpu/drm/i915/display/intel_tv.c
>>> > @@ -1925,7 +1925,6 @@ static void intel_tv_add_properties(struct drm_connector *connector)
>>> >  void
>>> >  intel_tv_init(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct drm_connector *connector;
>>> >  	struct intel_tv *intel_tv;
>>> >  	struct intel_encoder *intel_encoder;
>>> > @@ -1989,10 +1988,10 @@ intel_tv_init(struct drm_i915_private *dev_priv)
>>> >  	 */
>>> >  	intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT;
>>> >  
>>> > -	drm_connector_init(dev, connector, &intel_tv_connector_funcs,
>>> > +	drm_connector_init(&dev_priv->drm, connector, &intel_tv_connector_funcs,
>>> >  			   DRM_MODE_CONNECTOR_SVIDEO);
>>> >  
>>> > -	drm_encoder_init(dev, &intel_encoder->base, &intel_tv_enc_funcs,
>>> > +	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_tv_enc_funcs,
>>> >  			 DRM_MODE_ENCODER_TVDAC, "TV");
>>> >  
>>> >  	intel_encoder->compute_config = intel_tv_compute_config;
>>> > diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
>>> > index dee0147a316ce7..5a741ea4505f7e 100644
>>> > --- a/drivers/gpu/drm/i915/display/vlv_dsi.c
>>> > +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
>>> > @@ -1845,7 +1845,6 @@ static void vlv_dphy_param_init(struct intel_dsi *intel_dsi)
>>> >  
>>> >  void vlv_dsi_init(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct intel_dsi *intel_dsi;
>>> >  	struct intel_encoder *intel_encoder;
>>> >  	struct drm_encoder *encoder;
>>> > @@ -1882,7 +1881,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>>> >  
>>> >  	connector = &intel_connector->base;
>>> >  
>>> > -	drm_encoder_init(dev, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
>>> > +	drm_encoder_init(&dev_priv->drm, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
>>> >  			 "DSI %c", port_name(port));
>>> >  
>>> >  	intel_encoder->compute_config = intel_dsi_compute_config;
>>> > @@ -1965,7 +1964,7 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>>> >  	intel_dsi_vbt_gpio_init(intel_dsi,
>>> >  				intel_dsi_get_hw_state(intel_encoder, &pipe));
>>> >  
>>> > -	drm_connector_init(dev, connector, &intel_dsi_connector_funcs,
>>> > +	drm_connector_init(&dev_priv->drm, connector, &intel_dsi_connector_funcs,
>>> >  			   DRM_MODE_CONNECTOR_DSI);
>>> >  
>>> >  	drm_connector_helper_add(connector, &intel_dsi_connector_helper_funcs);
>>> > @@ -1974,9 +1973,9 @@ void vlv_dsi_init(struct drm_i915_private *dev_priv)
>>> >  
>>> >  	intel_connector_attach_encoder(intel_connector, intel_encoder);
>>> >  
>>> > -	mutex_lock(&dev->mode_config.mutex);
>>> > +	mutex_lock(&dev_priv->drm.mode_config.mutex);
>>> >  	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
>>> > -	mutex_unlock(&dev->mode_config.mutex);
>>> > +	mutex_unlock(&dev_priv->drm.mode_config.mutex);
>>> >  
>>> >  	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
>>> >  		drm_dbg_kms(&dev_priv->drm, "no fixed mode\n");
>>> > diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
>>> > index fb3826dabe8b6b..f934ba37f0194f 100644
>>> > --- a/drivers/gpu/drm/i915/i915_driver.c
>>> > +++ b/drivers/gpu/drm/i915/i915_driver.c
>>> > @@ -739,7 +739,6 @@ static void i915_driver_hw_remove(struct drm_i915_private *dev_priv)
>>> >   */
>>> >  static void i915_driver_register(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct intel_gt *gt;
>>> >  	unsigned int i;
>>> >  
>>> > @@ -749,7 +748,7 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
>>> >  	intel_vgpu_register(dev_priv);
>>> >  
>>> >  	/* Reveal our presence to userspace */
>>> > -	if (drm_dev_register(dev, 0)) {
>>> > +	if (drm_dev_register(&dev_priv->drm, 0)) {
>>> >  		drm_err(&dev_priv->drm,
>>> >  			"Failed to register driver for userspace access!\n");
>>> >  		return;
>>> > @@ -1093,32 +1092,30 @@ static void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)
>>> >  
>>> >  static void intel_suspend_encoders(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct intel_encoder *encoder;
>>> >  
>>> >  	if (!HAS_DISPLAY(dev_priv))
>>> >  		return;
>>> >  
>>> > -	drm_modeset_lock_all(dev);
>>> > -	for_each_intel_encoder(dev, encoder)
>>> > +	drm_modeset_lock_all(&dev_priv->drm);
>>> > +	for_each_intel_encoder(&dev_priv->drm, encoder)
>>> >  		if (encoder->suspend)
>>> >  			encoder->suspend(encoder);
>>> > -	drm_modeset_unlock_all(dev);
>>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>>> >  }
>>> >  
>>> >  static void intel_shutdown_encoders(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	struct intel_encoder *encoder;
>>> >  
>>> >  	if (!HAS_DISPLAY(dev_priv))
>>> >  		return;
>>> >  
>>> > -	drm_modeset_lock_all(dev);
>>> > -	for_each_intel_encoder(dev, encoder)
>>> > +	drm_modeset_lock_all(&dev_priv->drm);
>>> > +	for_each_intel_encoder(&dev_priv->drm, encoder)
>>> >  		if (encoder->shutdown)
>>> >  			encoder->shutdown(encoder);
>>> > -	drm_modeset_unlock_all(dev);
>>> > +	drm_modeset_unlock_all(&dev_priv->drm);
>>> >  }
>>> >  
>>> >  void i915_driver_shutdown(struct drm_i915_private *i915)
>>> > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
>>> > index 87cb05b3b6ceab..72f4278d2d0ba1 100644
>>> > --- a/drivers/gpu/drm/i915/i915_irq.c
>>> > +++ b/drivers/gpu/drm/i915/i915_irq.c
>>> > @@ -4384,7 +4384,6 @@ void intel_hpd_irq_setup(struct drm_i915_private *i915)
>>> >   */
>>> >  void intel_irq_init(struct drm_i915_private *dev_priv)
>>> >  {
>>> > -	struct drm_device *dev = &dev_priv->drm;
>>> >  	int i;
>>> >  
>>> >  	INIT_WORK(&dev_priv->l3_parity.error_work, ivb_parity_work);
>>> > @@ -4402,7 +4401,7 @@ void intel_irq_init(struct drm_i915_private *dev_priv)
>>> >  
>>> >  	intel_hpd_init_early(dev_priv);
>>> >  
>>> > -	dev->vblank_disable_immediate = true;
>>> > +	dev_priv->drm.vblank_disable_immediate = true;
>>> >  
>>> >  	/* Most platforms treat the display irq block as an always-on
>>> >  	 * power domain. vlv/chv can disable it at runtime and need
>>> > -- 
>>> > 2.34.1
Andi Shyti Oct. 11, 2022, 10:28 a.m. UTC | #6
Hi Jani,

On Tue, Oct 11, 2022 at 01:17:35PM +0300, Jani Nikula wrote:
> On Tue, 11 Oct 2022, Jani Nikula <jani.nikula@intel.com> wrote:
> > On Tue, 11 Oct 2022, Andi Shyti <andi.shyti@linux.intel.com> wrote:
> >> On Mon, Oct 10, 2022 at 04:31:28PM +0200, Andi Shyti wrote:
> >>> On Thu, Oct 06, 2022 at 10:48:44PM +0200, Andrzej Hajda wrote:
> >>> > drm_device pointers are unwelcome.
> >>> > 
> >>> > Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
> >>> 
> >>> Acked-by: Andi Shyti <andi.shyti@linux.intel.com>
> >>
> >> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
> >>
> >> Only this first patch is strictly related to display, I'm taking
> >> the series in intel-gt-next. Anyone against?
> >
> > Absolutely against. That logic is backwards.
> >
> > drm-intel-gt-next is for stuff that's strictly about gt/gem. Everything
> > else, especially stuff touching common code, needs to go through
> > drm-intel-next.
> >
> > There's nothing here that's gt/gem specific.
> 
> To elaborate on this, we can do drm-intel-next -> drm-intel-gt-next
> cross-merges. Not vice versa.
> 
> If you merge code to drm-intel-gt-next that other work in drm-intel-next
> depends on, we'll need a drm-intel-gt-next pull request to drm-next and
> a backmerge from drm-next to drm-intel-next. And that creates a
> dependency outside of drm-intel.git, as well as potentially several
> weeks' delay when drm-next is not open for pull requests.

Thanks for the explanation... I'm still learning here :)

Will push in drm-intel-next, then.

Thanks,
Andi
Tvrtko Ursulin Oct. 11, 2022, 11:19 a.m. UTC | #7
On 11/10/2022 11:13, Jani Nikula wrote:
> On Tue, 11 Oct 2022, Andi Shyti <andi.shyti@linux.intel.com> wrote:
>> On Mon, Oct 10, 2022 at 04:31:28PM +0200, Andi Shyti wrote:
>>> On Thu, Oct 06, 2022 at 10:48:44PM +0200, Andrzej Hajda wrote:
>>>> drm_device pointers are unwelcome.
>>>>
>>>> Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com>
>>>
>>> Acked-by: Andi Shyti <andi.shyti@linux.intel.com>
>>
>> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
>>
>> Only this first patch is strictly related to display, I'm taking
>> the series in intel-gt-next. Anyone against?
> 
> Absolutely against. That logic is backwards.
> 
> drm-intel-gt-next is for stuff that's strictly about gt/gem. Everything
> else, especially stuff touching common code, needs to go through
> drm-intel-next.
> 
> There's nothing here that's gt/gem specific.

Glanced over the series and although there are a few bits which are not 
about display, it does seem majority is either display or common code so 
I agree it should all go in via drm-intel-next.

Regards,

Tvrtko
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c
index 47f13750f6fa66..e05e7cd6c4123a 100644
--- a/drivers/gpu/drm/i915/display/icl_dsi.c
+++ b/drivers/gpu/drm/i915/display/icl_dsi.c
@@ -1985,7 +1985,6 @@  static void icl_dsi_add_properties(struct intel_connector *connector)
 
 void icl_dsi_init(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	struct intel_dsi *intel_dsi;
 	struct intel_encoder *encoder;
 	struct intel_connector *intel_connector;
@@ -2010,7 +2009,7 @@  void icl_dsi_init(struct drm_i915_private *dev_priv)
 	connector = &intel_connector->base;
 
 	/* register DSI encoder with DRM subsystem */
-	drm_encoder_init(dev, &encoder->base, &gen11_dsi_encoder_funcs,
+	drm_encoder_init(&dev_priv->drm, &encoder->base, &gen11_dsi_encoder_funcs,
 			 DRM_MODE_ENCODER_DSI, "DSI %c", port_name(port));
 
 	encoder->pre_pll_enable = gen11_dsi_pre_pll_enable;
@@ -2034,7 +2033,7 @@  void icl_dsi_init(struct drm_i915_private *dev_priv)
 	encoder->is_clock_enabled = gen11_dsi_is_clock_enabled;
 
 	/* register DSI connector with DRM subsystem */
-	drm_connector_init(dev, connector, &gen11_dsi_connector_funcs,
+	drm_connector_init(&dev_priv->drm, connector, &gen11_dsi_connector_funcs,
 			   DRM_MODE_CONNECTOR_DSI);
 	drm_connector_helper_add(connector, &gen11_dsi_connector_helper_funcs);
 	connector->display_info.subpixel_order = SubPixelHorizontalRGB;
@@ -2045,9 +2044,9 @@  void icl_dsi_init(struct drm_i915_private *dev_priv)
 
 	intel_bios_init_panel(dev_priv, &intel_connector->panel, NULL, NULL);
 
-	mutex_lock(&dev->mode_config.mutex);
+	mutex_lock(&dev_priv->drm.mode_config.mutex);
 	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
-	mutex_unlock(&dev->mode_config.mutex);
+	mutex_unlock(&dev_priv->drm.mode_config.mutex);
 
 	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
 		drm_err(&dev_priv->drm, "DSI fixed mode info missing\n");
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 8c3bd9ba0d7481..67e35a8e3db481 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -878,7 +878,6 @@  static bool gpu_reset_clobbers_display(struct drm_i915_private *dev_priv)
 
 void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	struct drm_modeset_acquire_ctx *ctx = &dev_priv->reset_ctx;
 	struct drm_atomic_state *state;
 	int ret;
@@ -906,10 +905,10 @@  void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
 	 * Need mode_config.mutex so that we don't
 	 * trample ongoing ->detect() and whatnot.
 	 */
-	mutex_lock(&dev->mode_config.mutex);
+	mutex_lock(&dev_priv->drm.mode_config.mutex);
 	drm_modeset_acquire_init(ctx, 0);
 	while (1) {
-		ret = drm_modeset_lock_all_ctx(dev, ctx);
+		ret = drm_modeset_lock_all_ctx(&dev_priv->drm, ctx);
 		if (ret != -EDEADLK)
 			break;
 
@@ -919,7 +918,7 @@  void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
 	 * Disabling the crtcs gracefully seems nicer. Also the
 	 * g33 docs say we should at least disable all the planes.
 	 */
-	state = drm_atomic_helper_duplicate_state(dev, ctx);
+	state = drm_atomic_helper_duplicate_state(&dev_priv->drm, ctx);
 	if (IS_ERR(state)) {
 		ret = PTR_ERR(state);
 		drm_err(&dev_priv->drm, "Duplicating state failed with %i\n",
@@ -927,7 +926,7 @@  void intel_display_prepare_reset(struct drm_i915_private *dev_priv)
 		return;
 	}
 
-	ret = drm_atomic_helper_disable_all(dev, ctx);
+	ret = drm_atomic_helper_disable_all(&dev_priv->drm, ctx);
 	if (ret) {
 		drm_err(&dev_priv->drm, "Suspending crtc's failed with %i\n",
 			ret);
diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
index 372a5b427e4fbd..cfc056a05bbf17 100644
--- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c
+++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c
@@ -128,7 +128,6 @@  static int i915_vbt(struct seq_file *m, void *unused)
 static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
 {
 	struct drm_i915_private *dev_priv = node_to_i915(m->private);
-	struct drm_device *dev = &dev_priv->drm;
 	struct intel_framebuffer *fbdev_fb = NULL;
 	struct drm_framebuffer *drm_fb;
 
@@ -147,8 +146,8 @@  static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
 	}
 #endif
 
-	mutex_lock(&dev->mode_config.fb_lock);
-	drm_for_each_fb(drm_fb, dev) {
+	mutex_lock(&dev_priv->drm.mode_config.fb_lock);
+	drm_for_each_fb(drm_fb, &dev_priv->drm) {
 		struct intel_framebuffer *fb = to_intel_framebuffer(drm_fb);
 		if (fb == fbdev_fb)
 			continue;
@@ -163,7 +162,7 @@  static int i915_gem_framebuffer_info(struct seq_file *m, void *data)
 		i915_debugfs_describe_obj(m, intel_fb_obj(&fb->base));
 		seq_putc(m, '\n');
 	}
-	mutex_unlock(&dev->mode_config.fb_lock);
+	mutex_unlock(&dev_priv->drm.mode_config.fb_lock);
 
 	return 0;
 }
@@ -898,7 +897,6 @@  static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc)
 static int i915_display_info(struct seq_file *m, void *unused)
 {
 	struct drm_i915_private *dev_priv = node_to_i915(m->private);
-	struct drm_device *dev = &dev_priv->drm;
 	struct intel_crtc *crtc;
 	struct drm_connector *connector;
 	struct drm_connector_list_iter conn_iter;
@@ -906,22 +904,22 @@  static int i915_display_info(struct seq_file *m, void *unused)
 
 	wakeref = intel_runtime_pm_get(&dev_priv->runtime_pm);
 
-	drm_modeset_lock_all(dev);
+	drm_modeset_lock_all(&dev_priv->drm);
 
 	seq_printf(m, "CRTC info\n");
 	seq_printf(m, "---------\n");
-	for_each_intel_crtc(dev, crtc)
+	for_each_intel_crtc(&dev_priv->drm, crtc)
 		intel_crtc_info(m, crtc);
 
 	seq_printf(m, "\n");
 	seq_printf(m, "Connector info\n");
 	seq_printf(m, "--------------\n");
-	drm_connector_list_iter_begin(dev, &conn_iter);
+	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	drm_for_each_connector_iter(connector, &conn_iter)
 		intel_connector_info(m, connector);
 	drm_connector_list_iter_end(&conn_iter);
 
-	drm_modeset_unlock_all(dev);
+	drm_modeset_unlock_all(&dev_priv->drm);
 
 	intel_runtime_pm_put(&dev_priv->runtime_pm, wakeref);
 
@@ -931,10 +929,9 @@  static int i915_display_info(struct seq_file *m, void *unused)
 static int i915_shared_dplls_info(struct seq_file *m, void *unused)
 {
 	struct drm_i915_private *dev_priv = node_to_i915(m->private);
-	struct drm_device *dev = &dev_priv->drm;
 	int i;
 
-	drm_modeset_lock_all(dev);
+	drm_modeset_lock_all(&dev_priv->drm);
 
 	seq_printf(m, "PLL refclks: non-SSC: %d kHz, SSC: %d kHz\n",
 		   dev_priv->display.dpll.ref_clks.nssc,
@@ -979,7 +976,7 @@  static int i915_shared_dplls_info(struct seq_file *m, void *unused)
 		seq_printf(m, " mg_pll_tdc_coldst_bias: 0x%08x\n",
 			   pll->state.hw_state.mg_pll_tdc_coldst_bias);
 	}
-	drm_modeset_unlock_all(dev);
+	drm_modeset_unlock_all(&dev_priv->drm);
 
 	return 0;
 }
@@ -987,14 +984,13 @@  static int i915_shared_dplls_info(struct seq_file *m, void *unused)
 static int i915_ddb_info(struct seq_file *m, void *unused)
 {
 	struct drm_i915_private *dev_priv = node_to_i915(m->private);
-	struct drm_device *dev = &dev_priv->drm;
 	struct skl_ddb_entry *entry;
 	struct intel_crtc *crtc;
 
 	if (DISPLAY_VER(dev_priv) < 9)
 		return -ENODEV;
 
-	drm_modeset_lock_all(dev);
+	drm_modeset_lock_all(&dev_priv->drm);
 
 	seq_printf(m, "%-15s%8s%8s%8s\n", "", "Start", "End", "Size");
 
@@ -1018,7 +1014,7 @@  static int i915_ddb_info(struct seq_file *m, void *unused)
 			   entry->end, skl_ddb_entry_size(entry));
 	}
 
-	drm_modeset_unlock_all(dev);
+	drm_modeset_unlock_all(&dev_priv->drm);
 
 	return 0;
 }
@@ -1062,13 +1058,12 @@  static int i915_lpsp_status(struct seq_file *m, void *unused)
 static int i915_dp_mst_info(struct seq_file *m, void *unused)
 {
 	struct drm_i915_private *dev_priv = node_to_i915(m->private);
-	struct drm_device *dev = &dev_priv->drm;
 	struct intel_encoder *intel_encoder;
 	struct intel_digital_port *dig_port;
 	struct drm_connector *connector;
 	struct drm_connector_list_iter conn_iter;
 
-	drm_connector_list_iter_begin(dev, &conn_iter);
+	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	drm_for_each_connector_iter(connector, &conn_iter) {
 		if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort)
 			continue;
@@ -1155,12 +1150,11 @@  static ssize_t i915_displayport_test_active_write(struct file *file,
 static int i915_displayport_test_active_show(struct seq_file *m, void *data)
 {
 	struct drm_i915_private *dev_priv = m->private;
-	struct drm_device *dev = &dev_priv->drm;
 	struct drm_connector *connector;
 	struct drm_connector_list_iter conn_iter;
 	struct intel_dp *intel_dp;
 
-	drm_connector_list_iter_begin(dev, &conn_iter);
+	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	drm_for_each_connector_iter(connector, &conn_iter) {
 		struct intel_encoder *encoder;
 
@@ -1205,12 +1199,11 @@  static const struct file_operations i915_displayport_test_active_fops = {
 static int i915_displayport_test_data_show(struct seq_file *m, void *data)
 {
 	struct drm_i915_private *dev_priv = m->private;
-	struct drm_device *dev = &dev_priv->drm;
 	struct drm_connector *connector;
 	struct drm_connector_list_iter conn_iter;
 	struct intel_dp *intel_dp;
 
-	drm_connector_list_iter_begin(dev, &conn_iter);
+	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	drm_for_each_connector_iter(connector, &conn_iter) {
 		struct intel_encoder *encoder;
 
@@ -1259,12 +1252,11 @@  DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_data);
 static int i915_displayport_test_type_show(struct seq_file *m, void *data)
 {
 	struct drm_i915_private *dev_priv = m->private;
-	struct drm_device *dev = &dev_priv->drm;
 	struct drm_connector *connector;
 	struct drm_connector_list_iter conn_iter;
 	struct intel_dp *intel_dp;
 
-	drm_connector_list_iter_begin(dev, &conn_iter);
+	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	drm_for_each_connector_iter(connector, &conn_iter) {
 		struct intel_encoder *encoder;
 
@@ -1291,7 +1283,6 @@  DEFINE_SHOW_ATTRIBUTE(i915_displayport_test_type);
 static void wm_latency_show(struct seq_file *m, const u16 wm[8])
 {
 	struct drm_i915_private *dev_priv = m->private;
-	struct drm_device *dev = &dev_priv->drm;
 	int level;
 	int num_levels;
 
@@ -1304,7 +1295,7 @@  static void wm_latency_show(struct seq_file *m, const u16 wm[8])
 	else
 		num_levels = ilk_wm_max_level(dev_priv) + 1;
 
-	drm_modeset_lock_all(dev);
+	drm_modeset_lock_all(&dev_priv->drm);
 
 	for (level = 0; level < num_levels; level++) {
 		unsigned int latency = wm[level];
@@ -1325,7 +1316,7 @@  static void wm_latency_show(struct seq_file *m, const u16 wm[8])
 			   level, wm[level], latency / 10, latency % 10);
 	}
 
-	drm_modeset_unlock_all(dev);
+	drm_modeset_unlock_all(&dev_priv->drm);
 }
 
 static int pri_wm_latency_show(struct seq_file *m, void *data)
@@ -1408,7 +1399,6 @@  static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
 {
 	struct seq_file *m = file->private_data;
 	struct drm_i915_private *dev_priv = m->private;
-	struct drm_device *dev = &dev_priv->drm;
 	u16 new[8] = { 0 };
 	int num_levels;
 	int level;
@@ -1438,12 +1428,12 @@  static ssize_t wm_latency_write(struct file *file, const char __user *ubuf,
 	if (ret != num_levels)
 		return -EINVAL;
 
-	drm_modeset_lock_all(dev);
+	drm_modeset_lock_all(&dev_priv->drm);
 
 	for (level = 0; level < num_levels; level++)
 		wm[level] = new[level];
 
-	drm_modeset_unlock_all(dev);
+	drm_modeset_unlock_all(&dev_priv->drm);
 
 	return len;
 }
@@ -1528,7 +1518,6 @@  i915_fifo_underrun_reset_write(struct file *filp,
 {
 	struct drm_i915_private *dev_priv = filp->private_data;
 	struct intel_crtc *crtc;
-	struct drm_device *dev = &dev_priv->drm;
 	int ret;
 	bool reset;
 
@@ -1539,7 +1528,7 @@  i915_fifo_underrun_reset_write(struct file *filp,
 	if (!reset)
 		return cnt;
 
-	for_each_intel_crtc(dev, crtc) {
+	for_each_intel_crtc(&dev_priv->drm, crtc) {
 		struct drm_crtc_commit *commit;
 		struct intel_crtc_state *crtc_state;
 
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
index 1e608b9e505593..4c1de91e56ff9d 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -1148,10 +1148,9 @@  static void hsw_assert_cdclk(struct drm_i915_private *dev_priv)
 
 static void assert_can_disable_lcpll(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	struct intel_crtc *crtc;
 
-	for_each_intel_crtc(dev, crtc)
+	for_each_intel_crtc(&dev_priv->drm, crtc)
 		I915_STATE_WARN(crtc->active, "CRTC for pipe %c enabled\n",
 				pipe_name(crtc->pipe));
 
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 70b06806ec0d90..a060903891b201 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -5229,7 +5229,6 @@  static bool intel_edp_init_connector(struct intel_dp *intel_dp,
 				     struct intel_connector *intel_connector)
 {
 	struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
-	struct drm_device *dev = &dev_priv->drm;
 	struct drm_connector *connector = &intel_connector->base;
 	struct drm_display_mode *fixed_mode;
 	struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
@@ -5246,7 +5245,7 @@  static bool intel_edp_init_connector(struct intel_dp *intel_dp,
 	 * with an already powered-on LVDS power sequencer.
 	 */
 	if (intel_get_lvds_encoder(dev_priv)) {
-		drm_WARN_ON(dev,
+		drm_WARN_ON(&dev_priv->drm,
 			    !(HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)));
 		drm_info(&dev_priv->drm,
 			 "LVDS was detected, not registering eDP\n");
@@ -5267,7 +5266,7 @@  static bool intel_edp_init_connector(struct intel_dp *intel_dp,
 		goto out_vdd_off;
 	}
 
-	mutex_lock(&dev->mode_config.mutex);
+	mutex_lock(&dev_priv->drm.mode_config.mutex);
 	edid = drm_get_edid(connector, &intel_dp->aux.ddc);
 	if (!edid) {
 		/* Fallback to EDID from ACPI OpRegion, if any */
@@ -5305,7 +5304,7 @@  static bool intel_edp_init_connector(struct intel_dp *intel_dp,
 	if (!intel_panel_preferred_fixed_mode(intel_connector))
 		intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
 
-	mutex_unlock(&dev->mode_config.mutex);
+	mutex_unlock(&dev_priv->drm.mode_config.mutex);
 
 	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
 		drm_info(&dev_priv->drm,
diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
index 352a1b53b63ed6..907ab7526cb478 100644
--- a/drivers/gpu/drm/i915/display/intel_hotplug.c
+++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
@@ -178,14 +178,13 @@  static bool intel_hpd_irq_storm_detect(struct drm_i915_private *dev_priv,
 static void
 intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	struct drm_connector_list_iter conn_iter;
 	struct intel_connector *connector;
 	bool hpd_disabled = false;
 
 	lockdep_assert_held(&dev_priv->irq_lock);
 
-	drm_connector_list_iter_begin(dev, &conn_iter);
+	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	for_each_intel_connector_iter(connector, &conn_iter) {
 		enum hpd_pin pin;
 
@@ -211,7 +210,7 @@  intel_hpd_irq_storm_switch_to_polling(struct drm_i915_private *dev_priv)
 
 	/* Enable polling and queue hotplug re-enabling. */
 	if (hpd_disabled) {
-		drm_kms_helper_poll_enable(dev);
+		drm_kms_helper_poll_enable(&dev_priv->drm);
 		mod_delayed_work(system_wq, &dev_priv->display.hotplug.reenable_work,
 				 msecs_to_jiffies(HPD_STORM_REENABLE_DELAY));
 	}
@@ -222,7 +221,6 @@  static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
 	struct drm_i915_private *dev_priv =
 		container_of(work, typeof(*dev_priv),
 			     display.hotplug.reenable_work.work);
-	struct drm_device *dev = &dev_priv->drm;
 	struct drm_connector_list_iter conn_iter;
 	struct intel_connector *connector;
 	intel_wakeref_t wakeref;
@@ -232,7 +230,7 @@  static void intel_hpd_irq_storm_reenable_work(struct work_struct *work)
 
 	spin_lock_irq(&dev_priv->irq_lock);
 
-	drm_connector_list_iter_begin(dev, &conn_iter);
+	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	for_each_intel_connector_iter(connector, &conn_iter) {
 		pin = intel_connector_hpd_pin(connector);
 		if (pin == HPD_NONE ||
@@ -370,14 +368,13 @@  static void i915_hotplug_work_func(struct work_struct *work)
 	struct drm_i915_private *dev_priv =
 		container_of(work, struct drm_i915_private,
 			     display.hotplug.hotplug_work.work);
-	struct drm_device *dev = &dev_priv->drm;
 	struct drm_connector_list_iter conn_iter;
 	struct intel_connector *connector;
 	u32 changed = 0, retry = 0;
 	u32 hpd_event_bits;
 	u32 hpd_retry_bits;
 
-	mutex_lock(&dev->mode_config.mutex);
+	mutex_lock(&dev_priv->drm.mode_config.mutex);
 	drm_dbg_kms(&dev_priv->drm, "running encoder hotplug functions\n");
 
 	spin_lock_irq(&dev_priv->irq_lock);
@@ -392,7 +389,7 @@  static void i915_hotplug_work_func(struct work_struct *work)
 
 	spin_unlock_irq(&dev_priv->irq_lock);
 
-	drm_connector_list_iter_begin(dev, &conn_iter);
+	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	for_each_intel_connector_iter(connector, &conn_iter) {
 		enum hpd_pin pin;
 		u32 hpd_bit;
@@ -429,10 +426,10 @@  static void i915_hotplug_work_func(struct work_struct *work)
 		}
 	}
 	drm_connector_list_iter_end(&conn_iter);
-	mutex_unlock(&dev->mode_config.mutex);
+	mutex_unlock(&dev_priv->drm.mode_config.mutex);
 
 	if (changed)
-		drm_kms_helper_hotplug_event(dev);
+		drm_kms_helper_hotplug_event(&dev_priv->drm);
 
 	/* Remove shared HPD pins that have changed */
 	retry &= ~changed;
@@ -615,16 +612,15 @@  static void i915_hpd_poll_init_work(struct work_struct *work)
 	struct drm_i915_private *dev_priv =
 		container_of(work, struct drm_i915_private,
 			     display.hotplug.poll_init_work);
-	struct drm_device *dev = &dev_priv->drm;
 	struct drm_connector_list_iter conn_iter;
 	struct intel_connector *connector;
 	bool enabled;
 
-	mutex_lock(&dev->mode_config.mutex);
+	mutex_lock(&dev_priv->drm.mode_config.mutex);
 
 	enabled = READ_ONCE(dev_priv->display.hotplug.poll_enabled);
 
-	drm_connector_list_iter_begin(dev, &conn_iter);
+	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	for_each_intel_connector_iter(connector, &conn_iter) {
 		enum hpd_pin pin;
 
@@ -641,16 +637,16 @@  static void i915_hpd_poll_init_work(struct work_struct *work)
 	drm_connector_list_iter_end(&conn_iter);
 
 	if (enabled)
-		drm_kms_helper_poll_enable(dev);
+		drm_kms_helper_poll_enable(&dev_priv->drm);
 
-	mutex_unlock(&dev->mode_config.mutex);
+	mutex_unlock(&dev_priv->drm.mode_config.mutex);
 
 	/*
 	 * We might have missed any hotplugs that happened while we were
 	 * in the middle of disabling polling
 	 */
 	if (!enabled)
-		drm_helper_hpd_irq_event(dev);
+		drm_helper_hpd_irq_event(&dev_priv->drm);
 }
 
 /**
diff --git a/drivers/gpu/drm/i915/display/intel_lpe_audio.c b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
index dca6003ccac80f..6a7ac60e4f7667 100644
--- a/drivers/gpu/drm/i915/display/intel_lpe_audio.c
+++ b/drivers/gpu/drm/i915/display/intel_lpe_audio.c
@@ -80,8 +80,7 @@ 
 static struct platform_device *
 lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
-	struct pci_dev *pdev = to_pci_dev(dev->dev);
+	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 	struct platform_device_info pinfo = {};
 	struct resource *rsc;
 	struct platform_device *platdev;
@@ -108,7 +107,7 @@  lpe_audio_platdev_create(struct drm_i915_private *dev_priv)
 	rsc[1].flags    = IORESOURCE_MEM;
 	rsc[1].name     = "hdmi-lpe-audio-mmio";
 
-	pinfo.parent = dev->dev;
+	pinfo.parent = dev_priv->drm.dev;
 	pinfo.name = "hdmi-lpe-audio";
 	pinfo.id = -1;
 	pinfo.res = rsc;
diff --git a/drivers/gpu/drm/i915/display/intel_lvds.c b/drivers/gpu/drm/i915/display/intel_lvds.c
index e97e24f690a9f8..246787bbf5ef0a 100644
--- a/drivers/gpu/drm/i915/display/intel_lvds.c
+++ b/drivers/gpu/drm/i915/display/intel_lvds.c
@@ -828,7 +828,6 @@  static void intel_lvds_add_properties(struct drm_connector *connector)
  */
 void intel_lvds_init(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	struct intel_lvds_encoder *lvds_encoder;
 	struct intel_encoder *intel_encoder;
 	struct intel_connector *intel_connector;
@@ -841,7 +840,7 @@  void intel_lvds_init(struct drm_i915_private *dev_priv)
 
 	/* Skip init on machines we know falsely report LVDS */
 	if (dmi_check_system(intel_no_lvds)) {
-		drm_WARN(dev, !dev_priv->display.vbt.int_lvds_support,
+		drm_WARN(&dev_priv->drm, !dev_priv->display.vbt.int_lvds_support,
 			 "Useless DMI match. Internal LVDS support disabled by VBT\n");
 		return;
 	}
@@ -890,10 +889,10 @@  void intel_lvds_init(struct drm_i915_private *dev_priv)
 	intel_encoder = &lvds_encoder->base;
 	encoder = &intel_encoder->base;
 	connector = &intel_connector->base;
-	drm_connector_init(dev, &intel_connector->base, &intel_lvds_connector_funcs,
+	drm_connector_init(&dev_priv->drm, &intel_connector->base, &intel_lvds_connector_funcs,
 			   DRM_MODE_CONNECTOR_LVDS);
 
-	drm_encoder_init(dev, &intel_encoder->base, &intel_lvds_enc_funcs,
+	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_lvds_enc_funcs,
 			 DRM_MODE_ENCODER_LVDS, "LVDS");
 
 	intel_encoder->enable = intel_enable_lvds;
@@ -944,7 +943,7 @@  void intel_lvds_init(struct drm_i915_private *dev_priv)
 	 * Attempt to get the fixed panel mode from DDC.  Assume that the
 	 * preferred mode is the right one.
 	 */
-	mutex_lock(&dev->mode_config.mutex);
+	mutex_lock(&dev_priv->drm.mode_config.mutex);
 	if (vga_switcheroo_handler_flags() & VGA_SWITCHEROO_CAN_SWITCH_DDC)
 		edid = drm_get_edid_switcheroo(connector,
 				    intel_gmbus_get_adapter(dev_priv, pin));
@@ -982,7 +981,7 @@  void intel_lvds_init(struct drm_i915_private *dev_priv)
 	if (!intel_panel_preferred_fixed_mode(intel_connector))
 		intel_panel_add_encoder_fixed_mode(intel_connector, intel_encoder);
 
-	mutex_unlock(&dev->mode_config.mutex);
+	mutex_unlock(&dev_priv->drm.mode_config.mutex);
 
 	/* If we still don't have a mode after all that, give up. */
 	if (!intel_panel_preferred_fixed_mode(intel_connector))
diff --git a/drivers/gpu/drm/i915/display/intel_opregion.c b/drivers/gpu/drm/i915/display/intel_opregion.c
index caa07ef34f21ef..e0184745632c07 100644
--- a/drivers/gpu/drm/i915/display/intel_opregion.c
+++ b/drivers/gpu/drm/i915/display/intel_opregion.c
@@ -463,7 +463,6 @@  static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
 	struct intel_connector *connector;
 	struct drm_connector_list_iter conn_iter;
 	struct opregion_asle *asle = dev_priv->display.opregion.asle;
-	struct drm_device *dev = &dev_priv->drm;
 
 	drm_dbg(&dev_priv->drm, "bclp = 0x%08x\n", bclp);
 
@@ -480,7 +479,7 @@  static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
 	if (bclp > 255)
 		return ASLC_BACKLIGHT_FAILED;
 
-	drm_modeset_lock(&dev->mode_config.connection_mutex, NULL);
+	drm_modeset_lock(&dev_priv->drm.mode_config.connection_mutex, NULL);
 
 	/*
 	 * Update backlight on all connectors that support backlight (usually
@@ -488,13 +487,13 @@  static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
 	 */
 	drm_dbg_kms(&dev_priv->drm, "updating opregion backlight %d/255\n",
 		    bclp);
-	drm_connector_list_iter_begin(dev, &conn_iter);
+	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	for_each_intel_connector_iter(connector, &conn_iter)
 		intel_backlight_set_acpi(connector->base.state, bclp, 255);
 	drm_connector_list_iter_end(&conn_iter);
 	asle->cblv = DIV_ROUND_UP(bclp * 100, 255) | ASLE_CBLV_VALID;
 
-	drm_modeset_unlock(&dev->mode_config.connection_mutex);
+	drm_modeset_unlock(&dev_priv->drm.mode_config.connection_mutex);
 
 
 	return 0;
diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
index 8ac263f471bee1..1c74388c60d7bd 100644
--- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
+++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
@@ -75,7 +75,6 @@  static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
 				     enum pipe pipe,
 				     enum intel_pipe_crc_source *source)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	struct intel_encoder *encoder;
 	struct intel_crtc *crtc;
 	struct intel_digital_port *dig_port;
@@ -83,8 +82,8 @@  static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
 
 	*source = INTEL_PIPE_CRC_SOURCE_PIPE;
 
-	drm_modeset_lock_all(dev);
-	for_each_intel_encoder(dev, encoder) {
+	drm_modeset_lock_all(&dev_priv->drm);
+	for_each_intel_encoder(&dev_priv->drm, encoder) {
 		if (!encoder->base.crtc)
 			continue;
 
@@ -111,7 +110,7 @@  static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
 				*source = INTEL_PIPE_CRC_SOURCE_DP_D;
 				break;
 			default:
-				drm_WARN(dev, 1, "nonexisting DP port %c\n",
+				drm_WARN(&dev_priv->drm, 1, "nonexisting DP port %c\n",
 					 port_name(dig_port->base.port));
 				break;
 			}
@@ -120,7 +119,7 @@  static int i9xx_pipe_crc_auto_source(struct drm_i915_private *dev_priv,
 			break;
 		}
 	}
-	drm_modeset_unlock_all(dev);
+	drm_modeset_unlock_all(&dev_priv->drm);
 
 	return ret;
 }
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 16cf17b1e9d998..904a1049eff39a 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -2063,13 +2063,12 @@  static bool __psr_wait_for_idle_locked(struct intel_dp *intel_dp)
 static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
 {
 	struct drm_connector_list_iter conn_iter;
-	struct drm_device *dev = &dev_priv->drm;
 	struct drm_modeset_acquire_ctx ctx;
 	struct drm_atomic_state *state;
 	struct drm_connector *conn;
 	int err = 0;
 
-	state = drm_atomic_state_alloc(dev);
+	state = drm_atomic_state_alloc(&dev_priv->drm);
 	if (!state)
 		return -ENOMEM;
 
@@ -2078,7 +2077,7 @@  static int intel_psr_fastset_force(struct drm_i915_private *dev_priv)
 
 retry:
 
-	drm_connector_list_iter_begin(dev, &conn_iter);
+	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
 	drm_for_each_connector_iter(conn, &conn_iter) {
 		struct drm_connector_state *conn_state;
 		struct drm_crtc_state *crtc_state;
diff --git a/drivers/gpu/drm/i915/display/intel_tv.c b/drivers/gpu/drm/i915/display/intel_tv.c
index b2e93c2ad8f32d..cf7d5c1ab4069b 100644
--- a/drivers/gpu/drm/i915/display/intel_tv.c
+++ b/drivers/gpu/drm/i915/display/intel_tv.c
@@ -1925,7 +1925,6 @@  static void intel_tv_add_properties(struct drm_connector *connector)
 void
 intel_tv_init(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	struct drm_connector *connector;
 	struct intel_tv *intel_tv;
 	struct intel_encoder *intel_encoder;
@@ -1989,10 +1988,10 @@  intel_tv_init(struct drm_i915_private *dev_priv)
 	 */
 	intel_connector->polled = DRM_CONNECTOR_POLL_CONNECT;
 
-	drm_connector_init(dev, connector, &intel_tv_connector_funcs,
+	drm_connector_init(&dev_priv->drm, connector, &intel_tv_connector_funcs,
 			   DRM_MODE_CONNECTOR_SVIDEO);
 
-	drm_encoder_init(dev, &intel_encoder->base, &intel_tv_enc_funcs,
+	drm_encoder_init(&dev_priv->drm, &intel_encoder->base, &intel_tv_enc_funcs,
 			 DRM_MODE_ENCODER_TVDAC, "TV");
 
 	intel_encoder->compute_config = intel_tv_compute_config;
diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
index dee0147a316ce7..5a741ea4505f7e 100644
--- a/drivers/gpu/drm/i915/display/vlv_dsi.c
+++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
@@ -1845,7 +1845,6 @@  static void vlv_dphy_param_init(struct intel_dsi *intel_dsi)
 
 void vlv_dsi_init(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	struct intel_dsi *intel_dsi;
 	struct intel_encoder *intel_encoder;
 	struct drm_encoder *encoder;
@@ -1882,7 +1881,7 @@  void vlv_dsi_init(struct drm_i915_private *dev_priv)
 
 	connector = &intel_connector->base;
 
-	drm_encoder_init(dev, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
+	drm_encoder_init(&dev_priv->drm, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI,
 			 "DSI %c", port_name(port));
 
 	intel_encoder->compute_config = intel_dsi_compute_config;
@@ -1965,7 +1964,7 @@  void vlv_dsi_init(struct drm_i915_private *dev_priv)
 	intel_dsi_vbt_gpio_init(intel_dsi,
 				intel_dsi_get_hw_state(intel_encoder, &pipe));
 
-	drm_connector_init(dev, connector, &intel_dsi_connector_funcs,
+	drm_connector_init(&dev_priv->drm, connector, &intel_dsi_connector_funcs,
 			   DRM_MODE_CONNECTOR_DSI);
 
 	drm_connector_helper_add(connector, &intel_dsi_connector_helper_funcs);
@@ -1974,9 +1973,9 @@  void vlv_dsi_init(struct drm_i915_private *dev_priv)
 
 	intel_connector_attach_encoder(intel_connector, intel_encoder);
 
-	mutex_lock(&dev->mode_config.mutex);
+	mutex_lock(&dev_priv->drm.mode_config.mutex);
 	intel_panel_add_vbt_lfp_fixed_mode(intel_connector);
-	mutex_unlock(&dev->mode_config.mutex);
+	mutex_unlock(&dev_priv->drm.mode_config.mutex);
 
 	if (!intel_panel_preferred_fixed_mode(intel_connector)) {
 		drm_dbg_kms(&dev_priv->drm, "no fixed mode\n");
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index fb3826dabe8b6b..f934ba37f0194f 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -739,7 +739,6 @@  static void i915_driver_hw_remove(struct drm_i915_private *dev_priv)
  */
 static void i915_driver_register(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	struct intel_gt *gt;
 	unsigned int i;
 
@@ -749,7 +748,7 @@  static void i915_driver_register(struct drm_i915_private *dev_priv)
 	intel_vgpu_register(dev_priv);
 
 	/* Reveal our presence to userspace */
-	if (drm_dev_register(dev, 0)) {
+	if (drm_dev_register(&dev_priv->drm, 0)) {
 		drm_err(&dev_priv->drm,
 			"Failed to register driver for userspace access!\n");
 		return;
@@ -1093,32 +1092,30 @@  static void i915_driver_postclose(struct drm_device *dev, struct drm_file *file)
 
 static void intel_suspend_encoders(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	struct intel_encoder *encoder;
 
 	if (!HAS_DISPLAY(dev_priv))
 		return;
 
-	drm_modeset_lock_all(dev);
-	for_each_intel_encoder(dev, encoder)
+	drm_modeset_lock_all(&dev_priv->drm);
+	for_each_intel_encoder(&dev_priv->drm, encoder)
 		if (encoder->suspend)
 			encoder->suspend(encoder);
-	drm_modeset_unlock_all(dev);
+	drm_modeset_unlock_all(&dev_priv->drm);
 }
 
 static void intel_shutdown_encoders(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	struct intel_encoder *encoder;
 
 	if (!HAS_DISPLAY(dev_priv))
 		return;
 
-	drm_modeset_lock_all(dev);
-	for_each_intel_encoder(dev, encoder)
+	drm_modeset_lock_all(&dev_priv->drm);
+	for_each_intel_encoder(&dev_priv->drm, encoder)
 		if (encoder->shutdown)
 			encoder->shutdown(encoder);
-	drm_modeset_unlock_all(dev);
+	drm_modeset_unlock_all(&dev_priv->drm);
 }
 
 void i915_driver_shutdown(struct drm_i915_private *i915)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 87cb05b3b6ceab..72f4278d2d0ba1 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -4384,7 +4384,6 @@  void intel_hpd_irq_setup(struct drm_i915_private *i915)
  */
 void intel_irq_init(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = &dev_priv->drm;
 	int i;
 
 	INIT_WORK(&dev_priv->l3_parity.error_work, ivb_parity_work);
@@ -4402,7 +4401,7 @@  void intel_irq_init(struct drm_i915_private *dev_priv)
 
 	intel_hpd_init_early(dev_priv);
 
-	dev->vblank_disable_immediate = true;
+	dev_priv->drm.vblank_disable_immediate = true;
 
 	/* Most platforms treat the display irq block as an always-on
 	 * power domain. vlv/chv can disable it at runtime and need