All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: add force_probe module parameter to replace alpha_support
@ 2019-05-06 13:48 Jani Nikula
  2019-05-06 14:08 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Jani Nikula @ 2019-05-06 13:48 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

The i915.alpha_support module parameter has caused some confusion along
the way. Add new i915.force_probe parameter to specify PCI IDs of
devices to probe, when the devices are recognized but not automatically
probed by the driver. The name is intended to reflect what the parameter
effectively does, avoiding any overloaded semantics of "alpha" and
"support".

The parameter supports "" to disable, "<pci-id>,[<pci-id>,...]" to
enable force probe for one or more devices, and "*" to enable force
probe for all known devices.

Also add new CONFIG_DRM_I915_FORCE_PROBE config option to replace the
DRM_I915_ALPHA_SUPPORT option. This defaults to "*" if
DRM_I915_ALPHA_SUPPORT=y.

Instead of replacing i915.alpha_support immediately, let the two coexist
for a while, with a deprecation message, for a transition period.

Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/Kconfig             | 29 +++++++++-----
 drivers/gpu/drm/i915/i915_drv.h          |  2 -
 drivers/gpu/drm/i915/i915_params.c       |  7 +++-
 drivers/gpu/drm/i915/i915_params.h       |  1 +
 drivers/gpu/drm/i915/i915_pci.c          | 51 +++++++++++++++++++++---
 drivers/gpu/drm/i915/intel_device_info.h |  2 +-
 6 files changed, 72 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
index f05563..e7b617 100644
--- a/drivers/gpu/drm/i915/Kconfig
+++ b/drivers/gpu/drm/i915/Kconfig
@@ -45,19 +45,28 @@ config DRM_I915
 config DRM_I915_ALPHA_SUPPORT
 	bool "Enable alpha quality support for new Intel hardware by default"
 	depends on DRM_I915
-	default n
 	help
-	  Choose this option if you have new Intel hardware and want to enable
-	  the alpha quality i915 driver support for the hardware in this kernel
-	  version. You can also enable the support at runtime using the module
-	  parameter i915.alpha_support=1; this option changes the default for
-	  that module parameter.
+	  This option is deprecated. Use DRM_I915_FORCE_PROBE option instead.
 
-	  It is recommended to upgrade to a kernel version with proper support
-	  as soon as it is available. Generally fixes for platforms with alpha
-	  support are not backported to older kernels.
+config DRM_I915_FORCE_PROBE
+	string "Force probe driver for selected new Intel hardware"
+	depends on DRM_I915
+	default "*" if DRM_I915_ALPHA_SUPPORT
+	help
+	  This is the default value for the i915.force_probe module
+	  parameter. Using the module parameter overrides this option.
 
-	  If in doubt, say "N".
+	  Force probe the driver for new Intel graphics devices that are
+	  recognized but not properly supported by this kernel version. It is
+	  recommended to upgrade to a kernel version with proper support as soon
+	  as it is available.
+
+	  Use "" to disable force probe. If in doubt, use this.
+
+	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
+	  devices. For example, "4500" or "4500,4571".
+
+	  Use "*" to force probe the driver for all known devices.
 
 config DRM_I915_CAPTURE_ERROR
 	bool "Enable capturing GPU state following a hang"
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 64fa35..04415d 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2435,8 +2435,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
 #define IS_ICL_WITH_PORT_F(dev_priv) \
 	IS_SUBPLATFORM(dev_priv, INTEL_ICELAKE, INTEL_SUBPLATFORM_PORTF)
 
-#define IS_ALPHA_SUPPORT(intel_info) ((intel_info)->is_alpha_support)
-
 #define SKL_REVID_A0		0x0
 #define SKL_REVID_B0		0x1
 #define SKL_REVID_C0		0x2
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index b5be0a..5b0776 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -87,9 +87,12 @@ i915_param_named_unsafe(enable_psr, int, 0600,
 	"(0=disabled, 1=enabled) "
 	"Default: -1 (use per-chip default)");
 
+i915_param_named_unsafe(force_probe, charp, 0400,
+	"Force probe the driver for specified devices. "
+	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
+
 i915_param_named_unsafe(alpha_support, bool, 0400,
-	"Enable alpha quality driver support for latest hardware. "
-	"See also CONFIG_DRM_I915_ALPHA_SUPPORT.");
+	"Deprecated. See i915.force_probe.");
 
 i915_param_named_unsafe(disable_power_well, int, 0400,
 	"Disable display power wells when possible "
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
index 3f14e9..a2bacd0 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -64,6 +64,7 @@ struct drm_printer;
 	param(int, reset, 2) \
 	param(unsigned int, inject_load_failure, 0) \
 	param(int, fastboot, -1) \
+	param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE) \
 	/* leave bools at the end to not create holes */ \
 	param(bool, alpha_support, IS_ENABLED(CONFIG_DRM_I915_ALPHA_SUPPORT)) \
 	param(bool, enable_hangcheck, true) \
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index ffa2ee..892f2ac 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -761,7 +761,7 @@ static const struct intel_device_info intel_icelake_11_info = {
 static const struct intel_device_info intel_elkhartlake_info = {
 	GEN11_FEATURES,
 	PLATFORM(INTEL_ELKHARTLAKE),
-	.is_alpha_support = 1,
+	.require_force_probe = 1,
 	.engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0),
 	.ppgtt_size = 36,
 };
@@ -855,16 +855,57 @@ static void i915_pci_remove(struct pci_dev *pdev)
 	pci_set_drvdata(pdev, NULL);
 }
 
