public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915/opregion: Convert to using native drm_i915_private
@ 2016-05-23 14:08 Chris Wilson
  2016-05-23 14:08 ` [PATCH 2/2] drm/i915/opregion: Rename init/fini functions to register/unregister Chris Wilson
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Chris Wilson @ 2016-05-23 14:08 UTC (permalink / raw)
  To: intel-gfx

Prefer passing struct drm_i915_private to internal interfaces as this
saves us having to dance between drm_device and our native struct. The
savings hare are small (only 70 bytes of unrequired dancing), but
progressive!

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_dma.c       |   6 +-
 drivers/gpu/drm/i915/i915_drv.c       |  18 +++---
 drivers/gpu/drm/i915/i915_drv.h       |  20 +++----
 drivers/gpu/drm/i915/intel_bios.c     |   2 +-
 drivers/gpu/drm/i915/intel_opregion.c | 105 +++++++++++++++++-----------------
 5 files changed, 74 insertions(+), 77 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 31e859bc74b1..363bd5884a56 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1307,7 +1307,7 @@ static int i915_driver_init_hw(struct drm_i915_private *dev_priv)
 
 	intel_uncore_sanitize(dev_priv);
 
-	intel_opregion_setup(dev);
+	intel_opregion_setup(dev_priv);
 
 	i915_gem_load_init_fences(dev_priv);
 
@@ -1376,7 +1376,7 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
 
 	if (INTEL_INFO(dev_priv)->num_pipes) {
 		/* Must be done after probing outputs */
-		intel_opregion_init(dev);
+		intel_opregion_init(dev_priv);
 		acpi_video_register();
 	}
 
@@ -1395,7 +1395,7 @@ static void i915_driver_unregister(struct drm_i915_private *dev_priv)
 	i915_audio_component_cleanup(dev_priv);
 	intel_gpu_ips_teardown();
 	acpi_video_unregister();
-	intel_opregion_fini(dev_priv->dev);
+	intel_opregion_fini(dev_priv);
 	i915_teardown_sysfs(dev_priv->dev);
 	i915_gem_shrinker_cleanup(dev_priv);
 }
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index dba03c026151..7627bbec8e37 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -628,10 +628,10 @@ static int i915_drm_suspend(struct drm_device *dev)
 	i915_save_state(dev);
 
 	opregion_target_state = suspend_to_idle(dev_priv) ? PCI_D1 : PCI_D3cold;
-	intel_opregion_notify_adapter(dev, opregion_target_state);
+	intel_opregion_notify_adapter(dev_priv, opregion_target_state);
 
 	intel_uncore_forcewake_reset(dev_priv, false);
-	intel_opregion_fini(dev);
+	intel_opregion_fini(dev_priv);
 
 	intel_fbdev_set_suspend(dev, FBINFO_STATE_SUSPENDED, true);
 
@@ -749,7 +749,7 @@ static int i915_drm_resume(struct drm_device *dev)
 	mutex_unlock(&dev->struct_mutex);
 
 	i915_restore_state(dev);
-	intel_opregion_setup(dev);
+	intel_opregion_setup(dev_priv);
 
 	intel_init_pch_refclk(dev);
 	drm_mode_config_reset(dev);
@@ -794,7 +794,7 @@ static int i915_drm_resume(struct drm_device *dev)
 	/* Config may have changed between suspend and resume */
 	drm_helper_hpd_irq_event(dev);
 
-	intel_opregion_init(dev);
+	intel_opregion_init(dev_priv);
 
 	intel_fbdev_set_suspend(dev, FBINFO_STATE_RUNNING, false);
 
@@ -802,7 +802,7 @@ static int i915_drm_resume(struct drm_device *dev)
 	dev_priv->modeset_restore = MODESET_DONE;
 	mutex_unlock(&dev_priv->modeset_restore_lock);
 
-	intel_opregion_notify_adapter(dev, PCI_D0);
+	intel_opregion_notify_adapter(dev_priv, PCI_D0);
 
 	drm_kms_helper_poll_enable(dev);
 
@@ -1596,14 +1596,14 @@ static int intel_runtime_suspend(struct device *device)
 	 * FIXME: We really should find a document that references the arguments
 	 * used below!
 	 */
-	if (IS_BROADWELL(dev)) {
+	if (IS_BROADWELL(dev_priv)) {
 		/*
 		 * On Broadwell, if we use PCI_D1 the PCH DDI ports will stop
 		 * being detected, and the call we do at intel_runtime_resume()
 		 * won't be able to restore them. Since PCI_D3hot matches the
 		 * actual specification and appears to be working, use it.
 		 */
-		intel_opregion_notify_adapter(dev, PCI_D3hot);
+		intel_opregion_notify_adapter(dev_priv, PCI_D3hot);
 	} else {
 		/*
 		 * current versions of firmware which depend on this opregion
@@ -1612,7 +1612,7 @@ static int intel_runtime_suspend(struct device *device)
 		 * to distinguish it from notifications that might be sent via
 		 * the suspend path.
 		 */
-		intel_opregion_notify_adapter(dev, PCI_D1);
+		intel_opregion_notify_adapter(dev_priv, PCI_D1);
 	}
 
 	assert_forcewakes_inactive(dev_priv);
@@ -1636,7 +1636,7 @@ static int intel_runtime_resume(struct device *device)
 	WARN_ON_ONCE(atomic_read(&dev_priv->pm.wakeref_count));
 	disable_rpm_wakeref_asserts(dev_priv);
 
-	intel_opregion_notify_adapter(dev, PCI_D0);
+	intel_opregion_notify_adapter(dev_priv, PCI_D0);
 	dev_priv->pm.suspended = false;
 	if (intel_uncore_unclaimed_mmio(dev_priv))
 		DRM_DEBUG_DRIVER("Unclaimed access during suspend, bios?\n");
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 5ada5c9d2747..caf7e45ae663 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3608,19 +3608,19 @@ bool intel_bios_is_port_hpd_inverted(struct drm_i915_private *dev_priv,
 
 /* intel_opregion.c */
 #ifdef CONFIG_ACPI
-extern int intel_opregion_setup(struct drm_device *dev);
-extern void intel_opregion_init(struct drm_device *dev);
-extern void intel_opregion_fini(struct drm_device *dev);
+extern int intel_opregion_setup(struct drm_i915_private *dev_priv);
+extern void intel_opregion_init(struct drm_i915_private *dev_priv);
+extern void intel_opregion_fini(struct drm_i915_private *dev_priv);
 extern void intel_opregion_asle_intr(struct drm_i915_private *dev_priv);
 extern int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
 					 bool enable);
-extern int intel_opregion_notify_adapter(struct drm_device *dev,
+extern int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv,
 					 pci_power_t state);
-extern int intel_opregion_get_panel_type(struct drm_device *dev);
+extern int intel_opregion_get_panel_type(struct drm_i915_private *dev_priv);
 #else
-static inline int intel_opregion_setup(struct drm_device *dev) { return 0; }
-static inline void intel_opregion_init(struct drm_device *dev) { return; }
-static inline void intel_opregion_fini(struct drm_device *dev) { return; }
+static inline int intel_opregion_setup(struct drm_i915_private *dev) { return 0; }
+static inline void intel_opregion_init(struct drm_i915_private *dev) { }
+static inline void intel_opregion_fini(struct drm_i915_private *dev) { }
 static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
 {
 }
@@ -3630,11 +3630,11 @@ intel_opregion_notify_encoder(struct intel_encoder *intel_encoder, bool enable)
 	return 0;
 }
 static inline int
-intel_opregion_notify_adapter(struct drm_device *dev, pci_power_t state)
+intel_opregion_notify_adapter(struct drm_i915_private *dev, pci_power_t state)
 {
 	return 0;
 }
-static inline int intel_opregion_get_panel_type(struct drm_device *dev)
+static inline int intel_opregion_get_panel_type(struct drm_i915_private *dev)
 {
 	return -ENODEV;
 }
diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
index 8b68c4882fba..624e755e451f 100644
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -213,7 +213,7 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv,
 
 	dev_priv->vbt.lvds_dither = lvds_options->pixel_dither;
 
-	ret = intel_opregion_get_panel_type(dev_priv->dev);
+	ret = intel_opregion_get_panel_type(dev_priv);
 	if (ret >= 0) {
 		WARN_ON(ret > 0xf);
 		panel_type = ret;
diff --git a/drivers/gpu/drm/i915/intel_opregion.c b/drivers/gpu/drm/i915/intel_opregion.c
index 8347fd8af8e4..f9cdec866e49 100644
--- a/drivers/gpu/drm/i915/intel_opregion.c
+++ b/drivers/gpu/drm/i915/intel_opregion.c
@@ -240,10 +240,11 @@ struct opregion_asle_ext {
 
 #define MAX_DSLP	1500
 
-static int swsci(struct drm_device *dev, u32 function, u32 parm, u32 *parm_out)
+static int swsci(struct drm_i915_private *dev_priv,
+		 u32 function, u32 parm, u32 *parm_out)
 {
-	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct opregion_swsci *swsci = dev_priv->opregion.swsci;
+	struct pci_dev *pdev = dev_priv->dev->pdev;
 	u32 main_function, sub_function, scic;
 	u16 swsci_val;
 	u32 dslp;
@@ -293,16 +294,16 @@ static int swsci(struct drm_device *dev, u32 function, u32 parm, u32 *parm_out)
 	swsci->scic = scic;
 
 	/* Ensure SCI event is selected and event trigger is cleared. */
-	pci_read_config_word(dev->pdev, SWSCI, &swsci_val);
+	pci_read_config_word(pdev, SWSCI, &swsci_val);
 	if (!(swsci_val & SWSCI_SCISEL) || (swsci_val & SWSCI_GSSCIE)) {
 		swsci_val |= SWSCI_SCISEL;
 		swsci_val &= ~SWSCI_GSSCIE;
-		pci_write_config_word(dev->pdev, SWSCI, swsci_val);
+		pci_write_config_word(pdev, SWSCI, swsci_val);
 	}
 
 	/* Use event trigger to tell bios to check the mail. */
 	swsci_val |= SWSCI_GSSCIE;
-	pci_write_config_word(dev->pdev, SWSCI, swsci_val);
+	pci_write_config_word(pdev, SWSCI, swsci_val);
 
 	/* Poll for the result. */
 #define C (((scic = swsci->scic) & SWSCI_SCIC_INDICATOR) == 0)
@@ -336,13 +337,13 @@ static int swsci(struct drm_device *dev, u32 function, u32 parm, u32 *parm_out)
 int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
 				  bool enable)
 {
-	struct drm_device *dev = intel_encoder->base.dev;
+	struct drm_i915_private *dev_priv = to_i915(intel_encoder->base.dev);
 	u32 parm = 0;
 	u32 type = 0;
 	u32 port;
 
 	/* don't care about old stuff for now */
-	if (!HAS_DDI(dev))
+	if (!HAS_DDI(dev_priv))
 		return 0;
 
 	if (intel_encoder->type == INTEL_OUTPUT_DSI)
@@ -382,7 +383,7 @@ int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
 
 	parm |= type << (16 + port * 3);
 
-	return swsci(dev, SWSCI_SBCB_DISPLAY_POWER_STATE, parm, NULL);
+	return swsci(dev_priv, SWSCI_SBCB_DISPLAY_POWER_STATE, parm, NULL);
 }
 
 static const struct {
@@ -396,27 +397,28 @@ static const struct {
 	{ PCI_D3cold,	0x04 },
 };
 
-int intel_opregion_notify_adapter(struct drm_device *dev, pci_power_t state)
+int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv,
+				  pci_power_t state)
 {
 	int i;
 
-	if (!HAS_DDI(dev))
+	if (!HAS_DDI(dev_priv))
 		return 0;
 
 	for (i = 0; i < ARRAY_SIZE(power_state_map); i++) {
 		if (state == power_state_map[i].pci_power_state)
-			return swsci(dev, SWSCI_SBCB_ADAPTER_POWER_STATE,
+			return swsci(dev_priv, SWSCI_SBCB_ADAPTER_POWER_STATE,
 				     power_state_map[i].parm, NULL);
 	}
 
 	return -EINVAL;
 }
 
-static u32 asle_set_backlight(struct drm_device *dev, u32 bclp)
+static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
 {
-	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_connector *connector;
 	struct opregion_asle *asle = dev_priv->opregion.asle;
+	struct drm_device *dev = dev_priv->dev;
 
 	DRM_DEBUG_DRIVER("bclp = 0x%08x\n", bclp);
 
@@ -449,7 +451,7 @@ static u32 asle_set_backlight(struct drm_device *dev, u32 bclp)
 	return 0;
 }
 
-static u32 asle_set_als_illum(struct drm_device *dev, u32 alsi)
+static u32 asle_set_als_illum(struct drm_i915_private *dev_priv, u32 alsi)
 {
 	/* alsi is the current ALS reading in lux. 0 indicates below sensor
 	   range, 0xffff indicates above sensor range. 1-0xfffe are valid */
@@ -457,13 +459,13 @@ static u32 asle_set_als_illum(struct drm_device *dev, u32 alsi)
 	return ASLC_ALS_ILLUM_FAILED;
 }
 
-static u32 asle_set_pwm_freq(struct drm_device *dev, u32 pfmb)
+static u32 asle_set_pwm_freq(struct drm_i915_private *dev_priv, u32 pfmb)
 {
 	DRM_DEBUG_DRIVER("PWM freq is not supported\n");
 	return ASLC_PWM_FREQ_FAILED;
 }
 
-static u32 asle_set_pfit(struct drm_device *dev, u32 pfit)
+static u32 asle_set_pfit(struct drm_i915_private *dev_priv, u32 pfit)
 {
 	/* Panel fitting is currently controlled by the X code, so this is a
 	   noop until modesetting support works fully */
@@ -471,13 +473,13 @@ static u32 asle_set_pfit(struct drm_device *dev, u32 pfit)
 	return ASLC_PFIT_FAILED;
 }
 
-static u32 asle_set_supported_rotation_angles(struct drm_device *dev, u32 srot)
+static u32 asle_set_supported_rotation_angles(struct drm_i915_private *dev_priv, u32 srot)
 {
 	DRM_DEBUG_DRIVER("SROT is not supported\n");
 	return ASLC_ROTATION_ANGLES_FAILED;
 }
 
-static u32 asle_set_button_array(struct drm_device *dev, u32 iuer)
+static u32 asle_set_button_array(struct drm_i915_private *dev_priv, u32 iuer)
 {
 	if (!iuer)
 		DRM_DEBUG_DRIVER("Button array event is not supported (nothing)\n");
@@ -495,7 +497,7 @@ static u32 asle_set_button_array(struct drm_device *dev, u32 iuer)
 	return ASLC_BUTTON_ARRAY_FAILED;
 }
 
-static u32 asle_set_convertible(struct drm_device *dev, u32 iuer)
+static u32 asle_set_convertible(struct drm_i915_private *dev_priv, u32 iuer)
 {
 	if (iuer & ASLE_IUER_CONVERTIBLE)
 		DRM_DEBUG_DRIVER("Convertible is not supported (clamshell)\n");
@@ -505,7 +507,7 @@ static u32 asle_set_convertible(struct drm_device *dev, u32 iuer)
 	return ASLC_CONVERTIBLE_FAILED;
 }
 
-static u32 asle_set_docking(struct drm_device *dev, u32 iuer)
+static u32 asle_set_docking(struct drm_i915_private *dev_priv, u32 iuer)
 {
 	if (iuer & ASLE_IUER_DOCKING)
 		DRM_DEBUG_DRIVER("Docking is not supported (docked)\n");
@@ -515,7 +517,7 @@ static u32 asle_set_docking(struct drm_device *dev, u32 iuer)
 	return ASLC_DOCKING_FAILED;
 }
 
-static u32 asle_isct_state(struct drm_device *dev)
+static u32 asle_isct_state(struct drm_i915_private *dev_priv)
 {
 	DRM_DEBUG_DRIVER("ISCT is not supported\n");
 	return ASLC_ISCT_STATE_FAILED;
@@ -527,7 +529,6 @@ static void asle_work(struct work_struct *work)
 		container_of(work, struct intel_opregion, asle_work);
 	struct drm_i915_private *dev_priv =
 		container_of(opregion, struct drm_i915_private, opregion);
-	struct drm_device *dev = dev_priv->dev;
 	struct opregion_asle *asle = dev_priv->opregion.asle;
 	u32 aslc_stat = 0;
 	u32 aslc_req;
@@ -544,32 +545,32 @@ static void asle_work(struct work_struct *work)
 	}
 
 	if (aslc_req & ASLC_SET_ALS_ILLUM)
-		aslc_stat |= asle_set_als_illum(dev, asle->alsi);
+		aslc_stat |= asle_set_als_illum(dev_priv, asle->alsi);
 
 	if (aslc_req & ASLC_SET_BACKLIGHT)
-		aslc_stat |= asle_set_backlight(dev, asle->bclp);
+		aslc_stat |= asle_set_backlight(dev_priv, asle->bclp);
 
 	if (aslc_req & ASLC_SET_PFIT)
-		aslc_stat |= asle_set_pfit(dev, asle->pfit);
+		aslc_stat |= asle_set_pfit(dev_priv, asle->pfit);
 
 	if (aslc_req & ASLC_SET_PWM_FREQ)
-		aslc_stat |= asle_set_pwm_freq(dev, asle->pfmb);
+		aslc_stat |= asle_set_pwm_freq(dev_priv, asle->pfmb);
 
 	if (aslc_req & ASLC_SUPPORTED_ROTATION_ANGLES)
-		aslc_stat |= asle_set_supported_rotation_angles(dev,
+		aslc_stat |= asle_set_supported_rotation_angles(dev_priv,
 							asle->srot);
 
 	if (aslc_req & ASLC_BUTTON_ARRAY)
-		aslc_stat |= asle_set_button_array(dev, asle->iuer);
+		aslc_stat |= asle_set_button_array(dev_priv, asle->iuer);
 
 	if (aslc_req & ASLC_CONVERTIBLE_INDICATOR)
-		aslc_stat |= asle_set_convertible(dev, asle->iuer);
+		aslc_stat |= asle_set_convertible(dev_priv, asle->iuer);
 
 	if (aslc_req & ASLC_DOCKING_INDICATOR)
-		aslc_stat |= asle_set_docking(dev, asle->iuer);
+		aslc_stat |= asle_set_docking(dev_priv, asle->iuer);
 
 	if (aslc_req & ASLC_ISCT_STATE_CHANGE)
-		aslc_stat |= asle_isct_state(dev);
+		aslc_stat |= asle_isct_state(dev_priv);
 
 	asle->aslc = aslc_stat;
 }
@@ -656,10 +657,10 @@ static void set_did(struct intel_opregion *opregion, int i, u32 val)
 	}
 }
 
-static void intel_didl_outputs(struct drm_device *dev)
+static void intel_didl_outputs(struct drm_i915_private *dev_priv)
 {
-	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_opregion *opregion = &dev_priv->opregion;
+	struct pci_dev *pdev = dev_priv->dev->pdev;
 	struct drm_connector *connector;
 	acpi_handle handle;
 	struct acpi_device *acpi_dev, *acpi_cdev, *acpi_video_bus = NULL;
@@ -668,7 +669,7 @@ static void intel_didl_outputs(struct drm_device *dev)
 	u32 temp, max_outputs;
 	int i = 0;
 
-	handle = ACPI_HANDLE(&dev->pdev->dev);
+	handle = ACPI_HANDLE(&pdev->dev);
 	if (!handle || acpi_bus_get_device(handle, &acpi_dev))
 		return;
 
@@ -723,7 +724,7 @@ end:
 
 blind_set:
 	i = 0;
-	list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
+	list_for_each_entry(connector, &dev_priv->dev->mode_config.connector_list, head) {
 		int output_type = ACPI_OTHER_OUTPUT;
 		if (i >= max_outputs) {
 			DRM_DEBUG_KMS("More than %u outputs in connector list\n",
@@ -759,9 +760,8 @@ blind_set:
 	goto end;
 }
 
-static void intel_setup_cadls(struct drm_device *dev)
+static void intel_setup_cadls(struct drm_i915_private *dev_priv)
 {
-	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_opregion *opregion = &dev_priv->opregion;
 	int i = 0;
 	u32 disp_id;
@@ -778,17 +778,16 @@ static void intel_setup_cadls(struct drm_device *dev)
 	} while (++i < 8 && disp_id != 0);
 }
 
-void intel_opregion_init(struct drm_device *dev)
+void intel_opregion_init(struct drm_i915_private *dev_priv)
 {
-	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_opregion *opregion = &dev_priv->opregion;
 
 	if (!opregion->header)
 		return;
 
 	if (opregion->acpi) {
-		intel_didl_outputs(dev);
-		intel_setup_cadls(dev);
+		intel_didl_outputs(dev_priv);
+		intel_setup_cadls(dev_priv);
 
 		/* Notify BIOS we are ready to handle ACPI video ext notifs.
 		 * Right now, all the events are handled by the ACPI video module.
@@ -806,9 +805,8 @@ void intel_opregion_init(struct drm_device *dev)
 	}
 }
 
-void intel_opregion_fini(struct drm_device *dev)
+void intel_opregion_fini(struct drm_i915_private *dev_priv)
 {
-	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_opregion *opregion = &dev_priv->opregion;
 
 	if (!opregion->header)
@@ -840,9 +838,8 @@ void intel_opregion_fini(struct drm_device *dev)
 	opregion->lid_state = NULL;
 }
 
-static void swsci_setup(struct drm_device *dev)
+static void swsci_setup(struct drm_i915_private *dev_priv)
 {
-	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_opregion *opregion = &dev_priv->opregion;
 	bool requested_callbacks = false;
 	u32 tmp;
@@ -852,7 +849,7 @@ static void swsci_setup(struct drm_device *dev)
 	opregion->swsci_sbcb_sub_functions = 1;
 
 	/* We use GBDA to ask for supported GBDA calls. */
-	if (swsci(dev, SWSCI_GBDA_SUPPORTED_CALLS, 0, &tmp) == 0) {
+	if (swsci(dev_priv, SWSCI_GBDA_SUPPORTED_CALLS, 0, &tmp) == 0) {
 		/* make the bits match the sub-function codes */
 		tmp <<= 1;
 		opregion->swsci_gbda_sub_functions |= tmp;
@@ -863,7 +860,7 @@ static void swsci_setup(struct drm_device *dev)
 	 * must not call interfaces that are not specifically requested by the
 	 * bios.
 	 */
-	if (swsci(dev, SWSCI_GBDA_REQUESTED_CALLBACKS, 0, &tmp) == 0) {
+	if (swsci(dev_priv, SWSCI_GBDA_REQUESTED_CALLBACKS, 0, &tmp) == 0) {
 		/* here, the bits already match sub-function codes */
 		opregion->swsci_sbcb_sub_functions |= tmp;
 		requested_callbacks = true;
@@ -874,7 +871,7 @@ static void swsci_setup(struct drm_device *dev)
 	 * the callback is _requested_. But we still can't call interfaces that
 	 * are not requested.
 	 */
-	if (swsci(dev, SWSCI_SBCB_SUPPORTED_CALLBACKS, 0, &tmp) == 0) {
+	if (swsci(dev_priv, SWSCI_SBCB_SUPPORTED_CALLBACKS, 0, &tmp) == 0) {
 		/* make the bits match the sub-function codes */
 		u32 low = tmp & 0x7ff;
 		u32 high = tmp & ~0xfff; /* bit 11 is reserved */
@@ -916,10 +913,10 @@ static const struct dmi_system_id intel_no_opregion_vbt[] = {
 	{ }
 };
 
-int intel_opregion_setup(struct drm_device *dev)
+int intel_opregion_setup(struct drm_i915_private *dev_priv)
 {
-	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_opregion *opregion = &dev_priv->opregion;
+	struct pci_dev *pdev = dev_priv->dev->pdev;
 	u32 asls, mboxes;
 	char buf[sizeof(OPREGION_SIGNATURE)];
 	int err = 0;
@@ -931,7 +928,7 @@ int intel_opregion_setup(struct drm_device *dev)
 	BUILD_BUG_ON(sizeof(struct opregion_asle) != 0x100);
 	BUILD_BUG_ON(sizeof(struct opregion_asle_ext) != 0x400);
 
-	pci_read_config_dword(dev->pdev, ASLS, &asls);
+	pci_read_config_dword(pdev, ASLS, &asls);
 	DRM_DEBUG_DRIVER("graphic opregion physical addr: 0x%x\n", asls);
 	if (asls == 0) {
 		DRM_DEBUG_DRIVER("ACPI OpRegion not supported!\n");
@@ -963,7 +960,7 @@ int intel_opregion_setup(struct drm_device *dev)
 	if (mboxes & MBOX_SWSCI) {
 		DRM_DEBUG_DRIVER("SWSCI supported\n");
 		opregion->swsci = base + OPREGION_SWSCI_OFFSET;
-		swsci_setup(dev);
+		swsci_setup(dev_priv);
 	}
 
 	if (mboxes & MBOX_ASLE) {
@@ -1012,12 +1009,12 @@ err_out:
 }
 
 int
-intel_opregion_get_panel_type(struct drm_device *dev)
+intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
 {
 	u32 panel_details;
 	int ret;
 
-	ret = swsci(dev, SWSCI_GBDA_PANEL_DETAILS, 0x0, &panel_details);
+	ret = swsci(dev_priv, SWSCI_GBDA_PANEL_DETAILS, 0x0, &panel_details);
 	if (ret) {
 		DRM_DEBUG_KMS("Failed to get panel details from OpRegion (%d)\n",
 			      ret);
-- 
2.8.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] drm/i915/opregion: Rename init/fini functions to register/unregister
  2016-05-23 14:08 [PATCH 1/2] drm/i915/opregion: Convert to using native drm_i915_private Chris Wilson
@ 2016-05-23 14:08 ` Chris Wilson
  2016-05-23 14:42   ` Jani Nikula
  2016-05-23 14:35 ` [PATCH 1/2] drm/i915/opregion: Convert to using native drm_i915_private Jani Nikula
  2016-05-23 15:39 ` ✓ Ro.CI.BAT: success for series starting with [1/2] " Patchwork
  2 siblings, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2016-05-23 14:08 UTC (permalink / raw)
  To: intel-gfx

Current intel_opregion_init is called during the driver registration
phase and intel_opregion_fini from the unregistration phase. Rename the
functions show that this is clear from their names. The phases tell us
what we expect the existing hw state to be, e.g. whether interrupts are
still enabled etc.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_dma.c       | 4 ++--
 drivers/gpu/drm/i915/i915_drv.c       | 4 ++--
 drivers/gpu/drm/i915/i915_drv.h       | 4 ++--
 drivers/gpu/drm/i915/intel_opregion.c | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 363bd5884a56..07edaed9d5a2 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1376,7 +1376,7 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
 
 	if (INTEL_INFO(dev_priv)->num_pipes) {
 		/* Must be done after probing outputs */
-		intel_opregion_init(dev_priv);
+		intel_opregion_register(dev_priv);
 		acpi_video_register();
 	}
 
@@ -1395,7 +1395,7 @@ static void i915_driver_unregister(struct drm_i915_private *dev_priv)
 	i915_audio_component_cleanup(dev_priv);
 	intel_gpu_ips_teardown();
 	acpi_video_unregister();
-	intel_opregion_fini(dev_priv);
+	intel_opregion_unregister(dev_priv);
 	i915_teardown_sysfs(dev_priv->dev);
 	i915_gem_shrinker_cleanup(dev_priv);
 }
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 7627bbec8e37..943d7b222fd4 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -631,7 +631,7 @@ static int i915_drm_suspend(struct drm_device *dev)
 	intel_opregion_notify_adapter(dev_priv, opregion_target_state);
 
 	intel_uncore_forcewake_reset(dev_priv, false);
-	intel_opregion_fini(dev_priv);
+	intel_opregion_unregister(dev_priv);
 
 	intel_fbdev_set_suspend(dev, FBINFO_STATE_SUSPENDED, true);
 
@@ -794,7 +794,7 @@ static int i915_drm_resume(struct drm_device *dev)
 	/* Config may have changed between suspend and resume */
 	drm_helper_hpd_irq_event(dev);
 
-	intel_opregion_init(dev_priv);
+	intel_opregion_register(dev_priv);
 
 	intel_fbdev_set_suspend(dev, FBINFO_STATE_RUNNING, false);
 
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index caf7e45ae663..17fe272e9ef8 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3609,8 +3609,8 @@ bool intel_bios_is_port_hpd_inverted(struct drm_i915_private *dev_priv,
 /* intel_opregion.c */
 #ifdef CONFIG_ACPI
 extern int intel_opregion_setup(struct drm_i915_private *dev_priv);
-extern void intel_opregion_init(struct drm_i915_private *dev_priv);
-extern void intel_opregion_fini(struct drm_i915_private *dev_priv);
+extern void intel_opregion_register(struct drm_i915_private *dev_priv);
+extern void intel_opregion_unregister(struct drm_i915_private *dev_priv);
 extern void intel_opregion_asle_intr(struct drm_i915_private *dev_priv);
 extern int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
 					 bool enable);
diff --git a/drivers/gpu/drm/i915/intel_opregion.c b/drivers/gpu/drm/i915/intel_opregion.c
index f9cdec866e49..f6d8a21d2c49 100644
--- a/drivers/gpu/drm/i915/intel_opregion.c
+++ b/drivers/gpu/drm/i915/intel_opregion.c
@@ -778,7 +778,7 @@ static void intel_setup_cadls(struct drm_i915_private *dev_priv)
 	} while (++i < 8 && disp_id != 0);
 }
 
-void intel_opregion_init(struct drm_i915_private *dev_priv)
+void intel_opregion_register(struct drm_i915_private *dev_priv)
 {
 	struct intel_opregion *opregion = &dev_priv->opregion;
 
@@ -805,7 +805,7 @@ void intel_opregion_init(struct drm_i915_private *dev_priv)
 	}
 }
 
-void intel_opregion_fini(struct drm_i915_private *dev_priv)
+void intel_opregion_unregister(struct drm_i915_private *dev_priv)
 {
 	struct intel_opregion *opregion = &dev_priv->opregion;
 
-- 
2.8.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] drm/i915/opregion: Convert to using native drm_i915_private
  2016-05-23 14:08 [PATCH 1/2] drm/i915/opregion: Convert to using native drm_i915_private Chris Wilson
  2016-05-23 14:08 ` [PATCH 2/2] drm/i915/opregion: Rename init/fini functions to register/unregister Chris Wilson
