* [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.