+/* is device_id present in comma separated list of ids */
+static bool force_probe(u16 device_id, const char *devices)
+{
+	char *s, *p, *tok;
+	bool ret;
+
+	/* FIXME: transitional */
+	if (i915_modparams.alpha_support) {
+		DRM_INFO("i915.alpha_support is deprecated, use i915.force_probe=%04x instead\n",
+			 device_id);
+		return true;
+	}
+
+	if (!devices || !*devices)
+		return false;
+
+	/* match everything */
+	if (strcmp(devices, "*") == 0)
+		return true;
+
+	s = kstrdup(devices, GFP_KERNEL);
+	if (!s)
+		return false;
+
+	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
+		u16 val;
+
+		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
+			ret = true;
+			break;
+		}
+	}
+
+	kfree(s);
+
+	return ret;
+}
+
 static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 {
 	struct intel_device_info *intel_info =
 		(struct intel_device_info *) ent->driver_data;
 	int err;
 
-	if (IS_ALPHA_SUPPORT(intel_info) && !i915_modparams.alpha_support) {
-		DRM_INFO("The driver support for your hardware in this kernel version is alpha quality\n"
-			 "See CONFIG_DRM_I915_ALPHA_SUPPORT or i915.alpha_support module parameter\n"
-			 "to enable support in this kernel version, or check for kernel updates.\n");
+	if (intel_info->require_force_probe &&
+	    !force_probe(pdev->device, i915_modparams.force_probe)) {
+		DRM_INFO("Your graphics device %04x is not properly supported by the driver in this\n"
+			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
+			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
+			 "or (recommended) check for kernel updates.\n",
+			 pdev->device, pdev->device, pdev->device);
 		return -ENODEV;
 	}
 
diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
index 5a2e17..0187d6 100644
--- a/drivers/gpu/drm/i915/intel_device_info.h
+++ b/drivers/gpu/drm/i915/intel_device_info.h
@@ -105,7 +105,7 @@ enum intel_ppgtt_type {
 #define DEV_INFO_FOR_EACH_FLAG(func) \
 	func(is_mobile); \
 	func(is_lp); \
-	func(is_alpha_support); \
+	func(require_force_probe); \
 	/* Keep has_* in alphabetical order */ \
 	func(has_64bit_reloc); \
 	func(gpu_reset_clobbers_display); \
-- 
2.20.1

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

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

* ✗ Fi.CI.CHECKPATCH: warning for drm/i915: add force_probe module parameter to replace alpha_support
  2019-05-06 13:48 [PATCH] drm/i915: add force_probe module parameter to replace alpha_support Jani Nikula
@ 2019-05-06 14:08 ` Patchwork
  2019-05-06 14:09 ` ✗ Fi.CI.SPARSE: " Patchwork
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2019-05-06 14:08 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: add force_probe module parameter to replace alpha_support
URL   : https://patchwork.freedesktop.org/series/60322/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
02407cb01679 drm/i915: add force_probe module parameter to replace alpha_support
-:94: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#94: FILE: drivers/gpu/drm/i915/i915_params.c:91:
+i915_param_named_unsafe(force_probe, charp, 0400,
+	"Force probe the driver for specified devices. "

-:141: WARNING:EMBEDDED_FUNCTION_NAME: Prefer using '"%s...", __func__' to using 'force_probe', this function's name, in a string
#141: FILE: drivers/gpu/drm/i915/i915_pci.c:866:
+		DRM_INFO("i915.alpha_support is deprecated, use i915.force_probe=%04x instead\n",

total: 0 errors, 1 warnings, 1 checks, 144 lines checked

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

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

* ✗ Fi.CI.SPARSE: warning for drm/i915: add force_probe module parameter to replace alpha_support
  2019-05-06 13:48 [PATCH] drm/i915: add force_probe module parameter to replace alpha_support Jani Nikula
  2019-05-06 14:08 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
@ 2019-05-06 14:09 ` Patchwork
  2019-05-06 14:32 ` ✓ Fi.CI.BAT: success " Patchwork
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2019-05-06 14:09 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: add force_probe module parameter to replace alpha_support
URL   : https://patchwork.freedesktop.org/series/60322/
State : warning

== Summary ==

$ dim sparse origin/drm-tip
Sparse version: v0.5.2
Commit: drm/i915: add force_probe module parameter to replace alpha_support
+
+Error in reading or end of file.

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

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

* ✓ Fi.CI.BAT: success for drm/i915: add force_probe module parameter to replace alpha_support
  2019-05-06 13:48 [PATCH] drm/i915: add force_probe module parameter to replace alpha_support Jani Nikula
  2019-05-06 14:08 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
  2019-05-06 14:09 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2019-05-06 14:32 ` Patchwork
  2019-05-06 16:35 ` ✓ Fi.CI.IGT: " Patchwork
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2019-05-06 14:32 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: add force_probe module parameter to replace alpha_support
URL   : https://patchwork.freedesktop.org/series/60322/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6050 -> Patchwork_12970
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/

Known issues
------------

  Here are the changes found in Patchwork_12970 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_suspend@basic-s3:
    - fi-blb-e6850:       [PASS][1] -> [INCOMPLETE][2] ([fdo#107718])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/fi-blb-e6850/igt@gem_exec_suspend@basic-s3.html

  * igt@i915_selftest@live_contexts:
    - fi-bdw-gvtdvm:      [PASS][3] -> [DMESG-FAIL][4] ([fdo#110235])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html

  * igt@i915_selftest@live_execlists:
    - fi-apl-guc:         [PASS][5] -> [INCOMPLETE][6] ([fdo#103927] / [fdo#109720])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/fi-apl-guc/igt@i915_selftest@live_execlists.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/fi-apl-guc/igt@i915_selftest@live_execlists.html

  * igt@i915_selftest@live_hangcheck:
    - fi-icl-y:           [PASS][7] -> [INCOMPLETE][8] ([fdo#107713] / [fdo#108569])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/fi-icl-y/igt@i915_selftest@live_hangcheck.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/fi-icl-y/igt@i915_selftest@live_hangcheck.html

  
#### Possible fixes ####

  * igt@i915_selftest@live_hangcheck:
    - fi-apl-guc:         [DMESG-FAIL][9] ([fdo#110620]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/fi-apl-guc/igt@i915_selftest@live_hangcheck.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/fi-apl-guc/igt@i915_selftest@live_hangcheck.html

  
#### Warnings ####

  * igt@runner@aborted:
    - fi-apl-guc:         [FAIL][11] ([fdo#110622]) -> [FAIL][12] ([fdo#108622] / [fdo#109720])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/fi-apl-guc/igt@runner@aborted.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/fi-apl-guc/igt@runner@aborted.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#102505]: https://bugs.freedesktop.org/show_bug.cgi?id=102505
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107718]: https://bugs.freedesktop.org/show_bug.cgi?id=107718
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108622]: https://bugs.freedesktop.org/show_bug.cgi?id=108622
  [fdo#109720]: https://bugs.freedesktop.org/show_bug.cgi?id=109720
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235
  [fdo#110390]: https://bugs.freedesktop.org/show_bug.cgi?id=110390
  [fdo#110620]: https://bugs.freedesktop.org/show_bug.cgi?id=110620
  [fdo#110622]: https://bugs.freedesktop.org/show_bug.cgi?id=110622


Participating hosts (54 -> 45)
------------------------------

  Missing    (9): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-gdg-551 fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * Linux: CI_DRM_6050 -> Patchwork_12970

  CI_DRM_6050: 79f967620fe91fad840b71a0df86bbb45f9f70a3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12970: 02407cb016796a2fa1bdc850a388cfdbd22e0d17 @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

02407cb01679 drm/i915: add force_probe module parameter to replace alpha_support

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* ✓ Fi.CI.IGT: success for drm/i915: add force_probe module parameter to replace alpha_support
  2019-05-06 13:48 [PATCH] drm/i915: add force_probe module parameter to replace alpha_support Jani Nikula
                   ` (2 preceding siblings ...)
  2019-05-06 14:32 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2019-05-06 16:35 ` Patchwork
  2019-05-06 21:46 ` [PATCH] " kbuild test robot
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2019-05-06 16:35 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: add force_probe module parameter to replace alpha_support
URL   : https://patchwork.freedesktop.org/series/60322/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6050_full -> Patchwork_12970_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_12970_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_isolation@vecs0-s3:
    - shard-skl:          [PASS][1] -> [INCOMPLETE][2] ([fdo#104108] / [fdo#107773])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-skl2/igt@gem_ctx_isolation@vecs0-s3.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-skl6/igt@gem_ctx_isolation@vecs0-s3.html

  * igt@gem_pwrite@small-gtt-random:
    - shard-apl:          [PASS][3] -> [INCOMPLETE][4] ([fdo#103927])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-apl6/igt@gem_pwrite@small-gtt-random.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-apl2/igt@gem_pwrite@small-gtt-random.html

  * igt@i915_pm_rpm@i2c:
    - shard-iclb:         [PASS][5] -> [FAIL][6] ([fdo#104097])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-iclb1/igt@i915_pm_rpm@i2c.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-iclb6/igt@i915_pm_rpm@i2c.html

  * igt@i915_pm_rpm@system-suspend-execbuf:
    - shard-skl:          [PASS][7] -> [INCOMPLETE][8] ([fdo#104108] / [fdo#107773] / [fdo#107807])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-skl3/igt@i915_pm_rpm@system-suspend-execbuf.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-skl9/igt@i915_pm_rpm@system-suspend-execbuf.html

  * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy:
    - shard-hsw:          [PASS][9] -> [FAIL][10] ([fdo#105767])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-hsw2/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-hsw6/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html

  * igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
    - shard-glk:          [PASS][11] -> [FAIL][12] ([fdo#106509] / [fdo#107409])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-glk8/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-glk7/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-skl:          [PASS][13] -> [INCOMPLETE][14] ([fdo#109507])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-skl3/igt@kms_flip@flip-vs-suspend.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-skl8/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-apl:          [PASS][15] -> [DMESG-WARN][16] ([fdo#108566]) +2 similar issues
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-apl5/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-apl8/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render:
    - shard-iclb:         [PASS][17] -> [FAIL][18] ([fdo#103167]) +3 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html

  * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min:
    - shard-skl:          [PASS][19] -> [FAIL][20] ([fdo#108145])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-skl4/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-skl9/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html

  * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc:
    - shard-skl:          [PASS][21] -> [FAIL][22] ([fdo#108145] / [fdo#110403])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-skl4/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-skl6/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html

  * igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping:
    - shard-glk:          [PASS][23] -> [SKIP][24] ([fdo#109271] / [fdo#109278])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-glk9/igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-glk2/igt@kms_plane_scaling@pipe-a-scaler-with-clipping-clamping.html

  * igt@kms_psr@psr2_cursor_plane_onoff:
    - shard-iclb:         [PASS][25] -> [SKIP][26] ([fdo#109441]) +1 similar issue
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-iclb3/igt@kms_psr@psr2_cursor_plane_onoff.html

  
#### Possible fixes ####

  * igt@gem_ctx_isolation@rcs0-s3:
    - shard-apl:          [DMESG-WARN][27] ([fdo#108566]) -> [PASS][28] +5 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-apl4/igt@gem_ctx_isolation@rcs0-s3.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-apl6/igt@gem_ctx_isolation@rcs0-s3.html

  * igt@gem_eio@unwedge-stress:
    - shard-snb:          [FAIL][29] ([fdo#109661]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-snb1/igt@gem_eio@unwedge-stress.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-snb5/igt@gem_eio@unwedge-stress.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-glk:          [DMESG-WARN][31] ([fdo#108686]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-glk2/igt@gem_tiled_swapping@non-threaded.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-glk9/igt@gem_tiled_swapping@non-threaded.html
    - shard-kbl:          [DMESG-WARN][33] ([fdo#108686]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-kbl5/igt@gem_tiled_swapping@non-threaded.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-kbl1/igt@gem_tiled_swapping@non-threaded.html

  * igt@i915_pm_rpm@dpms-mode-unset-lpsp:
    - shard-skl:          [INCOMPLETE][35] ([fdo#107807]) -> [PASS][36] +1 similar issue
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-skl7/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-skl1/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_dp_dsc@basic-dsc-enable-edp:
    - shard-iclb:         [SKIP][37] ([fdo#109349]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-iclb6/igt@kms_dp_dsc@basic-dsc-enable-edp.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-iclb2/igt@kms_dp_dsc@basic-dsc-enable-edp.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-glk:          [INCOMPLETE][39] ([fdo#103359] / [k.org#198133]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-glk8/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-glk7/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-skl:          [FAIL][41] ([fdo#105363]) -> [PASS][42] +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-skl5/igt@kms_flip@flip-vs-expired-vblank.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-skl8/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-hsw:          [INCOMPLETE][43] ([fdo#103540]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-hsw7/igt@kms_flip@flip-vs-suspend-interruptible.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-hsw7/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-cpu:
    - shard-skl:          [FAIL][45] ([fdo#103167] / [fdo#110379]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-skl9/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-cpu.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-skl7/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render:
    - shard-iclb:         [FAIL][47] ([fdo#103167]) -> [PASS][48] +5 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-gtt:
    - shard-skl:          [FAIL][49] ([fdo#103167]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-skl9/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-gtt.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-skl7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-gtt.html

  * igt@kms_plane@pixel-format-pipe-b-planes-source-clamping:
    - shard-glk:          [SKIP][51] ([fdo#109271]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-glk2/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-glk9/igt@kms_plane@pixel-format-pipe-b-planes-source-clamping.html

  * igt@kms_plane_lowres@pipe-a-tiling-x:
    - shard-iclb:         [FAIL][53] ([fdo#103166]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-iclb1/igt@kms_plane_lowres@pipe-a-tiling-x.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-iclb6/igt@kms_plane_lowres@pipe-a-tiling-x.html

  * igt@kms_plane_scaling@pipe-a-scaler-with-pixel-format:
    - shard-glk:          [SKIP][55] ([fdo#109271] / [fdo#109278]) -> [PASS][56] +1 similar issue
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-glk2/igt@kms_plane_scaling@pipe-a-scaler-with-pixel-format.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-glk9/igt@kms_plane_scaling@pipe-a-scaler-with-pixel-format.html

  * igt@kms_psr2_su@frontbuffer:
    - shard-iclb:         [SKIP][57] ([fdo#109642]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-iclb5/igt@kms_psr2_su@frontbuffer.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-iclb2/igt@kms_psr2_su@frontbuffer.html

  * igt@kms_psr@psr2_primary_page_flip:
    - shard-iclb:         [SKIP][59] ([fdo#109441]) -> [PASS][60] +2 similar issues
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-iclb5/igt@kms_psr@psr2_primary_page_flip.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html

  * igt@tools_test@tools_test:
    - shard-iclb:         [SKIP][61] ([fdo#109352]) -> [PASS][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6050/shard-iclb2/igt@tools_test@tools_test.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_12970/shard-iclb8/igt@tools_test@tools_test.html

  
  [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
  [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104097]: https://bugs.freedesktop.org/show_bug.cgi?id=104097
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#105767]: https://bugs.freedesktop.org/show_bug.cgi?id=105767
  [fdo#106509]: https://bugs.freedesktop.org/show_bug.cgi?id=106509
  [fdo#107409]: https://bugs.freedesktop.org/show_bug.cgi?id=107409
  [fdo#107773]: https://bugs.freedesktop.org/show_bug.cgi?id=107773
  [fdo#107807]: https://bugs.freedesktop.org/show_bug.cgi?id=107807
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
  [fdo#109349]: https://bugs.freedesktop.org/show_bug.cgi?id=109349
  [fdo#109352]: https://bugs.freedesktop.org/show_bug.cgi?id=109352
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#109661]: https://bugs.freedesktop.org/show_bug.cgi?id=109661
  [fdo#110379]: https://bugs.freedesktop.org/show_bug.cgi?id=110379
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * Linux: CI_DRM_6050 -> Patchwork_12970

  CI_DRM_6050: 79f967620fe91fad840b71a0df86bbb45f9f70a3 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4972: f052e49a43cc9704ea5f240df15dd9d3dfed68ab @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_12970: 02407cb016796a2fa1bdc850a388cfdbd22e0d17 @ 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_12970/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: add force_probe module parameter to replace alpha_support
  2019-05-06 13:48 [PATCH] drm/i915: add force_probe module parameter to replace alpha_support Jani Nikula
                   ` (3 preceding siblings ...)
  2019-05-06 16:35 ` ✓ Fi.CI.IGT: " Patchwork
@ 2019-05-06 21:46 ` kbuild test robot
  2019-05-21 16:49 ` Rodrigo Vivi
  2019-05-31  9:40 ` Joonas Lahtinen
  6 siblings, 0 replies; 9+ messages in thread
From: kbuild test robot @ 2019-05-06 21:46 UTC (permalink / raw)
  Cc: jani.nikula, intel-gfx, kbuild-all

[-- Attachment #1: Type: text/plain, Size: 8043 bytes --]

Hi Jani,

I love your patch! Yet something to improve:

[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on next-20190506]
[cannot apply to v5.1]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Jani-Nikula/drm-i915-add-force_probe-module-parameter-to-replace-alpha_support/20190507-045927
base:   git://anongit.freedesktop.org/drm-intel for-linux-next
config: x86_64-randconfig-x009-201918 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   In file included from arch/x86/include/asm/bug.h:83:0,
                    from include/linux/bug.h:5,
                    from include/linux/mmdebug.h:5,
                    from include/linux/gfp.h:5,
                    from include/linux/firmware.h:7,
                    from drivers/gpu/drm/i915/intel_csr.c:25:
   drivers/gpu/drm/i915/intel_csr.c: In function 'intel_csr_ucode_init':
>> drivers/gpu/drm/i915/intel_csr.c:532:12: error: implicit declaration of function 'IS_ALPHA_SUPPORT'; did you mean 'DP_PSR_SUPPORT'? [-Werror=implicit-function-declaration]
      WARN_ON(!IS_ALPHA_SUPPORT(INTEL_INFO(dev_priv)));
               ^
   include/asm-generic/bug.h:131:25: note: in definition of macro 'WARN'
     int __ret_warn_on = !!(condition);    \
                            ^~~~~~~~~
>> drivers/gpu/drm/i915/intel_csr.c:532:3: note: in expansion of macro 'WARN_ON'
      WARN_ON(!IS_ALPHA_SUPPORT(INTEL_INFO(dev_priv)));
      ^~~~~~~
   cc1: some warnings being treated as errors

vim +532 drivers/gpu/drm/i915/intel_csr.c

eb805623 Daniel Vetter   2015-05-04  462  
aa9145c4 Animesh Manna   2015-05-13  463  /**
aa9145c4 Animesh Manna   2015-05-13  464   * intel_csr_ucode_init() - initialize the firmware loading.
f4448375 Daniel Vetter   2015-10-28  465   * @dev_priv: i915 drm device.
aa9145c4 Animesh Manna   2015-05-13  466   *
aa9145c4 Animesh Manna   2015-05-13  467   * This function is called at the time of loading the display driver to read
aa9145c4 Animesh Manna   2015-05-13  468   * firmware from a .bin file and copied into a internal memory.
aa9145c4 Animesh Manna   2015-05-13  469   */
f4448375 Daniel Vetter   2015-10-28  470  void intel_csr_ucode_init(struct drm_i915_private *dev_priv)
eb805623 Daniel Vetter   2015-05-04  471  {
eb805623 Daniel Vetter   2015-05-04  472  	struct intel_csr *csr = &dev_priv->csr;
8144ac59 Daniel Vetter   2015-10-28  473  
8144ac59 Daniel Vetter   2015-10-28  474  	INIT_WORK(&dev_priv->csr.work, csr_load_work_fn);
eb805623 Daniel Vetter   2015-05-04  475  
f4448375 Daniel Vetter   2015-10-28  476  	if (!HAS_CSR(dev_priv))
eb805623 Daniel Vetter   2015-05-04  477  		return;
eb805623 Daniel Vetter   2015-05-04  478  
d8a5b7d7 Jani Nikula     2018-09-26  479  	/*
d8a5b7d7 Jani Nikula     2018-09-26  480  	 * Obtain a runtime pm reference, until CSR is loaded, to avoid entering
d8a5b7d7 Jani Nikula     2018-09-26  481  	 * runtime-suspend.
d8a5b7d7 Jani Nikula     2018-09-26  482  	 *
d8a5b7d7 Jani Nikula     2018-09-26  483  	 * On error, we return with the rpm wakeref held to prevent runtime
d8a5b7d7 Jani Nikula     2018-09-26  484  	 * suspend as runtime suspend *requires* a working CSR for whatever
d8a5b7d7 Jani Nikula     2018-09-26  485  	 * reason.
d8a5b7d7 Jani Nikula     2018-09-26  486  	 */
0e6e0be4 Chris Wilson    2019-01-14  487  	intel_csr_runtime_pm_get(dev_priv);
d8a5b7d7 Jani Nikula     2018-09-26  488  
02c07b76 Lucas De Marchi 2018-11-16  489  	if (INTEL_GEN(dev_priv) >= 12) {
02c07b76 Lucas De Marchi 2018-11-16  490  		/* Allow to load fw via parameter using the last known size */
02c07b76 Lucas De Marchi 2018-11-16  491  		csr->max_fw_size = GEN12_CSR_MAX_FW_SIZE;
4b225248 Anusha Srivatsa 2019-03-22  492  	} else if (IS_GEN(dev_priv, 11)) {
7fe78985 Jani Nikula     2018-09-27  493  		csr->fw_path = ICL_CSR_PATH;
180e9d23 Jani Nikula     2018-09-26  494  		csr->required_version = ICL_CSR_VERSION_REQUIRED;
d8a5b7d7 Jani Nikula     2018-09-26  495  		csr->max_fw_size = ICL_CSR_MAX_FW_SIZE;
180e9d23 Jani Nikula     2018-09-26  496  	} else if (IS_CANNONLAKE(dev_priv)) {
7fe78985 Jani Nikula     2018-09-27  497  		csr->fw_path = CNL_CSR_PATH;
180e9d23 Jani Nikula     2018-09-26  498  		csr->required_version = CNL_CSR_VERSION_REQUIRED;
7fe78985 Jani Nikula     2018-09-27  499  		csr->max_fw_size = CNL_CSR_MAX_FW_SIZE;
180e9d23 Jani Nikula     2018-09-26  500  	} else if (IS_GEMINILAKE(dev_priv)) {
7fe78985 Jani Nikula     2018-09-27  501  		csr->fw_path = GLK_CSR_PATH;
180e9d23 Jani Nikula     2018-09-26  502  		csr->required_version = GLK_CSR_VERSION_REQUIRED;
d8a5b7d7 Jani Nikula     2018-09-26  503  		csr->max_fw_size = GLK_CSR_MAX_FW_SIZE;
180e9d23 Jani Nikula     2018-09-26  504  	} else if (IS_KABYLAKE(dev_priv) || IS_COFFEELAKE(dev_priv)) {
7fe78985 Jani Nikula     2018-09-27  505  		csr->fw_path = KBL_CSR_PATH;
180e9d23 Jani Nikula     2018-09-26  506  		csr->required_version = KBL_CSR_VERSION_REQUIRED;
7fe78985 Jani Nikula     2018-09-27  507  		csr->max_fw_size = KBL_CSR_MAX_FW_SIZE;
180e9d23 Jani Nikula     2018-09-26  508  	} else if (IS_SKYLAKE(dev_priv)) {
7fe78985 Jani Nikula     2018-09-27  509  		csr->fw_path = SKL_CSR_PATH;
180e9d23 Jani Nikula     2018-09-26  510  		csr->required_version = SKL_CSR_VERSION_REQUIRED;
7fe78985 Jani Nikula     2018-09-27  511  		csr->max_fw_size = SKL_CSR_MAX_FW_SIZE;
180e9d23 Jani Nikula     2018-09-26  512  	} else if (IS_BROXTON(dev_priv)) {
7fe78985 Jani Nikula     2018-09-27  513  		csr->fw_path = BXT_CSR_PATH;
180e9d23 Jani Nikula     2018-09-26  514  		csr->required_version = BXT_CSR_VERSION_REQUIRED;
d8a5b7d7 Jani Nikula     2018-09-26  515  		csr->max_fw_size = BXT_CSR_MAX_FW_SIZE;
180e9d23 Jani Nikula     2018-09-26  516  	}
abd41dc9 Damien Lespiau  2015-06-04  517  
d8a5b7d7 Jani Nikula     2018-09-26  518  	if (i915_modparams.dmc_firmware_path) {
e7351a84 Jani Nikula     2018-09-26  519  		if (strlen(i915_modparams.dmc_firmware_path) == 0) {
e7351a84 Jani Nikula     2018-09-26  520  			csr->fw_path = NULL;
b598a88e Colin Ian King  2018-11-07  521  			DRM_INFO("Disabling CSR firmware and runtime PM\n");
e7351a84 Jani Nikula     2018-09-26  522  			return;
e7351a84 Jani Nikula     2018-09-26  523  		}
e7351a84 Jani Nikula     2018-09-26  524  
d8a5b7d7 Jani Nikula     2018-09-26  525  		csr->fw_path = i915_modparams.dmc_firmware_path;
d8a5b7d7 Jani Nikula     2018-09-26  526  		/* Bypass version check for firmware override. */
d8a5b7d7 Jani Nikula     2018-09-26  527  		csr->required_version = 0;
d8a5b7d7 Jani Nikula     2018-09-26  528  	}
dc174300 Suketu Shah     2015-04-17  529  
ad3c776b Imre Deak       2018-08-15  530  	if (csr->fw_path == NULL) {
ad3c776b Imre Deak       2018-08-15  531  		DRM_DEBUG_KMS("No known CSR firmware for platform, disabling runtime PM\n");
ad3c776b Imre Deak       2018-08-15 @532  		WARN_ON(!IS_ALPHA_SUPPORT(INTEL_INFO(dev_priv)));
ad3c776b Imre Deak       2018-08-15  533  
ad3c776b Imre Deak       2018-08-15  534  		return;
ad3c776b Imre Deak       2018-08-15  535  	}
ad3c776b Imre Deak       2018-08-15  536  
ad3c776b Imre Deak       2018-08-15  537  	DRM_DEBUG_KMS("Loading %s\n", csr->fw_path);
8144ac59 Daniel Vetter   2015-10-28  538  	schedule_work(&dev_priv->csr.work);
eb805623 Daniel Vetter   2015-05-04  539  }
eb805623 Daniel Vetter   2015-05-04  540  

:::::: The code at line 532 was first introduced by commit
:::::: ad3c776b171078a10ace07616a34ed6266beb0e7 drm/i915: Fix PM refcounting w/o DMC firmware

:::::: TO: Imre Deak <imre.deak@intel.com>
:::::: CC: Imre Deak <imre.deak@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 26624 bytes --]

[-- Attachment #3: Type: text/plain, Size: 159 bytes --]

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

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

* Re: [PATCH] drm/i915: add force_probe module parameter to replace alpha_support
  2019-05-06 13:48 [PATCH] drm/i915: add force_probe module parameter to replace alpha_support Jani Nikula
                   ` (4 preceding siblings ...)
  2019-05-06 21:46 ` [PATCH] " kbuild test robot
@ 2019-05-21 16:49 ` Rodrigo Vivi
  2019-05-31 13:47   ` Jani Nikula
  2019-05-31  9:40 ` Joonas Lahtinen
  6 siblings, 1 reply; 9+ messages in thread
From: Rodrigo Vivi @ 2019-05-21 16:49 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Mon, May 06, 2019 at 04:48:01PM +0300, Jani Nikula wrote:
> The i915.alpha_support module parameter has caused some confusion along
> the way. Add new i915.force_probe parameter to specify PCI IDs of
> devices to probe, when the devices are recognized but not automatically
> probed by the driver. The name is intended to reflect what the parameter
> effectively does, avoiding any overloaded semantics of "alpha" and
> "support".
> 
> The parameter supports "" to disable, "<pci-id>,[<pci-id>,...]" to
> enable force probe for one or more devices, and "*" to enable force
> probe for all known devices.
> 
> Also add new CONFIG_DRM_I915_FORCE_PROBE config option to replace the
> DRM_I915_ALPHA_SUPPORT option. This defaults to "*" if
> DRM_I915_ALPHA_SUPPORT=y.
> 
> Instead of replacing i915.alpha_support immediately, let the two coexist
> for a while, with a deprecation message, for a transition period.
> 
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>

First of all I'm sorry for the delay. I could swear that I had
reviewed it already.

> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  drivers/gpu/drm/i915/Kconfig             | 29 +++++++++-----
>  drivers/gpu/drm/i915/i915_drv.h          |  2 -
>  drivers/gpu/drm/i915/i915_params.c       |  7 +++-
>  drivers/gpu/drm/i915/i915_params.h       |  1 +
>  drivers/gpu/drm/i915/i915_pci.c          | 51 +++++++++++++++++++++---
>  drivers/gpu/drm/i915/intel_device_info.h |  2 +-
>  6 files changed, 72 insertions(+), 20 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> index f05563..e7b617 100644
> --- a/drivers/gpu/drm/i915/Kconfig
> +++ b/drivers/gpu/drm/i915/Kconfig
> @@ -45,19 +45,28 @@ config DRM_I915
>  config DRM_I915_ALPHA_SUPPORT
>  	bool "Enable alpha quality support for new Intel hardware by default"
>  	depends on DRM_I915
> -	default n
>  	help
> -	  Choose this option if you have new Intel hardware and want to enable
> -	  the alpha quality i915 driver support for the hardware in this kernel
> -	  version. You can also enable the support at runtime using the module
> -	  parameter i915.alpha_support=1; this option changes the default for
> -	  that module parameter.
> +	  This option is deprecated. Use DRM_I915_FORCE_PROBE option instead.
>  
> -	  It is recommended to upgrade to a kernel version with proper support
> -	  as soon as it is available. Generally fixes for platforms with alpha
> -	  support are not backported to older kernels.
> +config DRM_I915_FORCE_PROBE
> +	string "Force probe driver for selected new Intel hardware"
> +	depends on DRM_I915
> +	default "*" if DRM_I915_ALPHA_SUPPORT
> +	help
> +	  This is the default value for the i915.force_probe module
> +	  parameter. Using the module parameter overrides this option.
>  
> -	  If in doubt, say "N".
> +	  Force probe the driver for new Intel graphics devices that are
> +	  recognized but not properly supported by this kernel version. It is
> +	  recommended to upgrade to a kernel version with proper support as soon
> +	  as it is available.
> +
> +	  Use "" to disable force probe. If in doubt, use this.
> +
> +	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed

This is kind of confusing.... "[]" suggest optional, but based on the line above
"" is also allowed.

> +	  devices. For example, "4500" or "4500,4571".

But it is good that we have an example here so I won't worry much and it
is up to you on how to proceed.

> +
> +	  Use "*" to force probe the driver for all known devices.
>  
>  config DRM_I915_CAPTURE_ERROR
>  	bool "Enable capturing GPU state following a hang"
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 64fa35..04415d 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2435,8 +2435,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
>  #define IS_ICL_WITH_PORT_F(dev_priv) \
>  	IS_SUBPLATFORM(dev_priv, INTEL_ICELAKE, INTEL_SUBPLATFORM_PORTF)
>  
> -#define IS_ALPHA_SUPPORT(intel_info) ((intel_info)->is_alpha_support)

We need to remove the usage of this on i915_pci.c...

But I'm wondering how just kbuild bot got that and not CI?

With this fixed,

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

> -
>  #define SKL_REVID_A0		0x0
>  #define SKL_REVID_B0		0x1
>  #define SKL_REVID_C0		0x2
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index b5be0a..5b0776 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -87,9 +87,12 @@ i915_param_named_unsafe(enable_psr, int, 0600,
>  	"(0=disabled, 1=enabled) "
>  	"Default: -1 (use per-chip default)");
>  
> +i915_param_named_unsafe(force_probe, charp, 0400,
> +	"Force probe the driver for specified devices. "
> +	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
> +
>  i915_param_named_unsafe(alpha_support, bool, 0400,
> -	"Enable alpha quality driver support for latest hardware. "
> -	"See also CONFIG_DRM_I915_ALPHA_SUPPORT.");
> +	"Deprecated. See i915.force_probe.");
>  
>  i915_param_named_unsafe(disable_power_well, int, 0400,
>  	"Disable display power wells when possible "
> diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
> index 3f14e9..a2bacd0 100644
> --- a/drivers/gpu/drm/i915/i915_params.h
> +++ b/drivers/gpu/drm/i915/i915_params.h
> @@ -64,6 +64,7 @@ struct drm_printer;
>  	param(int, reset, 2) \
>  	param(unsigned int, inject_load_failure, 0) \
>  	param(int, fastboot, -1) \
> +	param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE) \
>  	/* leave bools at the end to not create holes */ \
>  	param(bool, alpha_support, IS_ENABLED(CONFIG_DRM_I915_ALPHA_SUPPORT)) \
>  	param(bool, enable_hangcheck, true) \
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index ffa2ee..892f2ac 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -761,7 +761,7 @@ static const struct intel_device_info intel_icelake_11_info = {
>  static const struct intel_device_info intel_elkhartlake_info = {
>  	GEN11_FEATURES,
>  	PLATFORM(INTEL_ELKHARTLAKE),
> -	.is_alpha_support = 1,
> +	.require_force_probe = 1,
>  	.engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0),
>  	.ppgtt_size = 36,
>  };
> @@ -855,16 +855,57 @@ static void i915_pci_remove(struct pci_dev *pdev)
>  	pci_set_drvdata(pdev, NULL);
>  }
>  
> +/* is device_id present in comma separated list of ids */
> +static bool force_probe(u16 device_id, const char *devices)
> +{
> +	char *s, *p, *tok;
> +	bool ret;
> +
> +	/* FIXME: transitional */
> +	if (i915_modparams.alpha_support) {
> +		DRM_INFO("i915.alpha_support is deprecated, use i915.force_probe=%04x instead\n",
> +			 device_id);
> +		return true;
> +	}
> +
> +	if (!devices || !*devices)
> +		return false;
> +
> +	/* match everything */
> +	if (strcmp(devices, "*") == 0)
> +		return true;
> +
> +	s = kstrdup(devices, GFP_KERNEL);
> +	if (!s)
> +		return false;
> +
> +	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
> +		u16 val;
> +
> +		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
> +			ret = true;
> +			break;
> +		}
> +	}
> +
> +	kfree(s);
> +
> +	return ret;
> +}
> +
>  static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  {
>  	struct intel_device_info *intel_info =
>  		(struct intel_device_info *) ent->driver_data;
>  	int err;
>  
> -	if (IS_ALPHA_SUPPORT(intel_info) && !i915_modparams.alpha_support) {
> -		DRM_INFO("The driver support for your hardware in this kernel version is alpha quality\n"
> -			 "See CONFIG_DRM_I915_ALPHA_SUPPORT or i915.alpha_support module parameter\n"
> -			 "to enable support in this kernel version, or check for kernel updates.\n");
> +	if (intel_info->require_force_probe &&
> +	    !force_probe(pdev->device, i915_modparams.force_probe)) {
> +		DRM_INFO("Your graphics device %04x is not properly supported by the driver in this\n"
> +			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
> +			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
> +			 "or (recommended) check for kernel updates.\n",
> +			 pdev->device, pdev->device, pdev->device);
>  		return -ENODEV;
>  	}
>  
> diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
> index 5a2e17..0187d6 100644
> --- a/drivers/gpu/drm/i915/intel_device_info.h
> +++ b/drivers/gpu/drm/i915/intel_device_info.h
> @@ -105,7 +105,7 @@ enum intel_ppgtt_type {
>  #define DEV_INFO_FOR_EACH_FLAG(func) \
>  	func(is_mobile); \
>  	func(is_lp); \
> -	func(is_alpha_support); \
> +	func(require_force_probe); \
>  	/* Keep has_* in alphabetical order */ \
>  	func(has_64bit_reloc); \
>  	func(gpu_reset_clobbers_display); \
> -- 
> 2.20.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: [PATCH] drm/i915: add force_probe module parameter to replace alpha_support
  2019-05-06 13:48 [PATCH] drm/i915: add force_probe module parameter to replace alpha_support Jani Nikula
                   ` (5 preceding siblings ...)
  2019-05-21 16:49 ` Rodrigo Vivi
@ 2019-05-31  9:40 ` Joonas Lahtinen
  6 siblings, 0 replies; 9+ messages in thread
From: Joonas Lahtinen @ 2019-05-31  9:40 UTC (permalink / raw)
  To: intel-gfx; +Cc: jani.nikula

Quoting Jani Nikula (2019-05-06 16:48:01)
> The i915.alpha_support module parameter has caused some confusion along
> the way. Add new i915.force_probe parameter to specify PCI IDs of
> devices to probe, when the devices are recognized but not automatically
> probed by the driver. The name is intended to reflect what the parameter
> effectively does, avoiding any overloaded semantics of "alpha" and
> "support".
> 
> The parameter supports "" to disable, "<pci-id>,[<pci-id>,...]" to
> enable force probe for one or more devices, and "*" to enable force
> probe for all known devices.
> 
> Also add new CONFIG_DRM_I915_FORCE_PROBE config option to replace the
> DRM_I915_ALPHA_SUPPORT option. This defaults to "*" if
> DRM_I915_ALPHA_SUPPORT=y.
> 
> Instead of replacing i915.alpha_support immediately, let the two coexist
> for a while, with a deprecation message, for a transition period.
> 
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Definitely in favor of this:

Acked-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>

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

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

* Re: [PATCH] drm/i915: add force_probe module parameter to replace alpha_support
  2019-05-21 16:49 ` Rodrigo Vivi
@ 2019-05-31 13:47   ` Jani Nikula
  0 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2019-05-31 13:47 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

On Tue, 21 May 2019, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> On Mon, May 06, 2019 at 04:48:01PM +0300, Jani Nikula wrote:
>> The i915.alpha_support module parameter has caused some confusion along
>> the way. Add new i915.force_probe parameter to specify PCI IDs of
>> devices to probe, when the devices are recognized but not automatically
>> probed by the driver. The name is intended to reflect what the parameter
>> effectively does, avoiding any overloaded semantics of "alpha" and
>> "support".
>> 
>> The parameter supports "" to disable, "<pci-id>,[<pci-id>,...]" to
>> enable force probe for one or more devices, and "*" to enable force
>> probe for all known devices.
>> 
>> Also add new CONFIG_DRM_I915_FORCE_PROBE config option to replace the
>> DRM_I915_ALPHA_SUPPORT option. This defaults to "*" if
>> DRM_I915_ALPHA_SUPPORT=y.
>> 
>> Instead of replacing i915.alpha_support immediately, let the two coexist
>> for a while, with a deprecation message, for a transition period.
>> 
>> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>
> First of all I'm sorry for the delay. I could swear that I had
> reviewed it already.
>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  drivers/gpu/drm/i915/Kconfig             | 29 +++++++++-----
>>  drivers/gpu/drm/i915/i915_drv.h          |  2 -
>>  drivers/gpu/drm/i915/i915_params.c       |  7 +++-
>>  drivers/gpu/drm/i915/i915_params.h       |  1 +
>>  drivers/gpu/drm/i915/i915_pci.c          | 51 +++++++++++++++++++++---
>>  drivers/gpu/drm/i915/intel_device_info.h |  2 +-
>>  6 files changed, 72 insertions(+), 20 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
>> index f05563..e7b617 100644
>> --- a/drivers/gpu/drm/i915/Kconfig
>> +++ b/drivers/gpu/drm/i915/Kconfig
>> @@ -45,19 +45,28 @@ config DRM_I915
>>  config DRM_I915_ALPHA_SUPPORT
>>  	bool "Enable alpha quality support for new Intel hardware by default"
>>  	depends on DRM_I915
>> -	default n
>>  	help
>> -	  Choose this option if you have new Intel hardware and want to enable
>> -	  the alpha quality i915 driver support for the hardware in this kernel
>> -	  version. You can also enable the support at runtime using the module
>> -	  parameter i915.alpha_support=1; this option changes the default for
>> -	  that module parameter.
>> +	  This option is deprecated. Use DRM_I915_FORCE_PROBE option instead.
>>  
>> -	  It is recommended to upgrade to a kernel version with proper support
>> -	  as soon as it is available. Generally fixes for platforms with alpha
>> -	  support are not backported to older kernels.
>> +config DRM_I915_FORCE_PROBE
>> +	string "Force probe driver for selected new Intel hardware"
>> +	depends on DRM_I915
>> +	default "*" if DRM_I915_ALPHA_SUPPORT
>> +	help
>> +	  This is the default value for the i915.force_probe module
>> +	  parameter. Using the module parameter overrides this option.
>>  
>> -	  If in doubt, say "N".
>> +	  Force probe the driver for new Intel graphics devices that are
>> +	  recognized but not properly supported by this kernel version. It is
>> +	  recommended to upgrade to a kernel version with proper support as soon
>> +	  as it is available.
>> +
>> +	  Use "" to disable force probe. If in doubt, use this.
>> +
>> +	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
>
> This is kind of confusing.... "[]" suggest optional, but based on the line above
> "" is also allowed.
>
>> +	  devices. For example, "4500" or "4500,4571".
>
> But it is good that we have an example here so I won't worry much and it
> is up to you on how to proceed.
>
>> +
>> +	  Use "*" to force probe the driver for all known devices.
>>  
>>  config DRM_I915_CAPTURE_ERROR
>>  	bool "Enable capturing GPU state following a hang"
>> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
>> index 64fa35..04415d 100644
>> --- a/drivers/gpu/drm/i915/i915_drv.h
>> +++ b/drivers/gpu/drm/i915/i915_drv.h
>> @@ -2435,8 +2435,6 @@ IS_SUBPLATFORM(const struct drm_i915_private *i915,
>>  #define IS_ICL_WITH_PORT_F(dev_priv) \
>>  	IS_SUBPLATFORM(dev_priv, INTEL_ICELAKE, INTEL_SUBPLATFORM_PORTF)
>>  
>> -#define IS_ALPHA_SUPPORT(intel_info) ((intel_info)->is_alpha_support)
>
> We need to remove the usage of this on i915_pci.c...
>
> But I'm wondering how just kbuild bot got that and not CI?

Because I've already removed it in dinq with 117aca43f717
("drm/i915/csr: alpha_support doesn't depend on csr or vice versa").

>
> With this fixed,
>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

Thanks, pushed to dinq.

BR,
Jani.

>
>> -
>>  #define SKL_REVID_A0		0x0
>>  #define SKL_REVID_B0		0x1
>>  #define SKL_REVID_C0		0x2
>> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
>> index b5be0a..5b0776 100644
>> --- a/drivers/gpu/drm/i915/i915_params.c
>> +++ b/drivers/gpu/drm/i915/i915_params.c
>> @@ -87,9 +87,12 @@ i915_param_named_unsafe(enable_psr, int, 0600,
>>  	"(0=disabled, 1=enabled) "
>>  	"Default: -1 (use per-chip default)");
>>  
>> +i915_param_named_unsafe(force_probe, charp, 0400,
>> +	"Force probe the driver for specified devices. "
>> +	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
>> +
>>  i915_param_named_unsafe(alpha_support, bool, 0400,
>> -	"Enable alpha quality driver support for latest hardware. "
>> -	"See also CONFIG_DRM_I915_ALPHA_SUPPORT.");
>> +	"Deprecated. See i915.force_probe.");
>>  
>>  i915_param_named_unsafe(disable_power_well, int, 0400,
>>  	"Disable display power wells when possible "
>> diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
>> index 3f14e9..a2bacd0 100644
>> --- a/drivers/gpu/drm/i915/i915_params.h
>> +++ b/drivers/gpu/drm/i915/i915_params.h
>> @@ -64,6 +64,7 @@ struct drm_printer;
>>  	param(int, reset, 2) \
>>  	param(unsigned int, inject_load_failure, 0) \
>>  	param(int, fastboot, -1) \
>> +	param(char *, force_probe, CONFIG_DRM_I915_FORCE_PROBE) \
>>  	/* leave bools at the end to not create holes */ \
>>  	param(bool, alpha_support, IS_ENABLED(CONFIG_DRM_I915_ALPHA_SUPPORT)) \
>>  	param(bool, enable_hangcheck, true) \
>> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
>> index ffa2ee..892f2ac 100644
>> --- a/drivers/gpu/drm/i915/i915_pci.c
>> +++ b/drivers/gpu/drm/i915/i915_pci.c
>> @@ -761,7 +761,7 @@ static const struct intel_device_info intel_icelake_11_info = {
>>  static const struct intel_device_info intel_elkhartlake_info = {
>>  	GEN11_FEATURES,
>>  	PLATFORM(INTEL_ELKHARTLAKE),
>> -	.is_alpha_support = 1,
>> +	.require_force_probe = 1,
>>  	.engine_mask = BIT(RCS0) | BIT(BCS0) | BIT(VCS0),
>>  	.ppgtt_size = 36,
>>  };
>> @@ -855,16 +855,57 @@ static void i915_pci_remove(struct pci_dev *pdev)
>>  	pci_set_drvdata(pdev, NULL);
>>  }
>>  
>> +/* is device_id present in comma separated list of ids */
>> +static bool force_probe(u16 device_id, const char *devices)
>> +{
>> +	char *s, *p, *tok;
>> +	bool ret;
>> +
>> +	/* FIXME: transitional */
>> +	if (i915_modparams.alpha_support) {
>> +		DRM_INFO("i915.alpha_support is deprecated, use i915.force_probe=%04x instead\n",
>> +			 device_id);
>> +		return true;
>> +	}
>> +
>> +	if (!devices || !*devices)
>> +		return false;
>> +
>> +	/* match everything */
>> +	if (strcmp(devices, "*") == 0)
>> +		return true;
>> +
>> +	s = kstrdup(devices, GFP_KERNEL);
>> +	if (!s)
>> +		return false;
>> +
>> +	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
>> +		u16 val;
>> +
>> +		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
>> +			ret = true;
>> +			break;
>> +		}
>> +	}
>> +
>> +	kfree(s);
>> +
>> +	return ret;
>> +}
>> +
>>  static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>>  {
>>  	struct intel_device_info *intel_info =
>>  		(struct intel_device_info *) ent->driver_data;
>>  	int err;
>>  
>> -	if (IS_ALPHA_SUPPORT(intel_info) && !i915_modparams.alpha_support) {
>> -		DRM_INFO("The driver support for your hardware in this kernel version is alpha quality\n"
>> -			 "See CONFIG_DRM_I915_ALPHA_SUPPORT or i915.alpha_support module parameter\n"
>> -			 "to enable support in this kernel version, or check for kernel updates.\n");
>> +	if (intel_info->require_force_probe &&
>> +	    !force_probe(pdev->device, i915_modparams.force_probe)) {
>> +		DRM_INFO("Your graphics device %04x is not properly supported by the driver in this\n"
>> +			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
>> +			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
>> +			 "or (recommended) check for kernel updates.\n",
>> +			 pdev->device, pdev->device, pdev->device);
>>  		return -ENODEV;
>>  	}
>>  
>> diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
>> index 5a2e17..0187d6 100644
>> --- a/drivers/gpu/drm/i915/intel_device_info.h
>> +++ b/drivers/gpu/drm/i915/intel_device_info.h
>> @@ -105,7 +105,7 @@ enum intel_ppgtt_type {
>>  #define DEV_INFO_FOR_EACH_FLAG(func) \
>>  	func(is_mobile); \
>>  	func(is_lp); \
>> -	func(is_alpha_support); \
>> +	func(require_force_probe); \
>>  	/* Keep has_* in alphabetical order */ \
>>  	func(has_64bit_reloc); \
>>  	func(gpu_reset_clobbers_display); \
>> -- 
>> 2.20.1
>> 
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
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] 9+ messages in thread

end of thread, other threads:[~2019-05-31 13:44 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-06 13:48 [PATCH] drm/i915: add force_probe module parameter to replace alpha_support Jani Nikula
2019-05-06 14:08 ` ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2019-05-06 14:09 ` ✗ Fi.CI.SPARSE: " Patchwork
2019-05-06 14:32 ` ✓ Fi.CI.BAT: success " Patchwork
2019-05-06 16:35 ` ✓ Fi.CI.IGT: " Patchwork
2019-05-06 21:46 ` [PATCH] " kbuild test robot
2019-05-21 16:49 ` Rodrigo Vivi
2019-05-31 13:47   ` Jani Nikula
2019-05-31  9:40 ` Joonas Lahtinen

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.