[Intel-gfx] ✗ Fi.CI.IGT: warning for series starting with [v2,1/2] drm/i915: Runtime disable for eDP DRRS (rev3)
== Series Details == Series: series starting with [v2,1/2] drm/i915: Runtime disable for eDP DRRS (rev3) URL : https://patchwork.freedesktop.org/series/32887/ State : warning == Summary == Test kms_setmode: Subgroup basic: fail -> PASS (shard-hsw) fdo#99912 Test drv_module_reload: Subgroup basic-reload: dmesg-warn -> PASS (shard-hsw) fdo#102707 Test kms_cursor_crc: Subgroup cursor-128x42-offscreen: pass -> SKIP (shard-hsw) Test drm_read: Subgroup invalid-buffer: pass -> SKIP (shard-hsw) fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707 shard-hswtotal:2540 pass:1431 dwarn:1 dfail:0 fail:9 skip:1099 time:9230s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6998/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v16 5/6] vfio: ABI for mdev display dma-buf operation
Hi, > Should we then specify the error code for "head doesn't exist" vs > "head > doesn't support dmabuf", with the former taking precedence? Perhaps > -ENODEV vs -EINVAL. NODEV for "head doesn't exist" and INVAL for "head doesn't support dmabuf/region/..." ? > Are the heads guaranteed to be contiguous (the > first -ENODEV is the end of possible heads)? Yes, I think the valid heads should be contignous. The guest might still only use a non-contignous subset of the available heads though. cheers, Gerd ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] tests/kms_plane_scaling: Enhanced plane scaler test case.
Regards, Nabendu > -Original Message- > From: Intel-gfx [mailto:intel-gfx-boun...@lists.freedesktop.org] On Behalf Of > Yadav Jyoti > Sent: Tuesday, November 7, 2017 9:19 AM > To: intel-gfx@lists.freedesktop.org > Cc: daniel.vet...@ffwll.ch; Srinivas, Vidya > Subject: [Intel-gfx] [PATCH] tests/kms_plane_scaling: Enhanced plane scaler > test > case. > > From: Jyoti Yadav > > Added few subtests to cover below gaps. > 1. scaler with pixelformat and tiling. > 2. scaler with rotation > 3. scaler with multiple planes > 4. scaler with multi pipe > 5. scaler with clipping/clamping scenario > > Signed-off-by: Jyoti Yadav > --- > tests/kms_plane_scaling.c | 480 > +- > 1 file changed, 476 insertions(+), 4 deletions(-) > > diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c index > 5ed69f3..c1bb7b1 100644 > --- a/tests/kms_plane_scaling.c > +++ b/tests/kms_plane_scaling.c > @@ -43,10 +43,11 @@ typedef struct { > struct igt_fb fb1; > struct igt_fb fb2; > struct igt_fb fb3; > + struct igt_fb fb4; > int fb_id1; > int fb_id2; > int fb_id3; > - > + int fb_id4; > igt_plane_t *plane1; > igt_plane_t *plane2; > igt_plane_t *plane3; > @@ -54,6 +55,51 @@ typedef struct { > } data_t; > > #define FILE_NAME "1080p-left.png" > +#define MIN_SRC_WIDTH 8 > +#define MAX_SRC_WIDTH 4096 > +static uint32_t check_pixel_format(uint32_t pixel_format) { > + const uint32_t *igt_formats; > + int num_igt_formats; > + int i; > + > + > + igt_get_all_cairo_formats(&igt_formats, &num_igt_formats); > + for (i = 0; i < num_igt_formats; i++) { > + if (pixel_format == igt_formats[i]) > + return 0; > + } > + > + return -1; > +} > +bool is_igt_output_connected(igt_output_t *output) { > + /* Something went wrong during probe? */ > + if (!output->config.connector) > + return false; > + > + if (output->config.connector->connection == > DRM_MODE_CONNECTED) > + return true; > + > + return false; > +} > + > +static igt_output_t *get_next_valid_output(igt_display_t *data, int i) > +{ > + int j = 0, valid_output = 0; > + drmModeModeInfo *mode; > + for (j = 0; j < data->n_outputs; j++) { > + if (is_igt_output_connected(&data->outputs[j])) { > + mode = igt_output_get_mode(&data->outputs[j]); > + if (mode->hdisplay != 0 && mode->vdisplay != 0) { > + valid_output++; > + if (valid_output == i) > + return &data->outputs[j]; > + } > + } > + } > + return NULL; > +} > > static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe, > igt_plane_t *plane, drmModeModeInfo *mode, enum > igt_commit_style s) @@ -298,7 +344,418 @@ static void > test_plane_scaling(data_t *d) > igt_require_f(valid_tests, "no valid crtc/connector combinations > found\n"); } > > -igt_simple_main > +uint64_t get_tiling(int i) > +{ > + switch (i) { > + case 0: > + return LOCAL_DRM_FORMAT_MOD_NONE; > + break; > + case 1: > + return LOCAL_I915_FORMAT_MOD_X_TILED; > + break; > + case 2: > + return LOCAL_I915_FORMAT_MOD_Y_TILED; > + break; > + case 3: > + return LOCAL_I915_FORMAT_MOD_Yf_TILED; > + break; > + default: > + return -1; > + } > +} > + > +void loop_plane_scaling(data_t *d, igt_plane_t *plane, uint32_t pixel_format, > + uint64_t tiling, enum pipe pipe, igt_output_t *output) { > + igt_display_t *display = &d->display; > + int width, height; > + /* create buffer in the range of min and max source side limit.*/ > + for (width = MIN_SRC_WIDTH; width <= MAX_SRC_WIDTH; width = > width + 500) { > + igt_output_set_pipe(output, pipe); > + height = width + 10; > + d->fb_id1 = igt_create_pattern_fb(display->drm_fd, width, > height, > + pixel_format, tiling, &d->fb1); > + igt_assert(d->fb_id1); > + igt_plane_set_fb(plane, &d->fb1); > + /* check upscaling */ > + igt_fb_set_position(&d->fb1, plane, 0, 0); > + igt_fb_set_size(&d->fb1, plane, d->fb1.width, d->fb1.height); > + igt_plane_set_position(plane, 10, 10); > + igt_plane_set_size(plane, width*2, height*2); > + igt_display_commit2(display, COMMIT_ATOMIC); > + igt_plane_set_fb(plane, NULL); > + igt_plane_set_position(plane, 0, 0); > + if (d->fb_id1) { > + igt_remove_fb(d->drm_fd, &d->fb1); > + d->fb_id1 = 0; > + } Inste
[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/crt: Silence compiler warning for uninitialised status
== Series Details == Series: drm/i915/crt: Silence compiler warning for uninitialised status URL : https://patchwork.freedesktop.org/series/33365/ State : failure == Summary == Series 33365v1 drm/i915/crt: Silence compiler warning for uninitialised status https://patchwork.freedesktop.org/api/1.0/series/33365/revisions/1/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 Test gem_sync: Subgroup basic-all: pass -> FAIL (fi-glk-dsi) Test kms_flip: Subgroup basic-plain-flip: incomplete -> PASS (fi-cnl-y) fdo#103339 fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fdo#103339 https://bugs.freedesktop.org/show_bug.cgi?id=103339 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:441s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:457s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:543s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:277s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:511s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:503s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:495s fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:564s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:429s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:259s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:540s fi-glk-dsi total:289 pass:257 dwarn:0 dfail:0 fail:2 skip:30 time:504s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:435s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:432s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:421s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:476s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:462s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:480s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:524s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:477s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:535s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:569s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:451s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:547s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:561s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:513s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:496s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:454s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:563s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:417s fi-byt-n2820 failed to connect after reboot 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest e7545f84e7ac drm/i915/crt: Silence compiler warning for uninitialised status == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6999/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Ignore frequent clang warnings
== Series Details == Series: drm/i915: Ignore frequent clang warnings URL : https://patchwork.freedesktop.org/series/33366/ State : failure == Summary == Series 33366v1 drm/i915: Ignore frequent clang warnings https://patchwork.freedesktop.org/api/1.0/series/33366/revisions/1/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 Test gem_wait: Subgroup basic-busy-all: pass -> FAIL (fi-glk-dsi) Test kms_busy: Subgroup basic-flip-c: pass -> INCOMPLETE (fi-bxt-j4205) fdo#102035 Test kms_flip: Subgroup basic-plain-flip: incomplete -> PASS (fi-cnl-y) fdo#103339 Test drv_module_reload: Subgroup basic-reload: pass -> DMESG-WARN (fi-bsw-n3050) fdo#103479 fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fdo#102035 https://bugs.freedesktop.org/show_bug.cgi?id=102035 fdo#103339 https://bugs.freedesktop.org/show_bug.cgi?id=103339 fdo#103479 https://bugs.freedesktop.org/show_bug.cgi?id=103479 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:446s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:458s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:242 dwarn:1 dfail:0 fail:0 skip:46 time:547s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:274s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:506s fi-bxt-j4205 total:208 pass:186 dwarn:0 dfail:0 fail:0 skip:21 fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:491s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:487s fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:556s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:432s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:263s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:540s fi-glk-dsi total:289 pass:257 dwarn:0 dfail:0 fail:2 skip:30 time:509s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:434s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:433s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:424s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:488s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:460s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:482s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:524s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:477s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:537s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:571s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:449s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:541s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:566s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:527s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:495s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:463s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:554s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:417s 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest 97d5875c2810 drm/i915: Ignore frequent clang warnings == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7000/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] ✗ Fi.CI.IGT: failure for series starting with [CI,1/9] drm/i915/preempt: Fix WaEnablePreemptionGranularityControlByUMD
On Wed, Oct 04, 2017 at 07:41:15PM -, Patchwork wrote: > == Series Details == > > Series: series starting with [CI,1/9] drm/i915/preempt: Fix > WaEnablePreemptionGranularityControlByUMD > URL : https://patchwork.freedesktop.org/series/31394/ > State : failure > > == Summary == > > Test gem_ctx_param: > Subgroup invalid-param-get: > pass -> FAIL (shard-hsw) > Subgroup invalid-param-set: > pass -> FAIL (shard-hsw) So I know you think this test is useless, but in that case: - please remove it - add the testcases for invalid priority parameters (or I was not able to find them). Thanks, Daniel > Test gem_flink_race: > Subgroup flink_close: > fail -> PASS (shard-hsw) fdo#102655 > Test kms_setmode: > Subgroup basic: > fail -> PASS (shard-hsw) fdo#99912 > > fdo#102655 https://bugs.freedesktop.org/show_bug.cgi?id=102655 > fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 > > shard-hswtotal:2430 pass:1331 dwarn:7 dfail:0 fail:8 skip:1084 > time:10207s > > == Logs == > > For more details see: > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5900/shards.html > ___ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [RFC 2/7] drm: Add Plane CTM property
>-Original Message- >From: dri-devel [mailto:dri-devel-boun...@lists.freedesktop.org] On Behalf Of >Brian Starkey >Sent: Tuesday, November 7, 2017 11:10 PM >To: Shankar, Uma >Cc: intel-gfx@lists.freedesktop.org; Syrjala, Ville ; >Lankhorst, Maarten ; dri- >de...@lists.freedesktop.org >Subject: Re: [RFC 2/7] drm: Add Plane CTM property > >Hi Uma, > >On Tue, Nov 07, 2017 at 05:36:26PM +0530, Uma Shankar wrote: >>Add a blob property for plane CSC usage. >> >>v2: Rebase >> >>Signed-off-by: Uma Shankar >>--- >> drivers/gpu/drm/drm_atomic.c| 10 ++ >> drivers/gpu/drm/drm_atomic_helper.c |3 +++ >> drivers/gpu/drm/drm_mode_config.c |7 +++ >> include/drm/drm_mode_config.h |6 ++ >> include/drm/drm_plane.h |8 >> 5 files changed, 34 insertions(+) >> >>diff --git a/drivers/gpu/drm/drm_atomic.c >>b/drivers/gpu/drm/drm_atomic.c index 30853c7..45aede5 100644 >>--- a/drivers/gpu/drm/drm_atomic.c >>+++ b/drivers/gpu/drm/drm_atomic.c >>@@ -766,6 +766,14 @@ static int drm_atomic_plane_set_property(struct >drm_plane *plane, >> val, -1, &replaced); >> state->color_mgmt_changed |= replaced; >> return ret; >>+ } else if (property == config->plane_ctm_property) { >>+ ret = drm_atomic_replace_property_blob_from_id(dev, >>+ &state->ctm, >>+ val, >>+ sizeof(struct drm_color_ctm), >>+ &replaced); >>+ state->color_mgmt_changed |= replaced; >>+ return ret; >> } else { >> return -EINVAL; >> } >>@@ -827,6 +835,8 @@ static int drm_atomic_plane_set_property(struct >drm_plane *plane, >> } else if (property == config->plane_degamma_lut_property) { >> *val = (state->degamma_lut) ? >> state->degamma_lut->base.id : 0; >>+ } else if (property == config->plane_ctm_property) { >>+ *val = (state->ctm) ? state->ctm->base.id : 0; >> } else { >> return -EINVAL; >> } >>diff --git a/drivers/gpu/drm/drm_atomic_helper.c >>b/drivers/gpu/drm/drm_atomic_helper.c >>index ba924cf..d3154e0 100644 >>--- a/drivers/gpu/drm/drm_atomic_helper.c >>+++ b/drivers/gpu/drm/drm_atomic_helper.c >>@@ -3398,6 +3398,8 @@ void >>__drm_atomic_helper_plane_duplicate_state(struct drm_plane *plane, >> >> if (state->degamma_lut) >> drm_property_blob_get(state->degamma_lut); >>+ if (state->ctm) >>+ drm_property_blob_get(state->ctm); >> state->color_mgmt_changed = false; >> } >> EXPORT_SYMBOL(__drm_atomic_helper_plane_duplicate_state); >>@@ -3445,6 +3447,7 @@ void >__drm_atomic_helper_plane_destroy_state(struct drm_plane_state *state) >> drm_crtc_commit_put(state->commit); >> >> drm_property_blob_put(state->degamma_lut); >>+ drm_property_blob_put(state->ctm); >> } >> EXPORT_SYMBOL(__drm_atomic_helper_plane_destroy_state); >> >>diff --git a/drivers/gpu/drm/drm_mode_config.c >>b/drivers/gpu/drm/drm_mode_config.c >>index 118f6ac..bccc70e 100644 >>--- a/drivers/gpu/drm/drm_mode_config.c >>+++ b/drivers/gpu/drm/drm_mode_config.c >>@@ -362,6 +362,13 @@ static int >drm_mode_create_standard_properties(struct drm_device *dev) >> return -ENOMEM; >> dev->mode_config.plane_degamma_lut_size_property = prop; >> >>+ prop = drm_property_create(dev, >>+ DRM_MODE_PROP_BLOB, >>+ "PLANE_CTM", 0); > >I do wonder if "PLANE_" is really needed here, as the property will only ever >be >found on a plane (same would apply to all three property names). This is just to explicitly separate out the names from the crtc (pipe) properties. (Similar properties exist for pipe already). It will create confusion, hence explicitly called them out appending with a "PLANE" prefix. > >>+ if (!prop) >>+ return -ENOMEM; >>+ dev->mode_config.plane_ctm_property = prop; >>+ >> return 0; >> } >> >>diff --git a/include/drm/drm_mode_config.h >>b/include/drm/drm_mode_config.h index 6ee2df6..3bf7fc6 100644 >>--- a/include/drm/drm_mode_config.h >>+++ b/include/drm/drm_mode_config.h >>@@ -727,6 +727,12 @@ struct drm_mode_config { >> * size of the degamma LUT as supported by the driver (read-only). >> */ >> struct drm_property *plane_degamma_lut_size_property; >>+ /** >>+ * @plane_ctm_property: Optional CRTC property to set the >>+ * matrix used to convert colors after the lookup in the >>+ * degamma LUT. >>+ */ > >Copy-paste error - should be "Optional plane property" Yeah indeed, thanks for spotting it. Will fix in next set. Regards, Uma Shankar > >Thanks, >-Brian > >>+ struct drm_property *plane_ctm_property; >> >> /** >> * @suggested_x_property: Optional connector property with a hint for >>diff --git a
[Intel-gfx] ✗ Fi.CI.BAT: failure for ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock
== Series Details == Series: ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock URL : https://patchwork.freedesktop.org/series/33372/ State : failure == Summary == Series 33372v1 ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock https://patchwork.freedesktop.org/api/1.0/series/33372/revisions/1/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 Test gem_sync: Subgroup basic-store-each: pass -> FAIL (fi-glk-dsi) Test kms_addfb_basic: Subgroup bad-pitch-63: pass -> INCOMPLETE (fi-glk-dsi) Test kms_flip: Subgroup basic-plain-flip: incomplete -> PASS (fi-cnl-y) fdo#103339 fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fdo#103339 https://bugs.freedesktop.org/show_bug.cgi?id=103339 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:442s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:379s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:539s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:278s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:508s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:511s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:491s fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:557s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:433s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:262s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:541s fi-glk-dsi total:182 pass:158 dwarn:0 dfail:0 fail:1 skip:22 fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:433s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:428s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:425s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:476s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:461s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:485s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:520s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:479s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:531s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:570s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:456s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:543s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:565s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:518s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:499s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:455s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:554s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:421s fi-bdw-gvtdvm failed to connect after reboot fi-byt-n2820 failed to connect after reboot 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest 9c87551c19e0 ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7001/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t] tests: remove gem_ctx_param
I'm fed up trying to tilt windmills, if the gem team thinks they don't need these tests we better remove them. We could also remove the invalid-flag subtests which are the failing ones, but since it ends up being me always typing the missing testcases that this one catches (there's no tests afaict that check that context priority rejects bad input) I don't see the point. Cc: Chris Wilson Cc: Tvrtko Ursulin Cc: Joonas Lahtinen Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103107 Signed-off-by: Daniel Vetter --- tests/Makefile.sources| 1 - tests/gem_ctx_param.c | 157 -- tests/intel-ci/fast-feedback.testlist | 2 - tests/meson.build | 1 - 4 files changed, 161 deletions(-) delete mode 100644 tests/gem_ctx_param.c diff --git a/tests/Makefile.sources b/tests/Makefile.sources index 24728f13d131..56392a767361 100644 --- a/tests/Makefile.sources +++ b/tests/Makefile.sources @@ -56,7 +56,6 @@ TESTS_progs = \ gem_ctx_basic \ gem_ctx_create \ gem_ctx_exec \ - gem_ctx_param \ gem_ctx_switch \ gem_ctx_thrash \ gem_double_irq_loop \ diff --git a/tests/gem_ctx_param.c b/tests/gem_ctx_param.c deleted file mode 100644 index efdaf191a1ed.. --- a/tests/gem_ctx_param.c +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright © 2015 Intel Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS - * IN THE SOFTWARE. - * - * Authors: - *Daniel Vetter - */ - -#include "igt.h" - -IGT_TEST_DESCRIPTION("Basic test for context set/get param input validation."); - -igt_main -{ - struct local_i915_gem_context_param arg; - int fd; - uint32_t ctx; - - memset(&arg, 0, sizeof(arg)); - - igt_fixture { - fd = drm_open_driver_render(DRIVER_INTEL); - ctx = gem_context_create(fd); - } - - arg.param = LOCAL_CONTEXT_PARAM_BAN_PERIOD; - - /* XXX start to enforce ban period returning -EINVAL when -* transition has been done */ - if (__gem_context_get_param(fd, &arg) == -EINVAL) - arg.param = LOCAL_CONTEXT_PARAM_BANNABLE; - - igt_subtest("basic") { - arg.context = ctx; - gem_context_get_param(fd, &arg); - gem_context_set_param(fd, &arg); - } - - igt_subtest("basic-default") { - arg.context = 0; - gem_context_get_param(fd, &arg); - gem_context_set_param(fd, &arg); - } - - igt_subtest("invalid-ctx-get") { - arg.context = 2; - igt_assert_eq(__gem_context_get_param(fd, &arg), -ENOENT); - } - - igt_subtest("invalid-ctx-set") { - arg.context = ctx; - gem_context_get_param(fd, &arg); - arg.context = 2; - igt_assert_eq(__gem_context_set_param(fd, &arg), -ENOENT); - } - - igt_subtest("invalid-size-get") { - arg.context = ctx; - arg.size = 8; - gem_context_get_param(fd, &arg); - igt_assert(arg.size == 0); - } - - igt_subtest("invalid-size-set") { - arg.context = ctx; - gem_context_get_param(fd, &arg); - arg.size = 8; - igt_assert_eq(__gem_context_set_param(fd, &arg), -EINVAL); - arg.size = 0; - } - - igt_subtest("non-root-set") { - igt_fork(child, 1) { - igt_drop_root(); - - arg.context = ctx; - gem_context_get_param(fd, &arg); - arg.value--; - igt_assert_eq(__gem_context_set_param(fd, &arg), -EPERM); - } - - igt_waitchildren(); - } - - igt_subtest("root-set") { - arg.context = ctx; - gem_c
Re: [Intel-gfx] [PATCH v2] drm/i915: Read ilk FDI PLL frequency once during initialisation
Quoting Maarten Lankhorst (2017-11-08 07:47:32) > Op 07-11-17 om 22:47 schreef Chris Wilson: > > During intel_atomic_check(), we do not take the intel_runtime_pm_get() > > wakeref and so should do the atomic modeset precalculations without > > referring to the HW. However, on Ironlake we see > > > > <7>[ 23.487557] [drm:intel_atomic_check [i915]] [CONNECTOR:47:VGA-1] > > checking for sink bpp constrains > > <7>[ 23.487615] [drm:intel_atomic_check [i915]] clamping display bpp (was > > 36) to default limit of 24 > > <4>[ 23.487621] RPM wakelock ref not held during HW access > > <4>[ 23.487652] [ cut here ] > > <4>[ 23.487697] WARNING: CPU: 0 PID: 1343 at > > drivers/gpu/drm/i915/intel_drv.h:1813 gen5_read32+0x183/0x200 [i915] > > <4>[ 23.487701] Modules linked in: snd_hda_codec_hdmi > > snd_hda_codec_realtek snd_hda_codec_generic i915 intel_powerclamp coretemp > > crct10dif_pclmul crc32_pclmul snd_hda_intel ghash_clmulni_intel > > snd_hda_codec snd_hwdep snd_hda_core snd_pcm lpc_ich e1000e mei_me ptp mei > > pps_core prime_numbers > > <4>[ 23.487784] CPU: 0 PID: 1343 Comm: debugfs_test Tainted: GW > > 4.14.0-rc7-CI-Trybot_1378+ #1 > > <4>[ 23.487788] Hardware name: Hewlett-Packard HP Compaq 8100 Elite SFF > > PC/304Ah, BIOS 786H1 v01.13 07/14/2011 > > <4>[ 23.487793] task: 8801f90aa6c0 task.stack: c900013ec000 > > <4>[ 23.487838] RIP: 0010:gen5_read32+0x183/0x200 [i915] > > <4>[ 23.487842] RSP: 0018:c900013efb58 EFLAGS: 00010292 > > <4>[ 23.487849] RAX: 002a RBX: 880205c0 RCX: > > 0006 > > <4>[ 23.487854] RDX: 140a RSI: 81d0eb14 RDI: > > 81cc26f6 > > <4>[ 23.487857] RBP: c900013efb80 R08: 8801f90aaff8 R09: > > > > <4>[ 23.487861] R10: R11: R12: > > 0001 > > <4>[ 23.487865] R13: 00046000 R14: 88020ffaba78 R15: > > 88020b109bf8 > > <4>[ 23.487870] FS: 7f53b5e40a40() GS:88021bc0() > > knlGS: > > <4>[ 23.487874] CS: 0010 DS: ES: CR0: 80050033 > > <4>[ 23.487878] CR2: 55e41900c0e8 CR3: 0001fa0d6005 CR4: > > 000206f0 > > <4>[ 23.487882] Call Trace: > > <4>[ 23.487931] intel_atomic_check+0x745/0x1290 [i915] > > <4>[ 23.487948] drm_atomic_check_only+0x459/0x560 > > <4>[ 23.487956] ? drm_atomic_set_crtc_for_connector+0xc9/0x100 > > <4>[ 23.488025] drm_atomic_commit+0x18/0x50 > > <4>[ 23.488035] restore_fbdev_mode_atomic+0x190/0x1f0 > > <4>[ 23.488059] restore_fbdev_mode+0x32/0x120 > > <4>[ 23.488072] drm_fb_helper_restore_fbdev_mode_unlocked+0x50/0xa0 > > <4>[ 23.488139] intel_fbdev_restore_mode+0x34/0x90 [i915] > > <4>[ 23.488194] i915_driver_lastclose+0xe/0x10 [i915] > > <4>[ 23.488208] drm_lastclose+0x39/0xf0 > > <4>[ 23.488219] drm_release+0x30c/0x3c0 > > <4>[ 23.488236] __fput+0xb9/0x200 > > <4>[ 23.488252] fput+0xe/0x10 > > <4>[ 23.488264] task_work_run+0x89/0xc0 > > <4>[ 23.488278] exit_to_usermode_loop+0x83/0x90 > > <4>[ 23.488290] syscall_return_slowpath+0xd0/0x110 > > <4>[ 23.488304] entry_SYSCALL_64_fastpath+0xaf/0xb1 > > <4>[ 23.488312] RIP: 0033:0x7f53b4317560 > > <4>[ 23.488320] RSP: 002b:7ffca7e70748 EFLAGS: 0246 ORIG_RAX: > > 0003 > > <4>[ 23.488333] RAX: RBX: 0001 RCX: > > 7f53b4317560 > > <4>[ 23.488340] RDX: 0005 RSI: 7ffca7e70640 RDI: > > 0004 > > <4>[ 23.488347] RBP: 55e417783900 R08: 55e418f9e290 R09: > > > > <4>[ 23.488356] R10: R11: 0246 R12: > > 0001 > > <4>[ 23.488363] R13: 7f53b4302c40 R14: R15: > > > > <4>[ 23.488384] Code: b5 f2 f2 e0 0f ff e9 c5 fe ff ff 80 3d 0e 4b 10 00 > > 00 0f 85 c6 fe ff ff 48 c7 c7 30 73 29 a0 c6 05 fa 4a 10 00 01 e8 8e f2 f2 > > e0 <0f> ff e9 ac fe ff ff e8 51 9d f3 e0 85 c0 0f 85 01 ff ff ff 48 > > <4>[ 23.488780] ---[ end trace 6bc72ce7f1596190 ]--- > > <7>[ 23.488844] [drm:intel_atomic_check [i915]] checking fdi config on > > pipe A, lanes 1 > > <7>[ 23.488911] [drm:intel_atomic_check [i915]] hw max bpp: 36, pipe bpp: > > 24, dithering: 0 > > > > due to intel_fdi_link_freq() poking at FDI_PLL_BIOS_0. Avoid this by > > recording the fdi pll frequency during device initiailisation. > > > > v2: Also extract the static FDI PLL frequencies for Sandybridge and > > Ivybridge. > > > > Signed-off-by: Chris Wilson > > Cc: Ville Syrjälä > > Cc: Maarten Lankhorst > > --- > > drivers/gpu/drm/i915/i915_drv.h | 1 + > > drivers/gpu/drm/i915/intel_display.c | 21 ++--- > > 2 files changed, 19 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_drv.h > > b/drivers/gpu/drm/i915/i915_drv.h > > index fe93115c4caa..5e6938d0a903 100644 > > --- a
[Intel-gfx] [PATCH (resend) 1/3] drm/i915: Ignore previous watermarks on ILK if inherited
Fixes the following error when fastset is enabled, caught by CI: [drm:ilk_validate_wm_level.part.8 [i915]] Sprite WM0 too large 56 (max 0) [drm:ilk_validate_pipe_wm [i915]] LP0 watermark invalid [drm:intel_crtc_atomic_check [i915]] No valid intermediate pipe watermarks are possible Triggered on debugfs_test.read_all_entries, but could have been any igt test depending on ordering. Signed-off-by: Maarten Lankhorst --- drivers/gpu/drm/i915/intel_pm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 46440e2ecb33..9e8a0a9cac02 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -3137,7 +3137,9 @@ static int ilk_compute_intermediate_wm(struct drm_device *dev, * and after the vblank. */ *a = newstate->wm.ilk.optimal; - if (!newstate->base.active || drm_atomic_crtc_needs_modeset(&newstate->base)) + if (!newstate->base.active || + drm_atomic_crtc_needs_modeset(&newstate->base) || + oldstate->base.mode.private_flags & I915_MODE_FLAG_INHERITED) return 0; a->pipe_enabled |= b->pipe_enabled; -- 2.15.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH (resend) 3/3] drm/i915: Re-enable fastboot by default
This fix was originally reverted because it left a chromebook pixel black, and no immediate fix was available. This has been fixed in the meantime. Rather than trying to remove the parameter, set it to default to true for now, so we can always back out if required. Signed-off-by: Maarten Lankhorst Cc: Jani Nikula Cc: Daniel Vetter Testcase: kms_panel_fitting --- drivers/gpu/drm/i915/i915_params.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h index c7292268ed43..b99cb58801e6 100644 --- a/drivers/gpu/drm/i915/i915_params.h +++ b/drivers/gpu/drm/i915/i915_params.h @@ -57,7 +57,7 @@ param(bool, alpha_support, IS_ENABLED(CONFIG_DRM_I915_ALPHA_SUPPORT)) \ param(bool, enable_cmd_parser, true) \ param(bool, enable_hangcheck, true) \ - param(bool, fastboot, false) \ + param(bool, fastboot, true) \ param(bool, prefault_disable, false) \ param(bool, load_detect_test, false) \ param(bool, force_reset_modeset_test, false) \ -- 2.15.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 2/3] drm/i915: Enable FIFO underrun reporting after initial fastset
The firmware may have set up the pipe correctly, but the FIFO underrun and CRC interrupts are likely not enabled. This resulted in debugfs_test.read_all_entries failing on haswell, because of a timeout when reading the crc debugfs entry. Solve this by enabling FIFO underrun reporting after the initial fastset, which lets interrupts be generated as expected. Testcase: debugfs_test.read_all_entries Signed-off-by: Maarten Lankhorst --- drivers/gpu/drm/i915/intel_display.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 737de251d0f8..8d42e6a910d4 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -12875,6 +12875,7 @@ static void intel_begin_crtc_commit(struct drm_crtc *crtc, static void intel_finish_crtc_commit(struct drm_crtc *crtc, struct drm_crtc_state *old_crtc_state) { + struct drm_i915_private *dev_priv = to_i915(crtc->dev); struct intel_crtc *intel_crtc = to_intel_crtc(crtc); struct intel_atomic_state *old_intel_state = to_intel_atomic_state(old_crtc_state->state); @@ -12882,6 +12883,15 @@ static void intel_finish_crtc_commit(struct drm_crtc *crtc, intel_atomic_get_new_crtc_state(old_intel_state, intel_crtc); intel_pipe_update_end(new_crtc_state); + + if (HAS_PCH_SPLIT(dev_priv) && new_crtc_state->update_pipe && + !needs_modeset(&new_crtc_state->base) && + old_crtc_state->mode.private_flags & I915_MODE_FLAG_INHERITED) { + intel_set_cpu_fifo_underrun_reporting(dev_priv, intel_crtc->pipe, true); + + if (new_crtc_state->has_pch_encoder && !HAS_DDI(dev_priv)) + intel_set_pch_fifo_underrun_reporting(dev_priv, intel_crtc->pipe, true); + } } /** -- 2.15.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Idle the GPU before shinking everything
== Series Details == Series: drm/i915: Idle the GPU before shinking everything URL : https://patchwork.freedesktop.org/series/33373/ State : failure == Summary == Series 33373v1 drm/i915: Idle the GPU before shinking everything https://patchwork.freedesktop.org/api/1.0/series/33373/revisions/1/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 Test gem_exec_gttfill: Subgroup basic: pass -> DMESG-WARN (fi-blb-e6850) pass -> DMESG-WARN (fi-elk-e7500) pass -> DMESG-WARN (fi-ilk-650) pass -> DMESG-WARN (fi-snb-2520m) pass -> DMESG-WARN (fi-snb-2600) pass -> DMESG-WARN (fi-ivb-3520m) pass -> DMESG-WARN (fi-ivb-3770) pass -> DMESG-WARN (fi-byt-j1900) pass -> DMESG-WARN (fi-byt-n2820) pass -> DMESG-WARN (fi-hsw-4770) pass -> DMESG-WARN (fi-hsw-4770r) pass -> DMESG-WARN (fi-bdw-5557u) pass -> DMESG-WARN (fi-skl-6260u) pass -> DMESG-WARN (fi-skl-6600u) pass -> DMESG-WARN (fi-skl-6700hq) pass -> DMESG-WARN (fi-skl-6700k) pass -> DMESG-WARN (fi-skl-6770hq) pass -> DMESG-WARN (fi-bxt-j4205) pass -> DMESG-WARN (fi-kbl-7500u) pass -> DMESG-WARN (fi-kbl-7560u) pass -> DMESG-WARN (fi-kbl-7567u) pass -> DMESG-WARN (fi-kbl-r) pass -> DMESG-WARN (fi-cnl-y) Test gem_mmap: Subgroup basic-small-bo: pass -> DMESG-WARN (fi-gdg-551) pass -> DMESG-WARN (fi-bwr-2160) Test gem_ringfill: Subgroup basic-default-hang: pass -> INCOMPLETE (fi-glk-dsi) fdo#103359 Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: pass -> FAIL (fi-gdg-551) fdo#102618 Test kms_flip: Subgroup basic-plain-flip: incomplete -> PASS (fi-cnl-y) fdo#103339 Test kms_pipe_crc_basic: Subgroup hang-read-crc-pipe-c: pass -> INCOMPLETE (fi-bsw-n3050) Test drv_module_reload: Subgroup basic-no-display: pass -> DMESG-WARN (fi-gdg-551) fdo#102707 fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359 fdo#102618 https://bugs.freedesktop.org/show_bug.cgi?id=102618 fdo#103339 https://bugs.freedesktop.org/show_bug.cgi?id=103339 fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707 fi-bdw-5557u total:289 pass:267 dwarn:1 dfail:0 fail:0 skip:21 time:440s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:447s fi-blb-e6850 total:289 pass:222 dwarn:2 dfail:0 fail:0 skip:65 time:370s fi-bsw-n3050 total:232 pass:200 dwarn:0 dfail:0 fail:0 skip:31 fi-bwr-2160 total:289 pass:182 dwarn:1 dfail:0 fail:0 skip:106 time:263s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:482s fi-bxt-j4205 total:289 pass:259 dwarn:1 dfail:0 fail:0 skip:29 time:484s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:472s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:462s fi-cnl-y total:289 pass:261 dwarn:1 dfail:0 fail:0 skip:27 time:561s fi-elk-e7500 total:289 pass:228 dwarn:1 dfail:0 fail:0 skip:60 time:420s fi-gdg-551 total:289 pass:175 dwarn:3 dfail:0 fail:2 skip:109 time:254s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:529s fi-glk-dsi total:156 pass:133 dwarn:0 dfail:0 fail:0 skip:22 fi-hsw-4770 total:289 pass:261 dwarn:1 dfail:0 fail:0 skip:27 time:418s fi-hsw-4770r total:289 pass:261 dwarn:1 dfail:0 fail:0 skip:27 time:421s fi-ilk-650 total:289 pass:227 dwarn:1 dfail:0 fail:0 skip:61 time:418s fi-ivb-3520m total:289 pass:259 dwarn:1 dfail:0 fail:0 skip:29 time:471s fi-ivb-3770 total:289 pass:259 dwarn:1 dfail:0 fail:0 skip:29 time:450s fi-kbl-7500u total:289 pass:263 dwarn:2 dfail:0 fail:0 skip:24 time:476s fi-kbl-7560u total:289 pass:269 dwarn:1 dfail:0 fail:0 skip:19 time:517s fi-kbl-7567u total:289 pass:268 dwarn:1 dfail:0 fail:0 skip:20 time:471s fi-kbl-r total:289 pass:261 dwarn:1 dfail:0 fail:0 skip:27 time:525s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:494s fi-skl-6260u total:289 pass:268 dwarn:1 dfail:0 fail:0 skip:20 time:445s fi-skl
Re: [Intel-gfx] [PATCH] drm/i915: Idle the GPU before shinking everything
Quoting Chris Wilson (2017-11-07 21:31:20) > The handling of contexts are peculiar. Instead of tieing their vma to > activity, we pin the context. This means that we cannot simply unbind > the context object itself at will (which would normally cause us to wait > for the vma to be idle), but must manually idle the GPU and retire > requests first. > > A consequence of this peculiarity is when doing a last desperate attempt > to recover memory. If the memory is tied up inside active context > objects, we will fail to recover any memory simply by trying to unbind > the objects without first doing a wait-for-idle. However, we are totally not allowed to use ordinary allocs here, making sending a request next to impossible. We'll just have to wait for idle and nothing more. Alternatively we have a specially crafted request just for the shrinker... Ugh. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v2] drm/i915: Idle the GPU before shinking everything
The handling of contexts are peculiar. Instead of tieing their vma to activity, we pin the context. This means that we cannot simply unbind the context object itself at will (which would normally cause us to wait for the vma to be idle), but must manually idle the GPU and retire requests first. A consequence of this peculiarity is when doing a last desperate attempt to recover memory. If the memory is tied up inside active context objects, we will fail to recover any memory simply by trying to unbind the objects without first doing a wait-for-idle. A side-effect of removing the call to shrinker_lock_uninterruptible() from i915_gem_shrinker_oom() was that we removed an unlocked wait-for-idle, and so lost the "natural" shrinkage of context objects. By replacing that with a locked wait from inside i915_gem_shrink(), we not only replace it with the ability to recover all context objects, but do so for all i915_gem_shrink_all() callers. v2: Switching requires request allocation, which is not permitted from inside the shrinker as it only uses ordinary allocations. References: https://bugs.freedesktop.org/show_bug.cgi?id=102936 Fixes: f2123818ffad ("drm/i915: Move dev_priv->mm.[un]bound_list to its own lock") Signed-off-by: Chris Wilson Cc: Joonas Lahtinen --- drivers/gpu/drm/i915/i915_gem_shrinker.c | 12 1 file changed, 12 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c index eb31f8aa5c21..3770e3323fc8 100644 --- a/drivers/gpu/drm/i915/i915_gem_shrinker.c +++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c @@ -162,6 +162,18 @@ i915_gem_shrink(struct drm_i915_private *dev_priv, if (!shrinker_lock(dev_priv, &unlock)) return 0; + /* +* When shrinking the active list, also consider active contexts. +* Active contexts are pinned until they are retired, and so can +* not be simply unbound to retire and unpin their pages. To shrink +* the contexts, we must wait until the gpu is idle. +* +* We don't care about errors here; if we cannot wait upon the GPU, +* we will free as much as we can and hope to get a second chance. +*/ + if (flags & I915_SHRINK_ACTIVE) + i915_gem_wait_for_idle(dev_priv, I915_WAIT_LOCKED); + trace_i915_gem_shrink(dev_priv, target, flags); i915_gem_retire_requests(dev_priv); -- 2.15.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock
On Tue, Nov 7, 2017 at 11:47 PM, Rafael J. Wysocki wrote: > On Tue, Nov 7, 2017 at 10:08 PM, Ville Syrjala > wrote: >> From: Ville Syrjälä >> >> acpi_remove_pm_notifier() ends up calling flush_workqueue() while >> holding acpi_pm_notifier_lock, and that same lock is taken by >> by the work via acpi_pm_notify_handler(). This can deadlock. > > OK, good catch! > > [cut] > >> >> Cc: sta...@vger.kernel.org >> Cc: Rafael J. Wysocki >> Cc: Len Brown >> Cc: Peter Zijlstra >> Cc: Tejun Heo >> Cc: Ingo Molnar >> Fixes: c072530f391e ("ACPI / PM: Revork the handling of ACPI device wakeup >> notifications") >> Signed-off-by: Ville Syrjälä >> --- >> drivers/acpi/device_pm.c | 21 - >> 1 file changed, 12 insertions(+), 9 deletions(-) >> >> diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c >> index fbcc73f7a099..18af71057b44 100644 >> --- a/drivers/acpi/device_pm.c >> +++ b/drivers/acpi/device_pm.c >> @@ -387,6 +387,7 @@ EXPORT_SYMBOL(acpi_bus_power_manageable); >> >> #ifdef CONFIG_PM >> static DEFINE_MUTEX(acpi_pm_notifier_lock); >> +static DEFINE_MUTEX(acpi_pm_notifier_install_lock); >> >> void acpi_pm_wakeup_event(struct device *dev) >> { >> @@ -443,24 +444,25 @@ acpi_status acpi_add_pm_notifier(struct acpi_device >> *adev, struct device *dev, >> if (!dev && !func) >> return AE_BAD_PARAMETER; >> >> - mutex_lock(&acpi_pm_notifier_lock); >> + mutex_lock(&acpi_pm_notifier_install_lock); >> >> if (adev->wakeup.flags.notifier_present) >> goto out; >> >> - adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); >> - adev->wakeup.context.dev = dev; >> - adev->wakeup.context.func = func; >> - > > But this doesn't look good to me. > > notifier_present should be checked under acpi_pm_notifier_lock. Well, not really, so the above is OK. However, I still would prefer to avoid adding the outer lock. Thanks, Rafael ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] gem_ctx_param: Update for context priorities
From: Tvrtko Ursulin Update the test to check for context priority get and set and at the same time bump the invalid flag tests. Signed-off-by: Tvrtko Ursulin Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103107 Cc: Daniel Vetter Cc: Chris Wilson Cc: Joonas Lahtinen --- lib/i915/gem_context.c | 25 ++--- lib/i915/gem_context.h | 2 ++ tests/gem_ctx_param.c | 20 +++- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/lib/i915/gem_context.c b/lib/i915/gem_context.c index 6d9edf5e3263..778dc6ca76e3 100644 --- a/lib/i915/gem_context.c +++ b/lib/i915/gem_context.c @@ -198,8 +198,6 @@ void gem_context_require_bannable(int fd) igt_require(has_ban_period || has_bannable); } -#define LOCAL_I915_CONTEXT_PARAM_PRIORITY 0x6 - /** * __gem_context_set_priority: * @fd: open i915 drm file descriptor @@ -219,7 +217,7 @@ int __gem_context_set_priority(int fd, uint32_t ctx_id, int prio) memset(&p, 0, sizeof(p)); p.context = ctx_id; p.size = 0; - p.param = LOCAL_I915_CONTEXT_PARAM_PRIORITY; + p.param = LOCAL_CONTEXT_PARAM_PRIORITY; p.value = prio; return __gem_context_set_param(fd, &p); @@ -237,3 +235,24 @@ void gem_context_set_priority(int fd, uint32_t ctx_id, int prio) { igt_assert(__gem_context_set_priority(fd, ctx_id, prio) == 0); } + +/** + * gem_context_get_priority: + * @fd: open i915 drm file descriptor + * @ctx_id: i915 context id + * + * Returns the current context priority. + */ +int gem_context_get_priority(int fd, uint32_t ctx_id) +{ + struct local_i915_gem_context_param p; + + memset(&p, 0, sizeof(p)); + p.context = ctx_id; + p.size = 0; + p.param = LOCAL_CONTEXT_PARAM_PRIORITY; + + igt_assert_eq(__gem_context_get_param(fd, &p), 0); + + return p.value; +} diff --git a/lib/i915/gem_context.h b/lib/i915/gem_context.h index a2339c4b6da2..ac89512225e5 100644 --- a/lib/i915/gem_context.h +++ b/lib/i915/gem_context.h @@ -36,6 +36,7 @@ struct local_i915_gem_context_param { #define LOCAL_CONTEXT_PARAM_GTT_SIZE 0x3 #define LOCAL_CONTEXT_PARAM_NO_ERROR_CAPTURE 0x4 #define LOCAL_CONTEXT_PARAM_BANNABLE 0x5 +#define LOCAL_CONTEXT_PARAM_PRIORITY 0x6 uint64_t value; }; void gem_context_require_bannable(int fd); @@ -50,5 +51,6 @@ int __gem_context_get_param(int fd, struct local_i915_gem_context_param *p); #define LOCAL_I915_CONTEXT_MIN_USER_PRIORITY -1023 int __gem_context_set_priority(int fd, uint32_t ctx, int prio); void gem_context_set_priority(int fd, uint32_t ctx, int prio); +int gem_context_get_priority(int fd, uint32_t ctx); #endif /* GEM_CONTEXT_H */ diff --git a/tests/gem_ctx_param.c b/tests/gem_ctx_param.c index efdaf191a1ed..43f6f96e0857 100644 --- a/tests/gem_ctx_param.c +++ b/tests/gem_ctx_param.c @@ -136,11 +136,29 @@ igt_main gem_context_set_param(fd, &arg); } + igt_subtest_group { + igt_fixture { + igt_require(gem_scheduler_enabled(fd)); + igt_require(gem_scheduler_has_ctx_priority(fd)); + } + + igt_subtest("priority-get") { + igt_assert_eq(gem_context_get_priority(fd, ctx), 0); + } + + igt_subtest("priority-set") { + int prio = LOCAL_I915_CONTEXT_DEFAULT_PRIORITY - 1; + + gem_context_set_priority(fd, ctx, prio); + igt_assert_eq(gem_context_get_priority(fd, ctx), prio); + } + } + /* NOTE: This testcase intentionally tests for the next free parameter * to catch ABI extensions. Don't "fix" this testcase without adding all * the tests for the new param first. */ - arg.param = LOCAL_CONTEXT_PARAM_BANNABLE + 1; + arg.param = LOCAL_CONTEXT_PARAM_PRIORITY + 1; igt_subtest("invalid-param-get") { arg.context = ctx; -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Read ilk FDI PLL frequency once during initialisation (rev2)
== Series Details == Series: drm/i915: Read ilk FDI PLL frequency once during initialisation (rev2) URL : https://patchwork.freedesktop.org/series/33210/ State : success == Summary == Series 33210v2 drm/i915: Read ilk FDI PLL frequency once during initialisation https://patchwork.freedesktop.org/api/1.0/series/33210/revisions/2/mbox/ Test kms_flip: Subgroup basic-plain-flip: incomplete -> PASS (fi-cnl-y) fdo#103339 fdo#103339 https://bugs.freedesktop.org/show_bug.cgi?id=103339 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:444s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:453s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:378s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:536s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:275s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:503s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:501s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:493s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:484s fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:554s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:429s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:263s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:539s fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:490s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:430s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:430s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:425s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:473s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:461s fi-kbl-7500u total:289 pass:263 dwarn:1 dfail:0 fail:1 skip:24 time:483s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:473s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:534s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:566s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:461s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:543s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:563s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:513s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:497s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:459s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:556s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:427s 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest 0289a19e1da1 drm/i915: Read ilk FDI PLL frequency once during initialisation == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7003/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Prune the reservation shared fence array (rev3)
== Series Details == Series: drm/i915: Prune the reservation shared fence array (rev3) URL : https://patchwork.freedesktop.org/series/15254/ State : failure == Summary == Series 15254v3 drm/i915: Prune the reservation shared fence array https://patchwork.freedesktop.org/api/1.0/series/15254/revisions/3/mbox/ Test gem_exec_reloc: Subgroup basic-gtt-read: pass -> INCOMPLETE (fi-byt-j1900) Subgroup basic-cpu-active: pass -> FAIL (fi-gdg-551) fdo#102582 +2 fdo#102582 https://bugs.freedesktop.org/show_bug.cgi?id=102582 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:443s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:452s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:541s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:274s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:501s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:500s fi-byt-j1900 total:86 pass:67 dwarn:0 dfail:0 fail:0 skip:18 fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:490s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:425s fi-gdg-551 total:289 pass:175 dwarn:1 dfail:0 fail:4 skip:109 time:262s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:539s fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:491s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:436s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:431s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:429s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:487s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:457s fi-kbl-7500u total:289 pass:263 dwarn:1 dfail:0 fail:1 skip:24 time:476s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:472s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:531s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:565s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:457s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:543s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:560s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:519s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:489s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:460s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:558s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:417s fi-cnl-y failed to connect after reboot 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest c9d1525b26e4 drm/i915: Prune the reservation shared fence array == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7004/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915: Include engine state on detecting a missed breadcrumb/seqno
Now that we have a common engine state pretty printer, we can use that instead of the adhoc information printed when we miss a breadcrumb. Signed-off-by: Chris Wilson Cc: Mika Kuoppala Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/intel_breadcrumbs.c | 11 +-- drivers/gpu/drm/i915/intel_engine_cs.c | 6 ++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_breadcrumbs.c b/drivers/gpu/drm/i915/intel_breadcrumbs.c index 4de054f8c1ba..1e4d2978fb86 100644 --- a/drivers/gpu/drm/i915/intel_breadcrumbs.c +++ b/drivers/gpu/drm/i915/intel_breadcrumbs.c @@ -64,12 +64,11 @@ static unsigned long wait_timeout(void) static noinline void missed_breadcrumb(struct intel_engine_cs *engine) { - DRM_DEBUG_DRIVER("%s missed breadcrumb at %pS, irq posted? %s, current seqno=%x, last=%x\n", -engine->name, __builtin_return_address(0), -yesno(test_bit(ENGINE_IRQ_BREADCRUMB, - &engine->irq_posted)), -intel_engine_get_seqno(engine), -intel_engine_last_submit(engine)); + struct drm_printer p = drm_debug_printer(__func__); + + DRM_DEBUG_DRIVER("%s missed breadcrumb at %pS\n", +engine->name, __builtin_return_address(0)); + intel_engine_dump(engine, &p); set_bit(engine->id, &engine->i915->gpu_error.missed_irq_rings); } diff --git a/drivers/gpu/drm/i915/intel_engine_cs.c b/drivers/gpu/drm/i915/intel_engine_cs.c index 6997306be0d2..f22dc452030f 100644 --- a/drivers/gpu/drm/i915/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/intel_engine_cs.c @@ -1835,6 +1835,12 @@ void intel_engine_dump(struct intel_engine_cs *engine, struct drm_printer *m) } spin_unlock_irq(&b->rb_lock); + drm_printf(m, "IRQ? 0x%lx (breadcrumbs? %s) (execlists? %s)\n", + engine->irq_posted, + yesno(test_bit(ENGINE_IRQ_BREADCRUMB, + &engine->irq_posted)), + yesno(test_bit(ENGINE_IRQ_EXECLIST, + &engine->irq_posted))); drm_printf(m, "Idle? %s\n", yesno(intel_engine_is_idle(engine))); drm_printf(m, "\n"); } -- 2.15.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] gem_ctx_param: Update for context priorities
On Wed, Nov 08, 2017 at 09:47:20AM +, Tvrtko Ursulin wrote: Subject: [Intel-gfx] [PATCH] gem_ctx_param: Update for context priorities Can you resend with PATCH i-g-t so this gets to the correct patchwork? -- Petri Latvala ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] gem_ctx_param: Update for context priorities
On Wed, Nov 08, 2017 at 09:47:20AM +, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin > > Update the test to check for context priority get and set and at the same > time bump the invalid flag tests. > > Signed-off-by: Tvrtko Ursulin > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103107 > Cc: Daniel Vetter > Cc: Chris Wilson > Cc: Joonas Lahtinen > --- > lib/i915/gem_context.c | 25 ++--- > lib/i915/gem_context.h | 2 ++ > tests/gem_ctx_param.c | 20 +++- > 3 files changed, 43 insertions(+), 4 deletions(-) > > diff --git a/lib/i915/gem_context.c b/lib/i915/gem_context.c > index 6d9edf5e3263..778dc6ca76e3 100644 > --- a/lib/i915/gem_context.c > +++ b/lib/i915/gem_context.c > @@ -198,8 +198,6 @@ void gem_context_require_bannable(int fd) > igt_require(has_ban_period || has_bannable); > } > > -#define LOCAL_I915_CONTEXT_PARAM_PRIORITY 0x6 > - > /** > * __gem_context_set_priority: > * @fd: open i915 drm file descriptor > @@ -219,7 +217,7 @@ int __gem_context_set_priority(int fd, uint32_t ctx_id, > int prio) > memset(&p, 0, sizeof(p)); > p.context = ctx_id; > p.size = 0; > - p.param = LOCAL_I915_CONTEXT_PARAM_PRIORITY; > + p.param = LOCAL_CONTEXT_PARAM_PRIORITY; > p.value = prio; > > return __gem_context_set_param(fd, &p); > @@ -237,3 +235,24 @@ void gem_context_set_priority(int fd, uint32_t ctx_id, > int prio) > { > igt_assert(__gem_context_set_priority(fd, ctx_id, prio) == 0); > } > + > +/** > + * gem_context_get_priority: > + * @fd: open i915 drm file descriptor > + * @ctx_id: i915 context id > + * > + * Returns the current context priority. > + */ > +int gem_context_get_priority(int fd, uint32_t ctx_id) > +{ > + struct local_i915_gem_context_param p; > + > + memset(&p, 0, sizeof(p)); > + p.context = ctx_id; > + p.size = 0; > + p.param = LOCAL_CONTEXT_PARAM_PRIORITY; > + > + igt_assert_eq(__gem_context_get_param(fd, &p), 0); > + > + return p.value; > +} > diff --git a/lib/i915/gem_context.h b/lib/i915/gem_context.h > index a2339c4b6da2..ac89512225e5 100644 > --- a/lib/i915/gem_context.h > +++ b/lib/i915/gem_context.h > @@ -36,6 +36,7 @@ struct local_i915_gem_context_param { > #define LOCAL_CONTEXT_PARAM_GTT_SIZE 0x3 > #define LOCAL_CONTEXT_PARAM_NO_ERROR_CAPTURE 0x4 > #define LOCAL_CONTEXT_PARAM_BANNABLE 0x5 > +#define LOCAL_CONTEXT_PARAM_PRIORITY 0x6 > uint64_t value; > }; > void gem_context_require_bannable(int fd); > @@ -50,5 +51,6 @@ int __gem_context_get_param(int fd, struct > local_i915_gem_context_param *p); > #define LOCAL_I915_CONTEXT_MIN_USER_PRIORITY -1023 > int __gem_context_set_priority(int fd, uint32_t ctx, int prio); > void gem_context_set_priority(int fd, uint32_t ctx, int prio); > +int gem_context_get_priority(int fd, uint32_t ctx); > > #endif /* GEM_CONTEXT_H */ > diff --git a/tests/gem_ctx_param.c b/tests/gem_ctx_param.c > index efdaf191a1ed..43f6f96e0857 100644 > --- a/tests/gem_ctx_param.c > +++ b/tests/gem_ctx_param.c > @@ -136,11 +136,29 @@ igt_main > gem_context_set_param(fd, &arg); > } > > + igt_subtest_group { > + igt_fixture { > + igt_require(gem_scheduler_enabled(fd)); > + igt_require(gem_scheduler_has_ctx_priority(fd)); > + } > + > + igt_subtest("priority-get") { > + igt_assert_eq(gem_context_get_priority(fd, ctx), 0); > + } > + > + igt_subtest("priority-set") { > + int prio = LOCAL_I915_CONTEXT_DEFAULT_PRIORITY - 1; > + > + gem_context_set_priority(fd, ctx, prio); > + igt_assert_eq(gem_context_get_priority(fd, ctx), prio); > + } Not sure this is really a useful test. This I would like to see tested would be: - invalid priorities, i.e. above and below the max - invalid priorities for non CAP_SYS_NICE, especially checking that the fd-passing (which X does) works in a reasonable way: root opens fd, passes to non-root (just change uid), do we reject higher priorities? This is the kind of stuff that I think is worth checking when adding new uapi, to catch potential security issues where the kernel code doesn't properly validate&reject invalid input. If all this test ends up doing is busywork every time a new flag is added I'll concur with Chris and it's probably best to just throw it all out. But that's my own stance, I'm not really involved in gem deeply at all, so what exactly you end up going with is up to you and Chris and Jooans and everyone. Thanks, Daniel > + } > + > /* NOTE: This testcase intentionally tests for the next free parameter >* to catch ABI extensions. Don't "fix" this testcase without adding all >* the tests for the new param first. >*/ > - arg.param = LOCAL_CONTEXT_PARAM_BANNABLE + 1; > + arg.param = LOCAL_CONTEXT_PARAM_PRIORITY + 1;
[Intel-gfx] [PATCH i-g-t] gem_ctx_param: Update for context priorities
From: Tvrtko Ursulin Update the test to check for context priority get and set and at the same time bump the invalid flag tests. Signed-off-by: Tvrtko Ursulin Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103107 Cc: Daniel Vetter Cc: Chris Wilson Cc: Joonas Lahtinen --- lib/i915/gem_context.c | 25 ++--- lib/i915/gem_context.h | 2 ++ tests/gem_ctx_param.c | 20 +++- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/lib/i915/gem_context.c b/lib/i915/gem_context.c index 6d9edf5e3263..778dc6ca76e3 100644 --- a/lib/i915/gem_context.c +++ b/lib/i915/gem_context.c @@ -198,8 +198,6 @@ void gem_context_require_bannable(int fd) igt_require(has_ban_period || has_bannable); } -#define LOCAL_I915_CONTEXT_PARAM_PRIORITY 0x6 - /** * __gem_context_set_priority: * @fd: open i915 drm file descriptor @@ -219,7 +217,7 @@ int __gem_context_set_priority(int fd, uint32_t ctx_id, int prio) memset(&p, 0, sizeof(p)); p.context = ctx_id; p.size = 0; - p.param = LOCAL_I915_CONTEXT_PARAM_PRIORITY; + p.param = LOCAL_CONTEXT_PARAM_PRIORITY; p.value = prio; return __gem_context_set_param(fd, &p); @@ -237,3 +235,24 @@ void gem_context_set_priority(int fd, uint32_t ctx_id, int prio) { igt_assert(__gem_context_set_priority(fd, ctx_id, prio) == 0); } + +/** + * gem_context_get_priority: + * @fd: open i915 drm file descriptor + * @ctx_id: i915 context id + * + * Returns the current context priority. + */ +int gem_context_get_priority(int fd, uint32_t ctx_id) +{ + struct local_i915_gem_context_param p; + + memset(&p, 0, sizeof(p)); + p.context = ctx_id; + p.size = 0; + p.param = LOCAL_CONTEXT_PARAM_PRIORITY; + + igt_assert_eq(__gem_context_get_param(fd, &p), 0); + + return p.value; +} diff --git a/lib/i915/gem_context.h b/lib/i915/gem_context.h index a2339c4b6da2..ac89512225e5 100644 --- a/lib/i915/gem_context.h +++ b/lib/i915/gem_context.h @@ -36,6 +36,7 @@ struct local_i915_gem_context_param { #define LOCAL_CONTEXT_PARAM_GTT_SIZE 0x3 #define LOCAL_CONTEXT_PARAM_NO_ERROR_CAPTURE 0x4 #define LOCAL_CONTEXT_PARAM_BANNABLE 0x5 +#define LOCAL_CONTEXT_PARAM_PRIORITY 0x6 uint64_t value; }; void gem_context_require_bannable(int fd); @@ -50,5 +51,6 @@ int __gem_context_get_param(int fd, struct local_i915_gem_context_param *p); #define LOCAL_I915_CONTEXT_MIN_USER_PRIORITY -1023 int __gem_context_set_priority(int fd, uint32_t ctx, int prio); void gem_context_set_priority(int fd, uint32_t ctx, int prio); +int gem_context_get_priority(int fd, uint32_t ctx); #endif /* GEM_CONTEXT_H */ diff --git a/tests/gem_ctx_param.c b/tests/gem_ctx_param.c index efdaf191a1ed..43f6f96e0857 100644 --- a/tests/gem_ctx_param.c +++ b/tests/gem_ctx_param.c @@ -136,11 +136,29 @@ igt_main gem_context_set_param(fd, &arg); } + igt_subtest_group { + igt_fixture { + igt_require(gem_scheduler_enabled(fd)); + igt_require(gem_scheduler_has_ctx_priority(fd)); + } + + igt_subtest("priority-get") { + igt_assert_eq(gem_context_get_priority(fd, ctx), 0); + } + + igt_subtest("priority-set") { + int prio = LOCAL_I915_CONTEXT_DEFAULT_PRIORITY - 1; + + gem_context_set_priority(fd, ctx, prio); + igt_assert_eq(gem_context_get_priority(fd, ctx), prio); + } + } + /* NOTE: This testcase intentionally tests for the next free parameter * to catch ABI extensions. Don't "fix" this testcase without adding all * the tests for the new param first. */ - arg.param = LOCAL_CONTEXT_PARAM_BANNABLE + 1; + arg.param = LOCAL_CONTEXT_PARAM_PRIORITY + 1; igt_subtest("invalid-param-get") { arg.context = ctx; -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: Include engine state on detecting a missed breadcrumb/seqno
Quoting Chris Wilson (2017-11-08 10:07:46) > Now that we have a common engine state pretty printer, we can use that > instead of the adhoc information printed when we miss a breadcrumb. > > Signed-off-by: Chris Wilson > Cc: Mika Kuoppala > Cc: Tvrtko Ursulin > --- > drivers/gpu/drm/i915/intel_breadcrumbs.c | 11 +-- > drivers/gpu/drm/i915/intel_engine_cs.c | 6 ++ > 2 files changed, 11 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_breadcrumbs.c > b/drivers/gpu/drm/i915/intel_breadcrumbs.c > index 4de054f8c1ba..1e4d2978fb86 100644 > --- a/drivers/gpu/drm/i915/intel_breadcrumbs.c > +++ b/drivers/gpu/drm/i915/intel_breadcrumbs.c > @@ -64,12 +64,11 @@ static unsigned long wait_timeout(void) > > static noinline void missed_breadcrumb(struct intel_engine_cs *engine) > { > - DRM_DEBUG_DRIVER("%s missed breadcrumb at %pS, irq posted? %s, > current seqno=%x, last=%x\n", > -engine->name, __builtin_return_address(0), > -yesno(test_bit(ENGINE_IRQ_BREADCRUMB, > - &engine->irq_posted)), > -intel_engine_get_seqno(engine), > -intel_engine_last_submit(engine)); > + struct drm_printer p = drm_debug_printer(__func__); > + > + DRM_DEBUG_DRIVER("%s missed breadcrumb at %pS\n", > +engine->name, __builtin_return_address(0)); > + intel_engine_dump(engine, &p); Ugh, need to pass the fmt onto intel_engine_dump. Otherwise we end up with this odd mixture of DRM_DEBUG_DRIVER and pr_debug. Alternatively, we could make a drm_debug_driver_printer etc. In this case, probably both. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/dp: Add DP DSC DPCD receiver capability size define and missing SHIFT (rev2)
== Series Details == Series: drm/dp: Add DP DSC DPCD receiver capability size define and missing SHIFT (rev2) URL : https://patchwork.freedesktop.org/series/33380/ State : failure == Summary == Series 33380v2 drm/dp: Add DP DSC DPCD receiver capability size define and missing SHIFT https://patchwork.freedesktop.org/api/1.0/series/33380/revisions/2/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 Test gem_ctx_switch: Subgroup basic-default-heavy: pass -> FAIL (fi-glk-dsi) fdo#103359 Test gem_exec_flush: Subgroup basic-wb-ro-before-default: pass -> INCOMPLETE (fi-glk-dsi) fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:442s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:451s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:383s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:531s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:273s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:496s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:502s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:494s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:485s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:430s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:258s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:542s fi-glk-dsi total:70 pass:52 dwarn:0 dfail:0 fail:1 skip:16 fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:426s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:431s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:430s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:475s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:462s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:486s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:535s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:574s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:473s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:547s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:564s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:519s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:492s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:461s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:558s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:421s fi-cnl-y failed to connect after reboot 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest 62123820cd8d drm/dp: Add DP DSC DPCD receiver capability size define and missing SHIFT == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7005/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] gem_ctx_param: Update for context priorities
On 08/11/2017 10:11, Daniel Vetter wrote: On Wed, Nov 08, 2017 at 09:47:20AM +, Tvrtko Ursulin wrote: From: Tvrtko Ursulin Update the test to check for context priority get and set and at the same time bump the invalid flag tests. Signed-off-by: Tvrtko Ursulin Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103107 Cc: Daniel Vetter Cc: Chris Wilson Cc: Joonas Lahtinen --- lib/i915/gem_context.c | 25 ++--- lib/i915/gem_context.h | 2 ++ tests/gem_ctx_param.c | 20 +++- 3 files changed, 43 insertions(+), 4 deletions(-) diff --git a/lib/i915/gem_context.c b/lib/i915/gem_context.c index 6d9edf5e3263..778dc6ca76e3 100644 --- a/lib/i915/gem_context.c +++ b/lib/i915/gem_context.c @@ -198,8 +198,6 @@ void gem_context_require_bannable(int fd) igt_require(has_ban_period || has_bannable); } -#define LOCAL_I915_CONTEXT_PARAM_PRIORITY 0x6 - /** * __gem_context_set_priority: * @fd: open i915 drm file descriptor @@ -219,7 +217,7 @@ int __gem_context_set_priority(int fd, uint32_t ctx_id, int prio) memset(&p, 0, sizeof(p)); p.context = ctx_id; p.size = 0; - p.param = LOCAL_I915_CONTEXT_PARAM_PRIORITY; + p.param = LOCAL_CONTEXT_PARAM_PRIORITY; p.value = prio; return __gem_context_set_param(fd, &p); @@ -237,3 +235,24 @@ void gem_context_set_priority(int fd, uint32_t ctx_id, int prio) { igt_assert(__gem_context_set_priority(fd, ctx_id, prio) == 0); } + +/** + * gem_context_get_priority: + * @fd: open i915 drm file descriptor + * @ctx_id: i915 context id + * + * Returns the current context priority. + */ +int gem_context_get_priority(int fd, uint32_t ctx_id) +{ + struct local_i915_gem_context_param p; + + memset(&p, 0, sizeof(p)); + p.context = ctx_id; + p.size = 0; + p.param = LOCAL_CONTEXT_PARAM_PRIORITY; + + igt_assert_eq(__gem_context_get_param(fd, &p), 0); + + return p.value; +} diff --git a/lib/i915/gem_context.h b/lib/i915/gem_context.h index a2339c4b6da2..ac89512225e5 100644 --- a/lib/i915/gem_context.h +++ b/lib/i915/gem_context.h @@ -36,6 +36,7 @@ struct local_i915_gem_context_param { #define LOCAL_CONTEXT_PARAM_GTT_SIZE 0x3 #define LOCAL_CONTEXT_PARAM_NO_ERROR_CAPTURE 0x4 #define LOCAL_CONTEXT_PARAM_BANNABLE 0x5 +#define LOCAL_CONTEXT_PARAM_PRIORITY 0x6 uint64_t value; }; void gem_context_require_bannable(int fd); @@ -50,5 +51,6 @@ int __gem_context_get_param(int fd, struct local_i915_gem_context_param *p); #define LOCAL_I915_CONTEXT_MIN_USER_PRIORITY -1023 int __gem_context_set_priority(int fd, uint32_t ctx, int prio); void gem_context_set_priority(int fd, uint32_t ctx, int prio); +int gem_context_get_priority(int fd, uint32_t ctx); #endif /* GEM_CONTEXT_H */ diff --git a/tests/gem_ctx_param.c b/tests/gem_ctx_param.c index efdaf191a1ed..43f6f96e0857 100644 --- a/tests/gem_ctx_param.c +++ b/tests/gem_ctx_param.c @@ -136,11 +136,29 @@ igt_main gem_context_set_param(fd, &arg); } + igt_subtest_group { + igt_fixture { + igt_require(gem_scheduler_enabled(fd)); + igt_require(gem_scheduler_has_ctx_priority(fd)); + } + + igt_subtest("priority-get") { + igt_assert_eq(gem_context_get_priority(fd, ctx), 0); + } + + igt_subtest("priority-set") { + int prio = LOCAL_I915_CONTEXT_DEFAULT_PRIORITY - 1; + + gem_context_set_priority(fd, ctx, prio); + igt_assert_eq(gem_context_get_priority(fd, ctx), prio); + } Not sure this is really a useful test. This I would like to see tested "Better than nothing" and better than a broken one, just that. My re-action to this morning's bickering. would be: - invalid priorities, i.e. above and below the max - invalid priorities for non CAP_SYS_NICE, especially checking that the fd-passing (which X does) works in a reasonable way: root opens fd, passes to non-root (just change uid), do we reject higher priorities? This is the kind of stuff that I think is worth checking when adding new uapi, to catch potential security issues where the kernel code doesn't properly validate&reject invalid input. Agreed, the more context params the less sense it makes to have it in gem_ctx_param and more sense to handle those details in dedicated tests for each feature. If all this test ends up doing is busywork every time a new flag is added I'll concur with Chris and it's probably best to just throw it all out. But that's my own stance, I'm not really involved in gem deeply at all, so what exactly you end up going with is up to you and Chris and Jooans and everyone. No complaints from me to remove it, but it needs to go on the big GEM IGT TODO list to look at what's missing elsewhere, fill it in, and then remove. In the me
Re: [Intel-gfx] [PATCH] drm/i915: Remove support for legacy debugfs crc interface
Op 02-11-17 om 17:11 schreef Ville Syrjälä: > On Thu, Nov 02, 2017 at 05:19:07PM +0200, Jani Nikula wrote: >> On Thu, 02 Nov 2017, Ville Syrjälä wrote: >>> On Thu, Nov 02, 2017 at 02:56:51PM +0100, Maarten Lankhorst wrote: This interface is deprecated, and has been replaced by the upstream drm crc interface. >>> Before we nuke this I would like to see an option in the new interface >>> to not filter out the "bad" CRCs. When analyzing how the hardware >>> behaves seeing every CRC can be valuable. And I'm not at all convinced >>> we should be dropping as many CRCs as we are currently. >> I'm not against it, but do you have a concrete proposal on how that >> option would look like? > Some kind of of filter_bad_crcs file with a bool value perhaps? You can set sources, might as well add a nofilter option.. But I don't see what it has to do with this patch? This problem existed since before the api was introduced.. Only difference is kernel eats possibly corrupt CRCs now instead of IGT. ~Maarten ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited
== Series Details == Series: series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited URL : https://patchwork.freedesktop.org/series/33395/ State : success == Summary == Series 33395v1 series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited https://patchwork.freedesktop.org/api/1.0/series/33395/revisions/1/mbox/ fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:445s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:452s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:379s fi-bsw-n3050 total:289 pass:242 dwarn:1 dfail:0 fail:0 skip:46 time:533s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:273s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:499s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:501s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:495s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:484s fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:551s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:431s fi-gdg-551 total:289 pass:172 dwarn:1 dfail:0 fail:7 skip:109 time:262s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:542s fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:490s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:430s fi-hsw-4770r total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:438s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:426s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:483s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:463s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:490s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:481s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:532s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:569s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:452s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:543s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:559s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:528s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:489s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:455s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:552s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:421s 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest aea2f7dd3563 drm/i915: Re-enable fastboot by default 39b9377913c3 drm/i915: Enable FIFO underrun reporting after initial fastset 08fba3d78503 drm/i915: Ignore previous watermarks on ILK if inherited == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7006/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Read ilk FDI PLL frequency once during initialisation (rev2)
== Series Details == Series: drm/i915: Read ilk FDI PLL frequency once during initialisation (rev2) URL : https://patchwork.freedesktop.org/series/33210/ State : success == Summary == shard-hswtotal:2540 pass:1432 dwarn:1 dfail:0 fail:10 skip:1097 time:9230s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7003/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 1/2] drm/atomic-helper: always track connector commits, too
It's useful for syncing async connector work like link retraining. Cc: Manasi Navare Cc: Maarten Lankhorst Cc: Ville Syrjälä Signed-off-by: Daniel Vetter --- drivers/gpu/drm/drm_atomic_helper.c | 8 +++- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c index 71d712f1b56a..ea781d55f2c1 100644 --- a/drivers/gpu/drm/drm_atomic_helper.c +++ b/drivers/gpu/drm/drm_atomic_helper.c @@ -1791,7 +1791,8 @@ int drm_atomic_helper_setup_commit(struct drm_atomic_state *state, if (new_conn_state->crtc) continue; - commit = crtc_or_fake_commit(state, old_conn_state->crtc); + /* Always track connectors explicitly for e.g. link retraining. */ + commit = crtc_or_fake_commit(state, new_conn_state->crtc ?: old_conn_state->crtc); if (!commit) return -ENOMEM; @@ -1805,10 +1806,7 @@ int drm_atomic_helper_setup_commit(struct drm_atomic_state *state, !try_wait_for_completion(&old_plane_state->commit->flip_done)) return -EBUSY; - /* -* Unlike connectors, always track planes explicitly for -* async pageflip support. -*/ + /* Always track planes explicitly for async pageflip support. */ commit = crtc_or_fake_commit(state, new_plane_state->crtc ?: old_plane_state->crtc); if (!commit) return -ENOMEM; -- 2.15.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 2/2] drm/i915: sync dp link status checks against atomic commmits
Two bits: - check actual atomic state, the legacy stuff can only be looked at from within the atomic_commit_tail function, since it's only protected by ordering and not by any locks. - Make sure we don't wreak the work an ongoing nonblocking commit is doing. Cc: Manasi Navare Cc: Maarten Lankhorst Cc: Ville Syrjälä References: https://bugs.freedesktop.org/show_bug.cgi?id=103336 References: https://bugs.freedesktop.org/show_bug.cgi?id=99272 Signed-off-by: Daniel Vetter --- drivers/gpu/drm/i915/intel_dp.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index d27c0145ac91..319c372dc26f 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -4319,6 +4319,8 @@ static void intel_dp_check_link_status(struct intel_dp *intel_dp) { struct intel_encoder *intel_encoder = &dp_to_dig_port(intel_dp)->base; + struct drm_connector_state *conn_state = + intel_dp->attached_connector->base.state; struct drm_device *dev = intel_dp_to_dev(intel_dp); u8 link_status[DP_LINK_STATUS_SIZE]; @@ -4329,10 +4331,10 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) return; } - if (!intel_encoder->base.crtc) + if (!conn_state->crtc || !conn_state->crtc->state->active) return; - if (!to_intel_crtc(intel_encoder->base.crtc)->active) + if (!try_wait_for_completion(&conn_state->commit->hw_done)) return; /* -- 2.15.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Idle the GPU before shinking everything (rev2)
== Series Details == Series: drm/i915: Idle the GPU before shinking everything (rev2) URL : https://patchwork.freedesktop.org/series/33373/ State : success == Summary == Series 33373v2 drm/i915: Idle the GPU before shinking everything https://patchwork.freedesktop.org/api/1.0/series/33373/revisions/2/mbox/ fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:444s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:459s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:533s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:273s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:502s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:506s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:501s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:489s fi-cnl-y total:63 pass:46 dwarn:0 dfail:0 fail:0 skip:16 fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:430s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:263s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:539s fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:487s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:434s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:426s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:426s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:481s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:464s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:481s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:533s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:575s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:455s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:546s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:566s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:513s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:497s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:455s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:563s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:427s 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest f5a81e16f84c drm/i915: Idle the GPU before shinking everything == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7007/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Include engine state on detecting a missed breadcrumb/seqno
== Series Details == Series: drm/i915: Include engine state on detecting a missed breadcrumb/seqno URL : https://patchwork.freedesktop.org/series/33407/ State : failure == Summary == Series 33407 revision 1 was fully merged or fully failed: no git log ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] HAX: WARN_ON(crtc->crc.opened during disable)
--- drivers/gpu/drm/i915/intel_display.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 39d1f30cd0c4..436374b08b69 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -12176,6 +12176,7 @@ static void intel_atomic_commit_tail(struct drm_atomic_state *state) if (old_crtc_state->active) { intel_crtc_disable_planes(crtc, old_crtc_state->plane_mask); + WARN_ON(crtc->crc.opened); dev_priv->display.crtc_disable(to_intel_crtc_state(old_crtc_state), state); intel_crtc->active = false; intel_fbc_disable(intel_crtc); -- 2.15.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/2] drm/atomic-helper: always track connector commits, too
== Series Details == Series: series starting with [1/2] drm/atomic-helper: always track connector commits, too URL : https://patchwork.freedesktop.org/series/33410/ State : success == Summary == Series 33410v1 series starting with [1/2] drm/atomic-helper: always track connector commits, too https://patchwork.freedesktop.org/api/1.0/series/33410/revisions/1/mbox/ fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:444s fi-bdw-gvtdvmtotal:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:451s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:385s fi-bsw-n3050 total:289 pass:242 dwarn:1 dfail:0 fail:0 skip:46 time:534s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:273s fi-bxt-j4205 total:12 pass:2dwarn:0 dfail:0 fail:0 skip:9 fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:498s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:489s fi-cnl-y total:12 pass:2dwarn:0 dfail:0 fail:0 skip:9 fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:428s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:258s fi-glk-1 total:12 pass:2dwarn:0 dfail:0 fail:0 skip:9 fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:488s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:431s fi-hsw-4770r total:289 pass:225 dwarn:0 dfail:0 fail:0 skip:64 time:278s fi-ilk-650 total:1pass:0dwarn:0 dfail:0 fail:0 skip:0 fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:485s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:466s fi-kbl-7500u total:1pass:0dwarn:0 dfail:0 fail:0 skip:0 fi-kbl-7567u total:1pass:0dwarn:0 dfail:0 fail:0 skip:0 fi-kbl-r total:12 pass:2dwarn:0 dfail:0 fail:0 skip:9 fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:572s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:457s fi-skl-6600u total:1pass:0dwarn:0 dfail:0 fail:0 skip:0 fi-skl-6700hqtotal:1pass:0dwarn:0 dfail:0 fail:0 skip:0 fi-skl-6770hqtotal:1pass:0dwarn:0 dfail:0 fail:0 skip:0 fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:463s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:554s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:418s fi-bxt-dsi failed to connect after reboot 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest 080e074efe20 drm/i915: sync dp link status checks against atomic commmits 414f8018c5b8 drm/atomic-helper: always track connector commits, too == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7009/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] HAX: WARN_ON(crtc->crc.opened during disable)
On Wed, Nov 08, 2017 at 12:11:30PM +0100, Maarten Lankhorst wrote: > --- > drivers/gpu/drm/i915/intel_display.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/i915/intel_display.c > b/drivers/gpu/drm/i915/intel_display.c > index 39d1f30cd0c4..436374b08b69 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12176,6 +12176,7 @@ static void intel_atomic_commit_tail(struct > drm_atomic_state *state) > > if (old_crtc_state->active) { > intel_crtc_disable_planes(crtc, > old_crtc_state->plane_mask); > + WARN_ON(crtc->crc.opened); Why? I actually want to keep crc capture alive across a modeset to be able to observe every crc coming out of the hardware. Without that there is no good way to figure out which crcs are good and which are bad. > > dev_priv->display.crtc_disable(to_intel_crtc_state(old_crtc_state), state); > intel_crtc->active = false; > intel_fbc_disable(intel_crtc); > -- > 2.15.0 > > ___ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel OTC ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v2] drm/i915: Read ilk FDI PLL frequency once during initialisation
On Tue, Nov 07, 2017 at 09:47:13PM +, Chris Wilson wrote: > During intel_atomic_check(), we do not take the intel_runtime_pm_get() > wakeref and so should do the atomic modeset precalculations without > referring to the HW. However, on Ironlake we see > > <7>[ 23.487557] [drm:intel_atomic_check [i915]] [CONNECTOR:47:VGA-1] > checking for sink bpp constrains > <7>[ 23.487615] [drm:intel_atomic_check [i915]] clamping display bpp (was > 36) to default limit of 24 > <4>[ 23.487621] RPM wakelock ref not held during HW access > <4>[ 23.487652] [ cut here ] > <4>[ 23.487697] WARNING: CPU: 0 PID: 1343 at > drivers/gpu/drm/i915/intel_drv.h:1813 gen5_read32+0x183/0x200 [i915] > <4>[ 23.487701] Modules linked in: snd_hda_codec_hdmi snd_hda_codec_realtek > snd_hda_codec_generic i915 intel_powerclamp coretemp crct10dif_pclmul > crc32_pclmul snd_hda_intel ghash_clmulni_intel snd_hda_codec snd_hwdep > snd_hda_core snd_pcm lpc_ich e1000e mei_me ptp mei pps_core prime_numbers > <4>[ 23.487784] CPU: 0 PID: 1343 Comm: debugfs_test Tainted: GW > 4.14.0-rc7-CI-Trybot_1378+ #1 > <4>[ 23.487788] Hardware name: Hewlett-Packard HP Compaq 8100 Elite SFF > PC/304Ah, BIOS 786H1 v01.13 07/14/2011 > <4>[ 23.487793] task: 8801f90aa6c0 task.stack: c900013ec000 > <4>[ 23.487838] RIP: 0010:gen5_read32+0x183/0x200 [i915] > <4>[ 23.487842] RSP: 0018:c900013efb58 EFLAGS: 00010292 > <4>[ 23.487849] RAX: 002a RBX: 880205c0 RCX: > 0006 > <4>[ 23.487854] RDX: 140a RSI: 81d0eb14 RDI: > 81cc26f6 > <4>[ 23.487857] RBP: c900013efb80 R08: 8801f90aaff8 R09: > > <4>[ 23.487861] R10: R11: R12: > 0001 > <4>[ 23.487865] R13: 00046000 R14: 88020ffaba78 R15: > 88020b109bf8 > <4>[ 23.487870] FS: 7f53b5e40a40() GS:88021bc0() > knlGS: > <4>[ 23.487874] CS: 0010 DS: ES: CR0: 80050033 > <4>[ 23.487878] CR2: 55e41900c0e8 CR3: 0001fa0d6005 CR4: > 000206f0 > <4>[ 23.487882] Call Trace: > <4>[ 23.487931] intel_atomic_check+0x745/0x1290 [i915] > <4>[ 23.487948] drm_atomic_check_only+0x459/0x560 > <4>[ 23.487956] ? drm_atomic_set_crtc_for_connector+0xc9/0x100 > <4>[ 23.488025] drm_atomic_commit+0x18/0x50 > <4>[ 23.488035] restore_fbdev_mode_atomic+0x190/0x1f0 > <4>[ 23.488059] restore_fbdev_mode+0x32/0x120 > <4>[ 23.488072] drm_fb_helper_restore_fbdev_mode_unlocked+0x50/0xa0 > <4>[ 23.488139] intel_fbdev_restore_mode+0x34/0x90 [i915] > <4>[ 23.488194] i915_driver_lastclose+0xe/0x10 [i915] > <4>[ 23.488208] drm_lastclose+0x39/0xf0 > <4>[ 23.488219] drm_release+0x30c/0x3c0 > <4>[ 23.488236] __fput+0xb9/0x200 > <4>[ 23.488252] fput+0xe/0x10 > <4>[ 23.488264] task_work_run+0x89/0xc0 > <4>[ 23.488278] exit_to_usermode_loop+0x83/0x90 > <4>[ 23.488290] syscall_return_slowpath+0xd0/0x110 > <4>[ 23.488304] entry_SYSCALL_64_fastpath+0xaf/0xb1 > <4>[ 23.488312] RIP: 0033:0x7f53b4317560 > <4>[ 23.488320] RSP: 002b:7ffca7e70748 EFLAGS: 0246 ORIG_RAX: > 0003 > <4>[ 23.488333] RAX: RBX: 0001 RCX: > 7f53b4317560 > <4>[ 23.488340] RDX: 0005 RSI: 7ffca7e70640 RDI: > 0004 > <4>[ 23.488347] RBP: 55e417783900 R08: 55e418f9e290 R09: > > <4>[ 23.488356] R10: R11: 0246 R12: > 0001 > <4>[ 23.488363] R13: 7f53b4302c40 R14: R15: > > <4>[ 23.488384] Code: b5 f2 f2 e0 0f ff e9 c5 fe ff ff 80 3d 0e 4b 10 00 00 > 0f 85 c6 fe ff ff 48 c7 c7 30 73 29 a0 c6 05 fa 4a 10 00 01 e8 8e f2 f2 e0 > <0f> ff e9 ac fe ff ff e8 51 9d f3 e0 85 c0 0f 85 01 ff ff ff 48 > <4>[ 23.488780] ---[ end trace 6bc72ce7f1596190 ]--- > <7>[ 23.488844] [drm:intel_atomic_check [i915]] checking fdi config on pipe > A, lanes 1 > <7>[ 23.488911] [drm:intel_atomic_check [i915]] hw max bpp: 36, pipe bpp: > 24, dithering: 0 > > due to intel_fdi_link_freq() poking at FDI_PLL_BIOS_0. Avoid this by > recording the fdi pll frequency during device initiailisation. > > v2: Also extract the static FDI PLL frequencies for Sandybridge and > Ivybridge. > > Signed-off-by: Chris Wilson > Cc: Ville Syrjälä > Cc: Maarten Lankhorst > --- > drivers/gpu/drm/i915/i915_drv.h | 1 + > drivers/gpu/drm/i915/intel_display.c | 21 ++--- > 2 files changed, 19 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index fe93115c4caa..5e6938d0a903 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -2349,6 +2349,7 @@ struct drm_i915_private { > unsigned int max_dotclk_freq; > unsigned int rawclk_freq; > unsigned int hpll_freq;
Re: [Intel-gfx] [PATCH] drm/i915: Remove support for legacy debugfs crc interface
On Wed, Nov 08, 2017 at 11:40:19AM +0100, Maarten Lankhorst wrote: > Op 02-11-17 om 17:11 schreef Ville Syrjälä: > > On Thu, Nov 02, 2017 at 05:19:07PM +0200, Jani Nikula wrote: > >> On Thu, 02 Nov 2017, Ville Syrjälä wrote: > >>> On Thu, Nov 02, 2017 at 02:56:51PM +0100, Maarten Lankhorst wrote: > This interface is deprecated, and has been replaced by the upstream > drm crc interface. > >>> Before we nuke this I would like to see an option in the new interface > >>> to not filter out the "bad" CRCs. When analyzing how the hardware > >>> behaves seeing every CRC can be valuable. And I'm not at all convinced > >>> we should be dropping as many CRCs as we are currently. > >> I'm not against it, but do you have a concrete proposal on how that > >> option would look like? > > Some kind of of filter_bad_crcs file with a bool value perhaps? > > You can set sources, might as well add a nofilter option.. But I don't see > what it has to do > with this patch? This problem existed since before the api was introduced.. > Only difference > is kernel eats possibly corrupt CRCs now instead of IGT. I don't use igt for this. -- Ville Syrjälä Intel OTC ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited
== Series Details == Series: series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited URL : https://patchwork.freedesktop.org/series/33395/ State : success == Summary == shard-hswtotal:2540 pass:1431 dwarn:2 dfail:0 fail:10 skip:1097 time:9251s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7006/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v6 1/3] drm/i915: Add Guc/HuC firmware details to error state
On Mon, 2017-11-06 at 14:15 +, Chris Wilson wrote: > Quoting Michal Wajdeczko (2017-10-26 18:36:55) > > Include GuC and HuC firmware details in captured error state > > to provide additional debug information. To reuse existing > > uc firmware pretty printer, introduce new drm-printer variant > > that works with our i915_error_state_buf output. Also update > > uc firmware pretty printer to accept const input. > > > > v2: don't rely on current caps (Chris) > > dump correct fw info (Michal) > > v3: simplify capture of custom paths (Chris) > > v4: improve 'why' comment (Joonas) > > trim output if no fw path (Michal) > > group code around uc error state (Michal) > > v5: use error in cleanup_uc (Michal) > > > > Suggested-by: Chris Wilson > > Signed-off-by: Michal Wajdeczko > > Cc: Chris Wilson > > Cc: Joonas Lahtinen > > Removed the chunk and applied. So, this got merged. What's is the next series to look forward to? I again see multiple GuC series in my inbox and mailing list. Regards, Joonas -- Joonas Lahtinen Open Source Technology Center Intel Corporation ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/atomic-helper: always track connector commits, too
== Series Details == Series: series starting with [1/2] drm/atomic-helper: always track connector commits, too URL : https://patchwork.freedesktop.org/series/33410/ State : failure == Summary == Series 33410v1 series starting with [1/2] drm/atomic-helper: always track connector commits, too https://patchwork.freedesktop.org/api/1.0/series/33410/revisions/1/mbox/ Test chamelium: Subgroup dp-hpd-fast: skip -> INCOMPLETE (fi-ilk-650) skip -> INCOMPLETE (fi-skl-6600u) skip -> INCOMPLETE (fi-skl-6700hq) skip -> INCOMPLETE (fi-skl-6770hq) pass -> INCOMPLETE (fi-kbl-7500u) fdo#102332 +1 skip -> INCOMPLETE (fi-kbl-7567u) Test debugfs_test: Subgroup read_all_entries: pass -> INCOMPLETE (fi-bxt-j4205) pass -> INCOMPLETE (fi-kbl-r) pass -> INCOMPLETE (fi-glk-1) pass -> INCOMPLETE (fi-cnl-y) Test gem_ringfill: Subgroup basic-default-fd: pass -> DMESG-WARN (fi-bdw-gvtdvm) Test kms_busy: Subgroup basic-flip-a: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-b: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-c: pass -> SKIP (fi-hsw-4770r) Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-atomic: pass -> SKIP (fi-hsw-4770r) Subgroup basic-busy-flip-before-cursor-legacy: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-after-cursor-atomic: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-after-cursor-legacy: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-after-cursor-varying-size: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-before-cursor-atomic: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-before-cursor-legacy: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-before-cursor-varying-size: pass -> SKIP (fi-hsw-4770r) Test kms_flip: Subgroup basic-flip-vs-dpms: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-vs-modeset: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-vs-wf_vblank: pass -> SKIP (fi-hsw-4770r) Subgroup basic-plain-flip: pass -> SKIP (fi-hsw-4770r) Test kms_frontbuffer_tracking: Subgroup basic: pass -> SKIP (fi-hsw-4770r) Test kms_pipe_crc_basic: Subgroup hang-read-crc-pipe-a: pass -> SKIP (fi-hsw-4770r) Subgroup hang-read-crc-pipe-b: pass -> SKIP (fi-hsw-4770r) Subgroup hang-read-crc-pipe-c: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-a: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-a-frame-sequence: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-b: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-b-frame-sequence: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-c: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-c-frame-sequence: pass -> SKIP (fi-hsw-4770r) Subgroup read-crc-pipe-a: pass -> SKIP (fi-hsw-4770r) Subgroup read-crc-pipe-a-frame-sequence: pass -> SKIP (fi-hsw-4770r) Subgroup read-crc-pipe-b: pass -> SKIP (fi-hsw-4770r) Subgroup read-crc-pipe-c: pass -> SKIP (fi-hsw-4770r) Subgroup read-crc-pipe-c-frame-sequence: pass -> SKIP (fi-hsw-4770r) Subgroup suspend-read-crc-pipe-a: pass -> SKIP (fi-hsw-4770r) Subgroup suspend-read-crc-pipe-b: pass -> SKIP (fi-hsw-4770r) Subgroup suspend-read-crc-pipe-c: pass -> SKIP (fi-hsw-4770r) Test pm_rpm: Subgroup basic-pci-d3-state: pass -> SKIP (fi-hsw-4770r) Subgroup basic-rte: pass -> SKIP (fi-hsw-4770r) Test prime_vgem: Subgroup basic-fence-flip: pass -> SKIP (fi-hsw-4770r) Test drv_module_reload: WARNING: Long output truncated fi-bxt-dsi failed to connect after reboot 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s
[Intel-gfx] ✗ Fi.CI.BAT: warning for series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited
== Series Details == Series: series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited URL : https://patchwork.freedesktop.org/series/33395/ State : warning == Summary == Series 33395v1 series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited https://patchwork.freedesktop.org/api/1.0/series/33395/revisions/1/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 Test gem_exec_reloc: Subgroup basic-cpu-active: pass -> FAIL (fi-gdg-551) fdo#102582 +5 Subgroup basic-write-cpu-active: pass -> DMESG-WARN (fi-bsw-n3050) Test kms_flip: Subgroup basic-plain-flip: incomplete -> PASS (fi-cnl-y) fdo#103339 Test kms_pipe_crc_basic: Subgroup nonblocking-crc-pipe-c: pass -> SKIP (fi-hsw-4770r) fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fdo#102582 https://bugs.freedesktop.org/show_bug.cgi?id=102582 fdo#103339 https://bugs.freedesktop.org/show_bug.cgi?id=103339 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:445s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:452s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:379s fi-bsw-n3050 total:289 pass:242 dwarn:1 dfail:0 fail:0 skip:46 time:533s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:273s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:499s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:501s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:495s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:484s fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:551s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:431s fi-gdg-551 total:289 pass:172 dwarn:1 dfail:0 fail:7 skip:109 time:262s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:542s fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:490s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:430s fi-hsw-4770r total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:438s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:426s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:483s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:463s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:490s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:481s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:532s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:569s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:452s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:543s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:559s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:528s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:489s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:455s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:552s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:421s 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest aea2f7dd3563 drm/i915: Re-enable fastboot by default 39b9377913c3 drm/i915: Enable FIFO underrun reporting after initial fastset 08fba3d78503 drm/i915: Ignore previous watermarks on ILK if inherited == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7006/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Idle the GPU before shinking everything (rev2)
== Series Details == Series: drm/i915: Idle the GPU before shinking everything (rev2) URL : https://patchwork.freedesktop.org/series/33373/ State : failure == Summary == Series 33373v2 drm/i915: Idle the GPU before shinking everything https://patchwork.freedesktop.org/api/1.0/series/33373/revisions/2/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 Test gem_exec_flush: Subgroup basic-uc-pro-default: pass -> INCOMPLETE (fi-cnl-y) fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:444s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:459s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:533s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:273s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:502s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:506s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:501s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:489s fi-cnl-y total:63 pass:46 dwarn:0 dfail:0 fail:0 skip:16 fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:430s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:263s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:539s fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:487s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:434s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:426s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:426s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:481s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:464s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:481s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:533s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:575s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:455s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:546s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:566s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:513s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:497s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:455s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:563s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:427s 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest f5a81e16f84c drm/i915: Idle the GPU before shinking everything == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7007/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 06/11] drm/i915: Save all MMIO WAs and apply them at a later time
On Fri, 2017-11-03 at 15:56 -0700, Oscar Mateo wrote: > > On 10/16/2017 03:34 AM, Joonas Lahtinen wrote: > > On Fri, 2017-10-13 at 13:49 -0700, Oscar Mateo wrote: > > > On 10/12/2017 03:35 AM, Joonas Lahtinen wrote: > > > > On Wed, 2017-10-11 at 11:15 -0700, Oscar Mateo wrote: > > > > > By doing this, we can dump these workarounds in debugfs for > > > > > validation (which, > > > > > at the moment, we are only able to do for the contexts WAs). > > > > > > > > > > v2: > > > > > - Wrong macro used for MMIO set bit masked > > > > > - Improved naming > > > > > - Rebased > > > > > > > > > > Signed-off-by: Oscar Mateo > > > > > Cc: Chris Wilson > > > > > Cc: Mika Kuoppala > > > > > > > > > > > > > > > > > +++ b/drivers/gpu/drm/i915/i915_drv.h > > > > > @@ -1960,12 +1960,16 @@ struct i915_wa_reg { > > > > > u32 mask; > > > > >}; > > > > > > > > > > -#define I915_MAX_WA_REGS 16 > > > > > +#define I915_MAX_CTX_WA_REGS 16 > > > > > +#define I915_MAX_MMIO_WA_REGS 32 > > > > > > > > > >struct i915_workarounds { > > > > > - struct i915_wa_reg ctx_wa_reg[I915_MAX_WA_REGS]; > > > > > + struct i915_wa_reg ctx_wa_reg[I915_MAX_CTX_WA_REGS]; > > > > > u32 ctx_wa_count; > > > > > > > > > > + struct i915_wa_reg mmio_wa_reg[I915_MAX_MMIO_WA_REGS]; > > > > > + u32 mmio_wa_count; > > > > > + > > > > > u32 hw_whitelist_count[I915_NUM_ENGINES]; > > > > >}; > > > > > > > > Could we instead consider a constant structure with platform bitmasks? > > > > If that's not dynamic enough, then a bitmap which is initialized by the > > > > platform bitmasks as a default. So instead of running code to add to > > > > list, make it bit more declarative. Pseudo-code; > > > > > > > > > > > > struct i915_workaround { > > > > u16 gen_mask; > > > > enum { > > > > I915_WA_CTX, > > > > I915_WA_MMIO, > > > > I915_WA_WHITELIST, > > > > } type; > > > > u32 reg; > > > > } > > > > > > > > ... elsewhere in .c file > > > > > > > > static const struct i915_workaround i915_workarounds[] = { { > > > > /* WaSomethingSomewhereUMDFoo:skl */ > > > > .gen_mask = INTEL_GEN_MASK(X, Y), > > > > .type = I915_WA_CTX, > > > > .reg = ... > > > > } }; > > > > > > > > Regards, Joonas > > > > > > I considered it, but we have some workarounds that are even more dynamic > > > than that. E.g.: > > > > > > * WaCompressedResourceSamplerPbeMediaNewHashMode depends on > > > HAS_LLC(dev_priv) > > > * skl_tune_iz_hashing depends on number of subslices (although maybe > > > this is not technically a WA?) > > > * WaGttCachingOffByDefault needs HAS_PAGE_SIZES(dev_priv, > > > I915_GTT_PAGE_SIZE_2M) > > > * WaPsrDPRSUnmaskVBlankInSRD is applied for_each_pipe > > > > Could be multiple Wa lines each with HAS_PIPE() condition. > > > > > * Wa #1181 needs HAS_PCH_CNP(dev_priv) > > > * ... > > > > > > We even have a WA (WaTempDisableDOPClkGating) where the new design is > > > not dynamic enough :( > > > > I was thinking the array would cover the simple register writes, I > > think most of the detection problems could be covered by a simple probe > > function. One could consider caching the probing result to a bitmap. > > > > > I guess we could add a callback pointer to the table for those WAs that > > > need extra information. Maybe even a "pre" and a "post" callback > > > pointers (to cover that pesky WaTempDisableDOPClkGating). > > > > You'd still have to keep some state between pre and post. Maybe just > > have I915_WA_FUNC and then a callback to apply the ones not fitting the > > "detection" + "simple register write" scheme. > > > > It took me some time, but I found the flaw in this design: I cannot use > a callback to apply the ones not fitting the"detection" + "simple > register write" scheme as you mention, because then debugfs will not > know about those (which was the point of this whole exercise). > > I tried something like this: > > typedef bool (* wa_pre_hook_func)(struct drm_i915_private *dev_priv, >const struct i915_wa_reg *wa, >u32 *mask, u32 *value, u32 *data); > typedef void (* wa_post_hook_func)(struct drm_i915_private *dev_priv, > const struct i915_wa_reg *wa, > u32 data); > > In case mask/value need to be recalculated (e.g. skl_tune_iz_hashing or > WaGttCachingOffByDefault) but then I need to call the pre_hook on > debugfs, which I might not want to do in all cases (see > WaProgramL3SqcReg1Default). > I can special-case the problematic WAs, or even left them out of the > array, but somehow that seems worse than what we already had... > > Thoughts? I'm not sure I see the issue. If looking at gen8_set_l3sqc_credits You'd have the specialized apply() callback which sets the GEN8_L3SQCREG1 register respecting the WaTempDisableDOPClkGating. When you have a WA for applying a WA, I don't s
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Idle the GPU before shinking everything (rev2)
== Series Details == Series: drm/i915: Idle the GPU before shinking everything (rev2) URL : https://patchwork.freedesktop.org/series/33373/ State : success == Summary == Series 33373v2 drm/i915: Idle the GPU before shinking everything https://patchwork.freedesktop.org/api/1.0/series/33373/revisions/2/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:444s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:459s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:533s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:273s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:502s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:506s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:501s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:489s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:430s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:263s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:539s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:434s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:426s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:426s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:481s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:464s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:481s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:533s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:575s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:455s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:546s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:566s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:513s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:497s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:455s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:563s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:427s Blacklisted hosts: fi-cnl-y total:63 pass:46 dwarn:0 dfail:0 fail:0 skip:16 fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:487s 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest f5a81e16f84c drm/i915: Idle the GPU before shinking everything == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7007/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t 5/5] intel_gvtg_test: Handle system(3) return value.
From: Tvrtko Ursulin Avoid the build warning by checking the pkill either did not find any guests or managed to send a signal to all of them. Signed-off-by: Tvrtko Ursulin --- tools/intel_gvtg_test.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/intel_gvtg_test.c b/tools/intel_gvtg_test.c index 7a29fbdde7cd..8c3d10cbd97f 100644 --- a/tools/intel_gvtg_test.c +++ b/tools/intel_gvtg_test.c @@ -144,7 +144,9 @@ static void create_guest(void) static void destroy_all_guest(void) { -system("pkill qemu"); + int ret = system("pkill qemu"); + + igt_assert(ret == 0 || ret == 1); } static void remove_vgpu(void) -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t 2/5] aubdump: Avoid mixing declarations and code
From: Tvrtko Ursulin Avoids the build warning about ISO C90 forbiding mixing the two. Signed-off-by: Tvrtko Ursulin --- tools/aubdump.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/aubdump.c b/tools/aubdump.c index 1aeff5f4532c..27709a17abbc 100644 --- a/tools/aubdump.c +++ b/tools/aubdump.c @@ -407,6 +407,7 @@ dump_execbuffer2(int fd, struct drm_i915_gem_execbuffer2 *execbuffer2) uint32_t offset = gtt_size(); struct drm_i915_gem_exec_object2 *obj; struct bo *bo, *batch_bo; + int batch_index; void *data; /* We can't do this at open time as we're not yet authenticated. */ @@ -460,8 +461,8 @@ dump_execbuffer2(int fd, struct drm_i915_gem_execbuffer2 *execbuffer2) fail_if(bo->map == MAP_FAILED, "intel_aubdump: bo mmap failed\n"); } - int batch_index = (execbuffer2->flags & I915_EXEC_BATCH_FIRST) ? 0 : - execbuffer2->buffer_count - 1; + batch_index = (execbuffer2->flags & I915_EXEC_BATCH_FIRST) ? 0 : + execbuffer2->buffer_count - 1; batch_bo = get_bo(exec_objects[batch_index].handle); for (uint32_t i = 0; i < execbuffer2->buffer_count; i++) { obj = &exec_objects[i]; -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t 1/5] intel-gpu-overlay: Avoid theoretical string overflow
From: Tvrtko Ursulin GCC 7 notices a theoretical string overflow. Use snprintf and increase the buffer to avoid that. Signed-off-by: Tvrtko Ursulin --- overlay/overlay.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/overlay/overlay.c b/overlay/overlay.c index 5fc6958be2d9..2ec86609a464 100644 --- a/overlay/overlay.c +++ b/overlay/overlay.c @@ -743,7 +743,7 @@ static void init_gem_objects(struct overlay_context *ctx, static void show_gem_objects(struct overlay_context *ctx, struct overlay_gem_objects *go) { struct gem_objects_comm *comm; - char buf[160]; + char buf[360]; cairo_pattern_t *linear; int x, y, y1, y2; @@ -785,7 +785,7 @@ static void show_gem_objects(struct overlay_context *ctx, struct overlay_gem_obj cairo_pattern_destroy(linear); cairo_fill(ctx->cr); - sprintf(buf, "Total: %ldMB, %ld objects", + snprintf(buf, sizeof(buf), "Total: %luMB, %lu objects", go->gem_objects.total_bytes >> 20, go->gem_objects.total_count); cairo_set_source_rgba(ctx->cr, 1, 1, 1, 1); cairo_move_to(ctx->cr, x, y); @@ -798,7 +798,7 @@ static void show_gem_objects(struct overlay_context *ctx, struct overlay_gem_obj if ((comm->bytes >> 20) == 0) break; - sprintf(buf, "%s %ldMB, %ld objects", + snprintf(buf, sizeof(buf), "%s %luMB, %lu objects", comm->name, comm->bytes >> 20, comm->count); cairo_move_to(ctx->cr, x, y); cairo_show_text(ctx->cr, buf); -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t 3/5] lib/core: Avoid unused result in backtrace printing
From: Tvrtko Ursulin Add helpers for direct write to stderr to consolidate the code and avoid the unused result warning in build. v2: Use igt_ignore_warn since it is questionable whether igt_assert is safe in signal handlers. (Chris Wilson) Signed-off-by: Tvrtko Ursulin --- lib/igt_core.c | 23 --- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/lib/igt_core.c b/lib/igt_core.c index 538a4472e209..e866bf995872 100644 --- a/lib/igt_core.c +++ b/lib/igt_core.c @@ -1239,7 +1239,7 @@ static const char hex[] = "0123456789abcdef"; static void xputch(int c) { - write(STDERR_FILENO, (const void *) &c, 1); + igt_ignore_warn(write(STDERR_FILENO, (const void *) &c, 1)); } static int @@ -1384,13 +1384,23 @@ xprintf(const char *fmt, ...) va_end(ap); } +static void __write_stderr(const char *str, size_t len) +{ + igt_ignore_warn(write(STDERR_FILENO, str, len)); +} + +static void write_stderr(const char *str) +{ + __write_stderr(str, strlen(str)); +} + static void print_backtrace_sig_safe(void) { unw_cursor_t cursor; unw_context_t uc; int stack_num = 0; - write(STDERR_FILENO, "Stack trace: \n", 15); + write_stderr("Stack trace: \n"); unw_getcontext(&uc); unw_init_local(&cursor, &uc); @@ -1899,11 +1909,10 @@ static void fatal_sig_handler(int sig) continue; if (handled_signals[i].name_len) { - igt_assert_eq(write(STDERR_FILENO, "Received signal ", 16), - 16); - igt_assert_eq(write(STDERR_FILENO, handled_signals[i].name, handled_signals[i].name_len), - handled_signals[i].name_len); - igt_assert_eq(write(STDERR_FILENO, ".\n", 2), 2); + write_stderr("Received signal "); + __write_stderr(handled_signals[i].name, + handled_signals[i].name_len); + write_stderr(".\n"); } if (crash_signal(sig)) { -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t 4/5] gem_syslatency: Avoid arithmetic on void * warning
From: Tvrtko Ursulin Signed-off-by: Tvrtko Ursulin --- benchmarks/gem_syslatency.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmarks/gem_syslatency.c b/benchmarks/gem_syslatency.c index e2b1f74a43f4..580edc5f5c72 100644 --- a/benchmarks/gem_syslatency.c +++ b/benchmarks/gem_syslatency.c @@ -206,7 +206,7 @@ static void *sys_thp_alloc(void *arg) assert(ptr != MAP_FAILED); madvise(ptr, sz, MADV_HUGEPAGE); for (size_t page = 0; page < sz; page += PAGE_SIZE) - *(volatile uint32_t *)(ptr + page) = 0; + *(volatile uint32_t *)((unsigned char *)ptr + page) = 0; munmap(ptr, sz); clock_gettime(CLOCK_MONOTONIC, &now); -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t 0/5] Assorted compile warnings fixes
From: Tvrtko Ursulin As the subject says. Even if some are not perfect I doubt they make anything worse. Tvrtko Ursulin (5): intel-gpu-overlay: Avoid theoretical string overflow aubdump: Avoid mixing declarations and code lib/core: Avoid unused result in backtrace printing gem_syslatency: Avoid arithmetic on void * warning intel_gvtg_test: Handle system(3) return value. benchmarks/gem_syslatency.c | 2 +- lib/igt_core.c | 23 --- overlay/overlay.c | 6 +++--- tools/aubdump.c | 5 +++-- tools/intel_gvtg_test.c | 4 +++- 5 files changed, 26 insertions(+), 14 deletions(-) -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] gem_ctx_param: Update for context priorities
On Wed, Nov 08, 2017 at 10:24:50AM +, Tvrtko Ursulin wrote: > > On 08/11/2017 10:11, Daniel Vetter wrote: > > On Wed, Nov 08, 2017 at 09:47:20AM +, Tvrtko Ursulin wrote: > > > From: Tvrtko Ursulin > > > > > > Update the test to check for context priority get and set and at the same > > > time bump the invalid flag tests. > > > > > > Signed-off-by: Tvrtko Ursulin > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103107 > > > Cc: Daniel Vetter > > > Cc: Chris Wilson > > > Cc: Joonas Lahtinen > > > --- > > > lib/i915/gem_context.c | 25 ++--- > > > lib/i915/gem_context.h | 2 ++ > > > tests/gem_ctx_param.c | 20 +++- > > > 3 files changed, 43 insertions(+), 4 deletions(-) > > > > > > diff --git a/lib/i915/gem_context.c b/lib/i915/gem_context.c > > > index 6d9edf5e3263..778dc6ca76e3 100644 > > > --- a/lib/i915/gem_context.c > > > +++ b/lib/i915/gem_context.c > > > @@ -198,8 +198,6 @@ void gem_context_require_bannable(int fd) > > > igt_require(has_ban_period || has_bannable); > > > } > > > -#define LOCAL_I915_CONTEXT_PARAM_PRIORITY 0x6 > > > - > > > /** > > >* __gem_context_set_priority: > > >* @fd: open i915 drm file descriptor > > > @@ -219,7 +217,7 @@ int __gem_context_set_priority(int fd, uint32_t > > > ctx_id, int prio) > > > memset(&p, 0, sizeof(p)); > > > p.context = ctx_id; > > > p.size = 0; > > > - p.param = LOCAL_I915_CONTEXT_PARAM_PRIORITY; > > > + p.param = LOCAL_CONTEXT_PARAM_PRIORITY; > > > p.value = prio; > > > return __gem_context_set_param(fd, &p); > > > @@ -237,3 +235,24 @@ void gem_context_set_priority(int fd, uint32_t > > > ctx_id, int prio) > > > { > > > igt_assert(__gem_context_set_priority(fd, ctx_id, prio) == 0); > > > } > > > + > > > +/** > > > + * gem_context_get_priority: > > > + * @fd: open i915 drm file descriptor > > > + * @ctx_id: i915 context id > > > + * > > > + * Returns the current context priority. > > > + */ > > > +int gem_context_get_priority(int fd, uint32_t ctx_id) > > > +{ > > > + struct local_i915_gem_context_param p; > > > + > > > + memset(&p, 0, sizeof(p)); > > > + p.context = ctx_id; > > > + p.size = 0; > > > + p.param = LOCAL_CONTEXT_PARAM_PRIORITY; > > > + > > > + igt_assert_eq(__gem_context_get_param(fd, &p), 0); > > > + > > > + return p.value; > > > +} > > > diff --git a/lib/i915/gem_context.h b/lib/i915/gem_context.h > > > index a2339c4b6da2..ac89512225e5 100644 > > > --- a/lib/i915/gem_context.h > > > +++ b/lib/i915/gem_context.h > > > @@ -36,6 +36,7 @@ struct local_i915_gem_context_param { > > > #define LOCAL_CONTEXT_PARAM_GTT_SIZE0x3 > > > #define LOCAL_CONTEXT_PARAM_NO_ERROR_CAPTURE0x4 > > > #define LOCAL_CONTEXT_PARAM_BANNABLE0x5 > > > +#define LOCAL_CONTEXT_PARAM_PRIORITY 0x6 > > > uint64_t value; > > > }; > > > void gem_context_require_bannable(int fd); > > > @@ -50,5 +51,6 @@ int __gem_context_get_param(int fd, struct > > > local_i915_gem_context_param *p); > > > #define LOCAL_I915_CONTEXT_MIN_USER_PRIORITY-1023 > > > int __gem_context_set_priority(int fd, uint32_t ctx, int prio); > > > void gem_context_set_priority(int fd, uint32_t ctx, int prio); > > > +int gem_context_get_priority(int fd, uint32_t ctx); > > > #endif /* GEM_CONTEXT_H */ > > > diff --git a/tests/gem_ctx_param.c b/tests/gem_ctx_param.c > > > index efdaf191a1ed..43f6f96e0857 100644 > > > --- a/tests/gem_ctx_param.c > > > +++ b/tests/gem_ctx_param.c > > > @@ -136,11 +136,29 @@ igt_main > > > gem_context_set_param(fd, &arg); > > > } > > > + igt_subtest_group { > > > + igt_fixture { > > > + igt_require(gem_scheduler_enabled(fd)); > > > + igt_require(gem_scheduler_has_ctx_priority(fd)); > > > + } > > > + > > > + igt_subtest("priority-get") { > > > + igt_assert_eq(gem_context_get_priority(fd, ctx), 0); > > > + } > > > + > > > + igt_subtest("priority-set") { > > > + int prio = LOCAL_I915_CONTEXT_DEFAULT_PRIORITY - 1; > > > + > > > + gem_context_set_priority(fd, ctx, prio); > > > + igt_assert_eq(gem_context_get_priority(fd, ctx), prio); > > > + } > > > > Not sure this is really a useful test. This I would like to see tested > > "Better than nothing" and better than a broken one, just that. My re-action > to this morning's bickering. > > > would be: > > - invalid priorities, i.e. above and below the max > > - invalid priorities for non CAP_SYS_NICE, especially checking that the > >fd-passing (which X does) works in a reasonable way: root opens fd, > >passes to non-root (just change uid), do we reject higher priorities? > > > > This is the kind of stuff that I think is worth checking when adding new > > uapi, to catch potential security issues where the kernel code doesn't > > properly validate&reject invalid inp
[Intel-gfx] [PATCH igt] lib: Always enable ftrace-dump-on-oops
Some debugging information is too voluminous to enable by default, yet may be invaluable when it comes to post-mortem debugging. trace_printk() provides the facility for the trace ringbuffer to be dumped on oops, this way we can cheaply spam the debug log and only present it in case of emergency. Signed-off-by: Chris Wilson --- lib/igt_core.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/lib/igt_core.c b/lib/igt_core.c index 538a4472..ba4622d6 100644 --- a/lib/igt_core.c +++ b/lib/igt_core.c @@ -561,6 +561,28 @@ static void low_mem_killer_disable(bool disable) chmod(adj_fname, buf.st_mode); } +/* + * If the test takes out the machine, in addition to the usual dmesg + * spam, the kernel may also emit a "death rattle" -- extra debug + * information that is overkill for normal successful tests, but + * vital for post-mortem analysis. + */ +static void ftrace_dump_on_oops(bool enable) +{ + int fd; + + fd = open("/proc/sys/kernel/ftrace_dump_on_oops", O_WRONLY); + if (fd < 0) + return; + + /* +* If we fail, we do not get the death rattle we wish, but we +* still want to run the tests anyway. +*/ + igt_ignore_warn(write(fd, enable ? "1\n" : "0\n", 2)); + close(fd); +} + bool igt_exit_called; static void common_exit_handler(int sig) { @@ -858,6 +880,7 @@ out: sync(); oom_adjust_for_doom(); low_mem_killer_disable(true); + ftrace_dump_on_oops(true); } /* install exit handler, to ensure we clean up */ -- 2.15.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [CI][Patchwork] Bug fixed when using vetted tests/hosts in result comparison
Hello, A bug was found in IGT result comparison, which outputs the Patchwork (intel-gfx, intel-gfx-trybot, igt) textual results. Vetted lists were not properly handled due to missing 'global' in function. This bug has been there probably all the way since vetted was introduced, and not tested properly because there was no blacklists in that time. I'll re-run couple days worth of newest patchset results, so there will be duplicate (but more green) result emails to the mailing list and authors. Sorry for the noise. Best regards, Tomi Sarvela -- Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: warning for series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited
== Series Details == Series: series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited URL : https://patchwork.freedesktop.org/series/33395/ State : warning == Summary == Series 33395v1 series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited https://patchwork.freedesktop.org/api/1.0/series/33395/revisions/1/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 Test gem_exec_reloc: Subgroup basic-cpu-active: pass -> FAIL (fi-gdg-551) fdo#102582 +5 Subgroup basic-write-cpu-active: pass -> DMESG-WARN (fi-bsw-n3050) Test kms_pipe_crc_basic: Subgroup nonblocking-crc-pipe-c: pass -> SKIP (fi-hsw-4770r) fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fdo#102582 https://bugs.freedesktop.org/show_bug.cgi?id=102582 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:445s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:452s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:379s fi-bsw-n3050 total:289 pass:242 dwarn:1 dfail:0 fail:0 skip:46 time:533s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:273s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:499s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:501s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:495s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:484s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:431s fi-gdg-551 total:289 pass:172 dwarn:1 dfail:0 fail:7 skip:109 time:262s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:542s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:430s fi-hsw-4770r total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:438s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:426s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:483s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:463s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:490s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:481s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:532s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:569s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:452s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:543s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:559s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:528s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:489s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:455s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:552s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:421s Blacklisted hosts: fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:551s fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:490s 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest aea2f7dd3563 drm/i915: Re-enable fastboot by default 39b9377913c3 drm/i915: Enable FIFO underrun reporting after initial fastset 08fba3d78503 drm/i915: Ignore previous watermarks on ILK if inherited == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7006/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/atomic-helper: always track connector commits, too
== Series Details == Series: series starting with [1/2] drm/atomic-helper: always track connector commits, too URL : https://patchwork.freedesktop.org/series/33410/ State : failure == Summary == Series 33410v1 series starting with [1/2] drm/atomic-helper: always track connector commits, too https://patchwork.freedesktop.org/api/1.0/series/33410/revisions/1/mbox/ Test chamelium: Subgroup dp-hpd-fast: skip -> INCOMPLETE (fi-ilk-650) skip -> INCOMPLETE (fi-skl-6600u) skip -> INCOMPLETE (fi-skl-6700hq) skip -> INCOMPLETE (fi-skl-6770hq) pass -> INCOMPLETE (fi-kbl-7500u) fdo#102332 +1 skip -> INCOMPLETE (fi-kbl-7567u) Test debugfs_test: Subgroup read_all_entries: pass -> INCOMPLETE (fi-bxt-j4205) pass -> INCOMPLETE (fi-kbl-r) pass -> INCOMPLETE (fi-glk-1) Test gem_ringfill: Subgroup basic-default-fd: pass -> DMESG-WARN (fi-bdw-gvtdvm) Test kms_busy: Subgroup basic-flip-a: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-b: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-c: pass -> SKIP (fi-hsw-4770r) Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-atomic: pass -> SKIP (fi-hsw-4770r) Subgroup basic-busy-flip-before-cursor-legacy: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-after-cursor-atomic: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-after-cursor-legacy: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-after-cursor-varying-size: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-before-cursor-atomic: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-before-cursor-legacy: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-before-cursor-varying-size: pass -> SKIP (fi-hsw-4770r) Test kms_flip: Subgroup basic-flip-vs-dpms: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-vs-modeset: pass -> SKIP (fi-hsw-4770r) Subgroup basic-flip-vs-wf_vblank: pass -> SKIP (fi-hsw-4770r) Subgroup basic-plain-flip: pass -> SKIP (fi-hsw-4770r) Test kms_frontbuffer_tracking: Subgroup basic: pass -> SKIP (fi-hsw-4770r) Test kms_pipe_crc_basic: Subgroup hang-read-crc-pipe-a: pass -> SKIP (fi-hsw-4770r) Subgroup hang-read-crc-pipe-b: pass -> SKIP (fi-hsw-4770r) Subgroup hang-read-crc-pipe-c: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-a: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-a-frame-sequence: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-b: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-b-frame-sequence: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-c: pass -> SKIP (fi-hsw-4770r) Subgroup nonblocking-crc-pipe-c-frame-sequence: pass -> SKIP (fi-hsw-4770r) Subgroup read-crc-pipe-a: pass -> SKIP (fi-hsw-4770r) Subgroup read-crc-pipe-a-frame-sequence: pass -> SKIP (fi-hsw-4770r) Subgroup read-crc-pipe-b: pass -> SKIP (fi-hsw-4770r) Subgroup read-crc-pipe-c: pass -> SKIP (fi-hsw-4770r) Subgroup read-crc-pipe-c-frame-sequence: pass -> SKIP (fi-hsw-4770r) Subgroup suspend-read-crc-pipe-a: pass -> SKIP (fi-hsw-4770r) Subgroup suspend-read-crc-pipe-b: pass -> SKIP (fi-hsw-4770r) Subgroup suspend-read-crc-pipe-c: pass -> SKIP (fi-hsw-4770r) Test pm_rpm: Subgroup basic-pci-d3-state: pass -> SKIP (fi-hsw-4770r) Subgroup basic-rte: pass -> SKIP (fi-hsw-4770r) Test prime_vgem: Subgroup basic-fence-flip: pass -> SKIP (fi-hsw-4770r) Test drv_module_reload: Subgroup basic-reload-inject: WARNING: Long output truncated fi-bxt-dsi failed to connect after reboot 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integrat
[Intel-gfx] ✗ Fi.CI.BAT: warning for series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited
== Series Details == Series: series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited URL : https://patchwork.freedesktop.org/series/33395/ State : warning == Summary == Series 33395v1 series starting with [(resend),1/3] drm/i915: Ignore previous watermarks on ILK if inherited https://patchwork.freedesktop.org/api/1.0/series/33395/revisions/1/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 Test gem_exec_reloc: Subgroup basic-cpu-active: pass -> FAIL (fi-gdg-551) fdo#102582 +5 Subgroup basic-write-cpu-active: pass -> DMESG-WARN (fi-bsw-n3050) Test kms_pipe_crc_basic: Subgroup nonblocking-crc-pipe-c: pass -> SKIP (fi-hsw-4770r) fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fdo#102582 https://bugs.freedesktop.org/show_bug.cgi?id=102582 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:445s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:452s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:379s fi-bsw-n3050 total:289 pass:242 dwarn:1 dfail:0 fail:0 skip:46 time:533s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:273s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:499s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:501s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:495s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:484s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:431s fi-gdg-551 total:289 pass:172 dwarn:1 dfail:0 fail:7 skip:109 time:262s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:542s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:430s fi-hsw-4770r total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:438s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:426s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:483s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:463s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:490s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:481s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:532s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:569s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:452s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:543s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:559s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:528s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:489s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:455s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:552s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:421s Blacklisted hosts: fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:551s fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:490s 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest aea2f7dd3563 drm/i915: Re-enable fastboot by default 39b9377913c3 drm/i915: Enable FIFO underrun reporting after initial fastset 08fba3d78503 drm/i915: Ignore previous watermarks on ILK if inherited == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7006/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH igt] lib: Always enable ftrace-dump-on-oops
Some debugging information is too voluminous to enable by default, yet may be invaluable when it comes to post-mortem debugging. trace_printk() provides the facility for the trace ringbuffer to be dumped on oops, this way we can cheaply spam the debug log and only present it in case of emergency. Signed-off-by: Chris Wilson --- lib/igt_core.c | 23 +++ 1 file changed, 23 insertions(+) diff --git a/lib/igt_core.c b/lib/igt_core.c index 538a4472..ba4622d6 100644 --- a/lib/igt_core.c +++ b/lib/igt_core.c @@ -561,6 +561,28 @@ static void low_mem_killer_disable(bool disable) chmod(adj_fname, buf.st_mode); } +/* + * If the test takes out the machine, in addition to the usual dmesg + * spam, the kernel may also emit a "death rattle" -- extra debug + * information that is overkill for normal successful tests, but + * vital for post-mortem analysis. + */ +static void ftrace_dump_on_oops(bool enable) +{ + int fd; + + fd = open("/proc/sys/kernel/ftrace_dump_on_oops", O_WRONLY); + if (fd < 0) + return; + + /* +* If we fail, we do not get the death rattle we wish, but we +* still want to run the tests anyway. +*/ + igt_ignore_warn(write(fd, enable ? "1\n" : "0\n", 2)); + close(fd); +} + bool igt_exit_called; static void common_exit_handler(int sig) { @@ -858,6 +880,7 @@ out: sync(); oom_adjust_for_doom(); low_mem_killer_disable(true); + ftrace_dump_on_oops(true); } /* install exit handler, to ensure we clean up */ -- 2.15.0 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/dp: Add DP DSC DPCD receiver capability size define and missing SHIFT (rev2)
== Series Details == Series: drm/dp: Add DP DSC DPCD receiver capability size define and missing SHIFT (rev2) URL : https://patchwork.freedesktop.org/series/33380/ State : success == Summary == Series 33380v2 drm/dp: Add DP DSC DPCD receiver capability size define and missing SHIFT https://patchwork.freedesktop.org/api/1.0/series/33380/revisions/2/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:442s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:451s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:383s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:531s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:273s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:496s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:502s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:494s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:485s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:430s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:258s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:542s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:426s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:431s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:430s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:475s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:462s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:486s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:535s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:574s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:473s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:547s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:564s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:519s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:492s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:461s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:558s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:421s Blacklisted hosts: fi-glk-dsi total:70 pass:52 dwarn:0 dfail:0 fail:1 skip:16 fi-cnl-y failed to connect after reboot 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest 62123820cd8d drm/dp: Add DP DSC DPCD receiver capability size define and missing SHIFT == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7005/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t 5/5] intel_gvtg_test: Handle system(3) return value.
Quoting Tvrtko Ursulin (2017-11-08 12:06:54) > From: Tvrtko Ursulin > > Avoid the build warning by checking the pkill either did not find > any guests or managed to send a signal to all of them. > > Signed-off-by: Tvrtko Ursulin > --- > tools/intel_gvtg_test.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tools/intel_gvtg_test.c b/tools/intel_gvtg_test.c > index 7a29fbdde7cd..8c3d10cbd97f 100644 > --- a/tools/intel_gvtg_test.c > +++ b/tools/intel_gvtg_test.c > @@ -144,7 +144,9 @@ static void create_guest(void) > > static void destroy_all_guest(void) > { > -system("pkill qemu"); > + int ret = system("pkill qemu"); > + > + igt_assert(ret == 0 || ret == 1); igt_terminate_process("qemu"); Still wants the return checked. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v6 1/3] drm/i915: Add Guc/HuC firmware details to error state
On Wed, 08 Nov 2017 12:27:20 +0100, Joonas Lahtinen wrote: On Mon, 2017-11-06 at 14:15 +, Chris Wilson wrote: Quoting Michal Wajdeczko (2017-10-26 18:36:55) > Include GuC and HuC firmware details in captured error state > to provide additional debug information. To reuse existing > uc firmware pretty printer, introduce new drm-printer variant > that works with our i915_error_state_buf output. Also update > uc firmware pretty printer to accept const input. > > v2: don't rely on current caps (Chris) > dump correct fw info (Michal) > v3: simplify capture of custom paths (Chris) > v4: improve 'why' comment (Joonas) > trim output if no fw path (Michal) > group code around uc error state (Michal) > v5: use error in cleanup_uc (Michal) > > Suggested-by: Chris Wilson > Signed-off-by: Michal Wajdeczko > Cc: Chris Wilson > Cc: Joonas Lahtinen Removed the chunk and applied. So, this got merged. What's is the next series to look forward to? I again see multiple GuC series in my inbox and mailing list. I think we should wait now for new series from Sujaritha Michal ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915: Use trace_printk to provide a death rattle for GEM
Trying to enable printk debugging for GEM is fraught with the issue of spam; interactions with HW are very frequent and often boring. However, one instance where they are not so boring is just before a BUG; here ftrace provides a facility to dump its ringbuffer on an oops. So for CI let's enable trace_printk() to capture the last exchanges with HW as a death rattle. For example, [ 72.120722] [ cut here ] [ 72.120748] kernel BUG at drivers/gpu/drm/i915/intel_lrc.c:905! [ 72.120756] invalid opcode: [#1] SMP [ 72.120762] Dumping ftrace buffer: [ 72.120768] - ... [ 72.200424] gem_conc-10640..s1 71949306us : intel_lrc_irq_handler: bcs0 in: ctx=4.1, seqno=161 [ 72.200469] gem_conc-10640..s1 71949312us : intel_lrc_irq_handler: bcs0 in: ctx=6.2, seqno=160 [ 72.200512] gem_conc-10661..s1 71949325us : intel_lrc_irq_handler: bcs0 csb[4/4]: status=0x8002 [ 72.200555] gem_conc-10661..s1 71949326us : intel_lrc_irq_handler: bcs0 out: ctx=6, seqno=160 [ 72.200601] gem_conc-10661..s. 71956923us : intel_lrc_irq_handler: bcs0 csb[5/5]: status=0x0014 [ 72.200646] gem_conc-10661..s. 71956928us : intel_lrc_irq_handler: bcs0 out: ctx=6, seqno=160 [ 72.200690] gem_conc-10661..s. 71956939us : intel_lrc_irq_handler: bcs0 in: ctx=8.1, seqno=164 [ 72.200736] gem_conc-10661..s. 71956940us : intel_lrc_irq_handler: bcs0 in: ctx=4.2, seqno=162 [ 72.200780] gem_conc-10661..s. 71956951us : intel_lrc_irq_handler: bcs0 csb[0/0]: status=0x8002 [ 72.200824] gem_conc-10661..s. 71956951us : intel_lrc_irq_handler: bcs0 out: ctx=4, seqno=162 [ 72.200867] -0 1..s1 71967999us : intel_lrc_irq_handler: bcs0 csb[1/1]: status=0x0014 [ 72.200912] -0 1..s1 71968001us : intel_lrc_irq_handler: bcs0 out: ctx=4, seqno=162 [ 72.200956] -0 1.Ns1 71979385us : intel_lrc_irq_handler: bcs0 csb[2/2]: status=0x0018 [ 72.201001] -0 1.Ns1 71979388us : intel_lrc_irq_handler: bcs0 out: ctx=8, seqno=164 [ 72.201044] gem_conc-10633..s1 72086825us : intel_lrc_irq_handler: bcs0 in: ctx=7.1, seqno=165 [ 72.201088] gem_conc-10661..s. 72086918us : intel_lrc_irq_handler: bcs0 csb[3/3]: status=0x0001 [ 72.201132] gem_conc-10661..s. 72086932us : intel_lrc_irq_handler: bcs0 in: ctx=7.2, seqno=166 [ 72.201176] gem_conc-10661..s. 72086941us : intel_lrc_irq_handler: bcs0 csb[4/4]: status=0x8002 [ 72.201219] gem_conc-10661..s. 72086941us : intel_lrc_irq_handler: bcs0 out: ctx=7, seqno=166 [ 72.201263] gem_conc-10661..s. 72103855us : intel_lrc_irq_handler: bcs0 csb[5/5]: status=0x0018 [ 72.201307] gem_conc-10661..s. 72103858us : intel_lrc_irq_handler: bcs0 out: ctx=7, seqno=166 [ 72.201351] gem_conc-10640..s1 72116924us : intel_lrc_irq_handler: bcs0 in: ctx=4.1, seqno=167 [ 72.201394] gem_conc-10640..s1 72116981us : intel_lrc_irq_handler: bcs0 in: ctx=4.2, seqno=168 [ 72.201438] gem_conc-10661..s1 72117545us : intel_lrc_irq_handler: bcs0 csb[0/2]: status=0x0012 [ 72.201482] gem_conc-10661..s1 72117547us : intel_lrc_irq_handler: bcs0 out: ctx=4, seqno=168 [ 72.201526] gem_conc-10661..s1 72117548us : intel_lrc_irq_handler: bcs0 csb[1/2]: status=0x8002 [ 72.201570] gem_conc-10661..s1 72117548us : intel_lrc_irq_handler: bcs0 out: ctx=4, seqno=168 [ 72.201578] - Signed-off-by: Chris Wilson Cc: Mika Kuoppala Cc: Joonas Lahtinen Cc: Tvrtko Ursulin --- drivers/gpu/drm/i915/Kconfig.debug | 14 ++ drivers/gpu/drm/i915/i915_gem.h| 6 ++ drivers/gpu/drm/i915/intel_lrc.c | 13 + 3 files changed, 33 insertions(+) diff --git a/drivers/gpu/drm/i915/Kconfig.debug b/drivers/gpu/drm/i915/Kconfig.debug index 19c77c6feb24..9e53edbc713b 100644 --- a/drivers/gpu/drm/i915/Kconfig.debug +++ b/drivers/gpu/drm/i915/Kconfig.debug @@ -28,6 +28,7 @@ config DRM_I915_DEBUG select SW_SYNC # signaling validation framework (igt/syncobj*) select DRM_I915_SW_FENCE_DEBUG_OBJECTS select DRM_I915_SELFTEST + select DRM_I915_TRACE_GEM default n help Choose this option to turn on extra driver debugging that may affect @@ -49,6 +50,19 @@ config DRM_I915_DEBUG_GEM If in doubt, say "N". +config DRM_I915_TRACE_GEM + bool "Insert extra ftrace output from the GEM internals" + select TRACING + default n + help + Enable additional and verbose debugging output that will spam + ordinary tests, but may be vital for post-mortem debugging when + used with /proc/sys/kernel/ftrace_dump_on_oops + + Recommended for driver developers only. + + If in doubt, say "N". + config DRM_I915_SW_FENCE_DEBUG_OBJECTS bool "Enable additional driver debugging for fence objects" depends on DRM_I915 diff --git a/d
[Intel-gfx] ✓ Fi.CI.BAT: success for ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock
== Series Details == Series: ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock URL : https://patchwork.freedesktop.org/series/33372/ State : success == Summary == Series 33372v1 ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock https://patchwork.freedesktop.org/api/1.0/series/33372/revisions/1/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:442s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:379s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:539s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:278s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:508s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:511s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:491s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:433s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:262s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:541s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:433s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:428s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:425s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:476s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:461s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:485s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:520s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:479s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:531s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:570s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:456s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:543s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:565s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:518s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:499s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:455s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:554s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:421s Blacklisted hosts: fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:557s fi-glk-dsi total:182 pass:158 dwarn:0 dfail:0 fail:1 skip:22 fi-bdw-gvtdvm failed to connect after reboot fi-byt-n2820 failed to connect after reboot 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest 9c87551c19e0 ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7001/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t 5/5] intel_gvtg_test: Handle system(3) return value.
On Wed, Nov 08, 2017 at 12:06:54PM +, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin > > Avoid the build warning by checking the pkill either did not find > any guests or managed to send a signal to all of them. > > Signed-off-by: Tvrtko Ursulin > --- > tools/intel_gvtg_test.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tools/intel_gvtg_test.c b/tools/intel_gvtg_test.c > index 7a29fbdde7cd..8c3d10cbd97f 100644 > --- a/tools/intel_gvtg_test.c > +++ b/tools/intel_gvtg_test.c > @@ -144,7 +144,9 @@ static void create_guest(void) > > static void destroy_all_guest(void) > { > -system("pkill qemu"); > + int ret = system("pkill qemu"); > + > + igt_assert(ret == 0 || ret == 1); system() returns a wait status and you need to inspect it with WEXITSTATUS(ret). -- Petri Latvala > } > > static void remove_vgpu(void) > -- > 2.14.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
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/crt: Silence compiler warning for uninitialised status
== Series Details == Series: drm/i915/crt: Silence compiler warning for uninitialised status URL : https://patchwork.freedesktop.org/series/33365/ State : success == Summary == Series 33365v1 drm/i915/crt: Silence compiler warning for uninitialised status https://patchwork.freedesktop.org/api/1.0/series/33365/revisions/1/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:441s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:457s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:543s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:277s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:511s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:503s fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:495s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:429s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:259s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:540s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:435s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:432s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:421s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:476s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:462s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:480s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:524s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:477s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:535s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:569s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:451s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:547s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:561s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:513s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:496s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:454s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:563s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:417s Blacklisted hosts: fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:564s fi-glk-dsi total:289 pass:257 dwarn:0 dfail:0 fail:2 skip:30 time:504s fi-byt-n2820 failed to connect after reboot 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest e7545f84e7ac drm/i915/crt: Silence compiler warning for uninitialised status == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6999/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Ignore frequent clang warnings
== Series Details == Series: drm/i915: Ignore frequent clang warnings URL : https://patchwork.freedesktop.org/series/33366/ State : success == Summary == Series 33366v1 drm/i915: Ignore frequent clang warnings https://patchwork.freedesktop.org/api/1.0/series/33366/revisions/1/mbox/ Test chamelium: Subgroup dp-crc-fast: fail -> PASS (fi-kbl-7500u) fdo#102514 Test kms_busy: Subgroup basic-flip-c: pass -> INCOMPLETE (fi-bxt-j4205) fdo#102035 Test drv_module_reload: Subgroup basic-reload: pass -> DMESG-WARN (fi-bsw-n3050) fdo#103479 fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fdo#102035 https://bugs.freedesktop.org/show_bug.cgi?id=102035 fdo#103479 https://bugs.freedesktop.org/show_bug.cgi?id=103479 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:446s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:458s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:242 dwarn:1 dfail:0 fail:0 skip:46 time:547s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:274s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:506s fi-bxt-j4205 total:208 pass:186 dwarn:0 dfail:0 fail:0 skip:21 fi-byt-j1900 total:289 pass:254 dwarn:0 dfail:0 fail:0 skip:35 time:491s fi-byt-n2820 total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:487s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:432s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:263s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:540s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:434s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:433s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:424s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:488s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:460s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:482s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:524s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:477s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:537s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:571s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:449s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:541s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:566s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:527s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:495s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:463s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:554s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:417s Blacklisted hosts: fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:556s fi-glk-dsi total:289 pass:257 dwarn:0 dfail:0 fail:2 skip:30 time:509s 748f2c6b4046b23a623b4af3799563ef3110bb0d drm-tip: 2017y-11m-08d-07h-50m-13s UTC integration manifest 97d5875c2810 drm/i915: Ignore frequent clang warnings == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7000/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock
On Wed, Nov 8, 2017 at 12:06 AM, Rafael J. Wysocki wrote: > On Tuesday, November 7, 2017 11:47:54 PM CET Rafael J. Wysocki wrote: >> On Tue, Nov 7, 2017 at 10:08 PM, Ville Syrjala >> wrote: >> > From: Ville Syrjälä >> > >> > acpi_remove_pm_notifier() ends up calling flush_workqueue() while >> > holding acpi_pm_notifier_lock, and that same lock is taken by >> > by the work via acpi_pm_notify_handler(). This can deadlock. >> >> OK, good catch! >> >> [cut] >> >> > >> > Cc: sta...@vger.kernel.org >> > Cc: Rafael J. Wysocki >> > Cc: Len Brown >> > Cc: Peter Zijlstra >> > Cc: Tejun Heo >> > Cc: Ingo Molnar >> > Fixes: c072530f391e ("ACPI / PM: Revork the handling of ACPI device wakeup >> > notifications") >> > Signed-off-by: Ville Syrjälä >> > --- >> > drivers/acpi/device_pm.c | 21 - >> > 1 file changed, 12 insertions(+), 9 deletions(-) >> > >> > diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c >> > index fbcc73f7a099..18af71057b44 100644 >> > --- a/drivers/acpi/device_pm.c >> > +++ b/drivers/acpi/device_pm.c >> > @@ -387,6 +387,7 @@ EXPORT_SYMBOL(acpi_bus_power_manageable); >> > >> > #ifdef CONFIG_PM >> > static DEFINE_MUTEX(acpi_pm_notifier_lock); >> > +static DEFINE_MUTEX(acpi_pm_notifier_install_lock); >> > >> > void acpi_pm_wakeup_event(struct device *dev) >> > { >> > @@ -443,24 +444,25 @@ acpi_status acpi_add_pm_notifier(struct acpi_device >> > *adev, struct device *dev, >> > if (!dev && !func) >> > return AE_BAD_PARAMETER; >> > >> > - mutex_lock(&acpi_pm_notifier_lock); >> > + mutex_lock(&acpi_pm_notifier_install_lock); >> > >> > if (adev->wakeup.flags.notifier_present) >> > goto out; >> > >> > - adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); >> > - adev->wakeup.context.dev = dev; >> > - adev->wakeup.context.func = func; >> > - >> >> But this doesn't look good to me. >> >> notifier_present should be checked under acpi_pm_notifier_lock. >> >> Actually, acpi_install_notify_handler() itself need not be called >> under the lock, because it does sufficient checks of its own. >> >> So say you do >> >> mutex_lock(&acpi_pm_notifier_lock); >> >> if (adev->wakeup.context.dev) >> goto out; >> >> adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); >> adev->wakeup.context.dev = dev; >> adev->wakeup.context.func = func; >> >> mutex_unlock(&acpi_pm_notifier_lock); >> >> > status = acpi_install_notify_handler(adev->handle, >> > ACPI_SYSTEM_NOTIFY, >> > acpi_pm_notify_handler, NULL); >> > if (ACPI_FAILURE(status)) >> > goto out; >> > >> > + mutex_lock(&acpi_pm_notifier_lock); >> >> And here you just set notifier_present under acpi_pm_notifier_lock. >> >> > + adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); >> > + adev->wakeup.context.dev = dev; >> > + adev->wakeup.context.func = func; >> > adev->wakeup.flags.notifier_present = true; >> > + mutex_unlock(&acpi_pm_notifier_lock); >> > >> > out: >> > - mutex_unlock(&acpi_pm_notifier_lock); >> > + mutex_unlock(&acpi_pm_notifier_install_lock); >> > return status; >> > } >> >> Then on removal you can clear notifier_present first and drop the lock >> around the acpi_remove_notify_handler() call and nothing bad will >> happen. >> >> If you call acpi_add_pm_notifier() twice in parallel, the first >> instance will set context.dev and the second one will see it set and >> bail out. The first instance will then do the rest. >> >> If you call acpi_remove_pm_notifier() twice in a row, the first >> instance will see notifier_present set and will clear it, so the >> second one will see notifier_present unset and it will bail out. >> >> Now, if you call acpi_remove_pm_notifier() in parallel with >> acpi_add_pm_notifier(), either the former will see notifier_present >> unset and bail out, or the latter will see context.dev unset and bail >> out. >> >> It doesn't look like the outer lock is needed, or have I missed anything? > > So something like the below (totally untested) should work too, shouldn't it? There is a problem if a device is removed while acpi_add_pm_notifier() is still in progress, in which case with my patch the acpi_remove_pm_notifier() called from the removal path may bail out prematurely (that doesn't seem likely to happen, but still I don't see why it cannot happen), so I'll just use your patch. :-) Thanks, Rafael ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Include intel_engine_is_idle() status in engine pretty-printer
== Series Details == Series: drm/i915: Include intel_engine_is_idle() status in engine pretty-printer URL : https://patchwork.freedesktop.org/series/33354/ State : success == Summary == Series 33354v1 drm/i915: Include intel_engine_is_idle() status in engine pretty-printer https://patchwork.freedesktop.org/api/1.0/series/33354/revisions/1/mbox/ Test kms_pipe_crc_basic: Subgroup read-crc-pipe-b: skip -> PASS (fi-hsw-4770r) fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:443s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:454s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:550s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:275s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:503s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:507s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:504s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:487s fi-cfl-s total:289 pass:254 dwarn:3 dfail:0 fail:0 skip:32 time:552s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:429s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:262s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:590s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:432s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:433s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:430s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:496s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:459s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:498s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:577s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:478s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:582s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:570s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:456s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:597s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:651s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:519s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:505s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:460s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:573s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:423s Blacklisted hosts: fi-cnl-y total:289 pass:222 dwarn:0 dfail:0 fail:0 skip:24 fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:488s eb031b266f224a2b9ded3b0b5c425991fea8f8c5 drm-tip: 2017y-11m-07d-14h-27m-25s UTC integration manifest 6caaee014e96 drm/i915: Include intel_engine_is_idle() status in engine pretty-printer == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6994/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: warning for drm/i915: Enable runtime pm
== Series Details == Series: drm/i915: Enable runtime pm URL : https://patchwork.freedesktop.org/series/33359/ State : warning == Summary == Series 33359v1 drm/i915: Enable runtime pm https://patchwork.freedesktop.org/api/1.0/series/33359/revisions/1/mbox/ Test chamelium: Subgroup dp-crc-fast: pass -> DMESG-WARN (fi-kbl-7500u) fdo#102514 Test kms_pipe_crc_basic: Subgroup read-crc-pipe-b: skip -> PASS (fi-hsw-4770r) Subgroup read-crc-pipe-c-frame-sequence: pass -> SKIP (fi-hsw-4770r) fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:444s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:456s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:379s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:547s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:275s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:508s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:504s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:505s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:485s fi-cfl-s total:289 pass:254 dwarn:3 dfail:0 fail:0 skip:32 time:550s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:428s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:264s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:587s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:449s fi-hsw-4770r total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:432s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:430s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:503s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:458s fi-kbl-7500u total:289 pass:263 dwarn:2 dfail:0 fail:0 skip:24 time:489s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:575s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:590s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:575s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:460s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:596s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:651s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:521s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:505s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:460s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:574s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:418s Blacklisted hosts: fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:597s fi-glk-dsi total:289 pass:191 dwarn:1 dfail:4 fail:0 skip:93 time:426s eb031b266f224a2b9ded3b0b5c425991fea8f8c5 drm-tip: 2017y-11m-07d-14h-27m-25s UTC integration manifest 0b80ad6c25c1 drm/i915: Enable runtime pm == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6996/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t 1/5] intel-gpu-overlay: Avoid theoretical string overflow
On Wed, Nov 08, 2017 at 12:06:50PM +, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin > > GCC 7 notices a theoretical string overflow. Use snprintf and increase > the buffer to avoid that. > > Signed-off-by: Tvrtko Ursulin Reviewed-by: Petri Latvala > --- > overlay/overlay.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/overlay/overlay.c b/overlay/overlay.c > index 5fc6958be2d9..2ec86609a464 100644 > --- a/overlay/overlay.c > +++ b/overlay/overlay.c > @@ -743,7 +743,7 @@ static void init_gem_objects(struct overlay_context *ctx, > static void show_gem_objects(struct overlay_context *ctx, struct > overlay_gem_objects *go) > { > struct gem_objects_comm *comm; > - char buf[160]; > + char buf[360]; > cairo_pattern_t *linear; > int x, y, y1, y2; > > @@ -785,7 +785,7 @@ static void show_gem_objects(struct overlay_context *ctx, > struct overlay_gem_obj > cairo_pattern_destroy(linear); > cairo_fill(ctx->cr); > > - sprintf(buf, "Total: %ldMB, %ld objects", > + snprintf(buf, sizeof(buf), "Total: %luMB, %lu objects", > go->gem_objects.total_bytes >> 20, go->gem_objects.total_count); > cairo_set_source_rgba(ctx->cr, 1, 1, 1, 1); > cairo_move_to(ctx->cr, x, y); > @@ -798,7 +798,7 @@ static void show_gem_objects(struct overlay_context *ctx, > struct overlay_gem_obj > if ((comm->bytes >> 20) == 0) > break; > > - sprintf(buf, "%s %ldMB, %ld objects", > + snprintf(buf, sizeof(buf), "%s %luMB, %lu objects", > comm->name, comm->bytes >> 20, comm->count); > cairo_move_to(ctx->cr, x, y); > cairo_show_text(ctx->cr, buf); > -- > 2.14.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
Re: [Intel-gfx] [PATCH] drm/i915: Include intel_engine_is_idle() status in engine pretty-printer
On Tue, 2017-11-07 at 15:22 +, Chris Wilson wrote: > Upon parking, if we discover an active engine we dump its state. Follow > that state with an indication of whether the engine was idle. > > References: https://bugs.freedesktop.org/show_bug.cgi?id=103479 > Signed-off-by: Chris Wilson > Cc: Mika Kuoppala > +++ b/drivers/gpu/drm/i915/intel_engine_cs.c > @@ -1835,6 +1835,7 @@ void intel_engine_dump(struct intel_engine_cs *engine, > struct drm_printer *m) > } > spin_unlock_irq(&b->rb_lock); > > + drm_printf(m, "Idle? %s\n", yesno(intel_engine_is_idle(engine))); Reviewed-by: Joonas Lahtinen Regards, Joonas -- Joonas Lahtinen Open Source Technology Center Intel Corporation ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for Add Plane Color Properties (rev2)
== Series Details == Series: Add Plane Color Properties (rev2) URL : https://patchwork.freedesktop.org/series/30875/ State : success == Summary == Series 30875v2 Add Plane Color Properties https://patchwork.freedesktop.org/api/1.0/series/30875/revisions/2/mbox/ Test chamelium: Subgroup dp-crc-fast: pass -> FAIL (fi-kbl-7500u) fdo#102514 Test core_auth: Subgroup basic-auth: dmesg-warn -> PASS (fi-bsw-n3050) fdo#103479 +1 Test gem_sync: Subgroup basic-store-all: fail -> PASS (fi-ivb-3520m) fdo#17 Test kms_pipe_crc_basic: Subgroup hang-read-crc-pipe-b: pass -> FAIL (fi-skl-6700k) fdo#103191 fdo#102514 https://bugs.freedesktop.org/show_bug.cgi?id=102514 fdo#103479 https://bugs.freedesktop.org/show_bug.cgi?id=103479 fdo#17 https://bugs.freedesktop.org/show_bug.cgi?id=17 fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:444s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:457s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:379s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:538s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:277s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:504s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:503s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:506s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:497s fi-cfl-s total:289 pass:254 dwarn:3 dfail:0 fail:0 skip:32 time:559s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:425s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:263s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:595s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:433s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:429s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:429s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:488s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:462s fi-kbl-7500u total:289 pass:263 dwarn:1 dfail:0 fail:1 skip:24 time:486s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:580s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:483s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:587s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:573s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:454s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:600s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:649s fi-skl-6700k total:289 pass:264 dwarn:0 dfail:0 fail:1 skip:24 time:524s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:502s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:463s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:572s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:422s Blacklisted hosts: fi-glk-dsi total:289 pass:239 dwarn:1 dfail:4 fail:0 skip:45 time:473s b911f67a17e5eef16d49a51b83f7da12666e3be6 drm-tip: 2017y-11m-07d-11h-11m-37s UTC integration manifest 9bc7cd3fed32 drm/i915: Load plane color luts from atomic flip 885a07d97e61 drm/i915: Implement Plane Gamma for Bdw and Gen9 platforms 81e35d5d8e56 drm/i915: Enable plane color features 86eb07be510e drm: Define helper function for plane color enabling bb9318342473 drm: Add Plane Gamma properties ad5a351603cf drm: Add Plane CTM property 120c35761405 drm: Add Plane Degamma properties == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6988/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t 4/5] gem_syslatency: Avoid arithmetic on void * warning
On Wed, Nov 08, 2017 at 12:06:53PM +, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin > > Signed-off-by: Tvrtko Ursulin Chris wanted to disable the warning here instead. Either way is fine with me so Reviewed-by: Petri Latvala > --- > benchmarks/gem_syslatency.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/benchmarks/gem_syslatency.c b/benchmarks/gem_syslatency.c > index e2b1f74a43f4..580edc5f5c72 100644 > --- a/benchmarks/gem_syslatency.c > +++ b/benchmarks/gem_syslatency.c > @@ -206,7 +206,7 @@ static void *sys_thp_alloc(void *arg) > assert(ptr != MAP_FAILED); > madvise(ptr, sz, MADV_HUGEPAGE); > for (size_t page = 0; page < sz; page += PAGE_SIZE) > - *(volatile uint32_t *)(ptr + page) = 0; > + *(volatile uint32_t *)((unsigned char *)ptr + page) = 0; > munmap(ptr, sz); > > clock_gettime(CLOCK_MONOTONIC, &now); > -- > 2.14.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
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/vblanks: Deal with HW vblank counter resets.
== Series Details == Series: drm/vblanks: Deal with HW vblank counter resets. URL : https://patchwork.freedesktop.org/series/33316/ State : success == Summary == Series 33316v1 drm/vblanks: Deal with HW vblank counter resets. https://patchwork.freedesktop.org/api/1.0/series/33316/revisions/1/mbox/ Test debugfs_test: Subgroup read_all_entries: pass -> DMESG-WARN (fi-cfl-s) fdo#103186 +4 Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: fail -> PASS (fi-gdg-551) fdo#102618 fdo#103186 https://bugs.freedesktop.org/show_bug.cgi?id=103186 fdo#102618 https://bugs.freedesktop.org/show_bug.cgi?id=102618 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:444s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:450s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:381s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:544s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:275s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:510s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:505s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:506s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:484s fi-cfl-s total:289 pass:249 dwarn:8 dfail:0 fail:0 skip:32 time:565s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:429s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:263s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:579s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:431s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:434s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:425s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:498s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:464s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:576s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:484s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:584s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:560s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:461s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:593s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:656s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:528s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:500s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:459s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:571s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:424s Blacklisted hosts: fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:610s fi-glk-dsi total:289 pass:257 dwarn:0 dfail:0 fail:2 skip:30 time:502s 4295e1469b2127d79d2d02ef34d065509bdded97 drm-tip: 2017y-11m-06d-15h-35m-57s UTC integration manifest d25a7d02cb8e drm/vblanks: Deal with HW vblank counter resets. == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6980/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Generalize transcoder looping (rev2)
== Series Details == Series: drm/i915: Generalize transcoder looping (rev2) URL : https://patchwork.freedesktop.org/series/32965/ State : success == Summary == Series 32965v2 drm/i915: Generalize transcoder looping https://patchwork.freedesktop.org/api/1.0/series/32965/revisions/2/mbox/ fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:445s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:449s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:531s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:274s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:510s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:500s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:510s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:495s fi-cfl-s total:289 pass:254 dwarn:3 dfail:0 fail:0 skip:32 time:551s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:430s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:258s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:591s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:429s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:432s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:430s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:496s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:468s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:580s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:589s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:577s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:462s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:597s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:652s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:523s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:504s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:462s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:574s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:422s Blacklisted hosts: fi-cnl-y total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:617s fi-glk-dsi total:289 pass:192 dwarn:1 dfail:4 fail:0 skip:92 time:425s 9cc9686b44e192d2561a513f84d5ac95518cad73 drm-tip: 2017y-11m-06d-10h-10m-17s UTC integration manifest 3d0c67d697a9 drm/i915: Generalize transcoder looping == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6974/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [CI,1/8] drm/i915: Assert guc->stage_desc_pool is allocated
== Series Details == Series: series starting with [CI,1/8] drm/i915: Assert guc->stage_desc_pool is allocated URL : https://patchwork.freedesktop.org/series/33254/ State : success == Summary == Series 33254v1 series starting with [CI,1/8] drm/i915: Assert guc->stage_desc_pool is allocated https://patchwork.freedesktop.org/api/1.0/series/33254/revisions/1/mbox/ fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:442s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:456s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:381s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:532s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:277s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:510s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:506s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:511s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:487s fi-cfl-s total:289 pass:254 dwarn:3 dfail:0 fail:0 skip:32 time:552s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:432s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:263s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:586s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:431s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:433s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:428s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:488s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:464s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:577s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:482s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:584s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:570s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:452s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:600s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:649s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:516s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:507s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:460s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:570s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:418s Blacklisted hosts: fi-cnl-y total:289 pass:200 dwarn:0 dfail:0 fail:0 skip:20 fi-glk-dsi total:289 pass:258 dwarn:0 dfail:0 fail:1 skip:30 time:500s 9cc9686b44e192d2561a513f84d5ac95518cad73 drm-tip: 2017y-11m-06d-10h-10m-17s UTC integration manifest ffe5bb7e91a8 drm/i915: Stop caching the "golden" renderstate 375f8f1836c8 drm/i915: Record the default hw state after reset upon load 340f7583c1df drm/i915: Mark the context state as dirty/written e8fa066930d2 drm/i915: Inline intel_modeset_gem_init() 4dac3e837b68 drm/i915: Move GT powersaving init to i915_gem_init() 938a4a018762 drm/i915: Force the switch to the i915->kernel_context 9414a8c8fa04 drm/i915: Define an engine class enum for the uABI 11aade27258a drm/i915: Assert guc->stage_desc_pool is allocated == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6973/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: failure for drm: i915: remove timeval users
== Series Details == Series: drm: i915: remove timeval users URL : https://patchwork.freedesktop.org/series/33147/ State : failure == Summary == Series 33147v1 drm: i915: remove timeval users https://patchwork.freedesktop.org/api/1.0/series/33147/revisions/1/mbox/ Test kms_frontbuffer_tracking: Subgroup basic: pass -> INCOMPLETE (fi-cfl-s) Test kms_pipe_crc_basic: Subgroup read-crc-pipe-b-frame-sequence: pass -> SKIP (fi-hsw-4770r) fdo#102332 fdo#102332 https://bugs.freedesktop.org/show_bug.cgi?id=102332 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:445s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:455s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:542s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:276s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:511s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:497s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:504s fi-cfl-s total:225 pass:199 dwarn:0 dfail:0 fail:0 skip:25 fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:427s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:263s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:591s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:434s fi-hsw-4770r total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:440s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:436s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:502s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:464s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:576s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:482s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:589s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:574s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:457s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:593s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:650s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:518s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:506s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:467s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:577s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:421s Blacklisted hosts: fi-cnl-y total:220 pass:199 dwarn:0 dfail:0 fail:0 skip:20 fi-glk-dsi total:182 pass:158 dwarn:0 dfail:0 fail:1 skip:22 fi-byt-n2820 failed to connect after reboot 9cc9686b44e192d2561a513f84d5ac95518cad73 drm-tip: 2017y-11m-06d-10h-10m-17s UTC integration manifest 815e64ed395b drm: i915: remove timeval users == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6971/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915/guc: Separate GuC doorbell destroy function into doorbell unit and GuC task
== Series Details == Series: series starting with [1/5] drm/i915/guc: Separate GuC doorbell destroy function into doorbell unit and GuC task URL : https://patchwork.freedesktop.org/series/33209/ State : success == Summary == Series 33209v1 series starting with [1/5] drm/i915/guc: Separate GuC doorbell destroy function into doorbell unit and GuC task https://patchwork.freedesktop.org/api/1.0/series/33209/revisions/1/mbox/ Test kms_pipe_crc_basic: Subgroup read-crc-pipe-c: dmesg-warn -> PASS (fi-bsw-n3050) fdo#103479 fdo#103479 https://bugs.freedesktop.org/show_bug.cgi?id=103479 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:444s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:454s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:380s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:538s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:276s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:510s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:512s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:503s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:486s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:425s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:265s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:588s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:435s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:430s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:428s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:497s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:466s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:574s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:479s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:590s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:577s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:450s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:592s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:649s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:517s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:502s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:464s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:570s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:428s Blacklisted hosts: fi-cnl-y total:289 pass:259 dwarn:3 dfail:0 fail:0 skip:27 time:626s 8b0ae6b50a229dc661a02f4034252ee854cc9b83 drm-tip: 2017y-11m-03d-17h-15m-57s UTC integration manifest a91c31b1a24c HAX enable GuC submission for CI 32d332ce5a44 drm/i915/guc: Increase wait timeout for doorbell release status update be93da66d7df drm/i915/guc: Deactivate all client doorbells before reset b6515b105ab5 drm/i915/guc: Release all client doorbells on suspend and acquire on resume 9e190e74bacd drm/i915/guc: Separate GuC doorbell destroy function into doorbell unit and GuC task == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6966/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH igt] lib: Always enable ftrace-dump-on-oops
On Wed, Nov 08, 2017 at 12:18:40PM +, Chris Wilson wrote: > Some debugging information is too voluminous to enable by default, yet > may be invaluable when it comes to post-mortem debugging. trace_printk() > provides the facility for the trace ringbuffer to be dumped on oops, > this way we can cheaply spam the debug log and only present it in case > of emergency. > > Signed-off-by: Chris Wilson > --- > lib/igt_core.c | 23 +++ > 1 file changed, 23 insertions(+) > > diff --git a/lib/igt_core.c b/lib/igt_core.c > index 538a4472..ba4622d6 100644 > --- a/lib/igt_core.c > +++ b/lib/igt_core.c > @@ -561,6 +561,28 @@ static void low_mem_killer_disable(bool disable) > chmod(adj_fname, buf.st_mode); > } > > +/* > + * If the test takes out the machine, in addition to the usual dmesg > + * spam, the kernel may also emit a "death rattle" -- extra debug > + * information that is overkill for normal successful tests, but > + * vital for post-mortem analysis. > + */ > +static void ftrace_dump_on_oops(bool enable) > +{ > + int fd; > + > + fd = open("/proc/sys/kernel/ftrace_dump_on_oops", O_WRONLY); > + if (fd < 0) > + return; > + > + /* > + * If we fail, we do not get the death rattle we wish, but we > + * still want to run the tests anyway. > + */ > + igt_ignore_warn(write(fd, enable ? "1\n" : "0\n", 2)); > + close(fd); > +} > + > bool igt_exit_called; > static void common_exit_handler(int sig) > { > @@ -858,6 +880,7 @@ out: > sync(); > oom_adjust_for_doom(); > low_mem_killer_disable(true); > + ftrace_dump_on_oops(true); Is there a call to disable it too? Or rather, restore the value that was there before executing a test. -- Petri Latvala ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock
On Wed, Nov 08, 2017 at 01:23:56PM +0100, Rafael J. Wysocki wrote: > On Wed, Nov 8, 2017 at 12:06 AM, Rafael J. Wysocki wrote: > > On Tuesday, November 7, 2017 11:47:54 PM CET Rafael J. Wysocki wrote: > >> On Tue, Nov 7, 2017 at 10:08 PM, Ville Syrjala > >> wrote: > >> > From: Ville Syrjälä > >> > > >> > acpi_remove_pm_notifier() ends up calling flush_workqueue() while > >> > holding acpi_pm_notifier_lock, and that same lock is taken by > >> > by the work via acpi_pm_notify_handler(). This can deadlock. > >> > >> OK, good catch! > >> > >> [cut] > >> > >> > > >> > Cc: sta...@vger.kernel.org > >> > Cc: Rafael J. Wysocki > >> > Cc: Len Brown > >> > Cc: Peter Zijlstra > >> > Cc: Tejun Heo > >> > Cc: Ingo Molnar > >> > Fixes: c072530f391e ("ACPI / PM: Revork the handling of ACPI device > >> > wakeup notifications") > >> > Signed-off-by: Ville Syrjälä > >> > --- > >> > drivers/acpi/device_pm.c | 21 - > >> > 1 file changed, 12 insertions(+), 9 deletions(-) > >> > > >> > diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c > >> > index fbcc73f7a099..18af71057b44 100644 > >> > --- a/drivers/acpi/device_pm.c > >> > +++ b/drivers/acpi/device_pm.c > >> > @@ -387,6 +387,7 @@ EXPORT_SYMBOL(acpi_bus_power_manageable); > >> > > >> > #ifdef CONFIG_PM > >> > static DEFINE_MUTEX(acpi_pm_notifier_lock); > >> > +static DEFINE_MUTEX(acpi_pm_notifier_install_lock); > >> > > >> > void acpi_pm_wakeup_event(struct device *dev) > >> > { > >> > @@ -443,24 +444,25 @@ acpi_status acpi_add_pm_notifier(struct > >> > acpi_device *adev, struct device *dev, > >> > if (!dev && !func) > >> > return AE_BAD_PARAMETER; > >> > > >> > - mutex_lock(&acpi_pm_notifier_lock); > >> > + mutex_lock(&acpi_pm_notifier_install_lock); > >> > > >> > if (adev->wakeup.flags.notifier_present) > >> > goto out; > >> > > >> > - adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); > >> > - adev->wakeup.context.dev = dev; > >> > - adev->wakeup.context.func = func; > >> > - > >> > >> But this doesn't look good to me. > >> > >> notifier_present should be checked under acpi_pm_notifier_lock. > >> > >> Actually, acpi_install_notify_handler() itself need not be called > >> under the lock, because it does sufficient checks of its own. > >> > >> So say you do > >> > >> mutex_lock(&acpi_pm_notifier_lock); > >> > >> if (adev->wakeup.context.dev) > >> goto out; > >> > >> adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); > >> adev->wakeup.context.dev = dev; > >> adev->wakeup.context.func = func; > >> > >> mutex_unlock(&acpi_pm_notifier_lock); > >> > >> > status = acpi_install_notify_handler(adev->handle, > >> > ACPI_SYSTEM_NOTIFY, > >> > acpi_pm_notify_handler, > >> > NULL); > >> > if (ACPI_FAILURE(status)) > >> > goto out; > >> > > >> > + mutex_lock(&acpi_pm_notifier_lock); > >> > >> And here you just set notifier_present under acpi_pm_notifier_lock. > >> > >> > + adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); > >> > + adev->wakeup.context.dev = dev; > >> > + adev->wakeup.context.func = func; > >> > adev->wakeup.flags.notifier_present = true; > >> > + mutex_unlock(&acpi_pm_notifier_lock); > >> > > >> > out: > >> > - mutex_unlock(&acpi_pm_notifier_lock); > >> > + mutex_unlock(&acpi_pm_notifier_install_lock); > >> > return status; > >> > } > >> > >> Then on removal you can clear notifier_present first and drop the lock > >> around the acpi_remove_notify_handler() call and nothing bad will > >> happen. > >> > >> If you call acpi_add_pm_notifier() twice in parallel, the first > >> instance will set context.dev and the second one will see it set and > >> bail out. The first instance will then do the rest. > >> > >> If you call acpi_remove_pm_notifier() twice in a row, the first > >> instance will see notifier_present set and will clear it, so the > >> second one will see notifier_present unset and it will bail out. > >> > >> Now, if you call acpi_remove_pm_notifier() in parallel with > >> acpi_add_pm_notifier(), either the former will see notifier_present > >> unset and bail out, or the latter will see context.dev unset and bail > >> out. > >> > >> It doesn't look like the outer lock is needed, or have I missed anything? > > > > So something like the below (totally untested) should work too, shouldn't > > it? > > There is a problem if a device is removed while acpi_add_pm_notifier() > is still in progress, in which case with my patch the > acpi_remove_pm_notifier() called from the removal path may bail out > prematurely (that doesn't seem likely to happen, but still I don't see > why it cannot happen), so I'll just use your patch. :-) OK. I was just looking at your version and was pretty much convinced that it would work. But I'll take your word that it might not :)
[Intel-gfx] ✗ Fi.CI.BAT: warning for series starting with [1/2] drm/i915: implemented dynamic WOPCM partition.
== Series Details == Series: series starting with [1/2] drm/i915: implemented dynamic WOPCM partition. URL : https://patchwork.freedesktop.org/series/33165/ State : warning == Summary == Series 33165v1 series starting with [1/2] drm/i915: implemented dynamic WOPCM partition. https://patchwork.freedesktop.org/api/1.0/series/33165/revisions/1/mbox/ Test gem_basic: Subgroup create-close: dmesg-warn -> PASS (fi-cfl-s) fdo#103186 +1 Test kms_pipe_crc_basic: Subgroup read-crc-pipe-c: dmesg-warn -> PASS (fi-bsw-n3050) fdo#103479 +1 Subgroup suspend-read-crc-pipe-a: pass -> SKIP (fi-hsw-4770r) fdo#103186 https://bugs.freedesktop.org/show_bug.cgi?id=103186 fdo#103479 https://bugs.freedesktop.org/show_bug.cgi?id=103479 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:440s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:456s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:386s fi-bsw-n3050 total:289 pass:242 dwarn:1 dfail:0 fail:0 skip:46 time:556s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:277s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:506s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:508s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:505s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:486s fi-cfl-s total:289 pass:254 dwarn:3 dfail:0 fail:0 skip:32 time:556s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:423s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:263s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:595s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:433s fi-hsw-4770r total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:417s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:428s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:503s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:465s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:489s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:576s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:586s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:567s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:454s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:591s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:649s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:521s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:504s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:463s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:571s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:419s Blacklisted hosts: fi-cnl-y total:289 pass:259 dwarn:3 dfail:0 fail:0 skip:27 time:612s 8b0ae6b50a229dc661a02f4034252ee854cc9b83 drm-tip: 2017y-11m-03d-17h-15m-57s UTC integration manifest febf0ac24d41 HAX enable guc submission for CI 5d9e2e09e6de drm/i915: implemented dynamic WOPCM partition. == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6956/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH igt] lib: Always enable ftrace-dump-on-oops
Quoting Petri Latvala (2017-11-08 12:32:09) > On Wed, Nov 08, 2017 at 12:18:40PM +, Chris Wilson wrote: > > Some debugging information is too voluminous to enable by default, yet > > may be invaluable when it comes to post-mortem debugging. trace_printk() > > provides the facility for the trace ringbuffer to be dumped on oops, > > this way we can cheaply spam the debug log and only present it in case > > of emergency. > > > > Signed-off-by: Chris Wilson > > --- > > lib/igt_core.c | 23 +++ > > 1 file changed, 23 insertions(+) > > > > diff --git a/lib/igt_core.c b/lib/igt_core.c > > index 538a4472..ba4622d6 100644 > > --- a/lib/igt_core.c > > +++ b/lib/igt_core.c > > @@ -561,6 +561,28 @@ static void low_mem_killer_disable(bool disable) > > chmod(adj_fname, buf.st_mode); > > } > > > > +/* > > + * If the test takes out the machine, in addition to the usual dmesg > > + * spam, the kernel may also emit a "death rattle" -- extra debug > > + * information that is overkill for normal successful tests, but > > + * vital for post-mortem analysis. > > + */ > > +static void ftrace_dump_on_oops(bool enable) > > +{ > > + int fd; > > + > > + fd = open("/proc/sys/kernel/ftrace_dump_on_oops", O_WRONLY); > > + if (fd < 0) > > + return; > > + > > + /* > > + * If we fail, we do not get the death rattle we wish, but we > > + * still want to run the tests anyway. > > + */ > > + igt_ignore_warn(write(fd, enable ? "1\n" : "0\n", 2)); > > + close(fd); > > +} > > + > > bool igt_exit_called; > > static void common_exit_handler(int sig) > > { > > @@ -858,6 +880,7 @@ out: > > sync(); > > oom_adjust_for_doom(); > > low_mem_killer_disable(true); > > + ftrace_dump_on_oops(true); > > > Is there a call to disable it too? Or rather, restore the value that > was there before executing a test. No, because I didn't care. If the machine dies after the process excited, that death rattle may still be important. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [v5,1/2] x86/platform/intel/iosf_mbi: Add unlocked PMIC bus access notifier unregister
== Series Details == Series: series starting with [v5,1/2] x86/platform/intel/iosf_mbi: Add unlocked PMIC bus access notifier unregister URL : https://patchwork.freedesktop.org/series/32288/ State : success == Summary == Series 32288v1 series starting with [v5,1/2] x86/platform/intel/iosf_mbi: Add unlocked PMIC bus access notifier unregister https://patchwork.freedesktop.org/api/1.0/series/32288/revisions/1/mbox/ Test gem_exec_reloc: Subgroup basic-write-gtt-active: fail -> PASS (fi-gdg-551) fdo#102582 Test kms_busy: Subgroup basic-flip-b: fail -> PASS (fi-bwr-2160) fdo#103182 Test drv_module_reload: Subgroup basic-no-display: fail -> PASS (fi-hsw-4770r) fdo#103534 fdo#102582 https://bugs.freedesktop.org/show_bug.cgi?id=102582 fdo#103182 https://bugs.freedesktop.org/show_bug.cgi?id=103182 fdo#103534 https://bugs.freedesktop.org/show_bug.cgi?id=103534 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:446s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:452s fi-blb-e6850 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:381s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:535s fi-bwr-2160 total:289 pass:183 dwarn:0 dfail:0 fail:0 skip:106 time:277s fi-bxt-dsi total:289 pass:259 dwarn:0 dfail:0 fail:0 skip:30 time:504s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:504s fi-byt-j1900 total:289 pass:253 dwarn:1 dfail:0 fail:0 skip:35 time:509s fi-byt-n2820 total:289 pass:249 dwarn:1 dfail:0 fail:0 skip:39 time:491s fi-elk-e7500 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:430s fi-gdg-551 total:289 pass:178 dwarn:1 dfail:0 fail:1 skip:109 time:264s fi-glk-1 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:584s fi-hsw-4770 total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:431s fi-hsw-4770r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:433s fi-ilk-650 total:289 pass:228 dwarn:0 dfail:0 fail:0 skip:61 time:423s fi-ivb-3520m total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:488s fi-ivb-3770 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:458s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:497s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:576s fi-kbl-7567u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:478s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:587s fi-pnv-d510 total:289 pass:222 dwarn:1 dfail:0 fail:0 skip:66 time:572s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:443s fi-skl-6600u total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:594s fi-skl-6700hqtotal:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:653s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:524s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:503s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:459s fi-snb-2520m total:289 pass:250 dwarn:0 dfail:0 fail:0 skip:39 time:571s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:0 skip:40 time:432s de359919ae463cdaef6bc6890156df84e19dee2a drm-tip: 2017y-11m-03d-14h-00m-37s UTC integration manifest 9d0815239328 drm/i915: Acquire PUNIT->PMIC bus for intel_uncore_forcewake_reset() 94acab084274 x86/platform/intel/iosf_mbi: Add unlocked PMIC bus access notifier unregister == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6947/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock
On Wednesday, November 8, 2017 1:31:22 PM CET Ville Syrjälä wrote: > On Wed, Nov 08, 2017 at 01:23:56PM +0100, Rafael J. Wysocki wrote: > > On Wed, Nov 8, 2017 at 12:06 AM, Rafael J. Wysocki > > wrote: > > > On Tuesday, November 7, 2017 11:47:54 PM CET Rafael J. Wysocki wrote: > > >> On Tue, Nov 7, 2017 at 10:08 PM, Ville Syrjala > > >> wrote: > > >> > From: Ville Syrjälä > > >> > > > >> > acpi_remove_pm_notifier() ends up calling flush_workqueue() while > > >> > holding acpi_pm_notifier_lock, and that same lock is taken by > > >> > by the work via acpi_pm_notify_handler(). This can deadlock. > > >> > > >> OK, good catch! > > >> > > >> [cut] > > >> > > >> > > > >> > Cc: sta...@vger.kernel.org > > >> > Cc: Rafael J. Wysocki > > >> > Cc: Len Brown > > >> > Cc: Peter Zijlstra > > >> > Cc: Tejun Heo > > >> > Cc: Ingo Molnar > > >> > Fixes: c072530f391e ("ACPI / PM: Revork the handling of ACPI device > > >> > wakeup notifications") > > >> > Signed-off-by: Ville Syrjälä > > >> > --- > > >> > drivers/acpi/device_pm.c | 21 - > > >> > 1 file changed, 12 insertions(+), 9 deletions(-) > > >> > > > >> > diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c > > >> > index fbcc73f7a099..18af71057b44 100644 > > >> > --- a/drivers/acpi/device_pm.c > > >> > +++ b/drivers/acpi/device_pm.c > > >> > @@ -387,6 +387,7 @@ EXPORT_SYMBOL(acpi_bus_power_manageable); > > >> > > > >> > #ifdef CONFIG_PM > > >> > static DEFINE_MUTEX(acpi_pm_notifier_lock); > > >> > +static DEFINE_MUTEX(acpi_pm_notifier_install_lock); > > >> > > > >> > void acpi_pm_wakeup_event(struct device *dev) > > >> > { > > >> > @@ -443,24 +444,25 @@ acpi_status acpi_add_pm_notifier(struct > > >> > acpi_device *adev, struct device *dev, > > >> > if (!dev && !func) > > >> > return AE_BAD_PARAMETER; > > >> > > > >> > - mutex_lock(&acpi_pm_notifier_lock); > > >> > + mutex_lock(&acpi_pm_notifier_install_lock); > > >> > > > >> > if (adev->wakeup.flags.notifier_present) > > >> > goto out; > > >> > > > >> > - adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); > > >> > - adev->wakeup.context.dev = dev; > > >> > - adev->wakeup.context.func = func; > > >> > - > > >> > > >> But this doesn't look good to me. > > >> > > >> notifier_present should be checked under acpi_pm_notifier_lock. > > >> > > >> Actually, acpi_install_notify_handler() itself need not be called > > >> under the lock, because it does sufficient checks of its own. > > >> > > >> So say you do > > >> > > >> mutex_lock(&acpi_pm_notifier_lock); > > >> > > >> if (adev->wakeup.context.dev) > > >> goto out; > > >> > > >> adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); > > >> adev->wakeup.context.dev = dev; > > >> adev->wakeup.context.func = func; > > >> > > >> mutex_unlock(&acpi_pm_notifier_lock); > > >> > > >> > status = acpi_install_notify_handler(adev->handle, > > >> > ACPI_SYSTEM_NOTIFY, > > >> > acpi_pm_notify_handler, > > >> > NULL); > > >> > if (ACPI_FAILURE(status)) > > >> > goto out; > > >> > > > >> > + mutex_lock(&acpi_pm_notifier_lock); > > >> > > >> And here you just set notifier_present under acpi_pm_notifier_lock. > > >> > > >> > + adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); > > >> > + adev->wakeup.context.dev = dev; > > >> > + adev->wakeup.context.func = func; > > >> > adev->wakeup.flags.notifier_present = true; > > >> > + mutex_unlock(&acpi_pm_notifier_lock); > > >> > > > >> > out: > > >> > - mutex_unlock(&acpi_pm_notifier_lock); > > >> > + mutex_unlock(&acpi_pm_notifier_install_lock); > > >> > return status; > > >> > } > > >> > > >> Then on removal you can clear notifier_present first and drop the lock > > >> around the acpi_remove_notify_handler() call and nothing bad will > > >> happen. > > >> > > >> If you call acpi_add_pm_notifier() twice in parallel, the first > > >> instance will set context.dev and the second one will see it set and > > >> bail out. The first instance will then do the rest. > > >> > > >> If you call acpi_remove_pm_notifier() twice in a row, the first > > >> instance will see notifier_present set and will clear it, so the > > >> second one will see notifier_present unset and it will bail out. > > >> > > >> Now, if you call acpi_remove_pm_notifier() in parallel with > > >> acpi_add_pm_notifier(), either the former will see notifier_present > > >> unset and bail out, or the latter will see context.dev unset and bail > > >> out. > > >> > > >> It doesn't look like the outer lock is needed, or have I missed anything? > > > > > > So something like the below (totally untested) should work too, shouldn't > > > it? > > > > There is a problem if a device is removed while acpi_add_pm_notifier() > > is still in progress, in which case with my patch the > > acpi_remove_
Re: [Intel-gfx] [PATCH igt] lib: Always enable ftrace-dump-on-oops
On Wed, Nov 08, 2017 at 12:36:32PM +, Chris Wilson wrote: > Quoting Petri Latvala (2017-11-08 12:32:09) > > On Wed, Nov 08, 2017 at 12:18:40PM +, Chris Wilson wrote: > > > Some debugging information is too voluminous to enable by default, yet > > > may be invaluable when it comes to post-mortem debugging. trace_printk() > > > provides the facility for the trace ringbuffer to be dumped on oops, > > > this way we can cheaply spam the debug log and only present it in case > > > of emergency. > > > > > > Signed-off-by: Chris Wilson > > > --- > > > lib/igt_core.c | 23 +++ > > > 1 file changed, 23 insertions(+) > > > > > > diff --git a/lib/igt_core.c b/lib/igt_core.c > > > index 538a4472..ba4622d6 100644 > > > --- a/lib/igt_core.c > > > +++ b/lib/igt_core.c > > > @@ -561,6 +561,28 @@ static void low_mem_killer_disable(bool disable) > > > chmod(adj_fname, buf.st_mode); > > > } > > > > > > +/* > > > + * If the test takes out the machine, in addition to the usual dmesg > > > + * spam, the kernel may also emit a "death rattle" -- extra debug > > > + * information that is overkill for normal successful tests, but > > > + * vital for post-mortem analysis. > > > + */ > > > +static void ftrace_dump_on_oops(bool enable) > > > +{ > > > + int fd; > > > + > > > + fd = open("/proc/sys/kernel/ftrace_dump_on_oops", O_WRONLY); > > > + if (fd < 0) > > > + return; > > > + > > > + /* > > > + * If we fail, we do not get the death rattle we wish, but we > > > + * still want to run the tests anyway. > > > + */ > > > + igt_ignore_warn(write(fd, enable ? "1\n" : "0\n", 2)); > > > + close(fd); > > > +} > > > + > > > bool igt_exit_called; > > > static void common_exit_handler(int sig) > > > { > > > @@ -858,6 +880,7 @@ out: > > > sync(); > > > oom_adjust_for_doom(); > > > low_mem_killer_disable(true); > > > + ftrace_dump_on_oops(true); > > > > > > Is there a call to disable it too? Or rather, restore the value that > > was there before executing a test. > > No, because I didn't care. If the machine dies after the process > excited, that death rattle may still be important. Fair enough, there's indeed no good place where disabling again makes sense. Reviewed-by: Petri Latvala ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t v2] intel_gvtg_test: Handle system(3) return value.
From: Tvrtko Ursulin Avoid the build warning by checking the pkill either did not find any guests or managed to send a signal to all of them. v2: Inspect system(3) return value properly. (Petri Latvala) Signed-off-by: Tvrtko Ursulin --- tools/intel_gvtg_test.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/intel_gvtg_test.c b/tools/intel_gvtg_test.c index 7a29fbdde7cd..659b7956725c 100644 --- a/tools/intel_gvtg_test.c +++ b/tools/intel_gvtg_test.c @@ -144,7 +144,10 @@ static void create_guest(void) static void destroy_all_guest(void) { -system("pkill qemu"); + int ret = system("pkill qemu"); + + igt_assert(ret >= 0 && WIFEXITED(ret)); + igt_assert(WEXITSTATUS(ret) == 0 || WEXITSTATUS(ret) == 1); } static void remove_vgpu(void) -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t 5/5] intel_gvtg_test: Handle system(3) return value.
On 08/11/2017 12:19, Chris Wilson wrote: Quoting Tvrtko Ursulin (2017-11-08 12:06:54) From: Tvrtko Ursulin Avoid the build warning by checking the pkill either did not find any guests or managed to send a signal to all of them. Signed-off-by: Tvrtko Ursulin --- tools/intel_gvtg_test.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/intel_gvtg_test.c b/tools/intel_gvtg_test.c index 7a29fbdde7cd..8c3d10cbd97f 100644 --- a/tools/intel_gvtg_test.c +++ b/tools/intel_gvtg_test.c @@ -144,7 +144,9 @@ static void create_guest(void) static void destroy_all_guest(void) { -system("pkill qemu"); + int ret = system("pkill qemu"); + + igt_assert(ret == 0 || ret == 1); igt_terminate_process("qemu"); Still wants the return checked. Opted not to go for the helper because: a) It would change the behaviour (exact match vs not) which I don't want to go into. b) igt_terminate_process looks inconsistent in return codes between its two implementations. Regards, Tvrtko ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t v2] intel_gvtg_test: Handle system(3) return value.
On Wed, Nov 08, 2017 at 12:47:43PM +, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin > > Avoid the build warning by checking the pkill either did not find > any guests or managed to send a signal to all of them. > > v2: Inspect system(3) return value properly. (Petri Latvala) > > Signed-off-by: Tvrtko Ursulin Reviewed-by: Petri Latvala Someone(tm) can follow this up with a patch that changes it to use igt_terminate_process... > --- > tools/intel_gvtg_test.c | 5 - > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/tools/intel_gvtg_test.c b/tools/intel_gvtg_test.c > index 7a29fbdde7cd..659b7956725c 100644 > --- a/tools/intel_gvtg_test.c > +++ b/tools/intel_gvtg_test.c > @@ -144,7 +144,10 @@ static void create_guest(void) > > static void destroy_all_guest(void) > { > -system("pkill qemu"); > + int ret = system("pkill qemu"); > + > + igt_assert(ret >= 0 && WIFEXITED(ret)); > + igt_assert(WEXITSTATUS(ret) == 0 || WEXITSTATUS(ret) == 1); > } > > static void remove_vgpu(void) > -- > 2.14.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
Re: [Intel-gfx] [PATCH] ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock
On Wed, Nov 8, 2017 at 1:41 PM, Rafael J. Wysocki wrote: > On Wednesday, November 8, 2017 1:31:22 PM CET Ville Syrjälä wrote: >> On Wed, Nov 08, 2017 at 01:23:56PM +0100, Rafael J. Wysocki wrote: >> > On Wed, Nov 8, 2017 at 12:06 AM, Rafael J. Wysocki >> > wrote: >> > > On Tuesday, November 7, 2017 11:47:54 PM CET Rafael J. Wysocki wrote: >> > >> On Tue, Nov 7, 2017 at 10:08 PM, Ville Syrjala >> > >> wrote: >> > >> > From: Ville Syrjälä >> > >> > >> > >> > acpi_remove_pm_notifier() ends up calling flush_workqueue() while >> > >> > holding acpi_pm_notifier_lock, and that same lock is taken by >> > >> > by the work via acpi_pm_notify_handler(). This can deadlock. >> > >> >> > >> OK, good catch! >> > >> >> > >> [cut] >> > >> >> > >> > >> > >> > Cc: sta...@vger.kernel.org >> > >> > Cc: Rafael J. Wysocki >> > >> > Cc: Len Brown >> > >> > Cc: Peter Zijlstra >> > >> > Cc: Tejun Heo >> > >> > Cc: Ingo Molnar >> > >> > Fixes: c072530f391e ("ACPI / PM: Revork the handling of ACPI device >> > >> > wakeup notifications") >> > >> > Signed-off-by: Ville Syrjälä >> > >> > --- >> > >> > drivers/acpi/device_pm.c | 21 - >> > >> > 1 file changed, 12 insertions(+), 9 deletions(-) >> > >> > >> > >> > diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c >> > >> > index fbcc73f7a099..18af71057b44 100644 >> > >> > --- a/drivers/acpi/device_pm.c >> > >> > +++ b/drivers/acpi/device_pm.c >> > >> > @@ -387,6 +387,7 @@ EXPORT_SYMBOL(acpi_bus_power_manageable); >> > >> > >> > >> > #ifdef CONFIG_PM >> > >> > static DEFINE_MUTEX(acpi_pm_notifier_lock); >> > >> > +static DEFINE_MUTEX(acpi_pm_notifier_install_lock); >> > >> > >> > >> > void acpi_pm_wakeup_event(struct device *dev) >> > >> > { >> > >> > @@ -443,24 +444,25 @@ acpi_status acpi_add_pm_notifier(struct >> > >> > acpi_device *adev, struct device *dev, >> > >> > if (!dev && !func) >> > >> > return AE_BAD_PARAMETER; >> > >> > >> > >> > - mutex_lock(&acpi_pm_notifier_lock); >> > >> > + mutex_lock(&acpi_pm_notifier_install_lock); >> > >> > >> > >> > if (adev->wakeup.flags.notifier_present) >> > >> > goto out; >> > >> > >> > >> > - adev->wakeup.ws = >> > >> > wakeup_source_register(dev_name(&adev->dev)); >> > >> > - adev->wakeup.context.dev = dev; >> > >> > - adev->wakeup.context.func = func; >> > >> > - >> > >> >> > >> But this doesn't look good to me. >> > >> >> > >> notifier_present should be checked under acpi_pm_notifier_lock. >> > >> >> > >> Actually, acpi_install_notify_handler() itself need not be called >> > >> under the lock, because it does sufficient checks of its own. >> > >> >> > >> So say you do >> > >> >> > >> mutex_lock(&acpi_pm_notifier_lock); >> > >> >> > >> if (adev->wakeup.context.dev) >> > >> goto out; >> > >> >> > >> adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); >> > >> adev->wakeup.context.dev = dev; >> > >> adev->wakeup.context.func = func; >> > >> >> > >> mutex_unlock(&acpi_pm_notifier_lock); >> > >> >> > >> > status = acpi_install_notify_handler(adev->handle, >> > >> > ACPI_SYSTEM_NOTIFY, >> > >> > acpi_pm_notify_handler, >> > >> > NULL); >> > >> > if (ACPI_FAILURE(status)) >> > >> > goto out; >> > >> > >> > >> > + mutex_lock(&acpi_pm_notifier_lock); >> > >> >> > >> And here you just set notifier_present under acpi_pm_notifier_lock. >> > >> >> > >> > + adev->wakeup.ws = >> > >> > wakeup_source_register(dev_name(&adev->dev)); >> > >> > + adev->wakeup.context.dev = dev; >> > >> > + adev->wakeup.context.func = func; >> > >> > adev->wakeup.flags.notifier_present = true; >> > >> > + mutex_unlock(&acpi_pm_notifier_lock); >> > >> > >> > >> > out: >> > >> > - mutex_unlock(&acpi_pm_notifier_lock); >> > >> > + mutex_unlock(&acpi_pm_notifier_install_lock); >> > >> > return status; >> > >> > } >> > >> >> > >> Then on removal you can clear notifier_present first and drop the lock >> > >> around the acpi_remove_notify_handler() call and nothing bad will >> > >> happen. >> > >> >> > >> If you call acpi_add_pm_notifier() twice in parallel, the first >> > >> instance will set context.dev and the second one will see it set and >> > >> bail out. The first instance will then do the rest. >> > >> >> > >> If you call acpi_remove_pm_notifier() twice in a row, the first >> > >> instance will see notifier_present set and will clear it, so the >> > >> second one will see notifier_present unset and it will bail out. >> > >> >> > >> Now, if you call acpi_remove_pm_notifier() in parallel with >> > >> acpi_add_pm_notifier(), either the former will see notifier_present >> > >> unset and bail out, or the latter will see context.dev unset and bail >> > >> out. >> > >> >> > >> It doesn't look like the outer lock is needed, or have I missed >> > >> anything? >> > > >> > > So something like the below
[Intel-gfx] [PATCH] drm/i915: sync dp link status checks against atomic commmits
Two bits: - check actual atomic state, the legacy stuff can only be looked at from within the atomic_commit_tail function, since it's only protected by ordering and not by any locks. - Make sure we don't wreak the work an ongoing nonblocking commit is doing. v2: We need the crtc lock too, because a plane update might change it without having to acquire the connection_mutex (Maarten). Use Maarten's changes for this locking, while keeping the logic that uses the connection->commit->hw_done signal for syncing with nonblocking commits. Cc: Manasi Navare Cc: Maarten Lankhorst Cc: Ville Syrjälä References: https://bugs.freedesktop.org/show_bug.cgi?id=103336 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99272 Signed-off-by: Daniel Vetter --- drivers/gpu/drm/i915/intel_dp.c | 56 - 1 file changed, 50 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index d27c0145ac91..7cd7ab4fb431 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c @@ -4319,6 +4319,8 @@ static void intel_dp_check_link_status(struct intel_dp *intel_dp) { struct intel_encoder *intel_encoder = &dp_to_dig_port(intel_dp)->base; + struct drm_connector_state *conn_state = + intel_dp->attached_connector->base.state; struct drm_device *dev = intel_dp_to_dev(intel_dp); u8 link_status[DP_LINK_STATUS_SIZE]; @@ -4329,10 +4331,15 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) return; } - if (!intel_encoder->base.crtc) + if (!conn_state->crtc) return; - if (!to_intel_crtc(intel_encoder->base.crtc)->active) + WARN_ON(!drm_modeset_is_locked(&conn_state->crtc->mutex)); + + if (!conn_state->crtc->state->active) + return; + + if (!try_wait_for_completion(&conn_state->commit->hw_done)) return; /* @@ -4368,7 +4375,6 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) static bool intel_dp_short_pulse(struct intel_dp *intel_dp) { - struct drm_device *dev = intel_dp_to_dev(intel_dp); struct intel_encoder *intel_encoder = &dp_to_dig_port(intel_dp)->base; u8 sink_irq_vector = 0; u8 old_sink_count = intel_dp->sink_count; @@ -4408,9 +4414,8 @@ intel_dp_short_pulse(struct intel_dp *intel_dp) DRM_DEBUG_DRIVER("CP or sink specific irq unhandled\n"); } - drm_modeset_lock(&dev->mode_config.connection_mutex, NULL); intel_dp_check_link_status(intel_dp); - drm_modeset_unlock(&dev->mode_config.connection_mutex); + if (intel_dp->compliance.test_type == DP_TEST_LINK_TRAINING) { DRM_DEBUG_KMS("Link Training Compliance Test requested\n"); /* Send a Hotplug Uevent to userspace to start modeset */ @@ -4860,8 +4865,19 @@ intel_dp_detect(struct drm_connector *connector, connector->base.id, connector->name); /* If full detect is not performed yet, do a full detect */ - if (!intel_dp->detect_done) + if (!intel_dp->detect_done) { + struct drm_crtc *crtc; + int ret; + + crtc = connector->state->crtc; + if (crtc) { + ret = drm_modeset_lock(&crtc->mutex, ctx); + if (ret) + return ret; + } + status = intel_dp_long_pulse(intel_dp->attached_connector); + } intel_dp->detect_done = false; @@ -5146,10 +5162,38 @@ intel_dp_hpd_pulse(struct intel_digital_port *intel_dig_port, bool long_hpd) } if (!intel_dp->is_mst) { + struct drm_modeset_acquire_ctx ctx; + struct drm_connector *connector = &intel_dp->attached_connector->base; + struct drm_crtc *crtc; + int iret; + + drm_modeset_acquire_init(&ctx, 0); +retry: + iret = drm_modeset_lock(&dev->mode_config.connection_mutex, &ctx); + if (iret) + goto err; + + crtc = connector->state->crtc; + if (crtc) { + iret = drm_modeset_lock(&crtc->mutex, &ctx); + if (iret) + goto err; + } + if (!intel_dp_short_pulse(intel_dp)) { intel_dp->detect_done = false; goto put_power; } + +err: + if (iret == -EDEADLK) { + drm_modeset_backoff(&ctx); + goto retry; + } + + drm_modeset_drop_locks(&ctx); + drm_modeset_acquire_fini(&ctx); + WARN(iret, "Acquiring modeset locks failed with %i\n", iret); } ret = IRQ_HANDLED; -- 2.15.0 __
Re: [Intel-gfx] [PATCH] ACPI / PM: Fix acpi_pm_notifier_lock vs. flush_workqueue() deadlock
On Wed, Nov 08, 2017 at 01:41:06PM +0100, Rafael J. Wysocki wrote: > On Wednesday, November 8, 2017 1:31:22 PM CET Ville Syrjälä wrote: > > On Wed, Nov 08, 2017 at 01:23:56PM +0100, Rafael J. Wysocki wrote: > > > On Wed, Nov 8, 2017 at 12:06 AM, Rafael J. Wysocki > > > wrote: > > > > On Tuesday, November 7, 2017 11:47:54 PM CET Rafael J. Wysocki wrote: > > > >> On Tue, Nov 7, 2017 at 10:08 PM, Ville Syrjala > > > >> wrote: > > > >> > From: Ville Syrjälä > > > >> > > > > >> > acpi_remove_pm_notifier() ends up calling flush_workqueue() while > > > >> > holding acpi_pm_notifier_lock, and that same lock is taken by > > > >> > by the work via acpi_pm_notify_handler(). This can deadlock. > > > >> > > > >> OK, good catch! > > > >> > > > >> [cut] > > > >> > > > >> > > > > >> > Cc: sta...@vger.kernel.org > > > >> > Cc: Rafael J. Wysocki > > > >> > Cc: Len Brown > > > >> > Cc: Peter Zijlstra > > > >> > Cc: Tejun Heo > > > >> > Cc: Ingo Molnar > > > >> > Fixes: c072530f391e ("ACPI / PM: Revork the handling of ACPI device > > > >> > wakeup notifications") > > > >> > Signed-off-by: Ville Syrjälä > > > >> > --- > > > >> > drivers/acpi/device_pm.c | 21 - > > > >> > 1 file changed, 12 insertions(+), 9 deletions(-) > > > >> > > > > >> > diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c > > > >> > index fbcc73f7a099..18af71057b44 100644 > > > >> > --- a/drivers/acpi/device_pm.c > > > >> > +++ b/drivers/acpi/device_pm.c > > > >> > @@ -387,6 +387,7 @@ EXPORT_SYMBOL(acpi_bus_power_manageable); > > > >> > > > > >> > #ifdef CONFIG_PM > > > >> > static DEFINE_MUTEX(acpi_pm_notifier_lock); > > > >> > +static DEFINE_MUTEX(acpi_pm_notifier_install_lock); > > > >> > > > > >> > void acpi_pm_wakeup_event(struct device *dev) > > > >> > { > > > >> > @@ -443,24 +444,25 @@ acpi_status acpi_add_pm_notifier(struct > > > >> > acpi_device *adev, struct device *dev, > > > >> > if (!dev && !func) > > > >> > return AE_BAD_PARAMETER; > > > >> > > > > >> > - mutex_lock(&acpi_pm_notifier_lock); > > > >> > + mutex_lock(&acpi_pm_notifier_install_lock); > > > >> > > > > >> > if (adev->wakeup.flags.notifier_present) > > > >> > goto out; > > > >> > > > > >> > - adev->wakeup.ws = > > > >> > wakeup_source_register(dev_name(&adev->dev)); > > > >> > - adev->wakeup.context.dev = dev; > > > >> > - adev->wakeup.context.func = func; > > > >> > - > > > >> > > > >> But this doesn't look good to me. > > > >> > > > >> notifier_present should be checked under acpi_pm_notifier_lock. > > > >> > > > >> Actually, acpi_install_notify_handler() itself need not be called > > > >> under the lock, because it does sufficient checks of its own. > > > >> > > > >> So say you do > > > >> > > > >> mutex_lock(&acpi_pm_notifier_lock); > > > >> > > > >> if (adev->wakeup.context.dev) > > > >> goto out; > > > >> > > > >> adev->wakeup.ws = wakeup_source_register(dev_name(&adev->dev)); > > > >> adev->wakeup.context.dev = dev; > > > >> adev->wakeup.context.func = func; > > > >> > > > >> mutex_unlock(&acpi_pm_notifier_lock); > > > >> > > > >> > status = acpi_install_notify_handler(adev->handle, > > > >> > ACPI_SYSTEM_NOTIFY, > > > >> > acpi_pm_notify_handler, > > > >> > NULL); > > > >> > if (ACPI_FAILURE(status)) > > > >> > goto out; > > > >> > > > > >> > + mutex_lock(&acpi_pm_notifier_lock); > > > >> > > > >> And here you just set notifier_present under acpi_pm_notifier_lock. > > > >> > > > >> > + adev->wakeup.ws = > > > >> > wakeup_source_register(dev_name(&adev->dev)); > > > >> > + adev->wakeup.context.dev = dev; > > > >> > + adev->wakeup.context.func = func; > > > >> > adev->wakeup.flags.notifier_present = true; > > > >> > + mutex_unlock(&acpi_pm_notifier_lock); > > > >> > > > > >> > out: > > > >> > - mutex_unlock(&acpi_pm_notifier_lock); > > > >> > + mutex_unlock(&acpi_pm_notifier_install_lock); > > > >> > return status; > > > >> > } > > > >> > > > >> Then on removal you can clear notifier_present first and drop the lock > > > >> around the acpi_remove_notify_handler() call and nothing bad will > > > >> happen. > > > >> > > > >> If you call acpi_add_pm_notifier() twice in parallel, the first > > > >> instance will set context.dev and the second one will see it set and > > > >> bail out. The first instance will then do the rest. > > > >> > > > >> If you call acpi_remove_pm_notifier() twice in a row, the first > > > >> instance will see notifier_present set and will clear it, so the > > > >> second one will see notifier_present unset and it will bail out. > > > >> > > > >> Now, if you call acpi_remove_pm_notifier() in parallel with > > > >> acpi_add_pm_notifier(), either the former will see notifier_present > > > >> unset and bail out, or the latter will see context.dev unset and bail > > > >> out. > > > >> > >
[Intel-gfx] [PULL] drm-misc-next-fixes
Hi Dave, drm-misc-next-fixes-2017-11-08: 4.15 merge window fixes, round 2: randconfig fix from Arnd, plus the vblank WARN_ON fix from Ville. Right away a new pull request because somehow Ville's fix was stuck for a bit too long and everyone forgot :-( And I didn't notice because i915 isn't affected since we do have accurate vblank times. If some fool would igt-CI some arm driver, I think that'd would be really great. Collabora once did, but no idea where that is stuck now ... Cheers, Daniel The following changes since commit e073db5c5d7ad311efa8f4192a2047b006bbc5f3: drm/vc4: Fix wrong printk format in vc4_bo_stats_debugfs() (2017-11-03 10:15:42 -0700) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-misc tags/drm-misc-next-fixes-2017-11-08 for you to fetch changes up to a111fbc4c44d2981f1a8fef64418685be5e30280: drm/vblank: Tune drm_crtc_accurate_vblank_count() WARN down to a debug (2017-11-07 21:07:02 +0200) 4.15 merge window fixes, round 2: randconfig fix from Arnd, plus the vblank WARN_ON fix from Ville. Arnd Bergmann (1): drm/rockchip: add CONFIG_OF dependency for lvds Ville Syrjälä (1): drm/vblank: Tune drm_crtc_accurate_vblank_count() WARN down to a debug drivers/gpu/drm/drm_vblank.c | 4 ++-- drivers/gpu/drm/rockchip/Kconfig | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] ✗ Fi.CI.BAT: failure for drm: i915: remove timeval users
On Wed, Nov 8, 2017 at 1:31 PM, Patchwork wrote: > == Series Details == > > Series: drm: i915: remove timeval users > URL : https://patchwork.freedesktop.org/series/33147/ > State : failure > For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6971/ Can someone explain to me what to make of the test results for my patch? I received three mails that all sound like there is something seriously wrong with my patch. It's possible that this is the case, but I don't see anything I did related to what I find in the test report. Are there known false-positives that would explain it, or do I have to look harder? Arnd ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/gen9: Add WaVFEStateAfterPipeControlwithMediaStateClear
s/Arun/Jeff + Jon/ This W/A would seem to be breaking context isolation as it is not context saved. Thus it is a candidate for being removed. I have to say I did not get any wiser from reading the HSD, so can you guys bring some insight here? Regards, Joonas On Wed, 2017-11-01 at 22:44 +, Chris Wilson wrote: > Quoting Arun Siluvery (2016-06-03 12:40:00) > > Kernel only need to add a register to HW whitelist, required for a > > preemption related issue. > > > > Reference: HSD#2131039 > > Signed-off-by: Arun Siluvery > > --- > > drivers/gpu/drm/i915/i915_reg.h | 1 + > > drivers/gpu/drm/i915/intel_ringbuffer.c | 5 + > > 2 files changed, 6 insertions(+) > > > > diff --git a/drivers/gpu/drm/i915/i915_reg.h > > b/drivers/gpu/drm/i915/i915_reg.h > > index e307725..1f6040a 100644 > > --- a/drivers/gpu/drm/i915/i915_reg.h > > +++ b/drivers/gpu/drm/i915/i915_reg.h > > @@ -6072,6 +6072,7 @@ enum skl_disp_power_wells { > > #define GEN9_TSG_BARRIER_ACK_DISABLE (1<<8) > > > > #define GEN9_CS_DEBUG_MODE1_MMIO(0x20ec) > > +#define GEN9_CTX_PREEMPT_REG _MMIO(0x2248) > > #define GEN8_CS_CHICKEN1 _MMIO(0x2580) > > > > /* GEN7 chicken */ > > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c > > b/drivers/gpu/drm/i915/intel_ringbuffer.c > > index 8d35a39..1f9d3a4 100644 > > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c > > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c > > @@ -987,6 +987,11 @@ static int gen9_init_workarounds(struct > > intel_engine_cs *engine) > > I915_WRITE(GEN8_L3SQCREG4, (I915_READ(GEN8_L3SQCREG4) | > > GEN8_LQSC_FLUSH_COHERENT_LINES)); > > > > + /* WaVFEStateAfterPipeControlwithMediaStateClear:skl,bxt */ > > + ret= wa_ring_whitelist_reg(engine, GEN9_CTX_PREEMPT_REG); > > + if (ret) > > + return ret; > > What is for exactly? This register is not context saved, so... > -Chris > ___ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Joonas Lahtinen Open Source Technology Center Intel Corporation ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: sync dp link status checks against atomic commmits
On Wed, Nov 08, 2017 at 01:57:50PM +0100, Daniel Vetter wrote: > Two bits: > - check actual atomic state, the legacy stuff can only be looked at > from within the atomic_commit_tail function, since it's only > protected by ordering and not by any locks. > > - Make sure we don't wreak the work an ongoing nonblocking commit is > doing. I still think we need to move the retraining to the hotplug work. > > v2: We need the crtc lock too, because a plane update might change it > without having to acquire the connection_mutex (Maarten). Use > Maarten's changes for this locking, while keeping the logic that uses > the connection->commit->hw_done signal for syncing with nonblocking > commits. > > Cc: Manasi Navare > Cc: Maarten Lankhorst > Cc: Ville Syrjälä > References: https://bugs.freedesktop.org/show_bug.cgi?id=103336 > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99272 > Signed-off-by: Daniel Vetter > --- > drivers/gpu/drm/i915/intel_dp.c | 56 > - > 1 file changed, 50 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index d27c0145ac91..7cd7ab4fb431 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -4319,6 +4319,8 @@ static void > intel_dp_check_link_status(struct intel_dp *intel_dp) > { > struct intel_encoder *intel_encoder = &dp_to_dig_port(intel_dp)->base; > + struct drm_connector_state *conn_state = > + intel_dp->attached_connector->base.state; > struct drm_device *dev = intel_dp_to_dev(intel_dp); > u8 link_status[DP_LINK_STATUS_SIZE]; > > @@ -4329,10 +4331,15 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) > return; > } > > - if (!intel_encoder->base.crtc) > + if (!conn_state->crtc) > return; > > - if (!to_intel_crtc(intel_encoder->base.crtc)->active) > + WARN_ON(!drm_modeset_is_locked(&conn_state->crtc->mutex)); > + > + if (!conn_state->crtc->state->active) > + return; > + > + if (!try_wait_for_completion(&conn_state->commit->hw_done)) > return; > > /* > @@ -4368,7 +4375,6 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) > static bool > intel_dp_short_pulse(struct intel_dp *intel_dp) > { > - struct drm_device *dev = intel_dp_to_dev(intel_dp); > struct intel_encoder *intel_encoder = &dp_to_dig_port(intel_dp)->base; > u8 sink_irq_vector = 0; > u8 old_sink_count = intel_dp->sink_count; > @@ -4408,9 +4414,8 @@ intel_dp_short_pulse(struct intel_dp *intel_dp) > DRM_DEBUG_DRIVER("CP or sink specific irq unhandled\n"); > } > > - drm_modeset_lock(&dev->mode_config.connection_mutex, NULL); > intel_dp_check_link_status(intel_dp); > - drm_modeset_unlock(&dev->mode_config.connection_mutex); > + > if (intel_dp->compliance.test_type == DP_TEST_LINK_TRAINING) { > DRM_DEBUG_KMS("Link Training Compliance Test requested\n"); > /* Send a Hotplug Uevent to userspace to start modeset */ > @@ -4860,8 +4865,19 @@ intel_dp_detect(struct drm_connector *connector, > connector->base.id, connector->name); > > /* If full detect is not performed yet, do a full detect */ > - if (!intel_dp->detect_done) > + if (!intel_dp->detect_done) { > + struct drm_crtc *crtc; > + int ret; > + > + crtc = connector->state->crtc; > + if (crtc) { > + ret = drm_modeset_lock(&crtc->mutex, ctx); > + if (ret) > + return ret; > + } > + > status = intel_dp_long_pulse(intel_dp->attached_connector); > + } > > intel_dp->detect_done = false; > > @@ -5146,10 +5162,38 @@ intel_dp_hpd_pulse(struct intel_digital_port > *intel_dig_port, bool long_hpd) > } > > if (!intel_dp->is_mst) { > + struct drm_modeset_acquire_ctx ctx; > + struct drm_connector *connector = > &intel_dp->attached_connector->base; > + struct drm_crtc *crtc; > + int iret; > + > + drm_modeset_acquire_init(&ctx, 0); > +retry: > + iret = drm_modeset_lock(&dev->mode_config.connection_mutex, > &ctx); > + if (iret) > + goto err; > + > + crtc = connector->state->crtc; > + if (crtc) { > + iret = drm_modeset_lock(&crtc->mutex, &ctx); > + if (iret) > + goto err; > + } > + > if (!intel_dp_short_pulse(intel_dp)) { > intel_dp->detect_done = false; > goto put_power; > } > + > +err: > + if (iret == -EDEADLK) { > + drm_modeset_backoff(&ctx); > + goto retry; > +
Re: [Intel-gfx] [PATCH] HAX: WARN_ON(crtc->crc.opened during disable)
Please use trybot (i.e. send patches to intel-gfx-try...@lists.freedesktop.org) for hacks that aren't intended for upstream. Then they can be prioritized appropriately. BR, Jani. On Wed, 08 Nov 2017, Maarten Lankhorst wrote: > --- > drivers/gpu/drm/i915/intel_display.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/i915/intel_display.c > b/drivers/gpu/drm/i915/intel_display.c > index 39d1f30cd0c4..436374b08b69 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -12176,6 +12176,7 @@ static void intel_atomic_commit_tail(struct > drm_atomic_state *state) > > if (old_crtc_state->active) { > intel_crtc_disable_planes(crtc, > old_crtc_state->plane_mask); > + WARN_ON(crtc->crc.opened); > > dev_priv->display.crtc_disable(to_intel_crtc_state(old_crtc_state), state); > intel_crtc->active = false; > intel_fbc_disable(intel_crtc); -- Jani Nikula, Intel Open Source Technology Center ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Idle the GPU before shinking everything (rev2)
== Series Details == Series: drm/i915: Idle the GPU before shinking everything (rev2) URL : https://patchwork.freedesktop.org/series/33373/ State : success == Summary == Test perf: Subgroup polling: pass -> FAIL (shard-hsw) fdo#102252 Test kms_busy: Subgroup extended-modeset-hang-newfb-with-reset-render-a: dmesg-warn -> PASS (shard-hsw) fdo#102249 Test kms_cursor_legacy: Subgroup flip-vs-cursor-toggle: skip -> PASS (shard-hsw) fdo#102670 Test drv_module_reload: Subgroup basic-reload: pass -> DMESG-WARN (shard-hsw) fdo#102707 fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252 fdo#102249 https://bugs.freedesktop.org/show_bug.cgi?id=102249 fdo#102670 https://bugs.freedesktop.org/show_bug.cgi?id=102670 fdo#102707 https://bugs.freedesktop.org/show_bug.cgi?id=102707 shard-hswtotal:2540 pass:1431 dwarn:1 dfail:0 fail:11 skip:1097 time:9198s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7007/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] ✗ Fi.CI.BAT: failure for drm: i915: remove timeval users
On Wed, Nov 08, 2017 at 02:01:12PM +0100, Arnd Bergmann wrote: > On Wed, Nov 8, 2017 at 1:31 PM, Patchwork > wrote: > > == Series Details == > > > > Series: drm: i915: remove timeval users > > URL : https://patchwork.freedesktop.org/series/33147/ > > State : failure > > For more details see: > > https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_6971/ > > Can someone explain to me what to make of the test results for my patch? > > I received three mails that all sound like there is something seriously wrong > with my patch. It's possible that this is the case, but I don't see anything I > did related to what I find in the test report. > > Are there known false-positives that would explain it, or do I have to look > harder? CI on fire, sorry about the noise. It unfortunately still happens too often, which is why we don't inflict it on the general unsuspecting public, but just people who submit stuff to intel-gfx. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: sync dp link status checks against atomic commmits
On Wed, Nov 08, 2017 at 03:04:58PM +0200, Ville Syrjälä wrote: > On Wed, Nov 08, 2017 at 01:57:50PM +0100, Daniel Vetter wrote: > > Two bits: > > - check actual atomic state, the legacy stuff can only be looked at > > from within the atomic_commit_tail function, since it's only > > protected by ordering and not by any locks. > > > > - Make sure we don't wreak the work an ongoing nonblocking commit is > > doing. > > I still think we need to move the retraining to the hotplug work. Why? One of the patch series Maarten mentioned says there's a deadlock with dp aux, but it seems to be all just fine when CI retrains. And even if there is a deadlock, it's there already, so not sure why we need to block this bugfix on a different bugfix. Which seems to be what you're suggesting here (but it's a bit sparse). -Daniel > > v2: We need the crtc lock too, because a plane update might change it > > without having to acquire the connection_mutex (Maarten). Use > > Maarten's changes for this locking, while keeping the logic that uses > > the connection->commit->hw_done signal for syncing with nonblocking > > commits. > > > > Cc: Manasi Navare > > Cc: Maarten Lankhorst > > Cc: Ville Syrjälä > > References: https://bugs.freedesktop.org/show_bug.cgi?id=103336 > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99272 > > Signed-off-by: Daniel Vetter > > --- > > drivers/gpu/drm/i915/intel_dp.c | 56 > > - > > 1 file changed, 50 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_dp.c > > b/drivers/gpu/drm/i915/intel_dp.c > > index d27c0145ac91..7cd7ab4fb431 100644 > > --- a/drivers/gpu/drm/i915/intel_dp.c > > +++ b/drivers/gpu/drm/i915/intel_dp.c > > @@ -4319,6 +4319,8 @@ static void > > intel_dp_check_link_status(struct intel_dp *intel_dp) > > { > > struct intel_encoder *intel_encoder = &dp_to_dig_port(intel_dp)->base; > > + struct drm_connector_state *conn_state = > > + intel_dp->attached_connector->base.state; > > struct drm_device *dev = intel_dp_to_dev(intel_dp); > > u8 link_status[DP_LINK_STATUS_SIZE]; > > > > @@ -4329,10 +4331,15 @@ intel_dp_check_link_status(struct intel_dp > > *intel_dp) > > return; > > } > > > > - if (!intel_encoder->base.crtc) > > + if (!conn_state->crtc) > > return; > > > > - if (!to_intel_crtc(intel_encoder->base.crtc)->active) > > + WARN_ON(!drm_modeset_is_locked(&conn_state->crtc->mutex)); > > + > > + if (!conn_state->crtc->state->active) > > + return; > > + > > + if (!try_wait_for_completion(&conn_state->commit->hw_done)) > > return; > > > > /* > > @@ -4368,7 +4375,6 @@ intel_dp_check_link_status(struct intel_dp *intel_dp) > > static bool > > intel_dp_short_pulse(struct intel_dp *intel_dp) > > { > > - struct drm_device *dev = intel_dp_to_dev(intel_dp); > > struct intel_encoder *intel_encoder = &dp_to_dig_port(intel_dp)->base; > > u8 sink_irq_vector = 0; > > u8 old_sink_count = intel_dp->sink_count; > > @@ -4408,9 +4414,8 @@ intel_dp_short_pulse(struct intel_dp *intel_dp) > > DRM_DEBUG_DRIVER("CP or sink specific irq unhandled\n"); > > } > > > > - drm_modeset_lock(&dev->mode_config.connection_mutex, NULL); > > intel_dp_check_link_status(intel_dp); > > - drm_modeset_unlock(&dev->mode_config.connection_mutex); > > + > > if (intel_dp->compliance.test_type == DP_TEST_LINK_TRAINING) { > > DRM_DEBUG_KMS("Link Training Compliance Test requested\n"); > > /* Send a Hotplug Uevent to userspace to start modeset */ > > @@ -4860,8 +4865,19 @@ intel_dp_detect(struct drm_connector *connector, > > connector->base.id, connector->name); > > > > /* If full detect is not performed yet, do a full detect */ > > - if (!intel_dp->detect_done) > > + if (!intel_dp->detect_done) { > > + struct drm_crtc *crtc; > > + int ret; > > + > > + crtc = connector->state->crtc; > > + if (crtc) { > > + ret = drm_modeset_lock(&crtc->mutex, ctx); > > + if (ret) > > + return ret; > > + } > > + > > status = intel_dp_long_pulse(intel_dp->attached_connector); > > + } > > > > intel_dp->detect_done = false; > > > > @@ -5146,10 +5162,38 @@ intel_dp_hpd_pulse(struct intel_digital_port > > *intel_dig_port, bool long_hpd) > > } > > > > if (!intel_dp->is_mst) { > > + struct drm_modeset_acquire_ctx ctx; > > + struct drm_connector *connector = > > &intel_dp->attached_connector->base; > > + struct drm_crtc *crtc; > > + int iret; > > + > > + drm_modeset_acquire_init(&ctx, 0); > > +retry: > > + iret = drm_modeset_lock(&dev->mode_config.connection_mutex, > > &ctx); > > + if (iret) > > + goto err; > > + > > + crtc = co