* [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove()
@ 2019-09-20 18:54 Jani Nikula
2019-09-20 18:54 ` [PATCH v2 2/6] drm/i915: pass i915 to i915_driver_modeset_probe() Jani Nikula
` (8 more replies)
0 siblings, 9 replies; 11+ messages in thread
From: Jani Nikula @ 2019-09-20 18:54 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
For completeness, add counterpart to i915_driver_modeset_probe() and
remove the asymmetry in the probe/remove parts. No functional changes.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.c | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 9904f762f4bb..4cb95fd9b35d 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -422,6 +422,20 @@ static int i915_driver_modeset_probe(struct drm_device *dev)
return ret;
}
+static void i915_driver_modeset_remove(struct drm_i915_private *i915)
+{
+ struct pci_dev *pdev = i915->drm.pdev;
+
+ intel_modeset_driver_remove(&i915->drm);
+
+ intel_bios_driver_remove(i915);
+
+ vga_switcheroo_unregister_client(pdev);
+ vga_client_register(pdev, NULL, NULL, NULL);
+
+ intel_csr_ucode_fini(i915);
+}
+
static void intel_init_dpio(struct drm_i915_private *dev_priv)
{
/*
@@ -1586,8 +1600,6 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
void i915_driver_remove(struct drm_i915_private *i915)
{
- struct pci_dev *pdev = i915->drm.pdev;
-
disable_rpm_wakeref_asserts(&i915->runtime_pm);
i915_driver_unregister(i915);
@@ -1608,14 +1620,7 @@ void i915_driver_remove(struct drm_i915_private *i915)
intel_gvt_driver_remove(i915);
- intel_modeset_driver_remove(&i915->drm);
-
- intel_bios_driver_remove(i915);
-
- vga_switcheroo_unregister_client(pdev);
- vga_client_register(pdev, NULL, NULL, NULL);
-
- intel_csr_ucode_fini(i915);
+ i915_driver_modeset_remove(i915);
/* Free error state after interrupts are fully disabled. */
cancel_delayed_work_sync(&i915->gt.hangcheck.work);
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 2/6] drm/i915: pass i915 to i915_driver_modeset_probe()
2019-09-20 18:54 [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove() Jani Nikula
@ 2019-09-20 18:54 ` Jani Nikula
2019-09-20 18:54 ` [PATCH v2 3/6] drm/i915: pass i915 to intel_modeset_driver_remove() Jani Nikula
` (7 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2019-09-20 18:54 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
In general, prefer struct drm_i915_private * over struct drm_device *
when either will do. Rename the local variable to i915. No functional
changes.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_drv.c | 59 ++++++++++++++++-----------------
1 file changed, 29 insertions(+), 30 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 4cb95fd9b35d..3e4ea5d6fcc2 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -329,23 +329,22 @@ static const struct vga_switcheroo_client_ops i915_switcheroo_ops = {
.can_switch = i915_switcheroo_can_switch,
};
-static int i915_driver_modeset_probe(struct drm_device *dev)
+static int i915_driver_modeset_probe(struct drm_i915_private *i915)
{
- struct drm_i915_private *dev_priv = to_i915(dev);
- struct pci_dev *pdev = dev_priv->drm.pdev;
+ struct pci_dev *pdev = i915->drm.pdev;
int ret;
- if (i915_inject_probe_failure(dev_priv))
+ if (i915_inject_probe_failure(i915))
return -ENODEV;
- if (HAS_DISPLAY(dev_priv) && INTEL_DISPLAY_ENABLED(dev_priv)) {
- ret = drm_vblank_init(&dev_priv->drm,
- INTEL_NUM_PIPES(dev_priv));
+ if (HAS_DISPLAY(i915) && INTEL_DISPLAY_ENABLED(i915)) {
+ ret = drm_vblank_init(&i915->drm,
+ INTEL_NUM_PIPES(i915));
if (ret)
goto out;
}
- intel_bios_init(dev_priv);
+ intel_bios_init(i915);
/* If we have > 1 VGA cards, then we need to arbitrate access
* to the common VGA resources.
@@ -354,7 +353,7 @@ static int i915_driver_modeset_probe(struct drm_device *dev)
* then we do not take part in VGA arbitration and the
* vga_client_register() fails with -ENODEV.
*/
- ret = vga_client_register(pdev, dev_priv, NULL, i915_vga_set_decode);
+ ret = vga_client_register(pdev, i915, NULL, i915_vga_set_decode);
if (ret && ret != -ENODEV)
goto out;
@@ -365,56 +364,56 @@ static int i915_driver_modeset_probe(struct drm_device *dev)
goto cleanup_vga_client;
/* must happen before intel_power_domains_init_hw() on VLV/CHV */
- intel_update_rawclk(dev_priv);
+ intel_update_rawclk(i915);
- intel_power_domains_init_hw(dev_priv, false);
+ intel_power_domains_init_hw(i915, false);
- intel_csr_ucode_init(dev_priv);
+ intel_csr_ucode_init(i915);
- ret = intel_irq_install(dev_priv);
+ ret = intel_irq_install(i915);
if (ret)
goto cleanup_csr;
- intel_gmbus_setup(dev_priv);
+ intel_gmbus_setup(i915);
/* Important: The output setup functions called by modeset_init need
* working irqs for e.g. gmbus and dp aux transfers. */
- ret = intel_modeset_init(dev);
+ ret = intel_modeset_init(&i915->drm);
if (ret)
goto cleanup_irq;
- ret = i915_gem_init(dev_priv);
+ ret = i915_gem_init(i915);
if (ret)
goto cleanup_modeset;
- intel_overlay_setup(dev_priv);
+ intel_overlay_setup(i915);
- if (!HAS_DISPLAY(dev_priv) || !INTEL_DISPLAY_ENABLED(dev_priv))
+ if (!HAS_DISPLAY(i915) || !INTEL_DISPLAY_ENABLED(i915))
return 0;
- ret = intel_fbdev_init(dev);
+ ret = intel_fbdev_init(&i915->drm);
if (ret)
goto cleanup_gem;
/* Only enable hotplug handling once the fbdev is fully set up. */
- intel_hpd_init(dev_priv);
+ intel_hpd_init(i915);
- intel_init_ipc(dev_priv);
+ intel_init_ipc(i915);
return 0;
cleanup_gem:
- i915_gem_suspend(dev_priv);
- i915_gem_driver_remove(dev_priv);
- i915_gem_driver_release(dev_priv);
+ i915_gem_suspend(i915);
+ i915_gem_driver_remove(i915);
+ i915_gem_driver_release(i915);
cleanup_modeset:
- intel_modeset_driver_remove(dev);
+ intel_modeset_driver_remove(&i915->drm);
cleanup_irq:
- intel_irq_uninstall(dev_priv);
- intel_gmbus_teardown(dev_priv);
+ intel_irq_uninstall(i915);
+ intel_gmbus_teardown(i915);
cleanup_csr:
- intel_csr_ucode_fini(dev_priv);
- intel_power_domains_driver_remove(dev_priv);
+ intel_csr_ucode_fini(i915);
+ intel_power_domains_driver_remove(i915);
vga_switcheroo_unregister_client(pdev);
cleanup_vga_client:
vga_client_register(pdev, NULL, NULL, NULL);
@@ -1570,7 +1569,7 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (ret < 0)
goto out_cleanup_mmio;
- ret = i915_driver_modeset_probe(&dev_priv->drm);
+ ret = i915_driver_modeset_probe(dev_priv);
if (ret < 0)
goto out_cleanup_hw;
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 3/6] drm/i915: pass i915 to intel_modeset_driver_remove()
2019-09-20 18:54 [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove() Jani Nikula
2019-09-20 18:54 ` [PATCH v2 2/6] drm/i915: pass i915 to i915_driver_modeset_probe() Jani Nikula
@ 2019-09-20 18:54 ` Jani Nikula
2019-09-20 18:54 ` [PATCH v2 4/6] drm/i915: abstract intel_panel_sanitize_ssc() from intel_modeset_init() Jani Nikula
` (6 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2019-09-20 18:54 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
In general, prefer struct drm_i915_private * over struct drm_device *
when either will do. Rename the local variable to i915. Also propagate
to intel_hpd_poll_fini(). No functional changes.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 38 ++++++++++----------
drivers/gpu/drm/i915/display/intel_display.h | 2 +-
drivers/gpu/drm/i915/i915_drv.c | 4 +--
3 files changed, 21 insertions(+), 23 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index e0033d99f6e3..538a33adbc0e 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -17076,13 +17076,13 @@ void intel_display_resume(struct drm_device *dev)
drm_atomic_state_put(state);
}
-static void intel_hpd_poll_fini(struct drm_device *dev)
+static void intel_hpd_poll_fini(struct drm_i915_private *i915)
{
struct intel_connector *connector;
struct drm_connector_list_iter conn_iter;
/* Kill all the work that may have been queued by hpd. */
- drm_connector_list_iter_begin(dev, &conn_iter);
+ drm_connector_list_iter_begin(&i915->drm, &conn_iter);
for_each_intel_connector_iter(connector, &conn_iter) {
if (connector->modeset_retry_work.func)
cancel_work_sync(&connector->modeset_retry_work);
@@ -17094,51 +17094,49 @@ static void intel_hpd_poll_fini(struct drm_device *dev)
drm_connector_list_iter_end(&conn_iter);
}
-void intel_modeset_driver_remove(struct drm_device *dev)
+void intel_modeset_driver_remove(struct drm_i915_private *i915)
{
- struct drm_i915_private *dev_priv = to_i915(dev);
-
- flush_workqueue(dev_priv->flip_wq);
- flush_workqueue(dev_priv->modeset_wq);
+ flush_workqueue(i915->flip_wq);
+ flush_workqueue(i915->modeset_wq);
- flush_work(&dev_priv->atomic_helper.free_work);
- WARN_ON(!llist_empty(&dev_priv->atomic_helper.free_list));
+ flush_work(&i915->atomic_helper.free_work);
+ WARN_ON(!llist_empty(&i915->atomic_helper.free_list));
/*
* Interrupts and polling as the first thing to avoid creating havoc.
* Too much stuff here (turning of connectors, ...) would
* experience fancy races otherwise.
*/
- intel_irq_uninstall(dev_priv);
+ intel_irq_uninstall(i915);
/*
* Due to the hpd irq storm handling the hotplug work can re-arm the
* poll handlers. Hence disable polling after hpd handling is shut down.
*/
- intel_hpd_poll_fini(dev);
+ intel_hpd_poll_fini(i915);
/* poll work can call into fbdev, hence clean that up afterwards */
- intel_fbdev_fini(dev_priv);
+ intel_fbdev_fini(i915);
intel_unregister_dsm_handler();
- intel_fbc_global_disable(dev_priv);
+ intel_fbc_global_disable(i915);
/* flush any delayed tasks or pending work */
flush_scheduled_work();
- intel_hdcp_component_fini(dev_priv);
+ intel_hdcp_component_fini(i915);
- drm_mode_config_cleanup(dev);
+ drm_mode_config_cleanup(&i915->drm);
- intel_overlay_cleanup(dev_priv);
+ intel_overlay_cleanup(i915);
- intel_gmbus_teardown(dev_priv);
+ intel_gmbus_teardown(i915);
- destroy_workqueue(dev_priv->flip_wq);
- destroy_workqueue(dev_priv->modeset_wq);
+ destroy_workqueue(i915->flip_wq);
+ destroy_workqueue(i915->modeset_wq);
- intel_fbc_cleanup_cfb(dev_priv);
+ intel_fbc_cleanup_cfb(i915);
}
/*
diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index b1ae0e59c715..933cbe36bb59 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -578,7 +578,7 @@ void intel_display_print_error_state(struct drm_i915_error_state_buf *e,
/* modesetting */
void intel_modeset_init_hw(struct drm_device *dev);
int intel_modeset_init(struct drm_device *dev);
-void intel_modeset_driver_remove(struct drm_device *dev);
+void intel_modeset_driver_remove(struct drm_i915_private *i915);
int intel_modeset_vga_set_state(struct drm_i915_private *dev_priv, bool state);
void intel_display_resume(struct drm_device *dev);
void i915_redisable_vga(struct drm_i915_private *dev_priv);
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 3e4ea5d6fcc2..d9b9e9644f5c 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -407,7 +407,7 @@ static int i915_driver_modeset_probe(struct drm_i915_private *i915)
i915_gem_driver_remove(i915);
i915_gem_driver_release(i915);
cleanup_modeset:
- intel_modeset_driver_remove(&i915->drm);
+ intel_modeset_driver_remove(i915);
cleanup_irq:
intel_irq_uninstall(i915);
intel_gmbus_teardown(i915);
@@ -425,7 +425,7 @@ static void i915_driver_modeset_remove(struct drm_i915_private *i915)
{
struct pci_dev *pdev = i915->drm.pdev;
- intel_modeset_driver_remove(&i915->drm);
+ intel_modeset_driver_remove(i915);
intel_bios_driver_remove(i915);
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 4/6] drm/i915: abstract intel_panel_sanitize_ssc() from intel_modeset_init()
2019-09-20 18:54 [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove() Jani Nikula
2019-09-20 18:54 ` [PATCH v2 2/6] drm/i915: pass i915 to i915_driver_modeset_probe() Jani Nikula
2019-09-20 18:54 ` [PATCH v2 3/6] drm/i915: pass i915 to intel_modeset_driver_remove() Jani Nikula
@ 2019-09-20 18:54 ` Jani Nikula
2019-09-20 18:54 ` [PATCH v2 5/6] drm/i915: abstract intel_mode_config_init() " Jani Nikula
` (5 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2019-09-20 18:54 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
The code is too specific and detailed to have open in a high level
function. Abstract away. As a drive-by improvement switch to using
enableddisabled() in logging and git rid of a redundant !!. No
functional changes.
v2: drop the !! while at it too (Chris)
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 39 +++++++++++---------
1 file changed, 22 insertions(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 538a33adbc0e..9e68df8a9945 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -7552,6 +7552,27 @@ intel_link_compute_m_n(u16 bits_per_pixel, int nlanes,
constant_n);
}
+static void intel_panel_sanitize_ssc(struct drm_i915_private *dev_priv)
+{
+ /*
+ * There may be no VBT; and if the BIOS enabled SSC we can
+ * just keep using it to avoid unnecessary flicker. Whereas if the
+ * BIOS isn't using it, don't assume it will work even if the VBT
+ * indicates as much.
+ */
+ if (HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)) {
+ bool bios_lvds_use_ssc = I915_READ(PCH_DREF_CONTROL) &
+ DREF_SSC1_ENABLE;
+
+ if (dev_priv->vbt.lvds_use_ssc != bios_lvds_use_ssc) {
+ DRM_DEBUG_KMS("SSC %s by BIOS, overriding VBT which says %s\n",
+ enableddisabled(bios_lvds_use_ssc),
+ enableddisabled(dev_priv->vbt.lvds_use_ssc));
+ dev_priv->vbt.lvds_use_ssc = bios_lvds_use_ssc;
+ }
+ }
+}
+
static inline bool intel_panel_use_ssc(struct drm_i915_private *dev_priv)
{
if (i915_modparams.panel_use_ssc >= 0)
@@ -16165,23 +16186,7 @@ int intel_modeset_init(struct drm_device *dev)
intel_init_pm(dev_priv);
- /*
- * There may be no VBT; and if the BIOS enabled SSC we can
- * just keep using it to avoid unnecessary flicker. Whereas if the
- * BIOS isn't using it, don't assume it will work even if the VBT
- * indicates as much.
- */
- if (HAS_PCH_IBX(dev_priv) || HAS_PCH_CPT(dev_priv)) {
- bool bios_lvds_use_ssc = !!(I915_READ(PCH_DREF_CONTROL) &
- DREF_SSC1_ENABLE);
-
- if (dev_priv->vbt.lvds_use_ssc != bios_lvds_use_ssc) {
- DRM_DEBUG_KMS("SSC %sabled by BIOS, overriding VBT which says %sabled\n",
- bios_lvds_use_ssc ? "en" : "dis",
- dev_priv->vbt.lvds_use_ssc ? "en" : "dis");
- dev_priv->vbt.lvds_use_ssc = bios_lvds_use_ssc;
- }
- }
+ intel_panel_sanitize_ssc(dev_priv);
/*
* Maximum framebuffer dimensions, chosen to match
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 5/6] drm/i915: abstract intel_mode_config_init() from intel_modeset_init()
2019-09-20 18:54 [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove() Jani Nikula
` (2 preceding siblings ...)
2019-09-20 18:54 ` [PATCH v2 4/6] drm/i915: abstract intel_panel_sanitize_ssc() from intel_modeset_init() Jani Nikula
@ 2019-09-20 18:54 ` Jani Nikula
2019-09-20 18:54 ` [PATCH v2 6/6] drm/i915: pass i915 to intel_modeset_init() and intel_modeset_init_hw() Jani Nikula
` (4 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2019-09-20 18:54 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
The i915 specific mode config init code is too specific and detailed to
have open in a high level function. Abstract away. No functional
changes.
v2: nest drm_mode_config_init() in the function too (Chris)
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 87 +++++++++++---------
1 file changed, 47 insertions(+), 40 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 9e68df8a9945..9c26228737a0 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -16149,6 +16149,52 @@ static int intel_initial_commit(struct drm_device *dev)
return ret;
}
+static void intel_mode_config_init(struct drm_i915_private *i915)
+{
+ struct drm_mode_config *mode_config = &i915->drm.mode_config;
+
+ drm_mode_config_init(&i915->drm);
+
+ mode_config->min_width = 0;
+ mode_config->min_height = 0;
+
+ mode_config->preferred_depth = 24;
+ mode_config->prefer_shadow = 1;
+
+ mode_config->allow_fb_modifiers = true;
+
+ mode_config->funcs = &intel_mode_funcs;
+
+ /*
+ * Maximum framebuffer dimensions, chosen to match
+ * the maximum render engine surface size on gen4+.
+ */
+ if (INTEL_GEN(i915) >= 7) {
+ mode_config->max_width = 16384;
+ mode_config->max_height = 16384;
+ } else if (INTEL_GEN(i915) >= 4) {
+ mode_config->max_width = 8192;
+ mode_config->max_height = 8192;
+ } else if (IS_GEN(i915, 3)) {
+ mode_config->max_width = 4096;
+ mode_config->max_height = 4096;
+ } else {
+ mode_config->max_width = 2048;
+ mode_config->max_height = 2048;
+ }
+
+ if (IS_I845G(i915) || IS_I865G(i915)) {
+ mode_config->cursor_width = IS_I845G(i915) ? 64 : 512;
+ mode_config->cursor_height = 1023;
+ } else if (IS_GEN(i915, 2)) {
+ mode_config->cursor_width = 64;
+ mode_config->cursor_height = 64;
+ } else {
+ mode_config->cursor_width = 256;
+ mode_config->cursor_height = 256;
+ }
+}
+
int intel_modeset_init(struct drm_device *dev)
{
struct drm_i915_private *dev_priv = to_i915(dev);
@@ -16160,22 +16206,12 @@ int intel_modeset_init(struct drm_device *dev)
dev_priv->flip_wq = alloc_workqueue("i915_flip", WQ_HIGHPRI |
WQ_UNBOUND, WQ_UNBOUND_MAX_ACTIVE);
- drm_mode_config_init(dev);
+ intel_mode_config_init(dev_priv);
ret = intel_bw_init(dev_priv);
if (ret)
return ret;
- dev->mode_config.min_width = 0;
- dev->mode_config.min_height = 0;
-
- dev->mode_config.preferred_depth = 24;
- dev->mode_config.prefer_shadow = 1;
-
- dev->mode_config.allow_fb_modifiers = true;
-
- dev->mode_config.funcs = &intel_mode_funcs;
-
init_llist_head(&dev_priv->atomic_helper.free_list);
INIT_WORK(&dev_priv->atomic_helper.free_work,
intel_atomic_helper_free_state_worker);
@@ -16188,35 +16224,6 @@ int intel_modeset_init(struct drm_device *dev)
intel_panel_sanitize_ssc(dev_priv);
- /*
- * Maximum framebuffer dimensions, chosen to match
- * the maximum render engine surface size on gen4+.
- */
- if (INTEL_GEN(dev_priv) >= 7) {
- dev->mode_config.max_width = 16384;
- dev->mode_config.max_height = 16384;
- } else if (INTEL_GEN(dev_priv) >= 4) {
- dev->mode_config.max_width = 8192;
- dev->mode_config.max_height = 8192;
- } else if (IS_GEN(dev_priv, 3)) {
- dev->mode_config.max_width = 4096;
- dev->mode_config.max_height = 4096;
- } else {
- dev->mode_config.max_width = 2048;
- dev->mode_config.max_height = 2048;
- }
-
- if (IS_I845G(dev_priv) || IS_I865G(dev_priv)) {
- dev->mode_config.cursor_width = IS_I845G(dev_priv) ? 64 : 512;
- dev->mode_config.cursor_height = 1023;
- } else if (IS_GEN(dev_priv, 2)) {
- dev->mode_config.cursor_width = 64;
- dev->mode_config.cursor_height = 64;
- } else {
- dev->mode_config.cursor_width = 256;
- dev->mode_config.cursor_height = 256;
- }
-
DRM_DEBUG_KMS("%d display pipe%s available.\n",
INTEL_NUM_PIPES(dev_priv),
INTEL_NUM_PIPES(dev_priv) > 1 ? "s" : "");
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH v2 6/6] drm/i915: pass i915 to intel_modeset_init() and intel_modeset_init_hw()
2019-09-20 18:54 [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove() Jani Nikula
` (3 preceding siblings ...)
2019-09-20 18:54 ` [PATCH v2 5/6] drm/i915: abstract intel_mode_config_init() " Jani Nikula
@ 2019-09-20 18:54 ` Jani Nikula
2019-09-20 19:05 ` Jani Nikula
2019-09-20 19:56 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [v2,1/6] drm/i915: add i915_driver_modeset_remove() Patchwork
` (3 subsequent siblings)
8 siblings, 1 reply; 11+ messages in thread
From: Jani Nikula @ 2019-09-20 18:54 UTC (permalink / raw)
To: intel-gfx; +Cc: jani.nikula
In general, prefer struct drm_i915_private * over struct drm_device *
when either will do. Rename the local variables to i915. No functional
changes.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 69 ++++++++++----------
drivers/gpu/drm/i915/display/intel_display.h | 4 +-
drivers/gpu/drm/i915/i915_drv.c | 4 +-
3 files changed, 37 insertions(+), 40 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 9c26228737a0..f9f116c89bcc 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -4360,7 +4360,7 @@ void intel_finish_reset(struct drm_i915_private *dev_priv)
* so need a full re-initialization.
*/
intel_pps_unlock_regs_wa(dev_priv);
- intel_modeset_init_hw(dev);
+ intel_modeset_init_hw(dev_priv);
intel_init_clock_gating(dev_priv);
spin_lock_irq(&dev_priv->irq_lock);
@@ -15983,13 +15983,11 @@ static void i915_disable_vga(struct drm_i915_private *dev_priv)
POSTING_READ(vga_reg);
}
-void intel_modeset_init_hw(struct drm_device *dev)
+void intel_modeset_init_hw(struct drm_i915_private *i915)
{
- struct drm_i915_private *dev_priv = to_i915(dev);
-
- intel_update_cdclk(dev_priv);
- intel_dump_cdclk_state(&dev_priv->cdclk.hw, "Current CDCLK");
- dev_priv->cdclk.logical = dev_priv->cdclk.actual = dev_priv->cdclk.hw;
+ intel_update_cdclk(i915);
+ intel_dump_cdclk_state(&i915->cdclk.hw, "Current CDCLK");
+ i915->cdclk.logical = i915->cdclk.actual = i915->cdclk.hw;
}
/*
@@ -16195,42 +16193,42 @@ static void intel_mode_config_init(struct drm_i915_private *i915)
}
}
-int intel_modeset_init(struct drm_device *dev)
+int intel_modeset_init(struct drm_i915_private *i915)
{
- struct drm_i915_private *dev_priv = to_i915(dev);
+ struct drm_device *dev = &i915->drm;
enum pipe pipe;
struct intel_crtc *crtc;
int ret;
- dev_priv->modeset_wq = alloc_ordered_workqueue("i915_modeset", 0);
- dev_priv->flip_wq = alloc_workqueue("i915_flip", WQ_HIGHPRI |
- WQ_UNBOUND, WQ_UNBOUND_MAX_ACTIVE);
+ i915->modeset_wq = alloc_ordered_workqueue("i915_modeset", 0);
+ i915->flip_wq = alloc_workqueue("i915_flip", WQ_HIGHPRI |
+ WQ_UNBOUND, WQ_UNBOUND_MAX_ACTIVE);
- intel_mode_config_init(dev_priv);
+ intel_mode_config_init(i915);
- ret = intel_bw_init(dev_priv);
+ ret = intel_bw_init(i915);
if (ret)
return ret;
- init_llist_head(&dev_priv->atomic_helper.free_list);
- INIT_WORK(&dev_priv->atomic_helper.free_work,
+ init_llist_head(&i915->atomic_helper.free_list);
+ INIT_WORK(&i915->atomic_helper.free_work,
intel_atomic_helper_free_state_worker);
- intel_init_quirks(dev_priv);
+ intel_init_quirks(i915);
- intel_fbc_init(dev_priv);
+ intel_fbc_init(i915);
- intel_init_pm(dev_priv);
+ intel_init_pm(i915);
- intel_panel_sanitize_ssc(dev_priv);
+ intel_panel_sanitize_ssc(i915);
DRM_DEBUG_KMS("%d display pipe%s available.\n",
- INTEL_NUM_PIPES(dev_priv),
- INTEL_NUM_PIPES(dev_priv) > 1 ? "s" : "");
+ INTEL_NUM_PIPES(i915),
+ INTEL_NUM_PIPES(i915) > 1 ? "s" : "");
- if (HAS_DISPLAY(dev_priv) && INTEL_DISPLAY_ENABLED(dev_priv)) {
- for_each_pipe(dev_priv, pipe) {
- ret = intel_crtc_init(dev_priv, pipe);
+ if (HAS_DISPLAY(i915) && INTEL_DISPLAY_ENABLED(i915)) {
+ for_each_pipe(i915, pipe) {
+ ret = intel_crtc_init(i915, pipe);
if (ret) {
drm_mode_config_cleanup(dev);
return ret;
@@ -16239,19 +16237,19 @@ int intel_modeset_init(struct drm_device *dev)
}
intel_shared_dpll_init(dev);
- intel_update_fdi_pll_freq(dev_priv);
+ intel_update_fdi_pll_freq(i915);
- intel_update_czclk(dev_priv);
- intel_modeset_init_hw(dev);
+ intel_update_czclk(i915);
+ intel_modeset_init_hw(i915);
- intel_hdcp_component_init(dev_priv);
+ intel_hdcp_component_init(i915);
- if (dev_priv->max_cdclk_freq == 0)
- intel_update_max_cdclk(dev_priv);
+ if (i915->max_cdclk_freq == 0)
+ intel_update_max_cdclk(i915);
/* Just disable it once at startup */
- i915_disable_vga(dev_priv);
- intel_setup_outputs(dev_priv);
+ i915_disable_vga(i915);
+ intel_setup_outputs(i915);
drm_modeset_lock_all(dev);
intel_modeset_setup_hw_state(dev, dev->mode_config.acquire_ctx);
@@ -16270,8 +16268,7 @@ int intel_modeset_init(struct drm_device *dev)
* can even allow for smooth boot transitions if the BIOS
* fb is large enough for the active pipe configuration.
*/
- dev_priv->display.get_initial_plane_config(crtc,
- &plane_config);
+ i915->display.get_initial_plane_config(crtc, &plane_config);
/*
* If the fb is shared between multiple heads, we'll
@@ -16285,7 +16282,7 @@ int intel_modeset_init(struct drm_device *dev)
* Note that we need to do this after reconstructing the BIOS fb's
* since the watermark calculation done here will use pstate->fb.
*/
- if (!HAS_GMCH(dev_priv))
+ if (!HAS_GMCH(i915))
sanitize_watermarks(dev);
/*
diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
index 933cbe36bb59..5cea6f8e107a 100644
--- a/drivers/gpu/drm/i915/display/intel_display.h
+++ b/drivers/gpu/drm/i915/display/intel_display.h
@@ -576,8 +576,8 @@ void intel_display_print_error_state(struct drm_i915_error_state_buf *e,
struct intel_display_error_state *error);
/* modesetting */
-void intel_modeset_init_hw(struct drm_device *dev);
-int intel_modeset_init(struct drm_device *dev);
+void intel_modeset_init_hw(struct drm_i915_private *i915);
+int intel_modeset_init(struct drm_i915_private *i915);
void intel_modeset_driver_remove(struct drm_i915_private *i915);
int intel_modeset_vga_set_state(struct drm_i915_private *dev_priv, bool state);
void intel_display_resume(struct drm_device *dev);
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index d9b9e9644f5c..a9ee73b61f4d 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -378,7 +378,7 @@ static int i915_driver_modeset_probe(struct drm_i915_private *i915)
/* Important: The output setup functions called by modeset_init need
* working irqs for e.g. gmbus and dp aux transfers. */
- ret = intel_modeset_init(&i915->drm);
+ ret = intel_modeset_init(i915);
if (ret)
goto cleanup_irq;
@@ -1909,7 +1909,7 @@ static int i915_drm_resume(struct drm_device *dev)
i915_gem_resume(dev_priv);
- intel_modeset_init_hw(dev);
+ intel_modeset_init_hw(dev_priv);
intel_init_clock_gating(dev_priv);
spin_lock_irq(&dev_priv->irq_lock);
--
2.20.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 6/6] drm/i915: pass i915 to intel_modeset_init() and intel_modeset_init_hw()
2019-09-20 18:54 ` [PATCH v2 6/6] drm/i915: pass i915 to intel_modeset_init() and intel_modeset_init_hw() Jani Nikula
@ 2019-09-20 19:05 ` Jani Nikula
0 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2019-09-20 19:05 UTC (permalink / raw)
To: intel-gfx
On Fri, 20 Sep 2019, Jani Nikula <jani.nikula@intel.com> wrote:
> In general, prefer struct drm_i915_private * over struct drm_device *
> when either will do. Rename the local variables to i915. No functional
> changes.
This one was also already
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
in http://mid.mail-archive.com/156890721641.1196.17548415265398501279@skylake-alporthouse-com
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 69 ++++++++++----------
> drivers/gpu/drm/i915/display/intel_display.h | 4 +-
> drivers/gpu/drm/i915/i915_drv.c | 4 +-
> 3 files changed, 37 insertions(+), 40 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 9c26228737a0..f9f116c89bcc 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -4360,7 +4360,7 @@ void intel_finish_reset(struct drm_i915_private *dev_priv)
> * so need a full re-initialization.
> */
> intel_pps_unlock_regs_wa(dev_priv);
> - intel_modeset_init_hw(dev);
> + intel_modeset_init_hw(dev_priv);
> intel_init_clock_gating(dev_priv);
>
> spin_lock_irq(&dev_priv->irq_lock);
> @@ -15983,13 +15983,11 @@ static void i915_disable_vga(struct drm_i915_private *dev_priv)
> POSTING_READ(vga_reg);
> }
>
> -void intel_modeset_init_hw(struct drm_device *dev)
> +void intel_modeset_init_hw(struct drm_i915_private *i915)
> {
> - struct drm_i915_private *dev_priv = to_i915(dev);
> -
> - intel_update_cdclk(dev_priv);
> - intel_dump_cdclk_state(&dev_priv->cdclk.hw, "Current CDCLK");
> - dev_priv->cdclk.logical = dev_priv->cdclk.actual = dev_priv->cdclk.hw;
> + intel_update_cdclk(i915);
> + intel_dump_cdclk_state(&i915->cdclk.hw, "Current CDCLK");
> + i915->cdclk.logical = i915->cdclk.actual = i915->cdclk.hw;
> }
>
> /*
> @@ -16195,42 +16193,42 @@ static void intel_mode_config_init(struct drm_i915_private *i915)
> }
> }
>
> -int intel_modeset_init(struct drm_device *dev)
> +int intel_modeset_init(struct drm_i915_private *i915)
> {
> - struct drm_i915_private *dev_priv = to_i915(dev);
> + struct drm_device *dev = &i915->drm;
> enum pipe pipe;
> struct intel_crtc *crtc;
> int ret;
>
> - dev_priv->modeset_wq = alloc_ordered_workqueue("i915_modeset", 0);
> - dev_priv->flip_wq = alloc_workqueue("i915_flip", WQ_HIGHPRI |
> - WQ_UNBOUND, WQ_UNBOUND_MAX_ACTIVE);
> + i915->modeset_wq = alloc_ordered_workqueue("i915_modeset", 0);
> + i915->flip_wq = alloc_workqueue("i915_flip", WQ_HIGHPRI |
> + WQ_UNBOUND, WQ_UNBOUND_MAX_ACTIVE);
>
> - intel_mode_config_init(dev_priv);
> + intel_mode_config_init(i915);
>
> - ret = intel_bw_init(dev_priv);
> + ret = intel_bw_init(i915);
> if (ret)
> return ret;
>
> - init_llist_head(&dev_priv->atomic_helper.free_list);
> - INIT_WORK(&dev_priv->atomic_helper.free_work,
> + init_llist_head(&i915->atomic_helper.free_list);
> + INIT_WORK(&i915->atomic_helper.free_work,
> intel_atomic_helper_free_state_worker);
>
> - intel_init_quirks(dev_priv);
> + intel_init_quirks(i915);
>
> - intel_fbc_init(dev_priv);
> + intel_fbc_init(i915);
>
> - intel_init_pm(dev_priv);
> + intel_init_pm(i915);
>
> - intel_panel_sanitize_ssc(dev_priv);
> + intel_panel_sanitize_ssc(i915);
>
> DRM_DEBUG_KMS("%d display pipe%s available.\n",
> - INTEL_NUM_PIPES(dev_priv),
> - INTEL_NUM_PIPES(dev_priv) > 1 ? "s" : "");
> + INTEL_NUM_PIPES(i915),
> + INTEL_NUM_PIPES(i915) > 1 ? "s" : "");
>
> - if (HAS_DISPLAY(dev_priv) && INTEL_DISPLAY_ENABLED(dev_priv)) {
> - for_each_pipe(dev_priv, pipe) {
> - ret = intel_crtc_init(dev_priv, pipe);
> + if (HAS_DISPLAY(i915) && INTEL_DISPLAY_ENABLED(i915)) {
> + for_each_pipe(i915, pipe) {
> + ret = intel_crtc_init(i915, pipe);
> if (ret) {
> drm_mode_config_cleanup(dev);
> return ret;
> @@ -16239,19 +16237,19 @@ int intel_modeset_init(struct drm_device *dev)
> }
>
> intel_shared_dpll_init(dev);
> - intel_update_fdi_pll_freq(dev_priv);
> + intel_update_fdi_pll_freq(i915);
>
> - intel_update_czclk(dev_priv);
> - intel_modeset_init_hw(dev);
> + intel_update_czclk(i915);
> + intel_modeset_init_hw(i915);
>
> - intel_hdcp_component_init(dev_priv);
> + intel_hdcp_component_init(i915);
>
> - if (dev_priv->max_cdclk_freq == 0)
> - intel_update_max_cdclk(dev_priv);
> + if (i915->max_cdclk_freq == 0)
> + intel_update_max_cdclk(i915);
>
> /* Just disable it once at startup */
> - i915_disable_vga(dev_priv);
> - intel_setup_outputs(dev_priv);
> + i915_disable_vga(i915);
> + intel_setup_outputs(i915);
>
> drm_modeset_lock_all(dev);
> intel_modeset_setup_hw_state(dev, dev->mode_config.acquire_ctx);
> @@ -16270,8 +16268,7 @@ int intel_modeset_init(struct drm_device *dev)
> * can even allow for smooth boot transitions if the BIOS
> * fb is large enough for the active pipe configuration.
> */
> - dev_priv->display.get_initial_plane_config(crtc,
> - &plane_config);
> + i915->display.get_initial_plane_config(crtc, &plane_config);
>
> /*
> * If the fb is shared between multiple heads, we'll
> @@ -16285,7 +16282,7 @@ int intel_modeset_init(struct drm_device *dev)
> * Note that we need to do this after reconstructing the BIOS fb's
> * since the watermark calculation done here will use pstate->fb.
> */
> - if (!HAS_GMCH(dev_priv))
> + if (!HAS_GMCH(i915))
> sanitize_watermarks(dev);
>
> /*
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
> index 933cbe36bb59..5cea6f8e107a 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -576,8 +576,8 @@ void intel_display_print_error_state(struct drm_i915_error_state_buf *e,
> struct intel_display_error_state *error);
>
> /* modesetting */
> -void intel_modeset_init_hw(struct drm_device *dev);
> -int intel_modeset_init(struct drm_device *dev);
> +void intel_modeset_init_hw(struct drm_i915_private *i915);
> +int intel_modeset_init(struct drm_i915_private *i915);
> void intel_modeset_driver_remove(struct drm_i915_private *i915);
> int intel_modeset_vga_set_state(struct drm_i915_private *dev_priv, bool state);
> void intel_display_resume(struct drm_device *dev);
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index d9b9e9644f5c..a9ee73b61f4d 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -378,7 +378,7 @@ static int i915_driver_modeset_probe(struct drm_i915_private *i915)
>
> /* Important: The output setup functions called by modeset_init need
> * working irqs for e.g. gmbus and dp aux transfers. */
> - ret = intel_modeset_init(&i915->drm);
> + ret = intel_modeset_init(i915);
> if (ret)
> goto cleanup_irq;
>
> @@ -1909,7 +1909,7 @@ static int i915_drm_resume(struct drm_device *dev)
>
> i915_gem_resume(dev_priv);
>
> - intel_modeset_init_hw(dev);
> + intel_modeset_init_hw(dev_priv);
> intel_init_clock_gating(dev_priv);
>
> spin_lock_irq(&dev_priv->irq_lock);
--
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* ✗ Fi.CI.CHECKPATCH: warning for series starting with [v2,1/6] drm/i915: add i915_driver_modeset_remove()
2019-09-20 18:54 [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove() Jani Nikula
` (4 preceding siblings ...)
2019-09-20 18:54 ` [PATCH v2 6/6] drm/i915: pass i915 to intel_modeset_init() and intel_modeset_init_hw() Jani Nikula
@ 2019-09-20 19:56 ` Patchwork
2019-09-20 20:21 ` ✓ Fi.CI.BAT: success " Patchwork
` (2 subsequent siblings)
8 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2019-09-20 19:56 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: series starting with [v2,1/6] drm/i915: add i915_driver_modeset_remove()
URL : https://patchwork.freedesktop.org/series/67013/
State : warning
== Summary ==
$ dim checkpatch origin/drm-tip
4f0318a8e293 drm/i915: add i915_driver_modeset_remove()
78b6e3b96f95 drm/i915: pass i915 to i915_driver_modeset_probe()
27e4489c32d9 drm/i915: pass i915 to intel_modeset_driver_remove()
8c8f16a1edf8 drm/i915: abstract intel_panel_sanitize_ssc() from intel_modeset_init()
2e6e7c1d9781 drm/i915: abstract intel_mode_config_init() from intel_modeset_init()
709d34d7c748 drm/i915: pass i915 to intel_modeset_init() and intel_modeset_init_hw()
-:41: CHECK:MULTIPLE_ASSIGNMENTS: multiple assignments should be avoided
#41: FILE: drivers/gpu/drm/i915/display/intel_display.c:16028:
+ i915->cdclk.logical = i915->cdclk.actual = i915->cdclk.hw;
total: 0 errors, 0 warnings, 1 checks, 155 lines checked
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* ✓ Fi.CI.BAT: success for series starting with [v2,1/6] drm/i915: add i915_driver_modeset_remove()
2019-09-20 18:54 [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove() Jani Nikula
` (5 preceding siblings ...)
2019-09-20 19:56 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [v2,1/6] drm/i915: add i915_driver_modeset_remove() Patchwork
@ 2019-09-20 20:21 ` Patchwork
2019-09-22 4:59 ` ✓ Fi.CI.IGT: " Patchwork
2019-09-23 8:04 ` [PATCH v2 1/6] " Jani Nikula
8 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2019-09-20 20:21 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: series starting with [v2,1/6] drm/i915: add i915_driver_modeset_remove()
URL : https://patchwork.freedesktop.org/series/67013/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6931 -> Patchwork_14483
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/
Known issues
------------
Here are the changes found in Patchwork_14483 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_mmap_gtt@basic-small-bo-tiledy:
- fi-icl-u3: [PASS][1] -> [DMESG-WARN][2] ([fdo#107724])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/fi-icl-u3/igt@gem_mmap_gtt@basic-small-bo-tiledy.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/fi-icl-u3/igt@gem_mmap_gtt@basic-small-bo-tiledy.html
* igt@i915_module_load@reload:
- fi-blb-e6850: [PASS][3] -> [INCOMPLETE][4] ([fdo#107718])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/fi-blb-e6850/igt@i915_module_load@reload.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/fi-blb-e6850/igt@i915_module_load@reload.html
* igt@kms_flip@basic-flip-vs-dpms:
- fi-hsw-4770r: [PASS][5] -> [DMESG-WARN][6] ([fdo#105602])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/fi-hsw-4770r/igt@kms_flip@basic-flip-vs-dpms.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/fi-hsw-4770r/igt@kms_flip@basic-flip-vs-dpms.html
* igt@kms_frontbuffer_tracking@basic:
- fi-icl-u3: [PASS][7] -> [FAIL][8] ([fdo#103167])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/fi-icl-u3/igt@kms_frontbuffer_tracking@basic.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/fi-icl-u3/igt@kms_frontbuffer_tracking@basic.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#105602]: https://bugs.freedesktop.org/show_bug.cgi?id=105602
[fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
[fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
[fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
[fdo#111381]: https://bugs.freedesktop.org/show_bug.cgi?id=111381
[fdo#111600]: https://bugs.freedesktop.org/show_bug.cgi?id=111600
Participating hosts (54 -> 46)
------------------------------
Additional (1): fi-pnv-d510
Missing (9): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-apl-guc fi-icl-y fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_6931 -> Patchwork_14483
CI-20190529: 20190529
CI_DRM_6931: 6630d2e2a6458d4efc634af20c294e456caff22e @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5195: ea29372bb4e261a0a8da371a1f434131750f18e0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_14483: 709d34d7c748302f590792303f82ab156c74f9d2 @ git://anongit.freedesktop.org/gfx-ci/linux
== Linux commits ==
709d34d7c748 drm/i915: pass i915 to intel_modeset_init() and intel_modeset_init_hw()
2e6e7c1d9781 drm/i915: abstract intel_mode_config_init() from intel_modeset_init()
8c8f16a1edf8 drm/i915: abstract intel_panel_sanitize_ssc() from intel_modeset_init()
27e4489c32d9 drm/i915: pass i915 to intel_modeset_driver_remove()
78b6e3b96f95 drm/i915: pass i915 to i915_driver_modeset_probe()
4f0318a8e293 drm/i915: add i915_driver_modeset_remove()
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/index.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* ✓ Fi.CI.IGT: success for series starting with [v2,1/6] drm/i915: add i915_driver_modeset_remove()
2019-09-20 18:54 [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove() Jani Nikula
` (6 preceding siblings ...)
2019-09-20 20:21 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-09-22 4:59 ` Patchwork
2019-09-23 8:04 ` [PATCH v2 1/6] " Jani Nikula
8 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2019-09-22 4:59 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
== Series Details ==
Series: series starting with [v2,1/6] drm/i915: add i915_driver_modeset_remove()
URL : https://patchwork.freedesktop.org/series/67013/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_6931_full -> Patchwork_14483_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_14483_full:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* {igt@gem_eio@kms}:
- shard-snb: [INCOMPLETE][1] ([fdo#105411]) -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-snb4/igt@gem_eio@kms.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-snb1/igt@gem_eio@kms.html
* {igt@i915_pm_dc@dc5-dpms}:
- shard-skl: [PASS][3] -> [INCOMPLETE][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-skl9/igt@i915_pm_dc@dc5-dpms.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-skl7/igt@i915_pm_dc@dc5-dpms.html
* {igt@i915_pm_dc@dc6-psr}:
- shard-iclb: [PASS][5] -> [FAIL][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb5/igt@i915_pm_dc@dc6-psr.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb2/igt@i915_pm_dc@dc6-psr.html
Known issues
------------
Here are the changes found in Patchwork_14483_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_schedule@independent-bsd2:
- shard-iclb: [PASS][7] -> [SKIP][8] ([fdo#109276]) +17 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb2/igt@gem_exec_schedule@independent-bsd2.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb8/igt@gem_exec_schedule@independent-bsd2.html
* igt@gem_exec_schedule@reorder-wide-bsd:
- shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#111325]) +7 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb6/igt@gem_exec_schedule@reorder-wide-bsd.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb1/igt@gem_exec_schedule@reorder-wide-bsd.html
* igt@kms_cursor_crc@pipe-a-cursor-suspend:
- shard-kbl: [PASS][11] -> [INCOMPLETE][12] ([fdo#103665])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-kbl6/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
* igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
- shard-hsw: [PASS][13] -> [FAIL][14] ([fdo#105767])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-hsw6/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-hsw6/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html
* igt@kms_cursor_legacy@cursor-vs-flip-legacy:
- shard-hsw: [PASS][15] -> [FAIL][16] ([fdo#103355])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-hsw4/igt@kms_cursor_legacy@cursor-vs-flip-legacy.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-hsw1/igt@kms_cursor_legacy@cursor-vs-flip-legacy.html
* igt@kms_flip@absolute-wf_vblank-interruptible:
- shard-hsw: [PASS][17] -> [DMESG-WARN][18] ([fdo#102614])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-hsw4/igt@kms_flip@absolute-wf_vblank-interruptible.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-hsw5/igt@kms_flip@absolute-wf_vblank-interruptible.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-apl: [PASS][19] -> [DMESG-WARN][20] ([fdo#108566]) +4 similar issues
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-apl1/igt@kms_frontbuffer_tracking@fbc-suspend.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-apl6/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-iclb: [PASS][21] -> [FAIL][22] ([fdo#103167]) +9 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
- shard-skl: [PASS][23] -> [FAIL][24] ([fdo#108145] / [fdo#110403])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
* igt@kms_psr2_su@page_flip:
- shard-iclb: [PASS][25] -> [SKIP][26] ([fdo#109642] / [fdo#111068])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb2/igt@kms_psr2_su@page_flip.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb5/igt@kms_psr2_su@page_flip.html
* igt@kms_psr@psr2_primary_page_flip:
- shard-iclb: [PASS][27] -> [SKIP][28] ([fdo#109441]) +3 similar issues
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb8/igt@kms_psr@psr2_primary_page_flip.html
#### Possible fixes ####
* igt@gem_ctx_shared@exec-single-timeline-bsd:
- shard-iclb: [SKIP][29] ([fdo#110841]) -> [PASS][30]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb2/igt@gem_ctx_shared@exec-single-timeline-bsd.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb8/igt@gem_ctx_shared@exec-single-timeline-bsd.html
* igt@gem_eio@reset-stress:
- shard-snb: [FAIL][31] ([fdo#109661]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-snb7/igt@gem_eio@reset-stress.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-snb4/igt@gem_eio@reset-stress.html
* igt@gem_exec_async@concurrent-writes-bsd:
- shard-iclb: [SKIP][33] ([fdo#111325]) -> [PASS][34] +2 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb2/igt@gem_exec_async@concurrent-writes-bsd.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb6/igt@gem_exec_async@concurrent-writes-bsd.html
* igt@gem_exec_balancer@smoke:
- shard-iclb: [SKIP][35] ([fdo#110854]) -> [PASS][36]
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb6/igt@gem_exec_balancer@smoke.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb1/igt@gem_exec_balancer@smoke.html
* igt@kms_cursor_crc@pipe-b-cursor-128x42-offscreen:
- shard-skl: [FAIL][37] ([fdo#103232]) -> [PASS][38]
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-skl2/igt@kms_cursor_crc@pipe-b-cursor-128x42-offscreen.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-skl6/igt@kms_cursor_crc@pipe-b-cursor-128x42-offscreen.html
* igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions:
- shard-hsw: [FAIL][39] ([fdo#103355]) -> [PASS][40]
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-hsw6/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-hsw1/igt@kms_cursor_legacy@cursor-vs-flip-atomic-transitions.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
- shard-iclb: [FAIL][41] ([fdo#103167]) -> [PASS][42] +6 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
* igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min:
- shard-skl: [FAIL][43] ([fdo#108145]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-skl2/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-skl6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html
* igt@kms_psr@psr2_cursor_render:
- shard-iclb: [SKIP][45] ([fdo#109441]) -> [PASS][46] +4 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb8/igt@kms_psr@psr2_cursor_render.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb2/igt@kms_psr@psr2_cursor_render.html
* igt@kms_setmode@basic:
- shard-apl: [FAIL][47] ([fdo#99912]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-apl4/igt@kms_setmode@basic.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-apl4/igt@kms_setmode@basic.html
* igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-apl: [DMESG-WARN][49] ([fdo#108566]) -> [PASS][50] +3 similar issues
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-apl4/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-apl4/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
* igt@prime_busy@hang-bsd2:
- shard-iclb: [SKIP][51] ([fdo#109276]) -> [PASS][52] +21 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb6/igt@prime_busy@hang-bsd2.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb2/igt@prime_busy@hang-bsd2.html
#### Warnings ####
* igt@gem_mocs_settings@mocs-isolation-bsd2:
- shard-iclb: [FAIL][53] ([fdo#111330]) -> [SKIP][54] ([fdo#109276]) +1 similar issue
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6931/shard-iclb2/igt@gem_mocs_settings@mocs-isolation-bsd2.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/shard-iclb8/igt@gem_mocs_settings@mocs-isolation-bsd2.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#102614]: https://bugs.freedesktop.org/show_bug.cgi?id=102614
[fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
[fdo#103232]: https://bugs.freedesktop.org/show_bug.cgi?id=103232
[fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355
[fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
[fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
[fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
[fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#109661]: https://bugs.freedesktop.org/show_bug.cgi?id=109661
[fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
[fdo#110841]: https://bugs.freedesktop.org/show_bug.cgi?id=110841
[fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111325]: https://bugs.freedesktop.org/show_bug.cgi?id=111325
[fdo#111330]: https://bugs.freedesktop.org/show_bug.cgi?id=111330
[fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
Participating hosts (9 -> 9)
------------------------------
No changes in participating hosts
Build changes
-------------
* CI: CI-20190529 -> None
* Linux: CI_DRM_6931 -> Patchwork_14483
CI-20190529: 20190529
CI_DRM_6931: 6630d2e2a6458d4efc634af20c294e456caff22e @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_5195: ea29372bb4e261a0a8da371a1f434131750f18e0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
Patchwork_14483: 709d34d7c748302f590792303f82ab156c74f9d2 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_14483/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove()
2019-09-20 18:54 [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove() Jani Nikula
` (7 preceding siblings ...)
2019-09-22 4:59 ` ✓ Fi.CI.IGT: " Patchwork
@ 2019-09-23 8:04 ` Jani Nikula
8 siblings, 0 replies; 11+ messages in thread
From: Jani Nikula @ 2019-09-23 8:04 UTC (permalink / raw)
To: intel-gfx
On Fri, 20 Sep 2019, Jani Nikula <jani.nikula@intel.com> wrote:
> For completeness, add counterpart to i915_driver_modeset_probe() and
> remove the asymmetry in the probe/remove parts. No functional changes.
>
> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Pushed the series, thanks for the review. Now to figure out how to tame
the actual dragon, this was just warmup...
BR,
Jani.
> ---
> drivers/gpu/drm/i915/i915_drv.c | 25 +++++++++++++++----------
> 1 file changed, 15 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 9904f762f4bb..4cb95fd9b35d 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -422,6 +422,20 @@ static int i915_driver_modeset_probe(struct drm_device *dev)
> return ret;
> }
>
> +static void i915_driver_modeset_remove(struct drm_i915_private *i915)
> +{
> + struct pci_dev *pdev = i915->drm.pdev;
> +
> + intel_modeset_driver_remove(&i915->drm);
> +
> + intel_bios_driver_remove(i915);
> +
> + vga_switcheroo_unregister_client(pdev);
> + vga_client_register(pdev, NULL, NULL, NULL);
> +
> + intel_csr_ucode_fini(i915);
> +}
> +
> static void intel_init_dpio(struct drm_i915_private *dev_priv)
> {
> /*
> @@ -1586,8 +1600,6 @@ int i915_driver_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>
> void i915_driver_remove(struct drm_i915_private *i915)
> {
> - struct pci_dev *pdev = i915->drm.pdev;
> -
> disable_rpm_wakeref_asserts(&i915->runtime_pm);
>
> i915_driver_unregister(i915);
> @@ -1608,14 +1620,7 @@ void i915_driver_remove(struct drm_i915_private *i915)
>
> intel_gvt_driver_remove(i915);
>
> - intel_modeset_driver_remove(&i915->drm);
> -
> - intel_bios_driver_remove(i915);
> -
> - vga_switcheroo_unregister_client(pdev);
> - vga_client_register(pdev, NULL, NULL, NULL);
> -
> - intel_csr_ucode_fini(i915);
> + i915_driver_modeset_remove(i915);
>
> /* Free error state after interrupts are fully disabled. */
> cancel_delayed_work_sync(&i915->gt.hangcheck.work);
--
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2019-09-23 8:04 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-20 18:54 [PATCH v2 1/6] drm/i915: add i915_driver_modeset_remove() Jani Nikula
2019-09-20 18:54 ` [PATCH v2 2/6] drm/i915: pass i915 to i915_driver_modeset_probe() Jani Nikula
2019-09-20 18:54 ` [PATCH v2 3/6] drm/i915: pass i915 to intel_modeset_driver_remove() Jani Nikula
2019-09-20 18:54 ` [PATCH v2 4/6] drm/i915: abstract intel_panel_sanitize_ssc() from intel_modeset_init() Jani Nikula
2019-09-20 18:54 ` [PATCH v2 5/6] drm/i915: abstract intel_mode_config_init() " Jani Nikula
2019-09-20 18:54 ` [PATCH v2 6/6] drm/i915: pass i915 to intel_modeset_init() and intel_modeset_init_hw() Jani Nikula
2019-09-20 19:05 ` Jani Nikula
2019-09-20 19:56 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [v2,1/6] drm/i915: add i915_driver_modeset_remove() Patchwork
2019-09-20 20:21 ` ✓ Fi.CI.BAT: success " Patchwork
2019-09-22 4:59 ` ✓ Fi.CI.IGT: " Patchwork
2019-09-23 8:04 ` [PATCH v2 1/6] " Jani Nikula
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.