@ 2016-05-23 14:35 ` Jani Nikula
  2016-05-23 15:39 ` ✓ Ro.CI.BAT: success for series starting with [1/2] " Patchwork
  2 siblings, 0 replies; 6+ messages in thread
From: Jani Nikula @ 2016-05-23 14:35 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

On Mon, 23 May 2016, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> Prefer passing struct drm_i915_private to internal interfaces as this
> saves us having to dance between drm_device and our native struct. The
> savings hare are small (only 70 bytes of unrequired dancing), but
> progressive!
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>

Hmm, I've written this patch! But alas I've never actually sent it to
the list. I guess it conflicted with some of the didl stuff I was
playing with at the time.

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

> ---
>  drivers/gpu/drm/i915/i915_dma.c       |   6 +-
>  drivers/gpu/drm/i915/i915_drv.c       |  18 +++---
>  drivers/gpu/drm/i915/i915_drv.h       |  20 +++----
>  drivers/gpu/drm/i915/intel_bios.c     |   2 +-
>  drivers/gpu/drm/i915/intel_opregion.c | 105 +++++++++++++++++-----------------
>  5 files changed, 74 insertions(+), 77 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index 31e859bc74b1..363bd5884a56 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -1307,7 +1307,7 @@ static int i915_driver_init_hw(struct drm_i915_private *dev_priv)
>  
>  	intel_uncore_sanitize(dev_priv);
>  
> -	intel_opregion_setup(dev);
> +	intel_opregion_setup(dev_priv);
>  
>  	i915_gem_load_init_fences(dev_priv);
>  
> @@ -1376,7 +1376,7 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
>  
>  	if (INTEL_INFO(dev_priv)->num_pipes) {
>  		/* Must be done after probing outputs */
> -		intel_opregion_init(dev);
> +		intel_opregion_init(dev_priv);
>  		acpi_video_register();
>  	}
>  
> @@ -1395,7 +1395,7 @@ static void i915_driver_unregister(struct drm_i915_private *dev_priv)
>  	i915_audio_component_cleanup(dev_priv);
>  	intel_gpu_ips_teardown();
>  	acpi_video_unregister();
> -	intel_opregion_fini(dev_priv->dev);
> +	intel_opregion_fini(dev_priv);
>  	i915_teardown_sysfs(dev_priv->dev);
>  	i915_gem_shrinker_cleanup(dev_priv);
>  }
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index dba03c026151..7627bbec8e37 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -628,10 +628,10 @@ static int i915_drm_suspend(struct drm_device *dev)
>  	i915_save_state(dev);
>  
>  	opregion_target_state = suspend_to_idle(dev_priv) ? PCI_D1 : PCI_D3cold;
> -	intel_opregion_notify_adapter(dev, opregion_target_state);
> +	intel_opregion_notify_adapter(dev_priv, opregion_target_state);
>  
>  	intel_uncore_forcewake_reset(dev_priv, false);
> -	intel_opregion_fini(dev);
> +	intel_opregion_fini(dev_priv);
>  
>  	intel_fbdev_set_suspend(dev, FBINFO_STATE_SUSPENDED, true);
>  
> @@ -749,7 +749,7 @@ static int i915_drm_resume(struct drm_device *dev)
>  	mutex_unlock(&dev->struct_mutex);
>  
>  	i915_restore_state(dev);
> -	intel_opregion_setup(dev);
> +	intel_opregion_setup(dev_priv);
>  
>  	intel_init_pch_refclk(dev);
>  	drm_mode_config_reset(dev);
> @@ -794,7 +794,7 @@ static int i915_drm_resume(struct drm_device *dev)
>  	/* Config may have changed between suspend and resume */
>  	drm_helper_hpd_irq_event(dev);
>  
> -	intel_opregion_init(dev);
> +	intel_opregion_init(dev_priv);
>  
>  	intel_fbdev_set_suspend(dev, FBINFO_STATE_RUNNING, false);
>  
> @@ -802,7 +802,7 @@ static int i915_drm_resume(struct drm_device *dev)
>  	dev_priv->modeset_restore = MODESET_DONE;
>  	mutex_unlock(&dev_priv->modeset_restore_lock);
>  
> -	intel_opregion_notify_adapter(dev, PCI_D0);
> +	intel_opregion_notify_adapter(dev_priv, PCI_D0);
>  
>  	drm_kms_helper_poll_enable(dev);
>  
> @@ -1596,14 +1596,14 @@ static int intel_runtime_suspend(struct device *device)
>  	 * FIXME: We really should find a document that references the arguments
>  	 * used below!
>  	 */
> -	if (IS_BROADWELL(dev)) {
> +	if (IS_BROADWELL(dev_priv)) {
>  		/*
>  		 * On Broadwell, if we use PCI_D1 the PCH DDI ports will stop
>  		 * being detected, and the call we do at intel_runtime_resume()
>  		 * won't be able to restore them. Since PCI_D3hot matches the
>  		 * actual specification and appears to be working, use it.
>  		 */
> -		intel_opregion_notify_adapter(dev, PCI_D3hot);
> +		intel_opregion_notify_adapter(dev_priv, PCI_D3hot);
>  	} else {
>  		/*
>  		 * current versions of firmware which depend on this opregion
> @@ -1612,7 +1612,7 @@ static int intel_runtime_suspend(struct device *device)
>  		 * to distinguish it from notifications that might be sent via
>  		 * the suspend path.
>  		 */
> -		intel_opregion_notify_adapter(dev, PCI_D1);
> +		intel_opregion_notify_adapter(dev_priv, PCI_D1);
>  	}
>  
>  	assert_forcewakes_inactive(dev_priv);
> @@ -1636,7 +1636,7 @@ static int intel_runtime_resume(struct device *device)
>  	WARN_ON_ONCE(atomic_read(&dev_priv->pm.wakeref_count));
>  	disable_rpm_wakeref_asserts(dev_priv);
>  
> -	intel_opregion_notify_adapter(dev, PCI_D0);
> +	intel_opregion_notify_adapter(dev_priv, PCI_D0);
>  	dev_priv->pm.suspended = false;
>  	if (intel_uncore_unclaimed_mmio(dev_priv))
>  		DRM_DEBUG_DRIVER("Unclaimed access during suspend, bios?\n");
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 5ada5c9d2747..caf7e45ae663 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -3608,19 +3608,19 @@ bool intel_bios_is_port_hpd_inverted(struct drm_i915_private *dev_priv,
>  
>  /* intel_opregion.c */
>  #ifdef CONFIG_ACPI
> -extern int intel_opregion_setup(struct drm_device *dev);
> -extern void intel_opregion_init(struct drm_device *dev);
> -extern void intel_opregion_fini(struct drm_device *dev);
> +extern int intel_opregion_setup(struct drm_i915_private *dev_priv);
> +extern void intel_opregion_init(struct drm_i915_private *dev_priv);
> +extern void intel_opregion_fini(struct drm_i915_private *dev_priv);
>  extern void intel_opregion_asle_intr(struct drm_i915_private *dev_priv);
>  extern int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
>  					 bool enable);
> -extern int intel_opregion_notify_adapter(struct drm_device *dev,
> +extern int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv,
>  					 pci_power_t state);
> -extern int intel_opregion_get_panel_type(struct drm_device *dev);
> +extern int intel_opregion_get_panel_type(struct drm_i915_private *dev_priv);
>  #else
> -static inline int intel_opregion_setup(struct drm_device *dev) { return 0; }
> -static inline void intel_opregion_init(struct drm_device *dev) { return; }
> -static inline void intel_opregion_fini(struct drm_device *dev) { return; }
> +static inline int intel_opregion_setup(struct drm_i915_private *dev) { return 0; }
> +static inline void intel_opregion_init(struct drm_i915_private *dev) { }
> +static inline void intel_opregion_fini(struct drm_i915_private *dev) { }
>  static inline void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
>  {
>  }
> @@ -3630,11 +3630,11 @@ intel_opregion_notify_encoder(struct intel_encoder *intel_encoder, bool enable)
>  	return 0;
>  }
>  static inline int
> -intel_opregion_notify_adapter(struct drm_device *dev, pci_power_t state)
> +intel_opregion_notify_adapter(struct drm_i915_private *dev, pci_power_t state)
>  {
>  	return 0;
>  }
> -static inline int intel_opregion_get_panel_type(struct drm_device *dev)
> +static inline int intel_opregion_get_panel_type(struct drm_i915_private *dev)
>  {
>  	return -ENODEV;
>  }
> diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> index 8b68c4882fba..624e755e451f 100644
> --- a/drivers/gpu/drm/i915/intel_bios.c
> +++ b/drivers/gpu/drm/i915/intel_bios.c
> @@ -213,7 +213,7 @@ parse_lfp_panel_data(struct drm_i915_private *dev_priv,
>  
>  	dev_priv->vbt.lvds_dither = lvds_options->pixel_dither;
>  
> -	ret = intel_opregion_get_panel_type(dev_priv->dev);
> +	ret = intel_opregion_get_panel_type(dev_priv);
>  	if (ret >= 0) {
>  		WARN_ON(ret > 0xf);
>  		panel_type = ret;
> diff --git a/drivers/gpu/drm/i915/intel_opregion.c b/drivers/gpu/drm/i915/intel_opregion.c
> index 8347fd8af8e4..f9cdec866e49 100644
> --- a/drivers/gpu/drm/i915/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/intel_opregion.c
> @@ -240,10 +240,11 @@ struct opregion_asle_ext {
>  
>  #define MAX_DSLP	1500
>  
> -static int swsci(struct drm_device *dev, u32 function, u32 parm, u32 *parm_out)
> +static int swsci(struct drm_i915_private *dev_priv,
> +		 u32 function, u32 parm, u32 *parm_out)
>  {
> -	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct opregion_swsci *swsci = dev_priv->opregion.swsci;
> +	struct pci_dev *pdev = dev_priv->dev->pdev;
>  	u32 main_function, sub_function, scic;
>  	u16 swsci_val;
>  	u32 dslp;
> @@ -293,16 +294,16 @@ static int swsci(struct drm_device *dev, u32 function, u32 parm, u32 *parm_out)
>  	swsci->scic = scic;
>  
>  	/* Ensure SCI event is selected and event trigger is cleared. */
> -	pci_read_config_word(dev->pdev, SWSCI, &swsci_val);
> +	pci_read_config_word(pdev, SWSCI, &swsci_val);
>  	if (!(swsci_val & SWSCI_SCISEL) || (swsci_val & SWSCI_GSSCIE)) {
>  		swsci_val |= SWSCI_SCISEL;
>  		swsci_val &= ~SWSCI_GSSCIE;
> -		pci_write_config_word(dev->pdev, SWSCI, swsci_val);
> +		pci_write_config_word(pdev, SWSCI, swsci_val);
>  	}
>  
>  	/* Use event trigger to tell bios to check the mail. */
>  	swsci_val |= SWSCI_GSSCIE;
> -	pci_write_config_word(dev->pdev, SWSCI, swsci_val);
> +	pci_write_config_word(pdev, SWSCI, swsci_val);
>  
>  	/* Poll for the result. */
>  #define C (((scic = swsci->scic) & SWSCI_SCIC_INDICATOR) == 0)
> @@ -336,13 +337,13 @@ static int swsci(struct drm_device *dev, u32 function, u32 parm, u32 *parm_out)
>  int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
>  				  bool enable)
>  {
> -	struct drm_device *dev = intel_encoder->base.dev;
> +	struct drm_i915_private *dev_priv = to_i915(intel_encoder->base.dev);
>  	u32 parm = 0;
>  	u32 type = 0;
>  	u32 port;
>  
>  	/* don't care about old stuff for now */
> -	if (!HAS_DDI(dev))
> +	if (!HAS_DDI(dev_priv))
>  		return 0;
>  
>  	if (intel_encoder->type == INTEL_OUTPUT_DSI)
> @@ -382,7 +383,7 @@ int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
>  
>  	parm |= type << (16 + port * 3);
>  
> -	return swsci(dev, SWSCI_SBCB_DISPLAY_POWER_STATE, parm, NULL);
> +	return swsci(dev_priv, SWSCI_SBCB_DISPLAY_POWER_STATE, parm, NULL);
>  }
>  
>  static const struct {
> @@ -396,27 +397,28 @@ static const struct {
>  	{ PCI_D3cold,	0x04 },
>  };
>  
> -int intel_opregion_notify_adapter(struct drm_device *dev, pci_power_t state)
> +int intel_opregion_notify_adapter(struct drm_i915_private *dev_priv,
> +				  pci_power_t state)
>  {
>  	int i;
>  
> -	if (!HAS_DDI(dev))
> +	if (!HAS_DDI(dev_priv))
>  		return 0;
>  
>  	for (i = 0; i < ARRAY_SIZE(power_state_map); i++) {
>  		if (state == power_state_map[i].pci_power_state)
> -			return swsci(dev, SWSCI_SBCB_ADAPTER_POWER_STATE,
> +			return swsci(dev_priv, SWSCI_SBCB_ADAPTER_POWER_STATE,
>  				     power_state_map[i].parm, NULL);
>  	}
>  
>  	return -EINVAL;
>  }
>  
> -static u32 asle_set_backlight(struct drm_device *dev, u32 bclp)
> +static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
>  {
> -	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_connector *connector;
>  	struct opregion_asle *asle = dev_priv->opregion.asle;
> +	struct drm_device *dev = dev_priv->dev;
>  
>  	DRM_DEBUG_DRIVER("bclp = 0x%08x\n", bclp);
>  
> @@ -449,7 +451,7 @@ static u32 asle_set_backlight(struct drm_device *dev, u32 bclp)
>  	return 0;
>  }
>  
> -static u32 asle_set_als_illum(struct drm_device *dev, u32 alsi)
> +static u32 asle_set_als_illum(struct drm_i915_private *dev_priv, u32 alsi)
>  {
>  	/* alsi is the current ALS reading in lux. 0 indicates below sensor
>  	   range, 0xffff indicates above sensor range. 1-0xfffe are valid */
> @@ -457,13 +459,13 @@ static u32 asle_set_als_illum(struct drm_device *dev, u32 alsi)
>  	return ASLC_ALS_ILLUM_FAILED;
>  }
>  
> -static u32 asle_set_pwm_freq(struct drm_device *dev, u32 pfmb)
> +static u32 asle_set_pwm_freq(struct drm_i915_private *dev_priv, u32 pfmb)
>  {
>  	DRM_DEBUG_DRIVER("PWM freq is not supported\n");
>  	return ASLC_PWM_FREQ_FAILED;
>  }
>  
> -static u32 asle_set_pfit(struct drm_device *dev, u32 pfit)
> +static u32 asle_set_pfit(struct drm_i915_private *dev_priv, u32 pfit)
>  {
>  	/* Panel fitting is currently controlled by the X code, so this is a
>  	   noop until modesetting support works fully */
> @@ -471,13 +473,13 @@ static u32 asle_set_pfit(struct drm_device *dev, u32 pfit)
>  	return ASLC_PFIT_FAILED;
>  }
>  
> -static u32 asle_set_supported_rotation_angles(struct drm_device *dev, u32 srot)
> +static u32 asle_set_supported_rotation_angles(struct drm_i915_private *dev_priv, u32 srot)
>  {
>  	DRM_DEBUG_DRIVER("SROT is not supported\n");
>  	return ASLC_ROTATION_ANGLES_FAILED;
>  }
>  
> -static u32 asle_set_button_array(struct drm_device *dev, u32 iuer)
> +static u32 asle_set_button_array(struct drm_i915_private *dev_priv, u32 iuer)
>  {
>  	if (!iuer)
>  		DRM_DEBUG_DRIVER("Button array event is not supported (nothing)\n");
> @@ -495,7 +497,7 @@ static u32 asle_set_button_array(struct drm_device *dev, u32 iuer)
>  	return ASLC_BUTTON_ARRAY_FAILED;
>  }
>  
> -static u32 asle_set_convertible(struct drm_device *dev, u32 iuer)
> +static u32 asle_set_convertible(struct drm_i915_private *dev_priv, u32 iuer)
>  {
>  	if (iuer & ASLE_IUER_CONVERTIBLE)
>  		DRM_DEBUG_DRIVER("Convertible is not supported (clamshell)\n");
> @@ -505,7 +507,7 @@ static u32 asle_set_convertible(struct drm_device *dev, u32 iuer)
>  	return ASLC_CONVERTIBLE_FAILED;
>  }
>  
> -static u32 asle_set_docking(struct drm_device *dev, u32 iuer)
> +static u32 asle_set_docking(struct drm_i915_private *dev_priv, u32 iuer)
>  {
>  	if (iuer & ASLE_IUER_DOCKING)
>  		DRM_DEBUG_DRIVER("Docking is not supported (docked)\n");
> @@ -515,7 +517,7 @@ static u32 asle_set_docking(struct drm_device *dev, u32 iuer)
>  	return ASLC_DOCKING_FAILED;
>  }
>  
> -static u32 asle_isct_state(struct drm_device *dev)
> +static u32 asle_isct_state(struct drm_i915_private *dev_priv)
>  {
>  	DRM_DEBUG_DRIVER("ISCT is not supported\n");
>  	return ASLC_ISCT_STATE_FAILED;
> @@ -527,7 +529,6 @@ static void asle_work(struct work_struct *work)
>  		container_of(work, struct intel_opregion, asle_work);
>  	struct drm_i915_private *dev_priv =
>  		container_of(opregion, struct drm_i915_private, opregion);
> -	struct drm_device *dev = dev_priv->dev;
>  	struct opregion_asle *asle = dev_priv->opregion.asle;
>  	u32 aslc_stat = 0;
>  	u32 aslc_req;
> @@ -544,32 +545,32 @@ static void asle_work(struct work_struct *work)
>  	}
>  
>  	if (aslc_req & ASLC_SET_ALS_ILLUM)
> -		aslc_stat |= asle_set_als_illum(dev, asle->alsi);
> +		aslc_stat |= asle_set_als_illum(dev_priv, asle->alsi);
>  
>  	if (aslc_req & ASLC_SET_BACKLIGHT)
> -		aslc_stat |= asle_set_backlight(dev, asle->bclp);
> +		aslc_stat |= asle_set_backlight(dev_priv, asle->bclp);
>  
>  	if (aslc_req & ASLC_SET_PFIT)
> -		aslc_stat |= asle_set_pfit(dev, asle->pfit);
> +		aslc_stat |= asle_set_pfit(dev_priv, asle->pfit);
>  
>  	if (aslc_req & ASLC_SET_PWM_FREQ)
> -		aslc_stat |= asle_set_pwm_freq(dev, asle->pfmb);
> +		aslc_stat |= asle_set_pwm_freq(dev_priv, asle->pfmb);
>  
>  	if (aslc_req & ASLC_SUPPORTED_ROTATION_ANGLES)
> -		aslc_stat |= asle_set_supported_rotation_angles(dev,
> +		aslc_stat |= asle_set_supported_rotation_angles(dev_priv,
>  							asle->srot);
>  
>  	if (aslc_req & ASLC_BUTTON_ARRAY)
> -		aslc_stat |= asle_set_button_array(dev, asle->iuer);
> +		aslc_stat |= asle_set_button_array(dev_priv, asle->iuer);
>  
>  	if (aslc_req & ASLC_CONVERTIBLE_INDICATOR)
> -		aslc_stat |= asle_set_convertible(dev, asle->iuer);
> +		aslc_stat |= asle_set_convertible(dev_priv, asle->iuer);
>  
>  	if (aslc_req & ASLC_DOCKING_INDICATOR)
> -		aslc_stat |= asle_set_docking(dev, asle->iuer);
> +		aslc_stat |= asle_set_docking(dev_priv, asle->iuer);
>  
>  	if (aslc_req & ASLC_ISCT_STATE_CHANGE)
> -		aslc_stat |= asle_isct_state(dev);
> +		aslc_stat |= asle_isct_state(dev_priv);
>  
>  	asle->aslc = aslc_stat;
>  }
> @@ -656,10 +657,10 @@ static void set_did(struct intel_opregion *opregion, int i, u32 val)
>  	}
>  }
>  
> -static void intel_didl_outputs(struct drm_device *dev)
> +static void intel_didl_outputs(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_opregion *opregion = &dev_priv->opregion;
> +	struct pci_dev *pdev = dev_priv->dev->pdev;
>  	struct drm_connector *connector;
>  	acpi_handle handle;
>  	struct acpi_device *acpi_dev, *acpi_cdev, *acpi_video_bus = NULL;
> @@ -668,7 +669,7 @@ static void intel_didl_outputs(struct drm_device *dev)
>  	u32 temp, max_outputs;
>  	int i = 0;
>  
> -	handle = ACPI_HANDLE(&dev->pdev->dev);
> +	handle = ACPI_HANDLE(&pdev->dev);
>  	if (!handle || acpi_bus_get_device(handle, &acpi_dev))
>  		return;
>  
> @@ -723,7 +724,7 @@ end:
>  
>  blind_set:
>  	i = 0;
> -	list_for_each_entry(connector, &dev->mode_config.connector_list, head) {
> +	list_for_each_entry(connector, &dev_priv->dev->mode_config.connector_list, head) {
>  		int output_type = ACPI_OTHER_OUTPUT;
>  		if (i >= max_outputs) {
>  			DRM_DEBUG_KMS("More than %u outputs in connector list\n",
> @@ -759,9 +760,8 @@ blind_set:
>  	goto end;
>  }
>  
> -static void intel_setup_cadls(struct drm_device *dev)
> +static void intel_setup_cadls(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_opregion *opregion = &dev_priv->opregion;
>  	int i = 0;
>  	u32 disp_id;
> @@ -778,17 +778,16 @@ static void intel_setup_cadls(struct drm_device *dev)
>  	} while (++i < 8 && disp_id != 0);
>  }
>  
> -void intel_opregion_init(struct drm_device *dev)
> +void intel_opregion_init(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_opregion *opregion = &dev_priv->opregion;
>  
>  	if (!opregion->header)
>  		return;
>  
>  	if (opregion->acpi) {
> -		intel_didl_outputs(dev);
> -		intel_setup_cadls(dev);
> +		intel_didl_outputs(dev_priv);
> +		intel_setup_cadls(dev_priv);
>  
>  		/* Notify BIOS we are ready to handle ACPI video ext notifs.
>  		 * Right now, all the events are handled by the ACPI video module.
> @@ -806,9 +805,8 @@ void intel_opregion_init(struct drm_device *dev)
>  	}
>  }
>  
> -void intel_opregion_fini(struct drm_device *dev)
> +void intel_opregion_fini(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_opregion *opregion = &dev_priv->opregion;
>  
>  	if (!opregion->header)
> @@ -840,9 +838,8 @@ void intel_opregion_fini(struct drm_device *dev)
>  	opregion->lid_state = NULL;
>  }
>  
> -static void swsci_setup(struct drm_device *dev)
> +static void swsci_setup(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_opregion *opregion = &dev_priv->opregion;
>  	bool requested_callbacks = false;
>  	u32 tmp;
> @@ -852,7 +849,7 @@ static void swsci_setup(struct drm_device *dev)
>  	opregion->swsci_sbcb_sub_functions = 1;
>  
>  	/* We use GBDA to ask for supported GBDA calls. */
> -	if (swsci(dev, SWSCI_GBDA_SUPPORTED_CALLS, 0, &tmp) == 0) {
> +	if (swsci(dev_priv, SWSCI_GBDA_SUPPORTED_CALLS, 0, &tmp) == 0) {
>  		/* make the bits match the sub-function codes */
>  		tmp <<= 1;
>  		opregion->swsci_gbda_sub_functions |= tmp;
> @@ -863,7 +860,7 @@ static void swsci_setup(struct drm_device *dev)
>  	 * must not call interfaces that are not specifically requested by the
>  	 * bios.
>  	 */
> -	if (swsci(dev, SWSCI_GBDA_REQUESTED_CALLBACKS, 0, &tmp) == 0) {
> +	if (swsci(dev_priv, SWSCI_GBDA_REQUESTED_CALLBACKS, 0, &tmp) == 0) {
>  		/* here, the bits already match sub-function codes */
>  		opregion->swsci_sbcb_sub_functions |= tmp;
>  		requested_callbacks = true;
> @@ -874,7 +871,7 @@ static void swsci_setup(struct drm_device *dev)
>  	 * the callback is _requested_. But we still can't call interfaces that
>  	 * are not requested.
>  	 */
> -	if (swsci(dev, SWSCI_SBCB_SUPPORTED_CALLBACKS, 0, &tmp) == 0) {
> +	if (swsci(dev_priv, SWSCI_SBCB_SUPPORTED_CALLBACKS, 0, &tmp) == 0) {
>  		/* make the bits match the sub-function codes */
>  		u32 low = tmp & 0x7ff;
>  		u32 high = tmp & ~0xfff; /* bit 11 is reserved */
> @@ -916,10 +913,10 @@ static const struct dmi_system_id intel_no_opregion_vbt[] = {
>  	{ }
>  };
>  
> -int intel_opregion_setup(struct drm_device *dev)
> +int intel_opregion_setup(struct drm_i915_private *dev_priv)
>  {
> -	struct drm_i915_private *dev_priv = dev->dev_private;
>  	struct intel_opregion *opregion = &dev_priv->opregion;
> +	struct pci_dev *pdev = dev_priv->dev->pdev;
>  	u32 asls, mboxes;
>  	char buf[sizeof(OPREGION_SIGNATURE)];
>  	int err = 0;
> @@ -931,7 +928,7 @@ int intel_opregion_setup(struct drm_device *dev)
>  	BUILD_BUG_ON(sizeof(struct opregion_asle) != 0x100);
>  	BUILD_BUG_ON(sizeof(struct opregion_asle_ext) != 0x400);
>  
> -	pci_read_config_dword(dev->pdev, ASLS, &asls);
> +	pci_read_config_dword(pdev, ASLS, &asls);
>  	DRM_DEBUG_DRIVER("graphic opregion physical addr: 0x%x\n", asls);
>  	if (asls == 0) {
>  		DRM_DEBUG_DRIVER("ACPI OpRegion not supported!\n");
> @@ -963,7 +960,7 @@ int intel_opregion_setup(struct drm_device *dev)
>  	if (mboxes & MBOX_SWSCI) {
>  		DRM_DEBUG_DRIVER("SWSCI supported\n");
>  		opregion->swsci = base + OPREGION_SWSCI_OFFSET;
> -		swsci_setup(dev);
> +		swsci_setup(dev_priv);
>  	}
>  
>  	if (mboxes & MBOX_ASLE) {
> @@ -1012,12 +1009,12 @@ err_out:
>  }
>  
>  int
> -intel_opregion_get_panel_type(struct drm_device *dev)
> +intel_opregion_get_panel_type(struct drm_i915_private *dev_priv)
>  {
>  	u32 panel_details;
>  	int ret;
>  
> -	ret = swsci(dev, SWSCI_GBDA_PANEL_DETAILS, 0x0, &panel_details);
> +	ret = swsci(dev_priv, SWSCI_GBDA_PANEL_DETAILS, 0x0, &panel_details);
>  	if (ret) {
>  		DRM_DEBUG_KMS("Failed to get panel details from OpRegion (%d)\n",
>  			      ret);

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] drm/i915/opregion: Rename init/fini functions to register/unregister
  2016-05-23 14:08 ` [PATCH 2/2] drm/i915/opregion: Rename init/fini functions to register/unregister Chris Wilson
@ 2016-05-23 14:42   ` Jani Nikula
  2016-05-23 15:01     ` Chris Wilson
  0 siblings, 1 reply; 6+ messages in thread
From: Jani Nikula @ 2016-05-23 14:42 UTC (permalink / raw)
  To: Chris Wilson, intel-gfx

On Mon, 23 May 2016, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> Current intel_opregion_init is called during the driver registration
> phase and intel_opregion_fini from the unregistration phase. Rename the
> functions show that this is clear from their names. The phases tell us
> what we expect the existing hw state to be, e.g. whether interrupts are
> still enabled etc.

Okay, for the naming per se,

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

While not a problem in this patch, the whole init/cleanup of opregion is
annoyingly asymmetric. You need to call both setup and init to make it
work, but fini cleans up for both of them. So repeated init/fini pairs
will fail. The setup also does some initialization that is only needed
once (like INIT_WORK) so fini is not a complete counter-operation of
setup+init either.

BR,
Jani.

>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_dma.c       | 4 ++--
>  drivers/gpu/drm/i915/i915_drv.c       | 4 ++--
>  drivers/gpu/drm/i915/i915_drv.h       | 4 ++--
>  drivers/gpu/drm/i915/intel_opregion.c | 4 ++--
>  4 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
> index 363bd5884a56..07edaed9d5a2 100644
> --- a/drivers/gpu/drm/i915/i915_dma.c
> +++ b/drivers/gpu/drm/i915/i915_dma.c
> @@ -1376,7 +1376,7 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
>  
>  	if (INTEL_INFO(dev_priv)->num_pipes) {
>  		/* Must be done after probing outputs */
> -		intel_opregion_init(dev_priv);
> +		intel_opregion_register(dev_priv);
>  		acpi_video_register();
>  	}
>  
> @@ -1395,7 +1395,7 @@ static void i915_driver_unregister(struct drm_i915_private *dev_priv)
>  	i915_audio_component_cleanup(dev_priv);
>  	intel_gpu_ips_teardown();
>  	acpi_video_unregister();
> -	intel_opregion_fini(dev_priv);
> +	intel_opregion_unregister(dev_priv);
>  	i915_teardown_sysfs(dev_priv->dev);
>  	i915_gem_shrinker_cleanup(dev_priv);
>  }
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 7627bbec8e37..943d7b222fd4 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -631,7 +631,7 @@ static int i915_drm_suspend(struct drm_device *dev)
>  	intel_opregion_notify_adapter(dev_priv, opregion_target_state);
>  
>  	intel_uncore_forcewake_reset(dev_priv, false);
> -	intel_opregion_fini(dev_priv);
> +	intel_opregion_unregister(dev_priv);
>  
>  	intel_fbdev_set_suspend(dev, FBINFO_STATE_SUSPENDED, true);
>  
> @@ -794,7 +794,7 @@ static int i915_drm_resume(struct drm_device *dev)
>  	/* Config may have changed between suspend and resume */
>  	drm_helper_hpd_irq_event(dev);
>  
> -	intel_opregion_init(dev_priv);
> +	intel_opregion_register(dev_priv);
>  
>  	intel_fbdev_set_suspend(dev, FBINFO_STATE_RUNNING, false);
>  
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index caf7e45ae663..17fe272e9ef8 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -3609,8 +3609,8 @@ bool intel_bios_is_port_hpd_inverted(struct drm_i915_private *dev_priv,
>  /* intel_opregion.c */
>  #ifdef CONFIG_ACPI
>  extern int intel_opregion_setup(struct drm_i915_private *dev_priv);
> -extern void intel_opregion_init(struct drm_i915_private *dev_priv);
> -extern void intel_opregion_fini(struct drm_i915_private *dev_priv);
> +extern void intel_opregion_register(struct drm_i915_private *dev_priv);
> +extern void intel_opregion_unregister(struct drm_i915_private *dev_priv);
>  extern void intel_opregion_asle_intr(struct drm_i915_private *dev_priv);
>  extern int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
>  					 bool enable);
> diff --git a/drivers/gpu/drm/i915/intel_opregion.c b/drivers/gpu/drm/i915/intel_opregion.c
> index f9cdec866e49..f6d8a21d2c49 100644
> --- a/drivers/gpu/drm/i915/intel_opregion.c
> +++ b/drivers/gpu/drm/i915/intel_opregion.c
> @@ -778,7 +778,7 @@ static void intel_setup_cadls(struct drm_i915_private *dev_priv)
>  	} while (++i < 8 && disp_id != 0);
>  }
>  
> -void intel_opregion_init(struct drm_i915_private *dev_priv)
> +void intel_opregion_register(struct drm_i915_private *dev_priv)
>  {
>  	struct intel_opregion *opregion = &dev_priv->opregion;
>  
> @@ -805,7 +805,7 @@ void intel_opregion_init(struct drm_i915_private *dev_priv)
>  	}
>  }
>  
> -void intel_opregion_fini(struct drm_i915_private *dev_priv)
> +void intel_opregion_unregister(struct drm_i915_private *dev_priv)
>  {
>  	struct intel_opregion *opregion = &dev_priv->opregion;

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] drm/i915/opregion: Rename init/fini functions to register/unregister
  2016-05-23 14:42   ` Jani Nikula
@ 2016-05-23 15:01     ` Chris Wilson
  0 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2016-05-23 15:01 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Mon, May 23, 2016 at 05:42:49PM +0300, Jani Nikula wrote:
> On Mon, 23 May 2016, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> > Current intel_opregion_init is called during the driver registration
> > phase and intel_opregion_fini from the unregistration phase. Rename the
> > functions show that this is clear from their names. The phases tell us
> > what we expect the existing hw state to be, e.g. whether interrupts are
> > still enabled etc.
> 
> Okay, for the naming per se,
> 
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> 
> While not a problem in this patch, the whole init/cleanup of opregion is
> annoyingly asymmetric. You need to call both setup and init to make it
> work, but fini cleans up for both of them. So repeated init/fini pairs
> will fail. The setup also does some initialization that is only needed
> once (like INIT_WORK) so fini is not a complete counter-operation of
> setup+init either.

Yeah, that's was kind of my starting goal to try and make it fit into
the overarching init phases better. Looking at suspend/resume to try and
understand why it didn't just unregister/register (or why it needed to
do the acpi unregister at all) raised too many questions.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ✓ Ro.CI.BAT: success for series starting with [1/2] drm/i915/opregion: Convert to using native drm_i915_private
  2016-05-23 14:08 [PATCH 1/2] drm/i915/opregion: Convert to using native drm_i915_private Chris Wilson
  2016-05-23 14:08 ` [PATCH 2/2] drm/i915/opregion: Rename init/fini functions to register/unregister Chris Wilson
  2016-05-23 14:35 ` [PATCH 1/2] drm/i915/opregion: Convert to using native drm_i915_private Jani Nikula
@ 2016-05-23 15:39 ` Patchwork
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2016-05-23 15:39 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/opregion: Convert to using native drm_i915_private
URL   : https://patchwork.freedesktop.org/series/7571/
State : success

== Summary ==

Series 7571v1 Series without cover letter
http://patchwork.freedesktop.org/api/1.0/series/7571/revisions/1/mbox

Test gem_exec_flush:
        Subgroup basic-batch-kernel-default-cmd:
                fail       -> PASS       (ro-byt-n2820)
                fail       -> PASS       (fi-byt-n2820)
Test kms_sink_crc_basic:
                skip       -> PASS       (ro-skl-i7-6700hq)

fi-bdw-i7-5557u  total:209  pass:197  dwarn:0   dfail:0   fail:0   skip:12 
fi-bsw-n3050     total:209  pass:167  dwarn:0   dfail:0   fail:2   skip:40 
fi-byt-n2820     total:209  pass:169  dwarn:0   dfail:0   fail:2   skip:38 
fi-hsw-i7-4770k  total:209  pass:190  dwarn:0   dfail:0   fail:0   skip:19 
fi-hsw-i7-4770r  total:209  pass:186  dwarn:0   dfail:0   fail:0   skip:23 
fi-skl-i5-6260u  total:209  pass:196  dwarn:2   dfail:0   fail:0   skip:11 
fi-skl-i7-6700k  total:209  pass:182  dwarn:2   dfail:0   fail:0   skip:25 
fi-snb-i7-2600   total:209  pass:170  dwarn:0   dfail:0   fail:0   skip:39 
ro-bdw-i5-5250u  total:209  pass:172  dwarn:0   dfail:0   fail:0   skip:37 
ro-bdw-i7-5557U  total:209  pass:197  dwarn:0   dfail:0   fail:0   skip:12 
ro-bdw-i7-5600u  total:209  pass:179  dwarn:0   dfail:0   fail:2   skip:28 
ro-bsw-n3050     total:209  pass:168  dwarn:0   dfail:0   fail:2   skip:39 
ro-byt-n2820     total:209  pass:170  dwarn:0   dfail:0   fail:2   skip:37 
ro-hsw-i3-4010u  total:209  pass:186  dwarn:0   dfail:0   fail:0   skip:23 
ro-hsw-i7-4770r  total:209  pass:186  dwarn:0   dfail:0   fail:0   skip:23 
ro-ilk-i7-620lm  total:209  pass:146  dwarn:0   dfail:0   fail:1   skip:62 
ro-ilk1-i5-650   total:204  pass:146  dwarn:0   dfail:0   fail:1   skip:57 
ro-ivb-i7-3770   total:209  pass:177  dwarn:0   dfail:0   fail:0   skip:32 
ro-ivb2-i7-3770  total:209  pass:181  dwarn:0   dfail:0   fail:0   skip:28 
ro-skl-i7-6700hq total:204  pass:181  dwarn:2   dfail:0   fail:0   skip:21 
ro-snb-i7-2620M  total:209  pass:170  dwarn:0   dfail:0   fail:1   skip:38 

Results at /archive/results/CI_IGT_test/RO_Patchwork_977/

54afd5a drm-intel-nightly: 2016y-05m-23d-13h-38m-05s UTC integration manifest
61e93fa drm/i915/opregion: Rename init/fini functions to register/unregister
b23b810 drm/i915/opregion: Convert to using native drm_i915_private

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-05-23 15:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-23 14:08 [PATCH 1/2] drm/i915/opregion: Convert to using native drm_i915_private Chris Wilson
2016-05-23 14:08 ` [PATCH 2/2] drm/i915/opregion: Rename init/fini functions to register/unregister Chris Wilson
2016-05-23 14:42   ` Jani Nikula
2016-05-23 15:01     ` Chris Wilson
2016-05-23 14:35 ` [PATCH 1/2] drm/i915/opregion: Convert to using native drm_i915_private Jani Nikula
2016-05-23 15:39 ` ✓ Ro.CI.BAT: success for series starting with [1/2] " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox