[Intel-gfx] ✓ Fi.CI.BAT: success for Revert "intel-ci: Remove kms_psr_sink_crc@psr_basic from BAT"
== Series Details == Series: Revert "intel-ci: Remove kms_psr_sink_crc@psr_basic from BAT" URL : https://patchwork.freedesktop.org/series/29805/ State : success == Summary == IGT patchset tested on top of latest successful build 490b386ae36d393cdea514882a2437c6e964c13f scripts/run-tests.sh: Use piglit's --ignore-missing with latest DRM-Tip kernel build CI_DRM_3038 9dd459ef87a9 drm-tip: 2017y-09m-04d-19h-10m-24s UTC integration manifest Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-atomic: pass -> FAIL (fi-snb-2600) fdo#100215 +1 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:458s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:449s fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:361s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:569s fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:254s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:527s fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:525s fi-byt-n2820 total:289 pass:250 dwarn:1 dfail:0 fail:0 skip:38 time:524s fi-cfl-s total:289 pass:250 dwarn:4 dfail:0 fail:0 skip:35 time:463s fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:439s fi-glk-2atotal:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:619s fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:448s fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:426s fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:427s fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:500s fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:473s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:518s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:603s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:602s fi-pnv-d510 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:525s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:541s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:516s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:447s fi-skl-x1585ltotal:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:482s fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:552s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:1 skip:39 time:406s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_142/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t] Revert "intel-ci: Remove kms_psr_sink_crc@psr_basic from BAT"
HI, > -Original Message- > From: Intel-gfx [mailto:intel-gfx-boun...@lists.freedesktop.org] On Behalf > Of Daniel Vetter > Sent: tiistai 5. syyskuuta 2017 9.39 > To: Intel Graphics Development > Cc: Daniel Vetter ; Vetter, Daniel > > Subject: [Intel-gfx] [PATCH i-g-t] Revert "intel-ci: Remove > kms_psr_sink_crc@psr_basic from BAT" > > This reverts commit effb78b382895c19d0946c217cee3602dcd94c50. > > cibuglog is for filtering unstable results, we can't simply opt to not test > PSR. Ack if it matters, Petri? > > Signed-off-by: Daniel Vetter > --- > tests/intel-ci/fast-feedback.testlist | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast- > feedback.testlist > index a8e9c5be99d9..bf8c1e663801 100644 > --- a/tests/intel-ci/fast-feedback.testlist > +++ b/tests/intel-ci/fast-feedback.testlist > @@ -247,6 +247,7 @@ igt@kms_pipe_crc_basic@read-crc-pipe-c-frame- > sequence > igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a > igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b > igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c > +igt@kms_psr_sink_crc@psr_basic > igt@kms_setmode@basic-clone-single-crtc > igt@kms_sink_crc_basic > igt@pm_backlight@basic-brightness > -- > 2.9.5 Jani Saarinen 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
Re: [Intel-gfx] [PATCH 2/2] drm/i915: Fail addfb ioctl if color and CCS buffers overlap
Hi Ville, On 4 September 2017 at 17:37, Ville Syrjälä wrote: > On Thu, Aug 31, 2017 at 04:52:15PM -0300, Gabriel Krisman Bertazi wrote: >> With this patch the new testcase igt@kms_ccs@pipe-X-invalid-ccs-offset >> succeeds. > > I don't think we actually want to reject overlap. I had a patch for that > years ago, but I decided to drop it because people might want to > interleave the planes in some interesting ways. Making the overlap > check accurate enough to allow that would be to total overkill. So IMO > it's perfectly fine to let the user shoot himself in the foot if they > mess up the offsets. Is that actually supported by any hardware renderer? If not, maybe the check should only be enabled for generations who support it. Cheers, Daniel ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t v3 7/7] tests/kms_ccs: Test case for wrong aux buffer stripe size
Hi Gabriel, On 31 August 2017 at 07:18, Gabriel Krisman Bertazi wrote: > Two scenarios tested: > - unaligned stripe > - Stripe too small 'stride' in the commit message please. ;) But it is fine everywhere through the code. > @@ -323,7 +326,14 @@ static void generate_fb(data_t *data, struct igt_fb *fb, > */ > int ccs_width = ALIGN(width * 4, 32) / 32; > int ccs_height = ALIGN(height, 16) / 16; > - f.pitches[1] = ALIGN(ccs_width * 1, 128); > + int aux_stride = ALIGN(ccs_width * 1, 128); > + > + if (fb_flags & FB_MISALIGN_AUX_STRIDE) > + aux_stride = ccs_width; aux_stride -= 64 perhaps? > + else if (fb_flags & FB_SMALL_AUX_STRIDE) > + aux_stride = ALIGN(ccs_width/2, 128); This one seems OK, but maybe want to skip it in the unlikely case that (w <= 1024), since that already has the smallest possible valid stride at 128. Cheers, Daniel ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.IGT: failure for Revert "intel-ci: Remove kms_psr_sink_crc@psr_basic from BAT"
== Series Details == Series: Revert "intel-ci: Remove kms_psr_sink_crc@psr_basic from BAT" URL : https://patchwork.freedesktop.org/series/29805/ State : failure == Summary == Test perf: Subgroup polling: pass -> FAIL (shard-hsw) fdo#102252 Test kms_flip: Subgroup flip-vs-absolute-wf_vblank-interruptible: pass -> FAIL (shard-hsw) fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252 shard-hswtotal:2220 pass:1210 dwarn:0 dfail:0 fail:18 skip:992 time:9479s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_142/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v2 6/7] tests/kms_ccs: Test case where CCS is on a different BO
Hi Gabriel, On 31 August 2017 at 06:58, Gabriel Krisman Bertazi wrote: > + if (data->flags & TEST_BAD_CCS_HANDLE) { > + /* Put the CCS buffer on a different BO. */ > + f.handles[0] = gem_create(data->drm_fd, size[0]); > + ccs_handle = gem_create(data->drm_fd, size[1]); > + f.offsets[1] = 0; This could be caught by offsets[1] < size[0] checking. Could you please create both BOs with (size[0] + size[1]), and set (offset[1] == size[0])? In other words, the only thing differing at all is the BO. Cheers, Daniel ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v2 5/7] tests/kms_ccs: Test case where CCS and main buffer overlaps
On 31 August 2017 at 06:58, Gabriel Krisman Bertazi wrote: > @@ -321,7 +322,13 @@ static void generate_fb(data_t *data, struct igt_fb *fb, > int ccs_height = ALIGN(height, 16) / 16; > f.pitches[1] = ALIGN(ccs_width * 1, 128); > f.modifier[1] = modifier; > - f.offsets[1] = size[0]; > + > + if (data->flags & TEST_BAD_CCS_OFFSET) { > + /* Overlap CCS buffer with the color buffer. */ > + f.offsets[1] = 0; How about size[0] - 1024? That will give us an aligned-to-128 value which looks plausible, and should overlap actual colour data. Cheers, Daniel ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v2 4/7] tests/kms_ccs: Test case where the CCS buffer was not provided
Hi Gabriel, On 31 August 2017 at 06:58, Gabriel Krisman Bertazi wrote: > @@ -321,16 +325,19 @@ static void generate_fb(data_t *data, struct igt_fb *fb, > size[1] = f.pitches[1] * ALIGN(ccs_height, 32); > > f.handles[0] = gem_create(data->drm_fd, size[0] + size[1]); > - f.handles[1] = f.handles[0]; > - render_ccs(data, f.handles[1], f.offsets[1], size[1], > - height, f.pitches[1]); > + > + if (!(data->flags & TEST_NO_AUX_BUFFER)) { > + f.handles[1] = f.handles[0]; > + render_ccs(data, f.handles[1], f.offsets[1], size[1], > + height, f.pitches[1]); > + } Doesn't this leave modifier[1] still set? If so, that'll get rejected by core code already for a mismatch. Cheers, Daniel ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 1/2] drm/i915/dsi: Send SHUTDOWN only for v3+ VBT's
On Mon, 2017-09-04 at 18:04 +0300, Ville Syrjälä wrote: > On Mon, Sep 04, 2017 at 10:59:32AM +0300, Mika Kahola wrote: > > > > On Fri, 2017-09-01 at 16:43 +0300, Ville Syrjälä wrote: > > > > > > On Fri, Sep 01, 2017 at 10:51:00AM +0300, Mika Kahola wrote: > > > > > > > > > > > > According to spec we should send SHUTDOWN before > > > > MIPI_SEQ_DISPLAY_OFF for > > > > v3+ VBT's. Testing with VBT v3 the current implementation > > > > yields > > > > the > > > > following error message > > > > > > > > *ERROR* Video mode command 0x0041 send failed. > > > > > > > > To get rid of this error message, let's limit SHUTDOWN only for > > > > VBT > > > > versions 3 or higher. > > > In the patch you limit it to version 4+, which doesn't make sense > > > since > > > AFAIK there is no version 4 of the sequence block. > > It seems that sending SHUTDOWN signal doesn't make any sense > > either. > > Whenever we send that signal it just causes this error message. Do > > we > > really need to signal this? From functionality point of view > > there's no > > difference. > Well, the spec doesn't even explain what this "shut down" command > does. > Is it actually the DCS "display off" command, or something else? It seems to do something. At least the intel_wait_for_register() times out when sending SHUTDOWN signal. Maybe it just shuts down display so we can't even read the registers after that. This brings me to another idea. Maybe we should skip intel_wait_for_register() if we have sent out SHUTDOWN signal? > > Did you try reverting bbdf0b2ff32a ("drm/i915/bxt: Disable device > ready > before shutdown command")? That looks suspicious to me. But so does > about half of the DSI code since it never seems to follow the spec, > and > we end up doing totally different things on different platforms > without > any explanation why that is). I haven't tried that. I will give it a go and see what happens. > > > > > > > > > > > > > > > > > > > > > > > > > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102404 > > > > Signed-off-by: Mika Kahola > > > > --- > > > > drivers/gpu/drm/i915/intel_dsi.c | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c > > > > b/drivers/gpu/drm/i915/intel_dsi.c > > > > index 2a0f5d3..b48b9b7 100644 > > > > --- a/drivers/gpu/drm/i915/intel_dsi.c > > > > +++ b/drivers/gpu/drm/i915/intel_dsi.c > > > > @@ -916,7 +916,7 @@ static void intel_dsi_disable(struct > > > > intel_encoder *encoder, > > > > * MIPI_SEQ_DISPLAY_OFF only for v3+ VBTs, but field > > > > testing > > > > * has shown that the v3 sequence works for v2 VBTs > > > > too > > > > */ > > > > - if (is_vid_mode(intel_dsi)) { > > > > + if (is_vid_mode(intel_dsi) && dev_priv- > > > > > > > > > > vbt.dsi.seq_version > 3) { > > > > /* Send Shutdown command to the panel in LP > > > > mode > > > > */ > > > > for_each_dsi_port(port, intel_dsi->ports) > > > > dpi_send_cmd(intel_dsi, SHUTDOWN, > > > > false, > > > > port); > > > > -- > > > > 2.7.4 > > > > > > > > ___ > > > > Intel-gfx mailing list > > > > Intel-gfx@lists.freedesktop.org > > > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > > Mika Kahola - Intel OTC -- Mika Kahola - Intel OTC ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for Fixed16.16 wrapper cleanup & wm optimization (rev7)
== Series Details == Series: Fixed16.16 wrapper cleanup & wm optimization (rev7) URL : https://patchwork.freedesktop.org/series/25692/ State : success == Summary == Series 25692v7 Fixed16.16 wrapper cleanup & wm optimization https://patchwork.freedesktop.org/api/1.0/series/25692/revisions/7/mbox/ Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: fail -> PASS (fi-snb-2600) fdo#100215 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fi-bdw-5557u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:455s fi-bdw-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:443s fi-blb-e6850 total:288 pass:224 dwarn:1 dfail:0 fail:0 skip:63 time:364s fi-bsw-n3050 total:288 pass:243 dwarn:0 dfail:0 fail:0 skip:45 time:553s fi-bwr-2160 total:288 pass:184 dwarn:0 dfail:0 fail:0 skip:104 time:253s fi-bxt-j4205 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:523s fi-byt-j1900 total:288 pass:254 dwarn:1 dfail:0 fail:0 skip:33 time:527s fi-byt-n2820 total:288 pass:250 dwarn:1 dfail:0 fail:0 skip:37 time:519s fi-cfl-s total:288 pass:250 dwarn:4 dfail:0 fail:0 skip:34 time:475s fi-elk-e7500 total:288 pass:230 dwarn:0 dfail:0 fail:0 skip:58 time:444s fi-glk-2atotal:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:609s fi-hsw-4770 total:288 pass:263 dwarn:0 dfail:0 fail:0 skip:25 time:444s fi-hsw-4770r total:288 pass:263 dwarn:0 dfail:0 fail:0 skip:25 time:428s fi-ilk-650 total:288 pass:229 dwarn:0 dfail:0 fail:0 skip:59 time:429s fi-ivb-3520m total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:512s fi-ivb-3770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:475s fi-kbl-7500u total:288 pass:264 dwarn:1 dfail:0 fail:0 skip:23 time:513s fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:599s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:593s fi-pnv-d510 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:529s fi-skl-6260u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:471s fi-skl-6700k total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:543s fi-skl-6770hqtotal:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:519s fi-skl-gvtdvmtotal:288 pass:266 dwarn:0 dfail:0 fail:0 skip:22 time:445s fi-skl-x1585ltotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:488s fi-snb-2520m total:288 pass:251 dwarn:0 dfail:0 fail:0 skip:37 time:552s fi-snb-2600 total:288 pass:250 dwarn:0 dfail:0 fail:0 skip:38 time:414s 9dd459ef87a90495aac4cee73831f4cd694048ca drm-tip: 2017y-09m-04d-19h-10m-24s UTC integration manifest 2ada4271845d drm/i915/skl+: debugfs entry to control IPC e5f7eb82afae drm/i915/bxt+: Enable IPC support d00d34749ef1 drm/i915/gen9+: Add has_ipc flag in device info structure a5c7fdb09e75 drm/i915/cnl: Extend WM workaround with IPC for CNL 0d826d158d21 drm/i915/glk: IPC linetime watermark workaround for GLK 5cd332faa41d drm/i915/gen10: Calculate and enable transition WM 3dfced37c27b drm/i915/skl+: Optimize WM calculation 1836ce27ff03 drm/i915: Fixed point fixed16 wrapper cleanup == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5578/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 06/23] drm/i915: introduce page_size members
On Mon, 2017-08-21 at 19:34 +0100, Matthew Auld wrote: > In preparation for supporting huge gtt pages for the ppgtt, we introduce > page size members for gem objects. We fill in the page sizes by > scanning the sg table. > > v2: pass the sg_mask to set_pages > > v3: calculate the sg_mask inline with populating the sg_table where > possible, and pass to set_pages along with the pages. > > Signed-off-by: Matthew Auld > Cc: Joonas Lahtinen > Cc: Chris Wilson > Cc: Daniel Vetter > @@ -2477,6 +2490,18 @@ void __i915_gem_object_set_pages(struct > drm_i915_gem_object *obj, > __i915_gem_object_pin_pages(obj); > obj->mm.quirked = true; > } > + > + GEM_BUG_ON(!sg_mask); You can drop this extra newline. > + > + obj->mm.page_sizes.phys = sg_mask; > + > + obj->mm.page_sizes.sg = 0; Maybe worthy a comment here that any higher multiple of supported page sizes can be filled with current page size. > + for_each_set_bit(bit, &supported_page_sizes, BITS_PER_LONG) { > + if (obj->mm.page_sizes.phys & ~0u << bit) > + obj->mm.page_sizes.sg |= BIT(bit); 'i' might make this less confusing to read as BIT(i). > + } > + > + GEM_BUG_ON(!HAS_PAGE_SIZE(i915, obj->mm.page_sizes.sg)); This usage makes me think we should call the macro HAS_PAGE_SIZES()? > @@ -259,13 +259,19 @@ struct dma_buf *i915_gem_prime_export(struct drm_device > *dev, > static int i915_gem_object_get_pages_dmabuf(struct drm_i915_gem_object *obj) > { > struct sg_table *pages; > + struct scatterlist *sg; > + unsigned int sg_mask = 0; As we are alternating between "unsigned long" and "unsigned int" for the page size masks, make sure sparse is not complaining. > + int n; > > pages = dma_buf_map_attachment(obj->base.import_attach, > DMA_BIDIRECTIONAL); > if (IS_ERR(pages)) > return PTR_ERR(pages); > > - __i915_gem_object_set_pages(obj, pages); Chris will like you if you do it here; sg_mask = 0; > + for_each_sg(pages->sgl, sg, pages->nents, n) > + sg_mask |= sg->length; > + > + __i915_gem_object_set_pages(obj, pages, sg_mask); > > return 0; > } > @@ -75,6 +76,7 @@ static int i915_gem_object_get_pages_internal(struct > drm_i915_gem_object *obj) > } > > create_st: > + sg_mask = 0; Maybe move this just before the loop, too. > st = kmalloc(sizeof(*st), GFP_KERNEL); > if (!st) > return -ENOMEM; > @@ -104,6 +106,7 @@ static int i915_gem_object_get_pages_internal(struct > drm_i915_gem_object *obj) > } while (1); > > sg_set_page(sg, page, PAGE_SIZE << order, 0); > + sg_mask |= PAGE_SIZE << order; > st->nents++; > > npages -= 1 << order; > +++ b/drivers/gpu/drm/i915/i915_gem_userptr.c > @@ -422,12 +423,17 @@ st_set_pages(struct sg_table **st, struct page **pvec, > int num_pages) > > for_each_sg((*st)->sgl, sg, num_pages, n) > sg_set_page(sg, pvec[n], PAGE_SIZE, 0); > + > + *sg_mask = PAGE_SIZE; This strictly assigns. > } else { > ret = sg_alloc_table_from_pages(*st, pvec, num_pages, > 0, num_pages << PAGE_SHIFT, > GFP_KERNEL); > if (ret) > goto err; > + > + for_each_sg((*st)->sgl, sg, num_pages, n) > + *sg_mask |= sg->length; This appends and assumes input is zero. Maybe zero before the loop? With above fixed, this is: 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
Re: [Intel-gfx] [PATCH 1/2] drm/i915/dsi: Send SHUTDOWN only for v3+ VBT's
>-Original Message- >From: Kahola, Mika >Sent: Tuesday, September 5, 2017 2:03 PM >To: Ville Syrjälä >Cc: intel-gfx@lists.freedesktop.org; Shankar, Uma >Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/dsi: Send SHUTDOWN only for v3+ >VBT's > >On Mon, 2017-09-04 at 18:04 +0300, Ville Syrjälä wrote: >> On Mon, Sep 04, 2017 at 10:59:32AM +0300, Mika Kahola wrote: >> > >> > On Fri, 2017-09-01 at 16:43 +0300, Ville Syrjälä wrote: >> > > >> > > On Fri, Sep 01, 2017 at 10:51:00AM +0300, Mika Kahola wrote: >> > > > >> > > > >> > > > According to spec we should send SHUTDOWN before >> > > > MIPI_SEQ_DISPLAY_OFF for >> > > > v3+ VBT's. Testing with VBT v3 the current implementation >> > > > yields >> > > > the >> > > > following error message >> > > > >> > > > *ERROR* Video mode command 0x0041 send failed. >> > > > >> > > > To get rid of this error message, let's limit SHUTDOWN only for >> > > > VBT versions 3 or higher. >> > > In the patch you limit it to version 4+, which doesn't make sense >> > > since AFAIK there is no version 4 of the sequence block. >> > It seems that sending SHUTDOWN signal doesn't make any sense either. >> > Whenever we send that signal it just causes this error message. Do >> > we really need to signal this? From functionality point of view >> > there's no difference. >> Well, the spec doesn't even explain what this "shut down" command >> does. >> Is it actually the DCS "display off" command, or something else? >It seems to do something. At least the intel_wait_for_register() times out when >sending SHUTDOWN signal. Maybe it just shuts down display so we can't even >read the registers after that. > >This brings me to another idea. Maybe we should skip >intel_wait_for_register() if we have sent out SHUTDOWN signal? > >> >> Did you try reverting bbdf0b2ff32a ("drm/i915/bxt: Disable device >> ready before shutdown command")? That looks suspicious to me. But so >> does about half of the DSI code since it never seems to follow the >> spec, and we end up doing totally different things on different >> platforms without any explanation why that is). >I haven't tried that. I will give it a go and see what happens. > The issue is happening due to Device Ready setting. It was added to resolve a DSI split screen issue in dual link DSI panels. Since DSI dual link is not enabled and will require a bit of work in upstream, we should revert this change. Vidya will send the change and also work on enabling dual link support in upstream. FYI - SHUTDOWN is a short packet peripheral command that turns off the display in a Video Mode display module for power saving. For DSI, there have been issues with different panels requiring some unconventional changes, and also bspec sometimes doesn't cover everything generically. So, it gets a bit challenging :( Regards, Uma Shankar >> > >> > >> > > >> > > >> > > > >> > > > >> > > > >> > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102404 >> > > > Signed-off-by: Mika Kahola >> > > > --- >> > > > drivers/gpu/drm/i915/intel_dsi.c | 2 +- >> > > > 1 file changed, 1 insertion(+), 1 deletion(-) >> > > > >> > > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c >> > > > b/drivers/gpu/drm/i915/intel_dsi.c >> > > > index 2a0f5d3..b48b9b7 100644 >> > > > --- a/drivers/gpu/drm/i915/intel_dsi.c >> > > > +++ b/drivers/gpu/drm/i915/intel_dsi.c >> > > > @@ -916,7 +916,7 @@ static void intel_dsi_disable(struct >> > > > intel_encoder *encoder, >> > > > * MIPI_SEQ_DISPLAY_OFF only for v3+ VBTs, but field testing >> > > > * has shown that the v3 sequence works for v2 VBTs too >> > > > */ >> > > > - if (is_vid_mode(intel_dsi)) { >> > > > + if (is_vid_mode(intel_dsi) && dev_priv- >> > > > > >> > > > > vbt.dsi.seq_version > 3) { >> > > > /* Send Shutdown command to the panel in LP mode */ >> > > > for_each_dsi_port(port, intel_dsi->ports) >> > > > dpi_send_cmd(intel_dsi, SHUTDOWN, false, port); >> > > > -- >> > > > 2.7.4 >> > > > >> > > > ___ >> > > > Intel-gfx mailing list >> > > > Intel-gfx@lists.freedesktop.org >> > > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx >> > -- >> > Mika Kahola - Intel OTC >-- >Mika Kahola - Intel OTC ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t] Revert "intel-ci: Remove kms_psr_sink_crc@psr_basic from BAT"
On Tue, Sep 05, 2017 at 08:39:00AM +0200, Daniel Vetter wrote: > This reverts commit effb78b382895c19d0946c217cee3602dcd94c50. > > cibuglog is for filtering unstable results, we can't simply opt to not > test PSR. > > Signed-off-by: Daniel Vetter Acked-by: Petri Latvala ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] Revert "drm/i915/bxt: Disable device ready before shutdown command"
From: Uma Shankar This reverts commit bbdf0b2ff32aa75c7bd167569130e9391d2e6282. Disable device ready before shutdown command was added previously to avoid a split screen issue seen on dual link DSI panels. As of now, dual link is not supported and will need some rework in the upstream code. For single link DSI panels, the change is not required. This will cause failure in sending SHUTDOWN packet during disable. Hence reverting the change. Will handle the change as part of dual link enabling in upstream. Signed-off-by: Uma Shankar Signed-off-by: Vidya Srinivas --- drivers/gpu/drm/i915/intel_dsi.c | 11 --- 1 file changed, 11 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c index 2a0f5d3..fc25d7d 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c @@ -892,8 +892,6 @@ static void intel_dsi_disable(struct intel_encoder *encoder, const struct intel_crtc_state *old_crtc_state, const struct drm_connector_state *old_conn_state) { - struct drm_device *dev = encoder->base.dev; - struct drm_i915_private *dev_priv = dev->dev_private; struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base); enum port port; @@ -903,15 +901,6 @@ static void intel_dsi_disable(struct intel_encoder *encoder, intel_panel_disable_backlight(old_conn_state); /* -* Disable Device ready before the port shutdown in order -* to avoid split screen -*/ - if (IS_BROXTON(dev_priv)) { - for_each_dsi_port(port, intel_dsi->ports) - I915_WRITE(MIPI_DEVICE_READY(port), 0); - } - - /* * According to the spec we should send SHUTDOWN before * MIPI_SEQ_DISPLAY_OFF only for v3+ VBTs, but field testing * has shown that the v3 sequence works for v2 VBTs too -- 1.9.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/dsi: Fix error on DSI video mode command (rev2)
== Series Details == Series: drm/i915/dsi: Fix error on DSI video mode command (rev2) URL : https://patchwork.freedesktop.org/series/29658/ State : success == Summary == Series 29658v2 drm/i915/dsi: Fix error on DSI video mode command https://patchwork.freedesktop.org/api/1.0/series/29658/revisions/2/mbox/ Test kms_cursor_legacy: Subgroup basic-flip-after-cursor-varying-size: pass -> FAIL (fi-hsw-4770) fdo#102402 +1 fdo#102402 https://bugs.freedesktop.org/show_bug.cgi?id=102402 fi-bdw-5557u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:457s fi-bdw-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:442s fi-blb-e6850 total:288 pass:224 dwarn:1 dfail:0 fail:0 skip:63 time:368s fi-bsw-n3050 total:288 pass:243 dwarn:0 dfail:0 fail:0 skip:45 time:564s fi-bwr-2160 total:288 pass:184 dwarn:0 dfail:0 fail:0 skip:104 time:254s fi-bxt-j4205 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:519s fi-byt-j1900 total:288 pass:254 dwarn:1 dfail:0 fail:0 skip:33 time:522s fi-byt-n2820 total:288 pass:250 dwarn:1 dfail:0 fail:0 skip:37 time:511s fi-cfl-s total:288 pass:250 dwarn:4 dfail:0 fail:0 skip:34 time:460s fi-elk-e7500 total:288 pass:230 dwarn:0 dfail:0 fail:0 skip:58 time:438s fi-glk-2atotal:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:617s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:2 skip:25 time:459s fi-hsw-4770r total:288 pass:263 dwarn:0 dfail:0 fail:0 skip:25 time:425s fi-ilk-650 total:288 pass:229 dwarn:0 dfail:0 fail:0 skip:59 time:421s fi-ivb-3520m total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:503s fi-ivb-3770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:474s fi-kbl-7500u total:288 pass:264 dwarn:1 dfail:0 fail:0 skip:23 time:509s fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:595s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:598s fi-pnv-d510 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:524s fi-skl-6260u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:468s fi-skl-6700k total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:534s fi-skl-6770hqtotal:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:516s fi-skl-gvtdvmtotal:288 pass:266 dwarn:0 dfail:0 fail:0 skip:22 time:442s fi-skl-x1585ltotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:489s fi-snb-2520m total:288 pass:251 dwarn:0 dfail:0 fail:0 skip:37 time:546s fi-snb-2600 total:288 pass:249 dwarn:0 dfail:0 fail:1 skip:38 time:402s 9dd459ef87a90495aac4cee73831f4cd694048ca drm-tip: 2017y-09m-04d-19h-10m-24s UTC integration manifest 8c3226fa5a71 drm/i915/dsi: Replace MIPI command error message with debug message 05d0ec5d45a3 Revert "drm/i915/bxt: Disable device ready before shutdown command" == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5579/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.IGT: success for Fixed16.16 wrapper cleanup & wm optimization (rev7)
== Series Details == Series: Fixed16.16 wrapper cleanup & wm optimization (rev7) URL : https://patchwork.freedesktop.org/series/25692/ State : success == Summary == Test perf: Subgroup blocking: fail -> PASS (shard-hsw) fdo#102252 +1 Test kms_setmode: Subgroup basic: fail -> PASS (shard-hsw) fdo#99912 Test tools_test: Subgroup tools_test: pass -> DMESG-WARN (shard-hsw) fdo#102543 fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252 fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 fdo#102543 https://bugs.freedesktop.org/show_bug.cgi?id=102543 shard-hswtotal:2265 pass:1233 dwarn:1 dfail:0 fail:15 skip:1016 time:9604s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5578/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v2 5/5] tools/testing/scatterlist: Test new __sg_alloc_table_from_pages
From: Tvrtko Ursulin Exercise the new __sg_alloc_table_from_pages API (and through it also the old sg_alloc_table_from_pages), checking that the created table has the expected number of segments depending on the sequence of input pages and other conditions. v2: Move to data driven for readability. Signed-off-by: Tvrtko Ursulin Cc: Chris Wilson Cc: linux-ker...@vger.kernel.org --- tools/testing/scatterlist/Makefile | 30 + tools/testing/scatterlist/linux/mm.h | 125 +++ tools/testing/scatterlist/main.c | 74 + 3 files changed, 229 insertions(+) create mode 100644 tools/testing/scatterlist/Makefile create mode 100644 tools/testing/scatterlist/linux/mm.h create mode 100644 tools/testing/scatterlist/main.c diff --git a/tools/testing/scatterlist/Makefile b/tools/testing/scatterlist/Makefile new file mode 100644 index ..0867e0ef32d6 --- /dev/null +++ b/tools/testing/scatterlist/Makefile @@ -0,0 +1,30 @@ +CFLAGS += -I. -I../../include -g -O2 -Wall -fsanitize=address +LDFLAGS += -fsanitize=address +TARGETS = main +OFILES = main.o scatterlist.o + +ifeq ($(BUILD), 32) +CFLAGS += -m32 +LDFLAGS += -m32 +endif + +targets: include $(TARGETS) + +main: $(OFILES) + +clean: + $(RM) $(TARGETS) $(OFILES) scatterlist.c linux/scatterlist.h linux/highmem.h linux/kmemleak.h asm/io.h + @rmdir asm + +scatterlist.c: ../../../lib/scatterlist.c + @sed -e 's/^static //' -e 's/__always_inline //' -e 's/inline //' < $< > $@ + +.PHONY: include + +include: ../../../include/linux/scatterlist.h + @mkdir -p linux + @mkdir -p asm + @touch asm/io.h + @touch linux/highmem.h + @touch linux/kmemleak.h + @cp $< linux/scatterlist.h diff --git a/tools/testing/scatterlist/linux/mm.h b/tools/testing/scatterlist/linux/mm.h new file mode 100644 index ..ccbb248ebdc1 --- /dev/null +++ b/tools/testing/scatterlist/linux/mm.h @@ -0,0 +1,125 @@ +#ifndef _LINUX_MM_H +#define _LINUX_MM_H + +#include +#include +#include +#include +#include +#include + +typedef unsigned long dma_addr_t; + +#define unlikely + +#define BUG_ON(x) assert(!(x)) + +#define WARN_ON(condition) ({ \ +int __ret_warn_on = !!(condition); \ +unlikely(__ret_warn_on);\ +}) + +#define WARN_ON_ONCE(condition) ({ \ +int __ret_warn_on = !!(condition); \ +if (unlikely(__ret_warn_on))\ +assert(0); \ +unlikely(__ret_warn_on);\ +}) + +#define PAGE_SIZE (4096) +#define PAGE_SHIFT (12) +#define PAGE_MASK (~(PAGE_SIZE-1)) + +#define __ALIGN_KERNEL(x, a)__ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1) +#define __ALIGN_KERNEL_MASK(x, mask)(((x) + (mask)) & ~(mask)) +#define ALIGN(x, a) __ALIGN_KERNEL((x), (a)) + +#define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE) + +#define offset_in_page(p) ((unsigned long)(p) & ~PAGE_MASK) + +#define virt_to_page(x)((void *)x) +#define page_address(x)((void *)x) + +static inline unsigned long page_to_phys(struct page *page) +{ + assert(0); + + return 0; +} + +#define page_to_pfn(page) ((unsigned long)(page) / PAGE_SIZE) +#define pfn_to_page(pfn) (void *)((pfn) * PAGE_SIZE) +#define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n)) + +#define __min(t1, t2, min1, min2, x, y) ({ \ +t1 min1 = (x); \ +t2 min2 = (y); \ +(void) (&min1 == &min2);\ +min1 < min2 ? min1 : min2; }) + +#define ___PASTE(a,b) a##b +#define __PASTE(a,b) ___PASTE(a,b) + +#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) + +#define min(x, y) \ +__min(typeof(x), typeof(y), \ + __UNIQUE_ID(min1_), __UNIQUE_ID(min2_), \ + x, y) + +#define min_t(type, x, y) \ +__min(type, type, \ + __UNIQUE_ID(min1_), __UNIQUE_ID(min2_), \ + x, y) + +#define preemptible() (1) + +static inline void *kmap(struct page *page) +{ + assert(0); + + return NULL; +} + +static inline void *kmap_atomic(struct page *page) +{ + assert(0); + + return NULL; +} + +static inline void kunmap(void *addr) +{ + assert(0); +} + +static inline void kunmap_atomic(void *addr) +{ + assert(0); +} + +static inline unsigned long __get_free_page(unsigned int flags) +{ + return (unsigned long)malloc(PAGE_SIZE); +} + +static inline void free_page(unsigned long page) +{ + free((void *)page); +} + +static i
[Intel-gfx] [PATCH i-g-t v2] igt_core: Skip sync when listing subtests
From: Tvrtko Ursulin No need to sync filesystems when only listing subtest. Extremely marginal benefit of avoid a short stall after make followed by listing subtests. v2: Move sync to common_init for consolidation and simplicity. (Chris Wilson) Signed-off-by: Tvrtko Ursulin Cc: Chris Wilson --- lib/igt_core.c | 1 + lib/igt_core.h | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/igt_core.c b/lib/igt_core.c index 99a82d5ae0e1..7e5aa34237f1 100644 --- a/lib/igt_core.c +++ b/lib/igt_core.c @@ -854,6 +854,7 @@ out: kmsg(KERN_INFO "[IGT] %s: executing\n", command_str); print_version(); + sync(); oom_adjust_for_doom(); low_mem_killer_disable(true); } diff --git a/lib/igt_core.h b/lib/igt_core.h index 619c45c6df90..22b8c2230ea4 100644 --- a/lib/igt_core.h +++ b/lib/igt_core.h @@ -234,7 +234,6 @@ void __igt_subtest_group_restore(int); #define igt_main \ static void igt_tokencat(__real_main, __LINE__)(void); \ int main(int argc, char **argv) { \ - sync(); \ igt_subtest_init_parse_opts(&argc, argv, NULL, NULL, NULL, \ NULL, NULL); \ igt_tokencat(__real_main, __LINE__)(); \ @@ -275,7 +274,6 @@ void igt_simple_init_parse_opts(int *argc, char **argv, #define igt_simple_main \ static void igt_tokencat(__real_main, __LINE__)(void); \ int main(int argc, char **argv) { \ - sync(); \ igt_simple_init_parse_opts(&argc, argv, NULL, NULL, NULL, \ NULL, NULL); \ igt_tokencat(__real_main, __LINE__)(); \ -- 2.9.5 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] Revert "drm/i915/bxt: Disable device ready before shutdown command"
The revert patch solved the issue *ERROR* Video mode command 0x0041 send failed. on my setup with APL+MIPI/DSI single link combo. Tested-by: Mika Kahola On Tue, 2017-09-05 at 15:14 +0530, Vidya Srinivas wrote: > From: Uma Shankar > > This reverts commit bbdf0b2ff32aa75c7bd167569130e9391d2e6282. > > Disable device ready before shutdown command was added previously to > avoid a > split screen issue seen on dual link DSI panels. As of now, dual link > is not > supported and will need some rework in the upstream code. For single > link DSI > panels, the change is not required. This will cause failure in > sending SHUTDOWN > packet during disable. Hence reverting the change. Will handle the > change > as part of dual link enabling in upstream. > > Signed-off-by: Uma Shankar > Signed-off-by: Vidya Srinivas > --- > drivers/gpu/drm/i915/intel_dsi.c | 11 --- > 1 file changed, 11 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c > b/drivers/gpu/drm/i915/intel_dsi.c > index 2a0f5d3..fc25d7d 100644 > --- a/drivers/gpu/drm/i915/intel_dsi.c > +++ b/drivers/gpu/drm/i915/intel_dsi.c > @@ -892,8 +892,6 @@ static void intel_dsi_disable(struct > intel_encoder *encoder, > const struct intel_crtc_state > *old_crtc_state, > const struct drm_connector_state > *old_conn_state) > { > - struct drm_device *dev = encoder->base.dev; > - struct drm_i915_private *dev_priv = dev->dev_private; > struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder- > >base); > enum port port; > > @@ -903,15 +901,6 @@ static void intel_dsi_disable(struct > intel_encoder *encoder, > intel_panel_disable_backlight(old_conn_state); > > /* > - * Disable Device ready before the port shutdown in order > - * to avoid split screen > - */ > - if (IS_BROXTON(dev_priv)) { > - for_each_dsi_port(port, intel_dsi->ports) > - I915_WRITE(MIPI_DEVICE_READY(port), 0); > - } > - > - /* > * According to the spec we should send SHUTDOWN before > * MIPI_SEQ_DISPLAY_OFF only for v3+ VBTs, but field testing > * has shown that the v3 sequence works for v2 VBTs too -- Mika Kahola - Intel OTC ___ 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] lib/scatterlist: Fix offset type in sg_alloc_table_from_pages (rev5)
== Series Details == Series: series starting with [1/5] lib/scatterlist: Fix offset type in sg_alloc_table_from_pages (rev5) URL : https://patchwork.freedesktop.org/series/28151/ State : success == Summary == Series 28151v5 series starting with [1/5] lib/scatterlist: Fix offset type in sg_alloc_table_from_pages https://patchwork.freedesktop.org/api/1.0/series/28151/revisions/5/mbox/ Test kms_flip: Subgroup basic-flip-vs-modeset: skip -> PASS (fi-skl-x1585l) fdo#101781 fdo#101781 https://bugs.freedesktop.org/show_bug.cgi?id=101781 fi-bdw-5557u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:463s fi-bdw-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:445s fi-blb-e6850 total:288 pass:224 dwarn:1 dfail:0 fail:0 skip:63 time:361s fi-bsw-n3050 total:288 pass:243 dwarn:0 dfail:0 fail:0 skip:45 time:553s fi-bwr-2160 total:288 pass:184 dwarn:0 dfail:0 fail:0 skip:104 time:254s fi-bxt-j4205 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:524s fi-byt-j1900 total:288 pass:254 dwarn:1 dfail:0 fail:0 skip:33 time:523s fi-byt-n2820 total:288 pass:250 dwarn:1 dfail:0 fail:0 skip:37 time:519s fi-cfl-s total:288 pass:250 dwarn:4 dfail:0 fail:0 skip:34 time:472s fi-elk-e7500 total:288 pass:230 dwarn:0 dfail:0 fail:0 skip:58 time:436s fi-glk-2atotal:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:620s fi-hsw-4770 total:288 pass:263 dwarn:0 dfail:0 fail:0 skip:25 time:445s fi-hsw-4770r total:288 pass:263 dwarn:0 dfail:0 fail:0 skip:25 time:423s fi-ilk-650 total:288 pass:229 dwarn:0 dfail:0 fail:0 skip:59 time:427s fi-ivb-3520m total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:512s fi-ivb-3770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:476s fi-kbl-7500u total:288 pass:264 dwarn:1 dfail:0 fail:0 skip:23 time:512s fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:596s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:600s fi-pnv-d510 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:526s fi-skl-6260u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:471s fi-skl-6700k total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:538s fi-skl-6770hqtotal:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:515s fi-skl-x1585ltotal:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:516s fi-snb-2520m total:288 pass:251 dwarn:0 dfail:0 fail:0 skip:37 time:546s fi-snb-2600 total:288 pass:249 dwarn:0 dfail:0 fail:1 skip:38 time:406s fi-skl-gvtdvm failed to connect after reboot 9dd459ef87a90495aac4cee73831f4cd694048ca drm-tip: 2017y-09m-04d-19h-10m-24s UTC integration manifest e26e52ef9508 tools/testing/scatterlist: Test new __sg_alloc_table_from_pages 4857472a5c0a drm/i915: Use __sg_alloc_table_from_pages for userptr allocations c756426300f6 lib/scatterlist: Introduce and export __sg_alloc_table_from_pages f626e03b02f9 lib/scatterlist: Avoid potential scatterlist entry overflow e8b270bb7231 lib/scatterlist: Fix offset type in sg_alloc_table_from_pages == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5580/ ___ 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] igt_core: Skip sync when listing subtests
Quoting Tvrtko Ursulin (2017-09-05 11:38:58) > From: Tvrtko Ursulin > > No need to sync filesystems when only listing subtest. > > Extremely marginal benefit of avoid a short stall after make > followed by listing subtests. > > v2: Move sync to common_init for consolidation and simplicity. > (Chris Wilson) > > Signed-off-by: Tvrtko Ursulin > Cc: Chris Wilson Reviewed-by: Chris Wilson sync() would also be useful between subtests, exit_subtest() along with a variety of other cleanup handlers. -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 igt_core: Skip sync when listing subtests (rev2)
== Series Details == Series: igt_core: Skip sync when listing subtests (rev2) URL : https://patchwork.freedesktop.org/series/27707/ State : success == Summary == IGT patchset tested on top of latest successful build 490b386ae36d393cdea514882a2437c6e964c13f scripts/run-tests.sh: Use piglit's --ignore-missing with latest DRM-Tip kernel build CI_DRM_3038 9dd459ef87a9 drm-tip: 2017y-09m-04d-19h-10m-24s UTC integration manifest Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-atomic: pass -> FAIL (fi-snb-2600) fdo#100215 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fi-bdw-5557u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:469s fi-bdw-gvtdvmtotal:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:439s fi-blb-e6850 total:288 pass:224 dwarn:1 dfail:0 fail:0 skip:63 time:369s fi-bsw-n3050 total:288 pass:243 dwarn:0 dfail:0 fail:0 skip:45 time:560s fi-bwr-2160 total:288 pass:184 dwarn:0 dfail:0 fail:0 skip:104 time:255s fi-bxt-j4205 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:521s fi-byt-j1900 total:288 pass:254 dwarn:1 dfail:0 fail:0 skip:33 time:531s fi-byt-n2820 total:288 pass:250 dwarn:1 dfail:0 fail:0 skip:37 time:520s fi-cfl-s total:288 pass:250 dwarn:4 dfail:0 fail:0 skip:34 time:473s fi-elk-e7500 total:288 pass:230 dwarn:0 dfail:0 fail:0 skip:58 time:438s fi-glk-2atotal:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:615s fi-hsw-4770 total:288 pass:263 dwarn:0 dfail:0 fail:0 skip:25 time:447s fi-hsw-4770r total:288 pass:263 dwarn:0 dfail:0 fail:0 skip:25 time:427s fi-ilk-650 total:288 pass:229 dwarn:0 dfail:0 fail:0 skip:59 time:430s fi-ivb-3520m total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:514s fi-ivb-3770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:480s fi-kbl-7500u total:288 pass:264 dwarn:1 dfail:0 fail:0 skip:23 time:516s fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:601s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:603s fi-pnv-d510 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:529s fi-skl-6260u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:487s fi-skl-6700k total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:537s fi-skl-6770hqtotal:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:514s fi-skl-gvtdvmtotal:288 pass:266 dwarn:0 dfail:0 fail:0 skip:22 time:446s fi-skl-x1585ltotal:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:506s fi-snb-2520m total:288 pass:251 dwarn:0 dfail:0 fail:0 skip:37 time:568s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:2 skip:38 time:412s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_143/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/dsi: Fix error on DSI video mode command (rev2)
== Series Details == Series: drm/i915/dsi: Fix error on DSI video mode command (rev2) URL : https://patchwork.freedesktop.org/series/29658/ State : failure == Summary == Test tools_test: Subgroup tools_test: pass -> DMESG-WARN (shard-hsw) fdo#102543 Test perf: Subgroup blocking: fail -> PASS (shard-hsw) fdo#102252 +1 Test gem_sync: Subgroup basic-many-each: pass -> FAIL (shard-hsw) Test kms_setmode: Subgroup basic: fail -> PASS (shard-hsw) fdo#99912 fdo#102543 https://bugs.freedesktop.org/show_bug.cgi?id=102543 fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252 fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 shard-hswtotal:2265 pass:1232 dwarn:1 dfail:0 fail:16 skip:1016 time:9659s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5579/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t] tests/kms_frontbuffer_tracking: convert macros to functions
On Mon, Sep 04, 2017 at 03:09:10PM -0300, Paulo Zanoni wrote: > Em Seg, 2017-09-04 às 10:00 +0200, Daniel Vetter escreveu: > > On Fri, Sep 01, 2017 at 04:44:38PM -0300, Paulo Zanoni wrote: > > > Em Seg, 2017-08-14 às 11:25 +0200, Daniel Vetter escreveu: > > > > Macros that should be C functions but aren't are really hard to > > > > read and confusing. Convert them over. > > > > > > > > v2: Clean up commit message and keep printing the line numbers > > > > (Paulo). > > > > > > > > v3: Actually git add (silly me). > > > > > > > > Cc: Paulo Zanoni > > > > Signed-off-by: Daniel Vetter > > > > > > Thanks for doing that. Works for me this way: > > > Reviewed-by: Paulo Zanoni > > > > Thanks, pushed. > > > > > But I'm still waiting for the patch that removes those bogus line > > > numbers in every error message we print :). > > > > Hm, which bogus line numbers where? > > Every igt_log message is starts with: > (kms_frontbuffer_tracking:) where is a number that means > nothing but looks like a line number, except that that line usually has > nothing to do with the message. It's the process id. Not idea how you came up with the idea it's a line number, executable:pid is pretty standard format for logfiles. Note how it's the executable file name, not the source code file name. And pid matters if you have a testcase that does lots of forking. Should we improve the documentation about this? Care to type a patch please? Thanks, Daniel > > > -Daniel > > > > > > > --- > > > > tests/kms_frontbuffer_tracking.c | 171 - > > > > > > > > -- > > > > 1 file changed, 89 insertions(+), 82 deletions(-) > > > > > > > > diff --git a/tests/kms_frontbuffer_tracking.c > > > > b/tests/kms_frontbuffer_tracking.c > > > > index e03524f1c45b..a068c8afb6d8 100644 > > > > --- a/tests/kms_frontbuffer_tracking.c > > > > +++ b/tests/kms_frontbuffer_tracking.c > > > > @@ -1677,88 +1677,95 @@ static int adjust_assertion_flags(const > > > > struct test_mode *t, int flags) > > > > return flags; > > > > } > > > > > > > > -#define do_crc_assertions(flags, mandatory_sink_crc) do { > > > > > > > > \ > > > > - int flags__ = (flags); > > > > \ > > > > - struct both_crcs crc_; > > > > \ > > > > - > > > > \ > > > > - if (!opt.check_crc || (flags__ & DONT_ASSERT_CRC)) > > > > > > > > \ > > > > - break; > > > > \ > > > > - > > > > \ > > > > - collect_crcs(&crc_, mandatory_sink_crc); > > > > \ > > > > - print_crc("Calculated CRC:", &crc_); > > > > > > > > \ > > > > - > > > > \ > > > > - igt_assert(wanted_crc); > > > > \ > > > > - igt_assert_crc_equal(&crc_.pipe, &wanted_crc->pipe); > > > > > > > > \ > > > > - if (mandatory_sink_crc) > > > > \ > > > > - assert_sink_crc_equal(&crc_.sink, &wanted_crc- > > > > > sink);\ > > > > > > > > - else if (sink_crc.reliable && > > > > \ > > > > - !sink_crc_equal(&crc_.sink, &wanted_crc->sink)) > > > > > > > > \ > > > > - igt_info("Sink CRC differ, but not > > > > required\n"); > > > > \ > > > > -} while (0) > > > > - > > > > -#define do_status_assertions(flags_) do { > > > > > > > > \ > > > > - if (!opt.check_status) { > > > > \ > > > > - /* Make sure we settle before continuing. */ > > > > > > > > \ > > > > - sleep(1); > > > > > > > > \ > > > > - break; > > > > \ > > > > - } > > > > > > > > \ > > > > - > > > > \ > > > > - if (flags_ & ASSERT_FBC_ENABLED) { > > > > > > > > \ > > > > - igt_require(!fbc_not_enough_stolen()); > > > > \ > > > > - igt_require(!fbc_stride_not_supported()); > > > > > > > > \ > > > > - if (!fbc_wait_until_enabled()) { > > > > \ > > > > - fbc_print_status(); > > > > > > > > \ > > > > - igt_assert_f(false, "FBC disabled\n"); > > > > \ > > > > - }
Re: [Intel-gfx] [PATCH i-g-t] Revert "intel-ci: Remove kms_psr_sink_crc@psr_basic from BAT"
On Tue, Sep 05, 2017 at 12:30:59PM +0300, Petri Latvala wrote: > On Tue, Sep 05, 2017 at 08:39:00AM +0200, Daniel Vetter wrote: > > This reverts commit effb78b382895c19d0946c217cee3602dcd94c50. > > > > cibuglog is for filtering unstable results, we can't simply opt to not > > test PSR. > > > > Signed-off-by: Daniel Vetter > > Acked-by: Petri Latvala Thanks applied. And just in case of confusion: Your patch is older than cibuglo, so all made sense I think back then. -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 i-g-t 1/3] Use PATH_MAX to fix some sprintf-into-short-buffers warnings.
On Mon, Sep 04, 2017 at 10:49:46AM +0200, Daniel Vetter wrote: > On Sat, Sep 02, 2017 at 09:38:51PM -0700, Eric Anholt wrote: > > Signed-off-by: Eric Anholt > > --- > > > > This little series cleans up many compiler warnings I saw when testing > > danvet's meson branch. > > On the series: Reviewed-by: Daniel Vetter > > I've pulled in your other meson patches, they need minimal polish (e.g. my > gcc doesn't have all the -W flags yours has, resulting in warnings about > unknown flags without first checking for them). Seems like you're on vacations already, so pulled them all in. Thanks, Daniel > -Daniel > > > > lib/igt_debugfs.c | 4 ++-- > > lib/igt_sysfs.c | 4 ++-- > > tests/kms_hdmi_inject.c | 2 +- > > tests/pm_rpm.c | 4 ++-- > > 4 files changed, 7 insertions(+), 7 deletions(-) > > > > diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c > > index 090b56e03555..63183e57229b 100644 > > --- a/lib/igt_debugfs.c > > +++ b/lib/igt_debugfs.c > > @@ -491,7 +491,7 @@ static void igt_pipe_crc_reset(int drm_fd) > > } > > > > while ((dirent = readdir(dir))) { > > - char buf[128]; > > + char buf[PATH_MAX]; > > > > if (strcmp(dirent->d_name, "crtc-") != 0) > > continue; > > @@ -525,7 +525,7 @@ static void igt_pipe_crc_reset(int drm_fd) > > static void pipe_crc_exit_handler(int sig) > > { > > struct dirent *dirent; > > - char buf[128]; > > + char buf[PATH_MAX]; > > DIR *dir; > > int fd; > > > > diff --git a/lib/igt_sysfs.c b/lib/igt_sysfs.c > > index 15ed34be0088..9227e374bf44 100644 > > --- a/lib/igt_sysfs.c > > +++ b/lib/igt_sysfs.c > > @@ -192,7 +192,7 @@ int igt_sysfs_open_parameters(int device) > > if (params < 0) { /* builtin? */ > > drm_version_t version; > > char name[32] = ""; > > - char path[128]; > > + char path[PATH_MAX]; > > > > memset(&version, 0, sizeof(version)); > > version.name_len = sizeof(name); > > @@ -499,7 +499,7 @@ void kick_fbcon(bool enable) > > return; > > > > while ((de = readdir(dir))) { > > - char buf[128]; > > + char buf[PATH_MAX]; > > int fd, len; > > > > if (strncmp(de->d_name, "vtcon", 5)) > > diff --git a/tests/kms_hdmi_inject.c b/tests/kms_hdmi_inject.c > > index cb916acec3c1..22570a4b637a 100644 > > --- a/tests/kms_hdmi_inject.c > > +++ b/tests/kms_hdmi_inject.c > > @@ -170,7 +170,7 @@ eld_is_valid(void) > > continue; > > > > while ((snd_hda = readdir(dir))) { > > - char fpath[128]; > > + char fpath[PATH_MAX]; > > > > if (*snd_hda->d_name == '.' || > > strstr(snd_hda->d_name, "eld") == 0) > > diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c > > index 47c9f1143484..9e8cf79b5128 100644 > > --- a/tests/pm_rpm.c > > +++ b/tests/pm_rpm.c > > @@ -594,14 +594,14 @@ static int count_i2c_valid_edids(void) > > DIR *dir; > > > > struct dirent *dirent; > > - char full_name[32]; > > + char full_name[PATH_MAX]; > > > > dir = opendir("/dev/"); > > igt_assert(dir); > > > > while ((dirent = readdir(dir))) { > > if (strncmp(dirent->d_name, "i2c-", 4) == 0) { > > - snprintf(full_name, 32, "/dev/%s", dirent->d_name); > > + sprintf(full_name, "/dev/%s", dirent->d_name); > > fd = open(full_name, O_RDWR); > > igt_assert_neq(fd, -1); > > if (i2c_edid_is_valid(fd)) > > -- > > 2.14.1 > > > > ___ > > 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 -- 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
[Intel-gfx] [PATCH i-g-t] tests/tools_test: check if l3_parity is supported
This is a wrapper for tools/intel_l3_parity which fails if l3_parity is not supported in the kernel. Check support before executing test. bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101650 Signed-off-by: Abdiel Janulgue --- tests/tools_test.c | 4 1 file changed, 4 insertions(+) diff --git a/tests/tools_test.c b/tests/tools_test.c index ccd165d..22e9397 100644 --- a/tests/tools_test.c +++ b/tests/tools_test.c @@ -85,6 +85,10 @@ igt_main igt_subtest("sysfs_l3_parity") { int exec_return; + /* Check if we support l3_parity in the first place */ + igt_skip_on_f(igt_system_quiet("../tools/intel_l3_parity") != + IGT_EXIT_SUCCESS, + "intel_l3_parity not supported\n"); igt_system_cmd(exec_return, "../tools/intel_l3_parity -r 0 -b 0 " -- 2.9.3 ___ 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 [1/5] lib/scatterlist: Fix offset type in sg_alloc_table_from_pages (rev5)
== Series Details == Series: series starting with [1/5] lib/scatterlist: Fix offset type in sg_alloc_table_from_pages (rev5) URL : https://patchwork.freedesktop.org/series/28151/ State : success == Summary == Test tools_test: Subgroup tools_test: pass -> DMESG-WARN (shard-hsw) fdo#102543 fdo#102543 https://bugs.freedesktop.org/show_bug.cgi?id=102543 shard-hswtotal:2265 pass:1232 dwarn:1 dfail:0 fail:16 skip:1016 time:9621s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5580/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/edp: Increase T12 panel delay to 900 ms to fix DP AUX CH timeouts
Hi, > -Original Message- > From: Intel-gfx [mailto:intel-gfx-boun...@lists.freedesktop.org] On Behalf > Of Saarinen, Jani > Sent: perjantai 1. syyskuuta 2017 12.30 > To: Ville Syrjälä ; Navare, Manasi D > > Cc: Sarvela, Tomi P ; Vetter, Daniel > ; intel-gfx@lists.freedesktop.org > Subject: Re: [Intel-gfx] [PATCH] drm/i915/edp: Increase T12 panel delay to > 900 ms to fix DP AUX CH timeouts > > Hi, > > -Original Message- > > From: Intel-gfx [mailto:intel-gfx-boun...@lists.freedesktop.org] On > > Behalf Of Ville Syrjälä > > Sent: torstai 31. elokuuta 2017 21.47 > > To: Navare, Manasi D > > Cc: Sarvela, Tomi P ; Vetter, Daniel > > ; intel-gfx@lists.freedesktop.org > > Subject: Re: [Intel-gfx] [PATCH] drm/i915/edp: Increase T12 panel > > delay to > > 900 ms to fix DP AUX CH timeouts > > > > On Tue, Aug 15, 2017 at 11:59:51AM -0700, Manasi Navare wrote: > > > This patch fixes the DP AUX CH timeouts observed during CI runs > > > causing CI Failures on a specific PCI device. This issue was fixed > > > previously by adding a quirk but looks like we need to increase this > > > delay even more in order to get rid all the DP AUX CH timeouts. > > > > > > Fixes: c99a259b4b5192ba ("drm/i915/edp: Add a T12 panel delay quirk > > > to fix DP AUX CH timeouts") > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101144 > > > Signed-off-by: Manasi Navare > > > Cc: Clinton Taylor > > > Cc: Daniel Vetter > > > Cc: Tomi Sarvela > > > > I pushed this to dinq. Let's hope the errors stay away this time. > > Thanks for the patch. > Well, apparently still failing: > https://intel-gfx-ci.01.org/tree/drm-tip/fi-skl-6700hq.html Taking a bit back, not anymore, any idea why now has been quite stable? > > > -- > > Ville Syrjälä > > Intel OTC > Jani Saarinen 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
Re: [Intel-gfx] [PATCH i-g-t] tests/tools_test: check if l3_parity is supported
On Tue, Sep 05, 2017 at 02:52:05PM +0300, Abdiel Janulgue wrote: > This is a wrapper for tools/intel_l3_parity which fails if l3_parity > is not supported in the kernel. Check support before executing test. > > bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101650 > Signed-off-by: Abdiel Janulgue > --- > tests/tools_test.c | 4 > 1 file changed, 4 insertions(+) > > diff --git a/tests/tools_test.c b/tests/tools_test.c > index ccd165d..22e9397 100644 > --- a/tests/tools_test.c > +++ b/tests/tools_test.c > @@ -85,6 +85,10 @@ igt_main > > igt_subtest("sysfs_l3_parity") { > int exec_return; > + /* Check if we support l3_parity in the first place */ > + igt_skip_on_f(igt_system_quiet("../tools/intel_l3_parity") != > + IGT_EXIT_SUCCESS, > + "intel_l3_parity not supported\n"); That's not how the tool works. If you give it no parameters, it will call abort() on all platforms because it wants an action on the command line. Skipping should only be done if the tool exits with 77 when given correct parameters. -- 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 04/22] build: remove _GNU_SOURCE from source files
We are, the build system takes care of that. Reviewed-by: Eric Anholt Signed-off-by: Daniel Vetter --- benchmarks/gem_exec_tracer.c | 2 -- benchmarks/gem_latency.c | 1 - benchmarks/gem_syslatency.c| 2 -- lib/igt_fb.c | 1 - lib/igt_vgem.c | 2 -- lib/tests/igt_exit_handler.c | 1 - tests/core_get_client_auth.c | 1 - tests/core_setmaster_vs_auth.c | 1 - tests/drm_import_export.c | 1 - tests/drv_missed_irq.c | 1 - tests/gem_fenced_exec_thrash.c | 2 -- tests/gem_flink_race.c | 1 - tests/gem_mmap_gtt.c | 1 - tests/gem_mmap_wc.c| 1 - tests/gem_persistent_relocs.c | 1 - tests/gem_reloc_vs_gpu.c | 1 - tests/gem_reset_stats.c| 1 - tests/gem_streaming_writes.c | 1 - tests/gem_workarounds.c| 1 - tests/kms_cursor_legacy.c | 1 - tests/pm_rc6_residency.c | 1 - tests/pm_rps.c | 1 - tests/prime_mmap.c | 1 - tests/prime_self_import.c | 1 - tools/aubdump.c| 2 -- tools/intel_audio_dump.c | 1 - tools/intel_dump_decode.c | 1 - tools/intel_error_decode.c | 1 - tools/intel_framebuffer_dump.c | 1 - tools/intel_gpu_frequency.c| 1 - tools/intel_guc_logger.c | 1 - tools/intel_l3_parity.c| 1 - tools/intel_l3_udev_listener.c | 3 --- 33 files changed, 40 deletions(-) diff --git a/benchmarks/gem_exec_tracer.c b/benchmarks/gem_exec_tracer.c index a49c11a967f0..8ee29b5d8916 100644 --- a/benchmarks/gem_exec_tracer.c +++ b/benchmarks/gem_exec_tracer.c @@ -21,8 +21,6 @@ * IN THE SOFTWARE. */ -#define _GNU_SOURCE /* for RTLD_NEXT */ - #include #include #include diff --git a/benchmarks/gem_latency.c b/benchmarks/gem_latency.c index 6cb16ba4f051..c3fc4bf0f74c 100644 --- a/benchmarks/gem_latency.c +++ b/benchmarks/gem_latency.c @@ -25,7 +25,6 @@ * */ -#define _GNU_SOURCE #include #include "igt.h" diff --git a/benchmarks/gem_syslatency.c b/benchmarks/gem_syslatency.c index 83bfac78d02b..4ed23638e717 100644 --- a/benchmarks/gem_syslatency.c +++ b/benchmarks/gem_syslatency.c @@ -22,8 +22,6 @@ * */ -#define _GNU_SOURCE - #include "igt.h" #include #include diff --git a/lib/igt_fb.c b/lib/igt_fb.c index fbdfca8ad278..95434a699dcf 100644 --- a/lib/igt_fb.c +++ b/lib/igt_fb.c @@ -25,7 +25,6 @@ * Damien Lespiau */ -#define _GNU_SOURCE #include #include diff --git a/lib/igt_vgem.c b/lib/igt_vgem.c index 21cccb375c51..3dd9621d0459 100644 --- a/lib/igt_vgem.c +++ b/lib/igt_vgem.c @@ -21,8 +21,6 @@ * IN THE SOFTWARE. */ -#define _GNU_SOURCE - #include "igt.h" #include "igt_vgem.h" diff --git a/lib/tests/igt_exit_handler.c b/lib/tests/igt_exit_handler.c index d1b5a8891739..f2997bd13633 100644 --- a/lib/tests/igt_exit_handler.c +++ b/lib/tests/igt_exit_handler.c @@ -21,7 +21,6 @@ * IN THE SOFTWARE. */ -#define _GNU_SOURCE #include #include #include diff --git a/tests/core_get_client_auth.c b/tests/core_get_client_auth.c index 50e87fac76d6..676083d5e322 100644 --- a/tests/core_get_client_auth.c +++ b/tests/core_get_client_auth.c @@ -32,7 +32,6 @@ * Oh dear, libva, why do you do such funny things? */ -#define _GNU_SOURCE #include "igt.h" #include #include diff --git a/tests/core_setmaster_vs_auth.c b/tests/core_setmaster_vs_auth.c index 783033397939..f1ae0c6338fa 100644 --- a/tests/core_setmaster_vs_auth.c +++ b/tests/core_setmaster_vs_auth.c @@ -33,7 +33,6 @@ * trying to authenticate a client against the wrong master. */ -#define _GNU_SOURCE #include "igt.h" #include #include diff --git a/tests/drm_import_export.c b/tests/drm_import_export.c index f1234bdcc411..e3ce2480c7f1 100644 --- a/tests/drm_import_export.c +++ b/tests/drm_import_export.c @@ -24,7 +24,6 @@ *Daniel Vetter */ -#define _GNU_SOURCE #include "igt.h" #include #include diff --git a/tests/drv_missed_irq.c b/tests/drv_missed_irq.c index fb81f277f5fc..469be882d39c 100644 --- a/tests/drv_missed_irq.c +++ b/tests/drv_missed_irq.c @@ -22,7 +22,6 @@ * */ -#define _GNU_SOURCE #include #include "igt.h" diff --git a/tests/gem_fenced_exec_thrash.c b/tests/gem_fenced_exec_thrash.c index e403a49155b6..9a43c845e671 100644 --- a/tests/gem_fenced_exec_thrash.c +++ b/tests/gem_fenced_exec_thrash.c @@ -25,8 +25,6 @@ * */ -#define _GNU_SOURCE - #include "igt.h" #include #include diff --git a/tests/gem_flink_race.c b/tests/gem_flink_race.c index 30e33f65a7dc..9e3d3a622297 100644 --- a/tests/gem_flink_race.c +++ b/tests/gem_flink_race.c @@ -24,7 +24,6 @@ *Daniel Vetter */ -#define _GNU_SOURCE #include "igt.h" #include #include diff --git a/tests/gem_mmap_gtt.c b/tests/gem_mmap_gtt.c index 4ff5e7f15f81..0f5981257a01 100644 --- a/tests/gem_mmap_gtt.c +++ b/tests/gem_mmap_gtt.c @@ -25,7 +25,6 @@ * */ -#define _GNU_SOURCE #include #include #include diff --git a/tests/gem_mmap_wc.c b/tests/gem_mmap_wc.c index fd7988073075
[Intel-gfx] [PATCH i-g-t 00/22] RFC: meson build system support
Hi all, Ok, this time around a proper patch series with cover letter and a pile of fixes (bunch of them thanks to Eric) thrown on top. The motivation for this has 2 primary reasons: - I want a build system that's fast, especially for hacking on the library. Currently with over 300 binaries the relinking step every time you change the library is extremely painful. - I want a build system that I can hack on. After years of automake, I still don't get it. After a few days of meson I have at least the illusion I understand stuff. And that's with an obviously still fairly fresh tool with the occasional sharp corner (lesson learned: if it complains about the meson files, it's a missing comman nearby). - Finally there's the question of whether this will die like previous attempts at a better build toolchain, or whether the meson/ninja combo will win. There's a lot of very enthusastic initial conversion in various X.org projects, and the people I've chatted are extremely positive on this. I think meson/ninja could very well be the git of the build: Painful to use in the first years, but has the fundamental rights and will win in the end. Assuming we can get some consensus around this I'd like to merge it and polish the meson support in-tree, it's kinda growing into a bigger series already. And of course we need to keep autohell working for probably a fairly long time, at least for the tools that distro install. Comments and testing very much welcom. Cheers, Daniel Daniel Vetter (19): build: Define _GNU_SOURCE in Makefile.am build: Nuke #ifdef HAVE_CONFIG_H cargo-cult build: use HAVE_LIBGEN_H consistently build: remove _GNU_SOURCE from source files tests/gem_spin_batch: Fix warning lib: prefix frame_dump_path lib: clean up header includes tests/igt_command_line.sh: Allow testing individual tests lib/uwildmat: Use include paths demos: remove assembler/test: Prep work for meson meson: basic build system support lib/ioctl_wrappers: make the valgrind wrapper always emit a statement:w tests/kms_plane: Appease gcc -Wempty-body meson: detect cc flags meson: add manpage support meson: igt_frame also needs pixman meson: Minimal README update meson: Bump required version to 0.40 Eric Anholt (3): meson: Add some compiler flags to reduce warnings. meson: Don't build the igt audio test without gsl available. meson: Use static libs to handle IGT_LOG_DOMAIN. .gitignore | 1 + Makefile.am | 2 +- README | 16 + assembler/meson.build| 73 +++ assembler/test/run-test.sh | 16 +- benchmarks/Makefile.am | 2 +- benchmarks/gem_exec_tracer.c | 2 - benchmarks/gem_latency.c | 1 - benchmarks/gem_syslatency.c | 2 - benchmarks/meson.build | 36 ++ demos/.gitignore | 1 - demos/Android.mk | 32 -- demos/Makefile.am| 12 - demos/Makefile.sources | 7 - demos/intel_sprite_on.c | 960 --- lib/Makefile.am | 1 + lib/drmtest.c| 4 +- lib/dummy.c | 0 lib/igt_alsa.c | 3 +- lib/igt_alsa.h | 3 - lib/igt_audio.c | 3 +- lib/igt_audio.h | 3 - lib/igt_aux.c| 4 +- lib/igt_chamelium.c | 6 +- lib/igt_chamelium.h | 8 +- lib/igt_core.c | 16 +- lib/igt_core.h | 2 +- lib/igt_dummyload.c | 11 +- lib/igt_fb.c | 1 - lib/igt_frame.c | 13 +- lib/igt_frame.h | 3 - lib/igt_gvt.c| 10 +- lib/igt_kmod.c | 6 +- lib/igt_sysfs.h | 1 + lib/igt_vgem.c | 10 +- lib/igt_vgem.h | 1 + lib/igt_x86.c| 2 - lib/intel_os.c | 2 - lib/ioctl_wrappers.c | 6 +- lib/meson.build | 180 lib/sw_sync.c| 4 +- lib/tests/Makefile.am| 1 + lib/tests/igt_exit_handler.c | 1 - lib/tests/meson.build| 34 ++ lib/uwildmat/uwildmat.c | 2 +- lib/version.h.in | 1 + man/defs.rst.in | 5 + man/meson.build | 45 ++ man/rst2man.sh | 16 + meson.build | 124 + overlay/meson.build | 59 +++ overlay/overlay.h| 2 - overlay/x11/position.c | 2 - tests/Makefile.am| 1 + tests/amdgpu/amd_basic.c | 2 - tests/core_get_client_auth.c | 1 - tests/core_setmaster_vs_auth.c | 1 - tests/debugfs_test.c | 2 - tests/drm_import_export.c
[Intel-gfx] [PATCH i-g-t 03/22] build: use HAVE_LIBGEN_H consistently
Also, we are _GNU_SOURCE, so simplify the conditions accordingly. The next patch will remove _GNU_SOURCE everywhere else. Reviewed-by: Eric Anholt Signed-off-by: Daniel Vetter --- lib/drmtest.c| 4 +--- lib/igt_aux.c| 4 +--- lib/igt_core.c | 4 +--- lib/ioctl_wrappers.c | 4 +--- lib/sw_sync.c| 4 +--- 5 files changed, 5 insertions(+), 15 deletions(-) diff --git a/lib/drmtest.c b/lib/drmtest.c index 158af68283b8..8a07152c701a 100644 --- a/lib/drmtest.c +++ b/lib/drmtest.c @@ -26,9 +26,7 @@ * */ -#ifndef ANDROID -#define _GNU_SOURCE -#else +#ifdef HAVE_LIBGEN_H #include #endif #include diff --git a/lib/igt_aux.c b/lib/igt_aux.c index d808fe3ed27a..0c83a1f48ed2 100644 --- a/lib/igt_aux.c +++ b/lib/igt_aux.c @@ -26,9 +26,7 @@ * */ -#ifndef ANDROID -#define _GNU_SOURCE -#else +#ifdef HAVE_LIBGEN_H #include #endif #include diff --git a/lib/igt_core.c b/lib/igt_core.c index 7e5aa34237f1..ff6d19fc9bad 100644 --- a/lib/igt_core.c +++ b/lib/igt_core.c @@ -26,9 +26,7 @@ * */ -#ifndef ANDROID -#define _GNU_SOURCE -#else +#ifdef HAVE_LIBGEN_H #include #endif #include diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c index 51000bac0513..b4d6210d5942 100644 --- a/lib/ioctl_wrappers.c +++ b/lib/ioctl_wrappers.c @@ -26,9 +26,7 @@ * */ -#ifndef ANDROID -#define _GNU_SOURCE -#else +#ifdef HAVE_LIBGEN_H #include #endif #include diff --git a/lib/sw_sync.c b/lib/sw_sync.c index 7bd76702c8d1..9b36dd85c192 100644 --- a/lib/sw_sync.c +++ b/lib/sw_sync.c @@ -24,9 +24,7 @@ *Robert Foss */ -#ifndef ANDROID -#define _GNU_SOURCE -#else +#ifdef HAVE_LIBGEN_H #include #endif #include -- 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 02/22] build: Nuke #ifdef HAVE_CONFIG_H cargo-cult
We have it. Daniel Stone said the #ifdef HAVE_CONFIG_H comes from the X11 transition to the modular build, where in the imake -> modular build transition config.h wasn't universally available. Now we just make this a requirement (so yeah Android better generate one too). v2: Improve commit message a bit. Reviewed-by: Eric Anholt Signed-off-by: Daniel Vetter --- lib/igt_alsa.h | 2 -- lib/igt_audio.h | 2 -- lib/igt_chamelium.h | 2 -- lib/igt_frame.h | 2 -- lib/igt_x86.c | 2 -- lib/intel_os.c | 2 -- overlay/overlay.h | 2 -- overlay/x11/position.c | 2 -- tests/amdgpu/amd_basic.c| 2 -- tests/debugfs_test.c| 2 -- tests/gem_fence_thrash.c| 2 -- tests/gem_fence_upload.c| 2 -- tests/gem_render_linear_blits.c | 2 -- tests/kms_flip.c| 2 -- tests/kms_render.c | 2 -- tests/kms_setmode.c | 2 -- tests/testdisplay.c | 2 -- tests/testdisplay_hotplug.c | 2 -- tests/tools_test.c | 2 -- tools/intel_gpu_top.c | 2 -- tools/intel_gvtg_test.c | 2 -- tools/intel_l3_parity.c | 2 -- tools/intel_l3_udev_listener.c | 2 -- 23 files changed, 46 deletions(-) diff --git a/lib/igt_alsa.h b/lib/igt_alsa.h index f3949d262a4f..8f7724ad9727 100644 --- a/lib/igt_alsa.h +++ b/lib/igt_alsa.h @@ -27,9 +27,7 @@ #ifndef IGT_ALSA_H #define IGT_ALSA_H -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include "igt.h" #include diff --git a/lib/igt_audio.h b/lib/igt_audio.h index 507e7ab9c661..21adfee82756 100644 --- a/lib/igt_audio.h +++ b/lib/igt_audio.h @@ -27,9 +27,7 @@ #ifndef IGT_AUDIO_H #define IGT_AUDIO_H -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include "igt.h" #include diff --git a/lib/igt_chamelium.h b/lib/igt_chamelium.h index 2a0fa234ec60..a2d626eca957 100644 --- a/lib/igt_chamelium.h +++ b/lib/igt_chamelium.h @@ -26,9 +26,7 @@ #ifndef IGT_CHAMELIUM_H #define IGT_CHAMELIUM_H -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include "igt.h" #include diff --git a/lib/igt_frame.h b/lib/igt_frame.h index 1d9bbf6a7010..680ad5bbd293 100644 --- a/lib/igt_frame.h +++ b/lib/igt_frame.h @@ -27,9 +27,7 @@ #ifndef IGT_FRAME_H #define IGT_FRAME_H -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include "igt.h" #include diff --git a/lib/igt_x86.c b/lib/igt_x86.c index 6f03849f6ff2..0f0963ced044 100644 --- a/lib/igt_x86.c +++ b/lib/igt_x86.c @@ -25,9 +25,7 @@ * */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #ifdef HAVE_CPUID_H #include diff --git a/lib/intel_os.c b/lib/intel_os.c index e5dea6e5a619..6e0a46b3c35c 100644 --- a/lib/intel_os.c +++ b/lib/intel_os.c @@ -26,9 +26,7 @@ * */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include #include diff --git a/overlay/overlay.h b/overlay/overlay.h index 793816d2e044..7bc7ada7eafa 100644 --- a/overlay/overlay.h +++ b/overlay/overlay.h @@ -25,9 +25,7 @@ #ifndef OVERLAY_H #define OVERLAY_H -#ifdef HAVE_CONFIG_H #include"config.h" -#endif #include diff --git a/overlay/x11/position.c b/overlay/x11/position.c index cd0035394086..9e3db3709ef7 100644 --- a/overlay/x11/position.c +++ b/overlay/x11/position.c @@ -22,9 +22,7 @@ * */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include #ifdef HAVE_XRANDR diff --git a/tests/amdgpu/amd_basic.c b/tests/amdgpu/amd_basic.c index 5e44b123fcaf..9f21de65bf10 100644 --- a/tests/amdgpu/amd_basic.c +++ b/tests/amdgpu/amd_basic.c @@ -22,9 +22,7 @@ * Based on libdrm/tests/amdgpu/basic_tests.c */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include #include diff --git a/tests/debugfs_test.c b/tests/debugfs_test.c index 1663fd41eab8..5e7805e1559e 100644 --- a/tests/debugfs_test.c +++ b/tests/debugfs_test.c @@ -20,9 +20,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS * IN THE SOFTWARE. */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include "igt.h" #include "igt_sysfs.h" #include diff --git a/tests/gem_fence_thrash.c b/tests/gem_fence_thrash.c index 52095f26fdca..14d026a99f71 100644 --- a/tests/gem_fence_thrash.c +++ b/tests/gem_fence_thrash.c @@ -26,9 +26,7 @@ * */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include "igt.h" #include diff --git a/tests/gem_fence_upload.c b/tests/gem_fence_upload.c index 7d9acdc0fcb3..f3b0e62fa7a7 100644 --- a/tests/gem_fence_upload.c +++ b/tests/gem_fence_upload.c @@ -25,9 +25,7 @@ * */ -#ifdef HAVE_CONFIG_H #include "config.h" -#endif #include "igt.h" #include diff --git a/tests/gem_render_linear_blits.c b/tests/gem_render_linear_blits.c index 5fc8cc5e3abe..db34d427385a 100644 --- a/tests/gem_render_linear_blits.c +++ b/tests/gem_render_linear_blits.c @@ -33,9 +33,7 @@ * The goal is to simply ensure the basics work. */ -#ifdef HAVE_CONFIG_H #include "co
[Intel-gfx] [PATCH i-g-t 01/22] build: Define _GNU_SOURCE in Makefile.am
In meson I want to just set this everywhere (no reason not to), and doing so will allow us to clean up a few things. But that means autofoo needs to follow suit. Reviewed-by: Eric Anholt Signed-off-by: Daniel Vetter --- benchmarks/Makefile.am | 2 +- lib/Makefile.am| 1 + lib/tests/Makefile.am | 1 + tests/Makefile.am | 1 + tools/Makefile.am | 2 +- 5 files changed, 5 insertions(+), 2 deletions(-) diff --git a/benchmarks/Makefile.am b/benchmarks/Makefile.am index 1232753917af..9d1838db1178 100644 --- a/benchmarks/Makefile.am +++ b/benchmarks/Makefile.am @@ -8,7 +8,7 @@ endif AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib AM_CFLAGS = $(DRM_CFLAGS) $(CWARNFLAGS) $(CAIRO_CFLAGS) $(LIBUNWIND_CFLAGS) \ - $(WERROR_CFLAGS) + $(WERROR_CFLAGS) -D_GNU_SOURCE LDADD = $(top_builddir)/lib/libigt.la benchmarks_LTLIBRARIES = gem_exec_tracer.la diff --git a/lib/Makefile.am b/lib/Makefile.am index 40399be12da9..abc61640dda4 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -64,6 +64,7 @@ AM_CFLAGS = \ $(ALSA_CFLAGS) \ -DIGT_SRCDIR=\""$(abs_top_srcdir)/tests"\" \ -DIGT_DATADIR=\""$(pkgdatadir)"\" \ + -D_GNU_SOURCE \ -DIGT_LOG_DOMAIN=\""$(subst _,-,$*)"\" \ -pthread diff --git a/lib/tests/Makefile.am b/lib/tests/Makefile.am index 91440a27a5e8..661292a16446 100644 --- a/lib/tests/Makefile.am +++ b/lib/tests/Makefile.am @@ -12,6 +12,7 @@ AM_CFLAGS = $(DRM_CFLAGS) $(CWARNFLAGS) $(DEBUG_CFLAGS) \ -I$(srcdir)/.. \ -include "$(srcdir)/../../lib/check-ndebug.h" \ -DIGT_DATADIR=\""$(abs_srcdir)"\" \ + -D_GNU_SOURCE $(NULL) LDADD = ../libigt.la $(PCIACCESS_LIBS) $(DRM_LIBS) $(LIBUNWIND_LIBS) $(TIMER_LIBS) diff --git a/tests/Makefile.am b/tests/Makefile.am index 3d9ea87ef4ee..c7447e1fdafe 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -76,6 +76,7 @@ AM_CFLAGS = $(DRM_CFLAGS) $(CWARNFLAGS) -Wno-unused-result $(DEBUG_CFLAGS)\ -include "$(srcdir)/../lib/check-ndebug.h" \ -DIGT_SRCDIR=\""$(abs_srcdir)"\" \ -DIGT_DATADIR=\""$(pkgdatadir)"\" \ + -D_GNU_SOURCE \ $(LIBUNWIND_CFLAGS) $(WERROR_CFLAGS) \ $(NULL) diff --git a/tools/Makefile.am b/tools/Makefile.am index 5991b4988865..6307a4bd54d7 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -18,7 +18,7 @@ SUBDIRS = null_state_gen registers AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib AM_CFLAGS = $(DEBUG_CFLAGS) $(DRM_CFLAGS) $(PCIACCESS_CFLAGS) $(CWARNFLAGS) \ $(CAIRO_CFLAGS) $(LIBUNWIND_CFLAGS) -DPKGDATADIR=\"$(pkgdatadir)\" \ - $(WERROR_CFLAGS) + $(WERROR_CFLAGS) -D_GNU_SOURCE LDADD = $(top_builddir)/lib/libigt.la AM_LDFLAGS = -Wl,--as-needed -- 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 08/22] tests/igt_command_line.sh: Allow testing individual tests
meso will use this to run the tests for all testcases in parallel, for great speedup! Signed-off-by: Daniel Vetter --- tests/igt_command_line.sh | 39 ++- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/tests/igt_command_line.sh b/tests/igt_command_line.sh index 7f80fc805d37..f98a584a8ea3 100755 --- a/tests/igt_command_line.sh +++ b/tests/igt_command_line.sh @@ -37,24 +37,16 @@ fi # Manually running this script is possible in the source root or the # tests directory. -TESTLISTFILE="$tests_dir/test-list.txt" -if [ ! -r "$TESTLISTFILE" ]; then - tests_dir="tests" - TESTLISTFILE="$tests_dir/test-list.txt" -fi - -TESTLIST=`cat $TESTLISTFILE` -if [ $? -ne 0 ]; then - echo "Error: Could not read test lists" - exit 99 -fi - fail () { echo "FAIL: $1" exit 1 } -for test in $TESTLIST; do +function check_test () { + local test + + test=$1 + if [ "$test" = "TESTLIST" -o "$test" = "END" ]; then continue fi @@ -105,4 +97,25 @@ for test in $TESTLIST; do # check invalid subtest handling echo " Checking invalid subtest handling..." ./$test --run-subtest invalid-subtest > /dev/null 2>&1 && fail $test +} + +TESTLISTFILE="$tests_dir/test-list.txt" +if [ ! -r "$TESTLISTFILE" ]; then + tests_dir="tests" + TESTLISTFILE="$tests_dir/test-list.txt" +fi + +TESTLIST=`cat $TESTLISTFILE` +if [ $? -ne 0 ]; then + echo "Error: Could not read test lists" + exit 99 +fi + +if [[ "$1" != "" ]] ; then + check_test $1 + exit 0 +fi + +for test in $TESTLIST; do + check_test $test done -- 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 05/22] tests/gem_spin_batch: Fix warning
Reviewed-by: Eric Anholt Signed-off-by: Daniel Vetter --- tests/gem_spin_batch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/gem_spin_batch.c b/tests/gem_spin_batch.c index 941aa1399ae1..09bb3cb37108 100644 --- a/tests/gem_spin_batch.c +++ b/tests/gem_spin_batch.c @@ -48,7 +48,7 @@ static void spin(int fd, unsigned int engine, unsigned int timeout_sec) igt_spin_batch_set_timeout(spin, timeout_100ms - igt_nsec_elapsed(&itv)); gem_sync(fd, spin->handle); - igt_debug("loop %d: interval=%fms (target 100ms), elapsed %fms\n", + igt_debug("loop %lu: interval=%fms (target 100ms), elapsed %fms\n", loops, igt_nsec_elapsed(&itv) * 1e-6, igt_nsec_elapsed(&tv) * 1e-6); -- 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 10/22] demos: remove
The igt testcase themselves contain plenty of demos, libdrm also contains a bunch of demos, this here just bitrots. So let's remove it. Signed-off-by: Daniel Vetter --- Makefile.am | 2 +- demos/.gitignore| 1 - demos/Android.mk| 32 -- demos/Makefile.am | 12 - demos/Makefile.sources | 7 - demos/intel_sprite_on.c | 960 6 files changed, 1 insertion(+), 1013 deletions(-) delete mode 100644 demos/.gitignore delete mode 100644 demos/Android.mk delete mode 100644 demos/Makefile.am delete mode 100644 demos/Makefile.sources delete mode 100644 demos/intel_sprite_on.c diff --git a/Makefile.am b/Makefile.am index 601686282c64..8c25402789f3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -36,7 +36,7 @@ if BUILD_SHADER_DEBUGGER SUBDIRS += debugger endif -SUBDIRS += overlay demos benchmarks +SUBDIRS += overlay benchmarks endif SUBDIRS += docs diff --git a/demos/.gitignore b/demos/.gitignore deleted file mode 100644 index cd80b0b5f259.. --- a/demos/.gitignore +++ /dev/null @@ -1 +0,0 @@ -intel_sprite_on diff --git a/demos/Android.mk b/demos/Android.mk deleted file mode 100644 index 1f50fdcb7e82.. --- a/demos/Android.mk +++ /dev/null @@ -1,32 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -## - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(demos_prog_lists) - -ifeq ($(HAVE_LIBDRM_INTEL),true) -LOCAL_SRC_FILES += $(LIBDRM_INTEL_BIN) -endif - -LOCAL_CFLAGS += -DHAVE_TERMIOS_H -LOCAL_CFLAGS += -DANDROID -UNDEBUG -LOCAL_CFLAGS += -std=gnu99 -# Excessive complaining for established cases. Rely on the Linux version warnings. -LOCAL_CFLAGS += -Wno-sign-compare - -LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib \ - $(LOCAL_PATH)/../lib/stubs/drm/ - -LOCAL_MODULE := intel_sprite_on - -LOCAL_MODULE_TAGS := optional - -LOCAL_STATIC_LIBRARIES := libintel_gpu_tools - -LOCAL_SHARED_LIBRARIES := libdrm - -include $(BUILD_EXECUTABLE) - -## diff --git a/demos/Makefile.am b/demos/Makefile.am deleted file mode 100644 index 031595c1f52f.. --- a/demos/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -include Makefile.sources - -bin_PROGRAMS = $(demos_prog_list) - -if HAVE_LIBDRM_INTEL - bin_PROGRAMS += $(LIBDRM_INTEL_BIN) -endif - -AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -AM_CFLAGS = $(DRM_CFLAGS) $(PCIACCESS_CFLAGS) $(CWARNFLAGS) \ - $(CAIRO_CFLAGS) $(LIBUNWIND_CFLAGS) $(WERROR_CFLAGS) -LDADD = $(top_builddir)/lib/libigt.la diff --git a/demos/Makefile.sources b/demos/Makefile.sources deleted file mode 100644 index aea363f9ba17.. --- a/demos/Makefile.sources +++ /dev/null @@ -1,7 +0,0 @@ -demos_prog_list = \ - $(NULL) - -LIBDRM_INTEL_BIN = \ - intel_sprite_on \ - $(NULL) - diff --git a/demos/intel_sprite_on.c b/demos/intel_sprite_on.c deleted file mode 100644 index a3ece09955aa.. --- a/demos/intel_sprite_on.c +++ /dev/null @@ -1,960 +0,0 @@ -/* - * Copyright © 2012 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. - * - * - * Author: - * Armin Reese - */ - -/* - * This program is intended for testing sprite functionality. - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "i915_drm.h" -#include "drmtest.h" -#include "igt_kms.h" - -#include "ioctl_wrappers.h" - -/* - * Mode setting with the kernel interfaces is a bit of a chore. - * First you have to find the connector in question and make sure the - * requested mode is available. - * Then you need to find the encoder attached to that connector so you - * can bind it with a free crtc. - */ -struct connector { - uint32_tid; - int mode_valid; - drmModeModeInfo mode; -
[Intel-gfx] [PATCH i-g-t 11/22] assembler/test: Prep work for meson
Again we want to be able to run each testcase individually. Also, we need to make sure the target directory for the temp files exists - meson always builds with a build-dir outside of the source tree. Signed-off-by: Daniel Vetter --- assembler/test/run-test.sh | 16 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/assembler/test/run-test.sh b/assembler/test/run-test.sh index 20a408c61b2d..0a5252a89dc7 100644 --- a/assembler/test/run-test.sh +++ b/assembler/test/run-test.sh @@ -3,9 +3,17 @@ SRCDIR=${srcdir-`pwd`} BUILDDIR=${top_builddir-`pwd`} -${BUILDDIR}/intel-gen4asm -o TEST.out $SRCDIR/TEST.g4a -if cmp TEST.out ${SRCDIR}/TEST.expected 2> /dev/null; then : ; else - echo "Output comparison for TEST" - diff -u ${SRCDIR}/TEST.expected TEST.out +test="TEST" + +if [[ "$1" != "" ]] ; then + test="$1" +fi + +test -d ${BUILDDIR}/test || mkdir ${BUILDDIR}/test/ + +${BUILDDIR}/intel-gen4asm -o ${BUILDDIR}/${test}.out $SRCDIR/${test}.g4a +if cmp ${BUILDDIR}/${test}.out ${SRCDIR}/${test}.expected 2> /dev/null; then : ; else + echo "Output comparison for ${test}" + diff -u ${SRCDIR}/${test}.expected ${test}.out exit 1; fi -- 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 09/22] lib/uwildmat: Use include paths
meson runs gcc from where meson.build that includes those files is, which means we need to add the directory ourselves. For automake it doesn't matter, so let's just do it for simplicity. Signed-off-by: Daniel Vetter --- lib/uwildmat/uwildmat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/uwildmat/uwildmat.c b/lib/uwildmat/uwildmat.c index fac2319e1a8c..09155865de7b 100644 --- a/lib/uwildmat/uwildmat.c +++ b/lib/uwildmat/uwildmat.c @@ -95,7 +95,7 @@ #include #include -#include "uwildmat.h" +#include "uwildmat/uwildmat.h" #define ABORT -1 -- 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 06/22] lib: prefix frame_dump_path
Just a bit of ocd for anything non-static. Signed-off-by: Daniel Vetter --- lib/igt_core.c | 12 ++-- lib/igt_core.h | 2 +- lib/igt_frame.c | 10 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/igt_core.c b/lib/igt_core.c index ff6d19fc9bad..9f4ee68bd8f0 100644 --- a/lib/igt_core.c +++ b/lib/igt_core.c @@ -295,7 +295,7 @@ static pthread_mutex_t log_buffer_mutex = PTHREAD_MUTEX_INITIALIZER; GKeyFile *igt_key_file; #endif -char *frame_dump_path; +char *igt_frame_dump_path; const char *igt_test_name(void) { @@ -650,10 +650,10 @@ static void common_init_config(void) g_clear_error(&error); - if (!frame_dump_path) - frame_dump_path = g_key_file_get_string(igt_key_file, "Common", - "FrameDumpPath", - &error); + if (!igt_frame_dump_path) + igt_frame_dump_path = + g_key_file_get_string(igt_key_file, "Common", + "FrameDumpPath", &error); g_clear_error(&error); @@ -694,7 +694,7 @@ static void common_init_env(void) igt_log_level = IGT_LOG_NONE; } - frame_dump_path = getenv("IGT_FRAME_DUMP_PATH"); + igt_frame_dump_path = getenv("IGT_FRAME_DUMP_PATH"); } static int common_init(int *argc, char **argv, diff --git a/lib/igt_core.h b/lib/igt_core.h index 22b8c2230ea4..c90ae2de35ee 100644 --- a/lib/igt_core.h +++ b/lib/igt_core.h @@ -50,7 +50,7 @@ extern const char* __igt_test_description __attribute__((weak)); extern bool __igt_plain_output; extern GKeyFile *igt_key_file; -extern char *frame_dump_path; +extern char *igt_frame_dump_path; /** * IGT_TEST_DESCRIPTION: diff --git a/lib/igt_frame.c b/lib/igt_frame.c index 222a45f801f3..0f6bca243e39 100644 --- a/lib/igt_frame.c +++ b/lib/igt_frame.c @@ -53,7 +53,7 @@ */ bool igt_frame_dump_is_enabled(void) { - return frame_dump_path != NULL; + return igt_frame_dump_path != NULL; } static void igt_write_frame_to_png(cairo_surface_t *surface, int fd, @@ -70,11 +70,11 @@ static void igt_write_frame_to_png(cairo_surface_t *surface, int fd, if (suffix) snprintf(path, PATH_MAX, "%s/frame-%s-%s-%s-%s.png", -frame_dump_path, test_name, subtest_name, qualifier, +igt_frame_dump_path, test_name, subtest_name, qualifier, suffix); else snprintf(path, PATH_MAX, "%s/frame-%s-%s-%s.png", -frame_dump_path, test_name, subtest_name, qualifier); +igt_frame_dump_path, test_name, subtest_name, qualifier); igt_debug("Dumping %s frame to %s...\n", qualifier, path); @@ -122,10 +122,10 @@ void igt_write_compared_frames_to_png(cairo_surface_t *reference, if (id) snprintf(path, PATH_MAX, "%s/frame-%s-%s-%s.txt", -frame_dump_path, test_name, subtest_name, id); +igt_frame_dump_path, test_name, subtest_name, id); else snprintf(path, PATH_MAX, "%s/frame-%s-%s.txt", -frame_dump_path, test_name, subtest_name); +igt_frame_dump_path, test_name, subtest_name); fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0644); igt_assert(fd >= 0); -- 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 07/22] lib: clean up header includes
Just a bit of OCD, I like it when connections within library modules are a bit more obvious. igt.h is ok for tests, but let's use individual include lines for libraries consistently. Also order standard includes before igt ones. Signed-off-by: Daniel Vetter --- lib/igt_alsa.c | 3 ++- lib/igt_alsa.h | 1 - lib/igt_audio.c | 3 ++- lib/igt_audio.h | 1 - lib/igt_chamelium.c | 6 +- lib/igt_chamelium.h | 6 +- lib/igt_dummyload.c | 11 +-- lib/igt_frame.c | 3 ++- lib/igt_frame.h | 1 - lib/igt_gvt.c | 10 +- lib/igt_kmod.c | 6 +++--- lib/igt_sysfs.h | 1 + lib/igt_vgem.c | 10 +++--- lib/igt_vgem.h | 1 + 14 files changed, 42 insertions(+), 21 deletions(-) diff --git a/lib/igt_alsa.c b/lib/igt_alsa.c index b5574c7622a1..3ad0521aa6ee 100644 --- a/lib/igt_alsa.c +++ b/lib/igt_alsa.c @@ -28,7 +28,8 @@ #include -#include "igt.h" +#include "igt_alsa.h" +#include "igt_core.h" #define HANDLES_MAX8 diff --git a/lib/igt_alsa.h b/lib/igt_alsa.h index 8f7724ad9727..50795130a4f8 100644 --- a/lib/igt_alsa.h +++ b/lib/igt_alsa.h @@ -29,7 +29,6 @@ #include "config.h" -#include "igt.h" #include struct alsa; diff --git a/lib/igt_audio.c b/lib/igt_audio.c index 6b35529aa224..2321d1c6e3f1 100644 --- a/lib/igt_audio.c +++ b/lib/igt_audio.c @@ -29,7 +29,8 @@ #include #include -#include "igt.h" +#include "igt_audio.h" +#include "igt_core.h" #define FREQS_MAX 8 diff --git a/lib/igt_audio.h b/lib/igt_audio.h index 21adfee82756..b3b658a4017f 100644 --- a/lib/igt_audio.h +++ b/lib/igt_audio.h @@ -29,7 +29,6 @@ #include "config.h" -#include "igt.h" #include struct audio_signal; diff --git a/lib/igt_chamelium.c b/lib/igt_chamelium.c index dcd8855f3d1b..fb250366ca2c 100644 --- a/lib/igt_chamelium.c +++ b/lib/igt_chamelium.c @@ -35,7 +35,11 @@ #include #include -#include "igt.h" +#include "igt_chamelium.h" +#include "igt_core.h" +#include "igt_aux.h" +#include "igt_kms.h" +#include "igt_frame.h" /** * SECTION:igt_chamelium diff --git a/lib/igt_chamelium.h b/lib/igt_chamelium.h index a2d626eca957..af9655a0b1cf 100644 --- a/lib/igt_chamelium.h +++ b/lib/igt_chamelium.h @@ -28,8 +28,12 @@ #include "config.h" -#include "igt.h" #include +#include + +#include "igt_debugfs.h" + +struct igt_fb; struct chamelium; struct chamelium_port; diff --git a/lib/igt_dummyload.c b/lib/igt_dummyload.c index f2a94b5572ea..a2061ff6138e 100644 --- a/lib/igt_dummyload.c +++ b/lib/igt_dummyload.c @@ -22,11 +22,18 @@ * */ -#include "igt.h" -#include "igt_dummyload.h" #include #include #include +#include + +#include + +#include "igt_dummyload.h" +#include "igt_gt.h" +#include "intel_batchbuffer.h" +#include "intel_chipset.h" +#include "ioctl_wrappers.h" /** * SECTION:igt_dummyload diff --git a/lib/igt_frame.c b/lib/igt_frame.c index 0f6bca243e39..6984c02e9912 100644 --- a/lib/igt_frame.c +++ b/lib/igt_frame.c @@ -32,7 +32,8 @@ #include #include -#include "igt.h" +#include "igt_frame.h" +#include "igt_core.h" /** * SECTION:igt_frame diff --git a/lib/igt_frame.h b/lib/igt_frame.h index 680ad5bbd293..11f96cbea203 100644 --- a/lib/igt_frame.h +++ b/lib/igt_frame.h @@ -29,7 +29,6 @@ #include "config.h" -#include "igt.h" #include bool igt_frame_dump_is_enabled(void); diff --git a/lib/igt_gvt.c b/lib/igt_gvt.c index a78e98e9f233..acbc349145ce 100644 --- a/lib/igt_gvt.c +++ b/lib/igt_gvt.c @@ -21,16 +21,16 @@ * IN THE SOFTWARE. */ -#include "igt.h" -#include "igt_gvt.h" -#include "igt_sysfs.h" -#include "igt_kmod.h" - #include #include #include #include +#include "igt_gvt.h" +#include "igt_sysfs.h" +#include "igt_kmod.h" +#include "drmtest.h" + /** * SECTION:igt_gvt * @short_description: Graphics virtualization technology library diff --git a/lib/igt_kmod.c b/lib/igt_kmod.c index 26691e308cbd..58624cd12f32 100644 --- a/lib/igt_kmod.c +++ b/lib/igt_kmod.c @@ -21,13 +21,13 @@ * IN THE SOFTWARE. */ -#include "igt.h" +#include +#include + #include "igt_core.h" #include "igt_sysfs.h" #include "igt_kmod.h" -#include - /** * SECTION:igt_kmod * @short_description: Wrappers around libkmod for module loading/unloading diff --git a/lib/igt_sysfs.h b/lib/igt_sysfs.h index d666438a667a..07e75042307a 100644 --- a/lib/igt_sysfs.h +++ b/lib/igt_sysfs.h @@ -26,6 +26,7 @@ #define __IGT_SYSFS_H__ #include +#include int igt_sysfs_open(int device, int *idx); int igt_sysfs_open_parameters(int device); diff --git a/lib/igt_vgem.c b/lib/igt_vgem.c index 3dd9621d0459..7f933b23bd4f 100644 --- a/lib/igt_vgem.c +++ b/lib/igt_vgem.c @@ -21,10 +21,14 @@ * IN THE SOFTWARE. */ -#include "igt.h" -#include "igt_vgem.h" - #include +#include +#include +#include + +#include "igt_vgem.h" +#include "igt_core.h" +#include "ioctl_wrappers.h" /** * SECTION:igt_vgem diff --git a/lib/igt_vgem.h b/lib/igt_vgem.h index 002ad7f09ceb..92045f0e7a81
[Intel-gfx] [PATCH i-g-t 13/22] lib/ioctl_wrappers: make the valgrind wrapper always emit a statement:w
gcc complains otherwise about empty ; statements ... Signed-off-by: Daniel Vetter --- lib/ioctl_wrappers.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c index b4d6210d5942..48750427a0c1 100644 --- a/lib/ioctl_wrappers.c +++ b/lib/ioctl_wrappers.c @@ -60,7 +60,7 @@ #define VG(x) x #else -#define VG(x) +#define VG(x) do {} while (0) #endif #include "ioctl_wrappers.h" -- 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 15/22] meson: Add some compiler flags to reduce warnings.
From: Eric Anholt These warnings are apparently new compared to the autotools build. We can fix the things they complain about later, if we want. Signed-off-by: Eric Anholt Signed-off-by: Daniel Vetter --- meson.build | 11 +++ 1 file changed, 11 insertions(+) diff --git a/meson.build b/meson.build index fee64fcdf36e..4d6985d191f9 100644 --- a/meson.build +++ b/meson.build @@ -8,6 +8,17 @@ project('IGT gpu tests', 'c', cc = meson.get_compiler('c') +add_global_arguments('-Wno-unused-parameter', language: 'c') +add_global_arguments('-Wno-sign-compare', language: 'c') +add_global_arguments('-Wno-missing-field-initializers', language: 'c') +add_global_arguments('-Wno-clobbered', language: 'c') + +# Macros asserting on the range of their arguments triggers this. +add_global_arguments('-Wno-type-limits', language: 'c') + +# igt_assert(0) in switch statements triggers a bunch of this. +add_global_arguments('-Wimplicit-fallthrough=0', language: 'c') + inc = include_directories('lib', '.') config_h = configuration_data() -- 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 12/22] meson: basic build system support
Why? Because it's fast. Like really, really fast. Some data (from a snb laptop, so rather lower-powered): - Incremental build after $ touch lib/igt_core.c with meson: 0.6s It notices that the symbol list of the libigt.so hasn't changed and doesn't bother re-linking the almost 300 binaries we have. make -j 6 for the same scenario takes 44s. - Incremental build with nothing changed: make: 0.7s, meson: 0.2s This means stuff like --disable-git-hash is entirely pointless with meson, it's faster than a make ever can be (with 0.6s). - Reconfigure stage: ninja reconfigure 0.8s vs. ./configure 8.6s) - Running tests, after a full build: ninja test 6s vs. make check 24s - Full build (i.e. including ./autogen.sh respectively meson build), including tests, from a pristine git checkout. automake 2m49s vs. meson 44s. Cc: Ville Syrjälä Cc: Eric Anholt Cc: Daniel Stone Signed-off-by: Daniel Vetter --- .gitignore | 1 + assembler/meson.build| 73 ++ benchmarks/meson.build | 36 + lib/meson.build | 166 ++ lib/prepend_log_domain.sh| 8 ++ lib/tests/meson.build| 34 + lib/version.h.in | 1 + meson.build | 105 ++ overlay/meson.build | 59 tests/generate_testlist.sh | 10 ++ tests/meson.build| 290 +++ tools/meson.build| 59 tools/null_state_gen/meson.build | 15 ++ 13 files changed, 857 insertions(+) create mode 100644 assembler/meson.build create mode 100644 benchmarks/meson.build create mode 100644 lib/meson.build create mode 100755 lib/prepend_log_domain.sh create mode 100644 lib/tests/meson.build create mode 100644 lib/version.h.in create mode 100644 meson.build create mode 100644 overlay/meson.build create mode 100755 tests/generate_testlist.sh create mode 100644 tests/meson.build create mode 100644 tools/meson.build create mode 100644 tools/null_state_gen/meson.build diff --git a/.gitignore b/.gitignore index 6204965a0e32..e6919272d8b6 100644 --- a/.gitignore +++ b/.gitignore @@ -93,3 +93,4 @@ intel-gpu-tools-*/ piglit results +build diff --git a/assembler/meson.build b/assembler/meson.build new file mode 100644 index ..b0e2db25 --- /dev/null +++ b/assembler/meson.build @@ -0,0 +1,73 @@ +lib_brw_src = [ + 'brw_context.c', + 'brw_disasm.c', + 'brw_eu.c', + 'brw_eu_compact.c', + 'brw_eu_debug.c', + 'brw_eu_emit.c', + 'brw_eu_util.c', + 'gen8_disasm.c', + 'gen8_instruction.c', + 'ralloc.c', +] + +lib_brw = shared_library('brw', lib_brw_src, + dependencies : igt_deps) + +flex = find_program('flex') +bison = find_program('bison') + +lgen = generator(flex, + output : '@BASENAME@.c', + arguments : ['-o', '@OUTPUT@', '@INPUT@']) + +lfiles = lgen.process('lex.l') + +pgen = generator(bison, + output : ['@BASENAME@.c', '@BASENAME@.h'], + arguments : ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@']) + +pfiles = pgen.process('gram.y') + +executable('intel-gen4asm', 'main.c', lfiles, pfiles, link_with : lib_brw) + +executable('intel-gen4disasm', 'disasm-main.c', link_with : lib_brw) + +gen4asm_testcases = [ + 'test/mov', + 'test/frc', + 'test/rndd', + 'test/rndu', + 'test/rnde', + 'test/rnde-intsrc', + 'test/rndz', + 'test/lzd', + 'test/not', + 'test/immediate', +] + +# Those tests were already failing when the assembler was imported from +# the intel-gen4asm git repository: +# http://cgit.freedesktop.org/xorg/app/intel-gen4asm/ +# We disable them "for now" as a workaround to be able to release i-g-t +gen4asm_testcases_broken = [ + 'test/declare', + 'test/jmpi', + 'test/if', + 'test/iff', + 'test/while', + 'test/else', + 'test/break', + 'test/cont', + 'test/halt', + 'test/wait', + 'test/endif', +] + +test_runner = find_program('test/run-test.sh') +foreach testcase : gen4asm_testcases + test('assembler: ' + testcase, test_runner, + args : testcase, + env : [ 'srcdir=' + meson.current_source_dir(), + 'top_builddir=' + meson.current_build_dir()]) +endforeach diff --git a/benchmarks/meson.build b/benchmarks/meson.build new file mode 100644 index ..9ab738f76588 --- /dev/null +++ b/benchmarks/meson.build @@ -0,0 +1,36 @@ +benchmark_progs = [ + 'gem_blt', + 'gem_busy', + 'gem_create', + 'gem_exec_ctx', + 'gem_exec_fault', + 'gem_exec_nop', + 'gem_exec_reloc', + 'gem_exec_trace', + 'gem_latency', + 'gem_mmap', + 'gem_prw', + 'gem_set_domain', + 'gem_syslatency', + 'gem
[Intel-gfx] [PATCH i-g-t 14/22] tests/kms_plane: Appease gcc -Wempty-body
Not exactly sure what's the point, but oh well. Signed-off-by: Daniel Vetter --- tests/kms_plane.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/kms_plane.c b/tests/kms_plane.c index 927d5d37fece..812497500d2d 100644 --- a/tests/kms_plane.c +++ b/tests/kms_plane.c @@ -207,8 +207,9 @@ test_plane_position_with_output(data_t *data, if (flags & TEST_POSITION_FULLY_COVERED) igt_assert_crc_equal(&test.reference_crc, &crc); - else + else { ;/* FIXME: missing reference CRCs */ + } igt_assert_crc_equal(&crc, &crc2); -- 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 16/22] meson: Don't build the igt audio test without gsl available.
From: Eric Anholt Signed-off-by: Eric Anholt Signed-off-by: Daniel Vetter --- tests/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/meson.build b/tests/meson.build index 73833758be0e..4dd5a9c9d4c7 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -248,7 +248,7 @@ if libdrm_amdgpu.found() test_deps += libdrm_amdgpu endif -if alsa.found() +if alsa.found() and gsl.found() test_progs += [ 'audio', ] -- 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 22/22] meson: Bump required version to 0.40
link_whole needs that, and we need that. Reported by Chris Wilson. Signed-off-by: Daniel Vetter --- meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 2b49a0db6500..0858354f1b0d 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,8 @@ project('IGT gpu tests', 'c', 'warning_level=2', 'c_std=gnu99', ], - license : 'MIT') + license : 'MIT', + meson_version : '>0.40.0') cc = meson.get_compiler('c') -- 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 17/22] meson: Use static libs to handle IGT_LOG_DOMAIN.
From: Eric Anholt It means that compiler errors in the .c files take you to the source place in your editor, not a preprocessed temporary. v2: Add the library deps, fails linking otherwise. Signed-off-by: Eric Anholt (v1) Signed-off-by: Daniel Vetter --- lib/dummy.c | 0 lib/meson.build | 36 +--- lib/prepend_log_domain.sh | 8 3 files changed, 25 insertions(+), 19 deletions(-) create mode 100644 lib/dummy.c delete mode 100755 lib/prepend_log_domain.sh diff --git a/lib/dummy.c b/lib/dummy.c new file mode 100644 index ..e69de29bb2d1 diff --git a/lib/meson.build b/lib/meson.build index 51d3f9e278da..f0672edf1830 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -144,19 +144,33 @@ vcs_tag(input : 'version.h.in', output : 'version.h', fallback : 'NO-GIT', command : [ 'git', 'log', '-n1', '--pretty=format:g%h' ] ) -# FIXME we don't regenerate when the script changes -prepend_log_domain = generator(find_program('prepend_log_domain.sh'), - arguments : [ '@INPUT@', '@OUTPUT@' ], - output : '@PLAINNAME@' + '.pre.c') - -processed_src_dep = prepend_log_domain.process(lib_sources) +lib_intermediates = [] +foreach f: lib_sources +# No / in the target name +if f.contains('uwildmat') +name = 'uwildmat' +else +name = f +endif + +lib = static_library('igt-' + name, +f, + include_directories: inc, + dependencies : lib_deps, + c_args : [ + '-DIGT_DATADIR="@0@"'.format(pkgdatadir), + '-DIGT_SRCDIR="@0@"'.format(srcdir), + '-DIGT_LOG_DOMAIN="@0@"'.format(f.split('.')[0]), + ]) + +lib_intermediates += lib +endforeach lib_igt_build = shared_library('igt', -processed_src_dep, -include_directories : inc, -dependencies : lib_deps, -c_args : [ '-DIGT_DATADIR="@0@"'.format(pkgdatadir), - '-DIGT_SRCDIR="@0@"'.format(srcdir), ]) +['dummy.c'], +link_whole: lib_intermediates, +dependencies: lib_deps, +) lib_igt = declare_dependency(link_with : lib_igt_build, include_directories : inc) diff --git a/lib/prepend_log_domain.sh b/lib/prepend_log_domain.sh deleted file mode 100755 index 93a911508b7f.. --- a/lib/prepend_log_domain.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -input=$1 -output=$2 -basename=$(basename $1 .c) - -echo "#define IGT_LOG_DOMAIN \"$basename\"" > $output -cat $input >> $output -- 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 21/22] meson: Minimal README update
Signed-off-by: Daniel Vetter --- README | 16 1 file changed, 16 insertions(+) diff --git a/README b/README index c3ddf7685fb4..2c2cd3637a43 100644 --- a/README +++ b/README @@ -159,6 +159,22 @@ The following dependencies are requires for building audio support libasound2-dev libgsl-dev +Experimental meson build system support +--- + +Right now this is just a preview for developers, automake is still used by CI +and needs to keep working. One-liner howto: + +$ mkdir build && meson build && cd build && ninja + +Note that meson insist on separate build directories from the source tree. + +Running testcases is done with + +$ cd build && ninja test + +gtkdocs is currently not yet supported. + Releases for maintainers -- 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 19/22] meson: add manpage support
It seems like meson doesn't want you to string together targets like make does, but wants it all in one step. So another little shell script it is. Signed-off-by: Daniel Vetter --- man/defs.rst.in | 5 + man/meson.build | 45 + man/rst2man.sh | 16 meson.build | 1 + 4 files changed, 67 insertions(+) create mode 100644 man/defs.rst.in create mode 100644 man/meson.build create mode 100755 man/rst2man.sh diff --git a/man/defs.rst.in b/man/defs.rst.in new file mode 100644 index ..54b7eec08903 --- /dev/null +++ b/man/defs.rst.in @@ -0,0 +1,5 @@ +.. |PACKAGE_NAME| replace:: @PACKAGE_NAME@ +.. |PACKAGE_VERSION| replace:: @PACKAGE_VERSION@ +.. |PACKAGE_STRING| replace:: @PACKAGE_STRING@ +.. |MANUAL_SECTION| replace:: 1 +.. |MANUAL_GROUP| replace:: General Commands Manual diff --git a/man/meson.build b/man/meson.build new file mode 100644 index ..4f9f88e87540 --- /dev/null +++ b/man/meson.build @@ -0,0 +1,45 @@ +manpages = [ + 'intel_aubdump', + 'intel_audio_dump', + 'intel_bios_dumper', + 'intel_error_decode', + 'intel_gpu_frequency', + 'intel_gpu_top', + 'intel_gtt', + 'intel_infoframes', + 'intel_lid', + 'intel_panel_fitter', + 'intel_reg', + 'intel_stepping', + 'intel_upload_blit_large', + 'intel_upload_blit_large_gtt', + 'intel_upload_blit_large_map', + 'intel_upload_blit_small', + 'intel_vbt_decode', +] + +man_config = configuration_data() + +man_config.set('PACKAGE_NAME', meson.project_name()) +man_config.set('PACKAGE_VERSION', meson.project_version()) +man_config.set('PACKAGE_STRING', meson.project_name() + ' ' + meson.project_version()) + +defs_rst = configure_file(input : 'defs.rst.in', + output : 'defs.rst', + configuration : man_config) + +rst2man = find_program('rst2man', required : false) +rst2man_script = find_program('rst2man.sh') + +if rst2man.found() + foreach manpage : manpages + custom_target(manpage + '.1', + build_by_default : true, + command : [ rst2man_script, '@INPUT@', '@OUTPUT@' ], + depend_files : [ defs_rst ], + input: manpage + '.rst', + output : manpage + '.1.gz', + install : true, + install_dir : join_paths(get_option('mandir'), 'man1')) + endforeach +endif diff --git a/man/rst2man.sh b/man/rst2man.sh new file mode 100755 index ..fc2b5ed863b1 --- /dev/null +++ b/man/rst2man.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +input=$1 +output=$2 + +out_dir=$(dirname ${output}) +in_file=$(basename ${input}) + +# rst2man doesn't handle multiple source directories well, and since defs.rst is +# generated we first need to move it all into the build dir +cp $input $out_dir + +rst2man $out_dir/$in_file ${output%.gz} + +rm -f ${output} +gzip ${output%.gz} diff --git a/meson.build b/meson.build index 39749a0e1103..2b49a0db6500 100644 --- a/meson.build +++ b/meson.build @@ -120,3 +120,4 @@ if libdrm_intel.found() subdir('assembler') subdir('overlay') endif +subdir('man') -- 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 20/22] meson: igt_frame also needs pixman
Oversight I noticed because I have the deps for chamelium on the other machine already. Signed-off-by: Daniel Vetter --- lib/meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/meson.build b/lib/meson.build index f0672edf1830..b78e42dc78cb 100644 --- a/lib/meson.build +++ b/lib/meson.build @@ -117,8 +117,8 @@ if valgrind.found() lib_deps += valgrind endif -if gsl.found() - lib_deps += gsl +if gsl.found() and pixman.found() + lib_deps += [ gsl, pixman ] lib_headers += [ 'igt_frame.h', 'igt_audio.h' ] lib_sources += [ 'igt_frame.c', 'igt_audio.c' ] endif -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.IGT: failure for igt_core: Skip sync when listing subtests (rev2)
== Series Details == Series: igt_core: Skip sync when listing subtests (rev2) URL : https://patchwork.freedesktop.org/series/27707/ State : failure == Summary == Test gem_exec_capture: Subgroup capture-blt: pass -> DMESG-WARN (shard-hsw) Test kms_flip: Subgroup vblank-vs-modeset-suspend-interruptible: pass -> DMESG-FAIL (shard-hsw) Subgroup vblank-vs-dpms-suspend-interruptible: pass -> DMESG-FAIL (shard-hsw) Test gem_exec_store: Subgroup cachelines-blt: pass -> SKIP (shard-hsw) Test kms_busy: Subgroup basic-flip-C: pass -> SKIP (shard-hsw) Test gem_exec_flush: Subgroup basic-batch-kernel-default-uc: pass -> SKIP (shard-hsw) Test gem_exec_parallel: Subgroup render: pass -> SKIP (shard-hsw) Subgroup default-fds: pass -> SKIP (shard-hsw) Test kms_draw_crc: Subgroup draw-method-xrgb2101010-blt-xtiled: pass -> FAIL (shard-hsw) Test drv_suspend: Subgroup sysfs-reader: pass -> DMESG-FAIL (shard-hsw) Test gem_partial_pwrite_pread: Subgroup write-snoop: pass -> SKIP (shard-hsw) Test kms_setmode: Subgroup basic: fail -> PASS (shard-hsw) fdo#99912 Test perf: Subgroup blocking: fail -> PASS (shard-hsw) fdo#102252 fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252 shard-hswtotal:2265 pass:1224 dwarn:1 dfail:3 fail:15 skip:1022 time:9482s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_143/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH i-g-t 18/22] meson: detect cc flags
Somehow my gcc has a different idea of what no-implicit-fallthrough should look like than the one Eric used. fixup compiler flags Signed-off-by: Daniel Vetter --- meson.build | 22 ++ 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/meson.build b/meson.build index 4d6985d191f9..39749a0e1103 100644 --- a/meson.build +++ b/meson.build @@ -8,16 +8,22 @@ project('IGT gpu tests', 'c', cc = meson.get_compiler('c') -add_global_arguments('-Wno-unused-parameter', language: 'c') -add_global_arguments('-Wno-sign-compare', language: 'c') -add_global_arguments('-Wno-missing-field-initializers', language: 'c') -add_global_arguments('-Wno-clobbered', language: 'c') - +cc_args = [ + '-Wno-unused-parameter', + '-Wno-sign-compare', + '-Wno-missing-field-initializers', + '-Wno-clobbered', # Macros asserting on the range of their arguments triggers this. -add_global_arguments('-Wno-type-limits', language: 'c') - + '-Wno-type-limits', # igt_assert(0) in switch statements triggers a bunch of this. -add_global_arguments('-Wimplicit-fallthrough=0', language: 'c') + '-Wimplicit-fallthrough=0', +] + +foreach cc_arg : cc_args + if cc.has_argument(cc_arg) +add_global_arguments(cc_arg, language : 'c') + endif +endforeach inc = include_directories('lib', '.') -- 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] intel_l3_parity: More helpful output in case of errors
When no action is specified on the command line, print the usage help text and exit with failure instead of SIGABRT. Fix some typos on the usage text. Keep the abort() call in places where they can only be reached by expanding the tool and forgetting to handle new parameters, with an error message printed. CC: Ben Widawsky Signed-off-by: Petri Latvala --- tools/intel_l3_parity.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tools/intel_l3_parity.c b/tools/intel_l3_parity.c index eb00c50..1a4fae5 100644 --- a/tools/intel_l3_parity.c +++ b/tools/intel_l3_parity.c @@ -172,9 +172,9 @@ static void usage(const char *name) " -l, --list List the current L3 logs\n" " -a, --clear-all Clear all disabled rows\n" " -e, --enable Enable row, bank, subbank (undo -d)\n" - " -d, --disable= Disable row, bank, subbank (inline arguments are deprecated. Please use -r, -b, -s instead\n" - " -i, --inject [HSW only] Cause hardware to inject a row errors\n" - " -u, --uninject [HSW only] Turn off hardware error injectection (undo -i)\n" + " -d, --disable= Disable row, bank, subbank (inline arguments are deprecated. Please use -r, -b, -s instead)\n" + " -i, --inject [HSW only] Cause hardware to inject a row error\n" + " -u, --uninject [HSW only] Turn off hardware error injection (undo -i)\n" " -L, --listen Listen for uevent errors\n", name); } @@ -301,6 +301,7 @@ int main(int argc, char *argv[]) action = c; break; default: + fprintf(stderr, "Internal error: Unhandled flag %c\n", c); abort(); } } @@ -374,7 +375,12 @@ int main(int argc, char *argv[]) break; case 'L': break; + case '0': + /* No action given */ + usage(argv[0]); + exit(EXIT_FAILURE); default: + fprintf(stderr, "Internal error: Unhandled action %d\n", action); abort(); } } -- 2.9.3 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✓ Fi.CI.BAT: success for tests/tools_test: check if l3_parity is supported
== Series Details == Series: tests/tools_test: check if l3_parity is supported URL : https://patchwork.freedesktop.org/series/29817/ State : success == Summary == IGT patchset tested on top of latest successful build 918863f8e3e8f49235fd2e4a36e11f386c06c11c intel_display_poller: Fix truncation of a test name. with latest DRM-Tip kernel build CI_DRM_3039 229aae71d40f drm-tip: 2017y-09m-05d-11h-05m-56s UTC integration manifest Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-atomic: pass -> FAIL (fi-snb-2600) fdo#100215 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:461s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:448s fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:365s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:555s fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:256s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:522s fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:528s fi-byt-n2820 total:289 pass:250 dwarn:1 dfail:0 fail:0 skip:38 time:524s fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:442s fi-glk-2atotal:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:614s fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:451s fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:426s fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:430s fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:501s fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:476s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:513s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:604s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:604s fi-pnv-d510 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:527s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:544s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:517s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:450s fi-skl-x1585ltotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:516s fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:569s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:1 skip:39 time:411s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_144/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.BAT: warning for intel_l3_parity: More helpful output in case of errors
== Series Details == Series: intel_l3_parity: More helpful output in case of errors URL : https://patchwork.freedesktop.org/series/29824/ State : warning == Summary == IGT patchset tested on top of latest successful build 918863f8e3e8f49235fd2e4a36e11f386c06c11c intel_display_poller: Fix truncation of a test name. with latest DRM-Tip kernel build CI_DRM_3039 229aae71d40f drm-tip: 2017y-09m-05d-11h-05m-56s UTC integration manifest Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: pass -> FAIL (fi-snb-2600) fdo#100215 Subgroup basic-flip-after-cursor-atomic: pass -> DMESG-WARN (fi-glk-2a) Test kms_flip: Subgroup basic-flip-vs-modeset: pass -> SKIP (fi-skl-x1585l) fdo#101781 Test kms_frontbuffer_tracking: Subgroup basic: pass -> INCOMPLETE (fi-bsw-n3050) fdo#101707 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fdo#101781 https://bugs.freedesktop.org/show_bug.cgi?id=101781 fdo#101707 https://bugs.freedesktop.org/show_bug.cgi?id=101707 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:464s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:439s fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:363s fi-bsw-n3050 total:225 pass:195 dwarn:0 dfail:0 fail:0 skip:29 fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:254s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:530s fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:524s fi-byt-n2820 total:289 pass:250 dwarn:1 dfail:0 fail:0 skip:38 time:522s fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:439s fi-glk-2atotal:289 pass:259 dwarn:1 dfail:0 fail:0 skip:29 time:622s fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:450s fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:428s fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:430s fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:515s fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:477s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:501s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:599s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:603s fi-pnv-d510 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:533s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:475s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:536s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:524s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:452s fi-skl-x1585ltotal:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:500s fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:565s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:1 skip:39 time:405s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_146/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v4 1/2] drm/i915: Track minimum acceptable cdclk instead of "minimum dotclock"
On Mon, Sep 04, 2017 at 08:51:16PM +0200, Maarten Lankhorst wrote: > Op 04-09-17 om 17:58 schreef Ville Syrjälä: > > On Mon, Sep 04, 2017 at 12:39:25PM +0200, Maarten Lankhorst wrote: > >> Op 31-08-17 om 20:48 schreef Ville Syrjälä: > >>> On Wed, Aug 30, 2017 at 09:57:03PM +0300, ville.syrj...@linux.intel.com > >>> wrote: > From: Ville Syrjälä > > Make the min_pixclk thing less confusing by changing it to track > the minimum acceptable cdclk frequency instead. This means moving > the application of the guardbands to a slightly higher level from > the low level platform specific calc_cdclk() functions. > > The immediate benefit is elimination of the confusing 2x factors > on GLK/CNL+ in the audio workarounds (which stems from the fact > that the pipes produce two pixels per clock). > > v2: Keep cdclk higher on CNL to workaround missing DDI clock voltage > handling > v3: Squash with the CNL cdclk limits patch (DK) > v4: s/intel_min_cdclk/intel_pixel_rate_to_cdclk/ (DK) > > Cc: Paulo Zanoni > Cc: Rodrigo Vivi > Cc: Dhinakaran Pandiyan > Cc: Maarten Lankhorst > Reviewed-by: Dhinakaran Pandiyan > Signed-off-by: Ville Syrjälä > >>> I didn't get any objections from the CNL camp, so I went ahead and > >>> pushed the series. Thanks for the reviews. > >>> > >> I seem to have a WARN_ON during init now on my broadwell, likely related > >> to this series? > >> > >> [ 13.105310] i915 :00:02.0: vgaarb: changed VGA decodes: > >> olddecodes=io+mem,decodes=io+mem:owns=io+mem > >> [ 13.132264] systemd-journald[159]: Successfully sent stream file > >> descriptor to service manager. > >> [ 13.161016] WARN_ON(min_cdclk < 0) > > Hmm. I think I need to see the full dmesg to figure this one out. > > > [ 188.354997] [drm:intel_modeset_init [i915]] 3 display pipes available. > [ 188.356575] [drm:intel_update_cdclk [i915]] Current CD clock rate: 54 > kHz, VCO: 0 kHz, ref: 0 kHz > [ 188.357067] [drm:intel_update_max_cdclk [i915]] Max CD clock rate: 54 > kHz > [ 188.357220] [drm:intel_update_max_cdclk [i915]] Max dotclock rate: 54 > kHz > ... > [ 188.363648] [drm:drm_atomic_set_mode_for_crtc [drm]] Set [MODE:640x480] > for CRTC state 8800c79e2200 > [ 188.363784] [drm:intel_crtc_compute_min_cdclk [i915]] required cdclk > (607500 kHz) exceeds max (54 kHz) > [ 188.363848] WARN_ON(min_cdclk < 0) > ... > [ 188.368005] [drm:intel_dump_pipe_config [i915]] [CRTC:36:pipe > A][setup_hw_state] > [ 188.368155] [drm:intel_dump_pipe_config [i915]] cpu_transcoder: A, pipe > bpp: 24, dithering: 0 > [ 188.368276] [drm:intel_dump_pipe_config [i915]] audio: 0, infoframes: 0 > [ 188.368390] [drm:intel_dump_pipe_config [i915]] requested mode: > [ 188.368692] [drm:drm_mode_debug_printmodeline [drm]] Modeline 0:"640x480" > 1286 54 640 656 752 800 480 490 492 525 0x40 0xa > [ 188.368833] [drm:intel_dump_pipe_config [i915]] adjusted mode: > [ 188.368897] [drm:drm_mode_debug_printmodeline [drm]] Modeline 0:"640x480" > 1286 54 640 656 752 800 480 490 492 525 0x40 0xa > [ 188.369041] [drm:intel_dump_pipe_config [i915]] crtc timings: 54 640 > 656 752 800 480 490 492 525, type: 0x40 flags: 0xa Cool. 640x480 with a refresh rate of ~1286 Hz. I want one of those displays :P So now the question becomes if we made a mistake in the clock/timings readout or if the hardware is really programmed to use those values. > [ 188.369235] [drm:intel_dump_pipe_config [i915]] port clock: 54, pipe > src size: 720x400, pixel rate 607500 > [ 188.369366] [drm:intel_dump_pipe_config [i915]] pch pfit: pos: 0x, > size: 0x028001e0, enabled > [ 188.369490] [drm:intel_dump_pipe_config [i915]] ips: 0, double wide: 0 > [ 188.369600] [drm:hsw_dump_hw_state [i915]] dpll_hw_state: wrpll: 0x0 spll: > 0x0 > [ 188.369719] [drm:intel_dump_pipe_config [i915]] planes on this crtc > > > Is this enough info? -- Ville Syrjälä Intel OTC ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH v4] drm/i915: Speed up DMC firmware loading
Currently we're doing: 1. acquire lock 2. write word to hardware 3. release lock 4. repeat from 1 to load the DMC firmware. Due to the cost of acquiring/releasing a lock, and the size of the DMC firmware, this slows down DMC loading a lot. This patch simply acquires the lock, writes the entire firmware, then releases the lock. Testing shows resume speedups in the order of 10ms on platforms with DMC firmware (GEN9+). v2: Per feedback from Chris & Ville there's no need to do the whole forcewake dance, so lose that bit (Chris, Ville) v3: Actually send the new version of the patch... v4: Don't acquire the uncore lock. Disable preempt. (Chris) Signed-off-by: David Weinehall --- drivers/gpu/drm/i915/intel_csr.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c index 965988f79a55..cdfb624eb82d 100644 --- a/drivers/gpu/drm/i915/intel_csr.c +++ b/drivers/gpu/drm/i915/intel_csr.c @@ -252,8 +252,14 @@ void intel_csr_load_program(struct drm_i915_private *dev_priv) } fw_size = dev_priv->csr.dmc_fw_size; + assert_rpm_wakelock_held(dev_priv); + + preempt_disable(); + for (i = 0; i < fw_size; i++) - I915_WRITE(CSR_PROGRAM(i), payload[i]); + I915_WRITE_FW(CSR_PROGRAM(i), payload[i]); + + preempt_enable(); for (i = 0; i < dev_priv->csr.mmio_count; i++) { I915_WRITE(dev_priv->csr.mmioaddr[i], -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 1/2] drm/i915/dsi: Send SHUTDOWN only for v3+ VBT's
On Tue, Sep 05, 2017 at 09:27:47AM +, Shankar, Uma wrote: > > > >-Original Message- > >From: Kahola, Mika > >Sent: Tuesday, September 5, 2017 2:03 PM > >To: Ville Syrjälä > >Cc: intel-gfx@lists.freedesktop.org; Shankar, Uma > >Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/dsi: Send SHUTDOWN only for v3+ > >VBT's > > > >On Mon, 2017-09-04 at 18:04 +0300, Ville Syrjälä wrote: > >> On Mon, Sep 04, 2017 at 10:59:32AM +0300, Mika Kahola wrote: > >> > > >> > On Fri, 2017-09-01 at 16:43 +0300, Ville Syrjälä wrote: > >> > > > >> > > On Fri, Sep 01, 2017 at 10:51:00AM +0300, Mika Kahola wrote: > >> > > > > >> > > > > >> > > > According to spec we should send SHUTDOWN before > >> > > > MIPI_SEQ_DISPLAY_OFF for > >> > > > v3+ VBT's. Testing with VBT v3 the current implementation > >> > > > yields > >> > > > the > >> > > > following error message > >> > > > > >> > > > *ERROR* Video mode command 0x0041 send failed. > >> > > > > >> > > > To get rid of this error message, let's limit SHUTDOWN only for > >> > > > VBT versions 3 or higher. > >> > > In the patch you limit it to version 4+, which doesn't make sense > >> > > since AFAIK there is no version 4 of the sequence block. > >> > It seems that sending SHUTDOWN signal doesn't make any sense either. > >> > Whenever we send that signal it just causes this error message. Do > >> > we really need to signal this? From functionality point of view > >> > there's no difference. > >> Well, the spec doesn't even explain what this "shut down" command > >> does. > >> Is it actually the DCS "display off" command, or something else? > >It seems to do something. At least the intel_wait_for_register() times out > >when > >sending SHUTDOWN signal. Maybe it just shuts down display so we can't even > >read the registers after that. > > > >This brings me to another idea. Maybe we should skip > >intel_wait_for_register() if we have sent out SHUTDOWN signal? > > > >> > >> Did you try reverting bbdf0b2ff32a ("drm/i915/bxt: Disable device > >> ready before shutdown command")? That looks suspicious to me. But so > >> does about half of the DSI code since it never seems to follow the > >> spec, and we end up doing totally different things on different > >> platforms without any explanation why that is). > >I haven't tried that. I will give it a go and see what happens. > > > > The issue is happening due to Device Ready setting. It was added to resolve a > DSI split screen > issue in dual link DSI panels. Since DSI dual link is not enabled and will > require a bit of work in > upstream, we should revert this change. Vidya will send the change and also > work on enabling > dual link support in upstream. > > FYI - SHUTDOWN is a short packet peripheral command that turns off the > display in a Video Mode > display module for power saving. There is no SHUTDOWN comamnd in the DCS spec that I can find. > > For DSI, there have been issues with different panels requiring some > unconventional changes, and also bspec > sometimes doesn't cover everything generically. So, it gets a bit > challenging :( > > Regards, > Uma Shankar > > >> > > >> > > >> > > > >> > > > >> > > > > >> > > > > >> > > > > >> > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102404 > >> > > > Signed-off-by: Mika Kahola > >> > > > --- > >> > > > drivers/gpu/drm/i915/intel_dsi.c | 2 +- > >> > > > 1 file changed, 1 insertion(+), 1 deletion(-) > >> > > > > >> > > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c > >> > > > b/drivers/gpu/drm/i915/intel_dsi.c > >> > > > index 2a0f5d3..b48b9b7 100644 > >> > > > --- a/drivers/gpu/drm/i915/intel_dsi.c > >> > > > +++ b/drivers/gpu/drm/i915/intel_dsi.c > >> > > > @@ -916,7 +916,7 @@ static void intel_dsi_disable(struct > >> > > > intel_encoder *encoder, > >> > > > * MIPI_SEQ_DISPLAY_OFF only for v3+ VBTs, but field testing > >> > > > * has shown that the v3 sequence works for v2 VBTs too > >> > > > */ > >> > > > -if (is_vid_mode(intel_dsi)) { > >> > > > +if (is_vid_mode(intel_dsi) && dev_priv- > >> > > > > > >> > > > > vbt.dsi.seq_version > 3) { > >> > > > /* Send Shutdown command to the panel in LP mode */ > >> > > > for_each_dsi_port(port, intel_dsi->ports) > >> > > > dpi_send_cmd(intel_dsi, SHUTDOWN, false, port); > >> > > > -- > >> > > > 2.7.4 > >> > > > > >> > > > ___ > >> > > > Intel-gfx mailing list > >> > > > Intel-gfx@lists.freedesktop.org > >> > > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx > >> > -- > >> > Mika Kahola - Intel OTC > >-- > >Mika Kahola - Intel OTC > -- 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 v4] drm/i915: Speed up DMC firmware loading
Quoting David Weinehall (2017-09-05 14:10:50) > Currently we're doing: > > 1. acquire lock > 2. write word to hardware > 3. release lock > 4. repeat from 1 > > to load the DMC firmware. Due to the cost of acquiring/releasing a lock, > and the size of the DMC firmware, this slows down DMC loading a lot. > > This patch simply acquires the lock, writes the entire firmware, > then releases the lock. Testing shows resume speedups > in the order of 10ms on platforms with DMC firmware (GEN9+). > > v2: Per feedback from Chris & Ville there's no need to do the whole > forcewake dance, so lose that bit (Chris, Ville) > > v3: Actually send the new version of the patch... > > v4: Don't acquire the uncore lock. Disable preempt. (Chris) > > Signed-off-by: David Weinehall > --- > drivers/gpu/drm/i915/intel_csr.c | 8 +++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_csr.c > b/drivers/gpu/drm/i915/intel_csr.c > index 965988f79a55..cdfb624eb82d 100644 > --- a/drivers/gpu/drm/i915/intel_csr.c > +++ b/drivers/gpu/drm/i915/intel_csr.c > @@ -252,8 +252,14 @@ void intel_csr_load_program(struct drm_i915_private > *dev_priv) > } > > fw_size = dev_priv->csr.dmc_fw_size; > + assert_rpm_wakelock_held(dev_priv); > + > + preempt_disable(); > + > for (i = 0; i < fw_size; i++) > - I915_WRITE(CSR_PROGRAM(i), payload[i]); > + I915_WRITE_FW(CSR_PROGRAM(i), payload[i]); > + > + preempt_enable(); > > for (i = 0; i < dev_priv->csr.mmio_count; i++) { > I915_WRITE(dev_priv->csr.mmioaddr[i], Looked into extending the coverage to the second loop? -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v4] drm/i915: Speed up DMC firmware loading
On Tue, Sep 05, 2017 at 02:25:36PM +0100, Chris Wilson wrote: > Quoting David Weinehall (2017-09-05 14:10:50) > > Currently we're doing: > > > > 1. acquire lock > > 2. write word to hardware > > 3. release lock > > 4. repeat from 1 > > > > to load the DMC firmware. Due to the cost of acquiring/releasing a lock, > > and the size of the DMC firmware, this slows down DMC loading a lot. > > > > This patch simply acquires the lock, writes the entire firmware, > > then releases the lock. Testing shows resume speedups > > in the order of 10ms on platforms with DMC firmware (GEN9+). > > > > v2: Per feedback from Chris & Ville there's no need to do the whole > > forcewake dance, so lose that bit (Chris, Ville) > > > > v3: Actually send the new version of the patch... > > > > v4: Don't acquire the uncore lock. Disable preempt. (Chris) > > > > Signed-off-by: David Weinehall > > --- > > drivers/gpu/drm/i915/intel_csr.c | 8 +++- > > 1 file changed, 7 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_csr.c > > b/drivers/gpu/drm/i915/intel_csr.c > > index 965988f79a55..cdfb624eb82d 100644 > > --- a/drivers/gpu/drm/i915/intel_csr.c > > +++ b/drivers/gpu/drm/i915/intel_csr.c > > @@ -252,8 +252,14 @@ void intel_csr_load_program(struct drm_i915_private > > *dev_priv) > > } > > > > fw_size = dev_priv->csr.dmc_fw_size; > > + assert_rpm_wakelock_held(dev_priv); > > + > > + preempt_disable(); > > + > > for (i = 0; i < fw_size; i++) > > - I915_WRITE(CSR_PROGRAM(i), payload[i]); > > + I915_WRITE_FW(CSR_PROGRAM(i), payload[i]); > > + > > + preempt_enable(); > > > > for (i = 0; i < dev_priv->csr.mmio_count; i++) { > > I915_WRITE(dev_priv->csr.mmioaddr[i], > > Looked into extending the coverage to the second loop? The second loop didn't really show up in my benchmarks, so I decided to minimise the changes. The only other I915_WRITE() loops that show up when measuring are the LUT loading; I'll fix those in a future patch. Kind regards, David ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: Try harder to finish the idle-worker
On Mon, Sep 04, 2017 at 10:35:49AM +0200, Daniel Vetter wrote: > On Fri, Sep 01, 2017 at 03:11:23PM +0100, Chris Wilson wrote: > > If a worker requeues itself, it may switch to a different kworker pool, > > which flush_work() considers as complete. To be strict, we then need to > > keep flushing the work until it is no longer pending. > > > > References: https://bugs.freedesktop.org/show_bug.cgi?id=102456 > > Signed-off-by: Chris Wilson > > Cc: Mika Kuoppala > > Shouldn't this be a thing the workqueue subsystem exposes? Adding Tejun et > al. > -Daniel Can't you use cancel[_delayed]_work_sync()? Thanks. -- tejun ___ 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: Speed up DMC firmware loading (rev4)
== Series Details == Series: drm/i915: Speed up DMC firmware loading (rev4) URL : https://patchwork.freedesktop.org/series/29688/ State : success == Summary == Series 29688v4 drm/i915: Speed up DMC firmware loading https://patchwork.freedesktop.org/api/1.0/series/29688/revisions/4/mbox/ Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: pass -> FAIL (fi-snb-2600) fdo#100215 Test kms_flip: Subgroup basic-flip-vs-modeset: pass -> SKIP (fi-skl-x1585l) fdo#101781 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fdo#101781 https://bugs.freedesktop.org/show_bug.cgi?id=101781 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:458s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:437s fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:366s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:569s fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:254s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:530s fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:522s fi-byt-n2820 total:289 pass:250 dwarn:1 dfail:0 fail:0 skip:38 time:513s fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:439s fi-glk-2atotal:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:603s fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:444s fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:423s fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:424s fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:509s fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:480s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:512s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:600s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:600s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:480s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:532s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:511s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:445s fi-skl-x1585ltotal:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:487s fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:563s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:1 skip:39 time:408s fi-pnv-d510 failed to connect after reboot 229aae71d40f142bc0fbc011d6610ac4ddbd7cd6 drm-tip: 2017y-09m-05d-11h-05m-56s UTC integration manifest 9d504cd2b50c drm/i915: Speed up DMC firmware loading == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5581/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915/dsi: Silence atomic update failure with DSI panel
It appears that we cannot trust scanline counters when MIPI/DSI display is connected. In CI system this appears as flickering errors that randomly appear in test cases. To avoid this flickering, let's just silence atomic update failure in case with DSI panel. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102403 Signed-off-by: Mika Kahola --- drivers/gpu/drm/i915/intel_sprite.c | 32 +--- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c index b0d6e3e..8511072 100644 --- a/drivers/gpu/drm/i915/intel_sprite.c +++ b/drivers/gpu/drm/i915/intel_sprite.c @@ -205,23 +205,25 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state) if (intel_vgpu_active(dev_priv)) return; - if (crtc->debug.start_vbl_count && - crtc->debug.start_vbl_count != end_vbl_count) { - DRM_ERROR("Atomic update failure on pipe %c (start=%u end=%u) time %lld us, min %d, max %d, scanline start %d, end %d\n", - pipe_name(pipe), crtc->debug.start_vbl_count, - end_vbl_count, - ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), - crtc->debug.min_vbl, crtc->debug.max_vbl, - crtc->debug.scanline_start, scanline_end); - } + if (!intel_crtc_has_type(new_crtc_state, INTEL_OUTPUT_DSI)) { + if (crtc->debug.start_vbl_count && + crtc->debug.start_vbl_count != end_vbl_count) { + DRM_ERROR("Atomic update failure on pipe %c (start=%u end=%u) time %lld us, min %d, max %d, scanline start %d, end %d\n", + pipe_name(pipe), crtc->debug.start_vbl_count, + end_vbl_count, + ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), + crtc->debug.min_vbl, crtc->debug.max_vbl, + crtc->debug.scanline_start, scanline_end); + } #ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE - else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > -VBLANK_EVASION_TIME_US) - DRM_WARN("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", -pipe_name(pipe), -ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), -VBLANK_EVASION_TIME_US); + else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > +VBLANK_EVASION_TIME_US) + DRM_WARN("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", +pipe_name(pipe), +ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), +VBLANK_EVASION_TIME_US); #endif + } } static void -- 2.7.4 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: Try harder to finish the idle-worker
Quoting Tejun Heo (2017-09-05 14:36:28) > On Mon, Sep 04, 2017 at 10:35:49AM +0200, Daniel Vetter wrote: > > On Fri, Sep 01, 2017 at 03:11:23PM +0100, Chris Wilson wrote: > > > If a worker requeues itself, it may switch to a different kworker pool, > > > which flush_work() considers as complete. To be strict, we then need to > > > keep flushing the work until it is no longer pending. > > > > > > References: https://bugs.freedesktop.org/show_bug.cgi?id=102456 > > > Signed-off-by: Chris Wilson > > > Cc: Mika Kuoppala > > > > Shouldn't this be a thing the workqueue subsystem exposes? Adding Tejun et > > al. > > -Daniel > > Can't you use cancel[_delayed]_work_sync()? We then need a loop like: do { if (cancel_delayed_work_sync(wrk)) do_work(wrk); else break; } while (1); We do want the flush semantics. -Chris ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 1/2] drm/i915: Move device_info.has_snoop into the static tables
Currently we define any !llc machine as using snoop instead. However, some platforms run into trouble using snoop that we would like to disable, and to do so easily we want to be able to use the static device_info tables. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_pci.c | 7 +++ drivers/gpu/drm/i915/intel_device_info.c | 2 -- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index 201ed1fe81b6..e6e75a9d140e 100644 --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@ -63,6 +63,7 @@ .hws_needs_physical = 1, \ .unfenced_needs_alignment = 1, \ .ring_mask = RENDER_RING, \ + .has_snoop = true, \ GEN_DEFAULT_PIPEOFFSETS, \ CURSOR_OFFSETS @@ -95,6 +96,7 @@ static const struct intel_device_info intel_i865g_info __initconst = { .gen = 3, .num_pipes = 2, \ .has_gmch_display = 1, \ .ring_mask = RENDER_RING, \ + .has_snoop = true, \ GEN_DEFAULT_PIPEOFFSETS, \ CURSOR_OFFSETS @@ -157,6 +159,7 @@ static const struct intel_device_info intel_pineview_info __initconst = { .has_hotplug = 1, \ .has_gmch_display = 1, \ .ring_mask = RENDER_RING, \ + .has_snoop = true, \ GEN_DEFAULT_PIPEOFFSETS, \ CURSOR_OFFSETS @@ -197,6 +200,7 @@ static const struct intel_device_info intel_gm45_info __initconst = { .has_hotplug = 1, \ .has_gmbus_irq = 1, \ .ring_mask = RENDER_RING | BSD_RING, \ + .has_snoop = true, \ GEN_DEFAULT_PIPEOFFSETS, \ CURSOR_OFFSETS @@ -321,6 +325,7 @@ static const struct intel_device_info intel_valleyview_info __initconst = { .has_hotplug = 1, .has_aliasing_ppgtt = 1, .has_full_ppgtt = 1, + .has_snoop = true, .ring_mask = RENDER_RING | BSD_RING | BLT_RING, .display_mmio_offset = VLV_DISPLAY_BASE, GEN_DEFAULT_PIPEOFFSETS, @@ -412,6 +417,7 @@ static const struct intel_device_info intel_cherryview_info __initconst = { .has_aliasing_ppgtt = 1, .has_full_ppgtt = 1, .has_reset_engine = 1, + .has_snoop = true, .display_mmio_offset = VLV_DISPLAY_BASE, GEN_CHV_PIPEOFFSETS, CURSOR_OFFSETS, @@ -474,6 +480,7 @@ static const struct intel_device_info intel_skylake_gt4_info __initconst = { .has_full_ppgtt = 1, \ .has_full_48bit_ppgtt = 1, \ .has_reset_engine = 1, \ + .has_snoop = true, \ GEN_DEFAULT_PIPEOFFSETS, \ IVB_CURSOR_OFFSETS, \ BDW_COLORS diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c index 05ef5e1b1750..d9c998fc4707 100644 --- a/drivers/gpu/drm/i915/intel_device_info.c +++ b/drivers/gpu/drm/i915/intel_device_info.c @@ -418,8 +418,6 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv) else if (INTEL_INFO(dev_priv)->gen >= 9) gen9_sseu_info_init(dev_priv); - info->has_snoop = !info->has_llc; - DRM_DEBUG_DRIVER("slice mask: %04x\n", info->sseu.slice_mask); DRM_DEBUG_DRIVER("slice total: %u\n", hweight8(info->sseu.slice_mask)); DRM_DEBUG_DRIVER("subslice total: %u\n", -- 2.14.1 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH 2/2] drm/i915: Disable snooping (userptr, set-cache-level) on gen4
The original gen4 has an issue where writes (both render and blt) into snoopable pages are lost. We've previously worked around this in userspace (ddx, igt) by simply not requesting snoopable buffers, but upon rediscovering this problem for a third time, make the kernel reject such requests with -ENODEV. This disables snooping on userspace buffers for i965 and i965gm (original gen4) machines. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_pci.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c index e6e75a9d140e..f060536cc405 100644 --- a/drivers/gpu/drm/i915/i915_pci.c +++ b/drivers/gpu/drm/i915/i915_pci.c @@ -168,6 +168,7 @@ static const struct intel_device_info intel_i965g_info __initconst = { .platform = INTEL_I965G, .has_overlay = 1, .hws_needs_physical = 1, + .has_snoop = false, }; static const struct intel_device_info intel_i965gm_info __initconst = { @@ -177,6 +178,7 @@ static const struct intel_device_info intel_i965gm_info __initconst = { .has_overlay = 1, .supports_tv = 1, .hws_needs_physical = 1, + .has_snoop = false, }; static const struct intel_device_info intel_g45_info __initconst = { -- 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: Try harder to finish the idle-worker
Hello, On Tue, Sep 05, 2017 at 02:43:14PM +0100, Chris Wilson wrote: > > Can't you use cancel[_delayed]_work_sync()? > > We then need a loop like: > > do { > if (cancel_delayed_work_sync(wrk)) > do_work(wrk); > else > break; > } while (1); > > We do want the flush semantics. I see. Heh, I don't know. One thing you can try to do is putting them on a separate workqueue and use drain_workqueue() or destroy_workqueue() on it. Those functions expect there to be some requeueing but warns if there are too much (non configurable now but we can add if necessary). Thanks. -- tejun ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: Re-enable per-engine reset for Broxton
Quoting Chris Wilson (2017-08-21 15:55:34) > Quoting Michel Thierry (2017-08-18 18:23:42) > > The corruption in CSB mmio reads we were seeing has been tracked down to > > incorrectly touching forcewake of all domains, following an engine reset. > > It is still a mistery why we only catched this in Broxton, since it > > could happen in any platform. > > > > With that fix already merged, commit 4055dc75d6b5 ("drm/i915: Stop > > touching forcewake following a gen6+ engine reset"), lets try to enable > > per-engine resets in Broxton one more time. > > > > This reverts commit f188258bde0f ("drm/i915: Disable per-engine reset for > > Broxton"). > > > > Cc: Chris Wilson > > Signed-off-by: Michel Thierry > > My bxt has survived about 72 hours of hang testing, which is far more > than it was able to previously. > > Acked-by: Chris Wilson > Tested-by: Chris Wilson Uh oh, seemingly just hit it again... -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 drm/i915/dsi: Silence atomic update failure with DSI panel
== Series Details == Series: drm/i915/dsi: Silence atomic update failure with DSI panel URL : https://patchwork.freedesktop.org/series/29828/ State : success == Summary == Series 29828v1 drm/i915/dsi: Silence atomic update failure with DSI panel https://patchwork.freedesktop.org/api/1.0/series/29828/revisions/1/mbox/ Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-atomic: pass -> FAIL (fi-snb-2600) fdo#100215 Test kms_flip: Subgroup basic-flip-vs-modeset: pass -> SKIP (fi-skl-x1585l) fdo#101781 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fdo#101781 https://bugs.freedesktop.org/show_bug.cgi?id=101781 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:460s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:450s fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:364s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:552s fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:257s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:522s fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:525s fi-byt-n2820 total:289 pass:250 dwarn:1 dfail:0 fail:0 skip:38 time:513s fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:439s fi-glk-2atotal:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:615s fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:443s fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:424s fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:425s fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:512s fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:475s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:513s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:601s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:602s fi-pnv-d510 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:527s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:476s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:532s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:515s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:437s fi-skl-x1585ltotal:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:483s fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:553s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:1 skip:39 time:408s 229aae71d40f142bc0fbc011d6610ac4ddbd7cd6 drm-tip: 2017y-09m-05d-11h-05m-56s UTC integration manifest f95f83c31d9a drm/i915/dsi: Silence atomic update failure with DSI panel == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5582/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 1/2] drm/i915: Move device_info.has_snoop into the static tables
Quoting Chris Wilson (2017-09-05 14:47:34) > Currently we define any !llc machine as using snoop instead. However, > some platforms run into trouble using snoop that we would like to > disable, and to do so easily we want to be able to use the static > device_info tables. > > Signed-off-by: Chris Wilson > --- > drivers/gpu/drm/i915/i915_pci.c | 7 +++ > drivers/gpu/drm/i915/intel_device_info.c | 2 -- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c > index 201ed1fe81b6..e6e75a9d140e 100644 > --- a/drivers/gpu/drm/i915/i915_pci.c > +++ b/drivers/gpu/drm/i915/i915_pci.c > @@ -63,6 +63,7 @@ > .hws_needs_physical = 1, \ > .unfenced_needs_alignment = 1, \ > .ring_mask = RENDER_RING, \ > + .has_snoop = true, \ > GEN_DEFAULT_PIPEOFFSETS, \ > CURSOR_OFFSETS > > @@ -95,6 +96,7 @@ static const struct intel_device_info intel_i865g_info > __initconst = { > .gen = 3, .num_pipes = 2, \ > .has_gmch_display = 1, \ > .ring_mask = RENDER_RING, \ > + .has_snoop = true, \ > GEN_DEFAULT_PIPEOFFSETS, \ > CURSOR_OFFSETS > > @@ -157,6 +159,7 @@ static const struct intel_device_info intel_pineview_info > __initconst = { > .has_hotplug = 1, \ > .has_gmch_display = 1, \ > .ring_mask = RENDER_RING, \ > + .has_snoop = true, \ > GEN_DEFAULT_PIPEOFFSETS, \ > CURSOR_OFFSETS > > @@ -197,6 +200,7 @@ static const struct intel_device_info intel_gm45_info > __initconst = { > .has_hotplug = 1, \ > .has_gmbus_irq = 1, \ > .ring_mask = RENDER_RING | BSD_RING, \ > + .has_snoop = true, \ > GEN_DEFAULT_PIPEOFFSETS, \ > CURSOR_OFFSETS > > @@ -321,6 +325,7 @@ static const struct intel_device_info > intel_valleyview_info __initconst = { > .has_hotplug = 1, > .has_aliasing_ppgtt = 1, > .has_full_ppgtt = 1, > + .has_snoop = true, > .ring_mask = RENDER_RING | BSD_RING | BLT_RING, > .display_mmio_offset = VLV_DISPLAY_BASE, > GEN_DEFAULT_PIPEOFFSETS, > @@ -412,6 +417,7 @@ static const struct intel_device_info > intel_cherryview_info __initconst = { > .has_aliasing_ppgtt = 1, > .has_full_ppgtt = 1, > .has_reset_engine = 1, > + .has_snoop = true, > .display_mmio_offset = VLV_DISPLAY_BASE, > GEN_CHV_PIPEOFFSETS, > CURSOR_OFFSETS, > @@ -474,6 +480,7 @@ static const struct intel_device_info > intel_skylake_gt4_info __initconst = { To help unravel the confusion, this is actually in #define GEN9_LP_FEATURES not intel_skylake_gt4_info. > .has_full_ppgtt = 1, \ > .has_full_48bit_ppgtt = 1, \ > .has_reset_engine = 1, \ > + .has_snoop = true, \ > GEN_DEFAULT_PIPEOFFSETS, \ > IVB_CURSOR_OFFSETS, \ > BDW_COLORS ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH v4] drm/i915: Speed up DMC firmware loading
Quoting David Weinehall (2017-09-05 14:33:25) > On Tue, Sep 05, 2017 at 02:25:36PM +0100, Chris Wilson wrote: > > Quoting David Weinehall (2017-09-05 14:10:50) > > > Currently we're doing: > > > > > > 1. acquire lock > > > 2. write word to hardware > > > 3. release lock > > > 4. repeat from 1 > > > > > > to load the DMC firmware. Due to the cost of acquiring/releasing a lock, > > > and the size of the DMC firmware, this slows down DMC loading a lot. > > > > > > This patch simply acquires the lock, writes the entire firmware, > > > then releases the lock. Testing shows resume speedups > > > in the order of 10ms on platforms with DMC firmware (GEN9+). > > > > > > v2: Per feedback from Chris & Ville there's no need to do the whole > > > forcewake dance, so lose that bit (Chris, Ville) > > > > > > v3: Actually send the new version of the patch... > > > > > > v4: Don't acquire the uncore lock. Disable preempt. (Chris) > > > > > > Signed-off-by: David Weinehall > > > --- > > > drivers/gpu/drm/i915/intel_csr.c | 8 +++- > > > 1 file changed, 7 insertions(+), 1 deletion(-) > > > > > > diff --git a/drivers/gpu/drm/i915/intel_csr.c > > > b/drivers/gpu/drm/i915/intel_csr.c > > > index 965988f79a55..cdfb624eb82d 100644 > > > --- a/drivers/gpu/drm/i915/intel_csr.c > > > +++ b/drivers/gpu/drm/i915/intel_csr.c > > > @@ -252,8 +252,14 @@ void intel_csr_load_program(struct drm_i915_private > > > *dev_priv) > > > } > > > > > > fw_size = dev_priv->csr.dmc_fw_size; > > > + assert_rpm_wakelock_held(dev_priv); > > > + > > > + preempt_disable(); > > > + > > > for (i = 0; i < fw_size; i++) > > > - I915_WRITE(CSR_PROGRAM(i), payload[i]); > > > + I915_WRITE_FW(CSR_PROGRAM(i), payload[i]); > > > + > > > + preempt_enable(); > > > > > > for (i = 0; i < dev_priv->csr.mmio_count; i++) { > > > I915_WRITE(dev_priv->csr.mmioaddr[i], > > > > Looked into extending the coverage to the second loop? > > The second loop didn't really show up in my benchmarks, > so I decided to minimise the changes. Fair enough, looks like it is limited to 8 writes. Reviewed-by: Chris Wilson -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 [1/2] drm/i915: Move device_info.has_snoop into the static tables
== Series Details == Series: series starting with [1/2] drm/i915: Move device_info.has_snoop into the static tables URL : https://patchwork.freedesktop.org/series/29829/ State : success == Summary == Series 29829v1 series starting with [1/2] drm/i915: Move device_info.has_snoop into the static tables https://patchwork.freedesktop.org/api/1.0/series/29829/revisions/1/mbox/ Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: pass -> FAIL (fi-snb-2600) fdo#100215 Test kms_flip: Subgroup basic-flip-vs-modeset: pass -> SKIP (fi-skl-x1585l) fdo#101781 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fdo#101781 https://bugs.freedesktop.org/show_bug.cgi?id=101781 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:456s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:443s fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:360s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:548s fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:255s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:524s fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:525s fi-byt-n2820 total:289 pass:250 dwarn:1 dfail:0 fail:0 skip:38 time:514s fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:440s fi-glk-2atotal:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:614s fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:444s fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:428s fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:427s fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:514s fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:475s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:515s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:600s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:600s fi-pnv-d510 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:533s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:468s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:540s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:514s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:449s fi-skl-x1585ltotal:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:483s fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:558s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:1 skip:39 time:403s 229aae71d40f142bc0fbc011d6610ac4ddbd7cd6 drm-tip: 2017y-09m-05d-11h-05m-56s UTC integration manifest 020e9a03a1e5 drm/i915: Disable snooping (userptr, set-cache-level) on gen4 a7ce1ce2b25c drm/i915: Move device_info.has_snoop into the static tables == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5583/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 3/4] drm/i915/guc: Fix GuC HW/SW state cleanup in unload path
On Fri, Sep 01, 2017 at 11:02:11AM +0530, Sagar Arun Kamble wrote: > Teardown of GuC HW/SW state was not properly done in unload path. > During unload, we can rely on intel_guc_reset_prepare being done > as part of i915_gem_suspend for disabling GuC interfaces. > We will have to disable GuC submission prior to suspend as that involves > communication with GuC to destroy doorbell. So intel_uc_fini_hw has to > be called as part of i915_gem_suspend during unload as that really > takes care of finishing the GuC operations. Created new parameter for > i915_gem_suspend to handle unload/suspend path w.r.t gem and GuC suspend. > GuC related allocations are cleaned up as part of intel_uc_cleanup_hw. Is this still accurate description? After changes from v2? > > v2: Prepared i915_gem_unload. (Michal) > > Cc: Chris Wilson > Cc: Michal Wajdeczko > Cc: Daniele Ceraolo Spurio > Signed-off-by: Sagar Arun Kamble > --- > drivers/gpu/drm/i915/i915_drv.c| 6 +-- > drivers/gpu/drm/i915/i915_drv.h| 1 + > drivers/gpu/drm/i915/i915_gem.c| 79 > ++ > drivers/gpu/drm/i915/intel_guc.c | 13 ++ > drivers/gpu/drm/i915/intel_guc.h | 1 + > drivers/gpu/drm/i915/intel_uc.c| 14 +++--- > drivers/gpu/drm/i915/intel_uc_common.h | 1 + > 7 files changed, 103 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index b2e8f95..b6cc2fe 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -601,7 +601,7 @@ static void i915_gem_fini(struct drm_i915_private > *dev_priv) > i915_gem_drain_workqueue(dev_priv); > > mutex_lock(&dev_priv->drm.struct_mutex); > - intel_uc_fini_hw(dev_priv); > + intel_uc_cleanup_hw(dev_priv); > i915_gem_cleanup_engines(dev_priv); > i915_gem_contexts_fini(dev_priv); > i915_gem_cleanup_userptr(dev_priv); > @@ -682,7 +682,7 @@ static int i915_load_modeset_init(struct drm_device *dev) > return 0; > > cleanup_gem: > - if (i915_gem_suspend(dev_priv)) > + if (i915_gem_unload(dev_priv)) > DRM_ERROR("failed to idle hardware; continuing to unload!\n"); > i915_gem_fini(dev_priv); > cleanup_uc: > @@ -1375,7 +1375,7 @@ void i915_driver_unload(struct drm_device *dev) > > i915_driver_unregister(dev_priv); > > - if (i915_gem_suspend(dev_priv)) > + if (i915_gem_unload(dev_priv)) > DRM_ERROR("failed to idle hardware; continuing to unload!\n"); > > intel_display_power_get(dev_priv, POWER_DOMAIN_INIT); > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 064bf0f..570e71e 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -3628,6 +3628,7 @@ void i915_gem_reset_engine(struct intel_engine_cs > *engine, > int i915_gem_wait_for_idle(struct drm_i915_private *dev_priv, > unsigned int flags); > int __must_check i915_gem_suspend(struct drm_i915_private *dev_priv); > +int __must_check i915_gem_unload(struct drm_i915_private *dev_priv); > void i915_gem_resume(struct drm_i915_private *dev_priv); > int i915_gem_fault(struct vm_fault *vmf); > int i915_gem_object_wait(struct drm_i915_gem_object *obj, > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c > index 977500f..24cefe9 100644 > --- a/drivers/gpu/drm/i915/i915_gem.c > +++ b/drivers/gpu/drm/i915/i915_gem.c > @@ -4624,6 +4624,85 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv) > return ret; > } > > +int i915_gem_unload(struct drm_i915_private *dev_priv) > +{ > + struct drm_device *dev = &dev_priv->drm; > + int ret; > + > + intel_runtime_pm_get(dev_priv); > + intel_suspend_gt_powersave(dev_priv); > + > + mutex_lock(&dev->struct_mutex); > + > + /* We have to flush all the executing contexts to main memory so > + * that they can saved in the hibernation image. To ensure the last > + * context image is coherent, we have to switch away from it. That > + * leaves the dev_priv->kernel_context still active when > + * we actually suspend, and its image in memory may not match the GPU > + * state. Fortunately, the kernel_context is disposable and we do > + * not rely on its state. > + */ > + ret = i915_gem_switch_to_kernel_context(dev_priv); > + if (ret) > + goto err_unlock; > + > + ret = i915_gem_wait_for_idle(dev_priv, > + I915_WAIT_INTERRUPTIBLE | > + I915_WAIT_LOCKED); > + if (ret) > + goto err_unlock; > + > + assert_kernel_context_is_current(dev_priv); > + i915_gem_contexts_lost(dev_priv); > + mutex_unlock(&dev->struct_mutex); > + > + cancel_delayed_work_sync(&dev_priv->gpu_error.hangcheck_work); > + cancel_delayed_work_sync(&dev_priv->gt.retire_work); > + > +
Re: [Intel-gfx] [PATCH 1/2] drm/i915/dsi: Send SHUTDOWN only for v3+ VBT's
>-Original Message- >From: Ville Syrjälä [mailto:ville.syrj...@linux.intel.com] >Sent: Tuesday, September 5, 2017 6:46 PM >To: Shankar, Uma >Cc: Kahola, Mika ; Srinivas, Vidya >; intel-gfx@lists.freedesktop.org >Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/dsi: Send SHUTDOWN only for v3+ >VBT's > >On Tue, Sep 05, 2017 at 09:27:47AM +, Shankar, Uma wrote: >> >> >> >-Original Message- >> >From: Kahola, Mika >> >Sent: Tuesday, September 5, 2017 2:03 PM >> >To: Ville Syrjälä >> >Cc: intel-gfx@lists.freedesktop.org; Shankar, Uma >> > >> >Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/dsi: Send SHUTDOWN only >> >for v3+ VBT's >> > >> >On Mon, 2017-09-04 at 18:04 +0300, Ville Syrjälä wrote: >> >> On Mon, Sep 04, 2017 at 10:59:32AM +0300, Mika Kahola wrote: >> >> > >> >> > On Fri, 2017-09-01 at 16:43 +0300, Ville Syrjälä wrote: >> >> > > >> >> > > On Fri, Sep 01, 2017 at 10:51:00AM +0300, Mika Kahola wrote: >> >> > > > >> >> > > > >> >> > > > According to spec we should send SHUTDOWN before >> >> > > > MIPI_SEQ_DISPLAY_OFF for >> >> > > > v3+ VBT's. Testing with VBT v3 the current implementation >> >> > > > yields >> >> > > > the >> >> > > > following error message >> >> > > > >> >> > > > *ERROR* Video mode command 0x0041 send failed. >> >> > > > >> >> > > > To get rid of this error message, let's limit SHUTDOWN only >> >> > > > for VBT versions 3 or higher. >> >> > > In the patch you limit it to version 4+, which doesn't make >> >> > > sense since AFAIK there is no version 4 of the sequence block. >> >> > It seems that sending SHUTDOWN signal doesn't make any sense either. >> >> > Whenever we send that signal it just causes this error message. >> >> > Do we really need to signal this? From functionality point of >> >> > view there's no difference. >> >> Well, the spec doesn't even explain what this "shut down" command >> >> does. >> >> Is it actually the DCS "display off" command, or something else? >> >It seems to do something. At least the intel_wait_for_register() >> >times out when sending SHUTDOWN signal. Maybe it just shuts down >> >display so we can't even read the registers after that. >> > >> >This brings me to another idea. Maybe we should skip >> >intel_wait_for_register() if we have sent out SHUTDOWN signal? >> > >> >> >> >> Did you try reverting bbdf0b2ff32a ("drm/i915/bxt: Disable device >> >> ready before shutdown command")? That looks suspicious to me. But >> >> so does about half of the DSI code since it never seems to follow >> >> the spec, and we end up doing totally different things on different >> >> platforms without any explanation why that is). >> >I haven't tried that. I will give it a go and see what happens. >> > >> >> The issue is happening due to Device Ready setting. It was added to >> resolve a DSI split screen issue in dual link DSI panels. Since DSI >> dual link is not enabled and will require a bit of work in upstream, >> we should revert this change. Vidya will send the change and also work on >enabling dual link support in upstream. >> >> FYI - SHUTDOWN is a short packet peripheral command that turns off the >> display in a Video Mode display module for power saving. > >There is no SHUTDOWN comamnd in the DCS spec that I can find. > Hi Ville, It's part of MIPI_DSI_specification - (v1-3 is the latest) 8.8.5 Shutdown Peripheral Command, Data Type = 10 0010 (0x22) Shutdown Peripheral command is a Short packet command that turns off the display in a Video Mode display module for power saving. Note the interface shall remain powered in order to receive the turn-on, or wake-up, command. Regards, Uma Shankar >> >> For DSI, there have been issues with different panels requiring some >> unconventional changes, and also bspec sometimes doesn't cover >> everything generically. So, it gets a bit challenging :( >> >> Regards, >> Uma Shankar >> >> >> > >> >> > >> >> > > >> >> > > >> >> > > > >> >> > > > >> >> > > > >> >> > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102404 >> >> > > > Signed-off-by: Mika Kahola >> >> > > > --- >> >> > > > drivers/gpu/drm/i915/intel_dsi.c | 2 +- >> >> > > > 1 file changed, 1 insertion(+), 1 deletion(-) >> >> > > > >> >> > > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c >> >> > > > b/drivers/gpu/drm/i915/intel_dsi.c >> >> > > > index 2a0f5d3..b48b9b7 100644 >> >> > > > --- a/drivers/gpu/drm/i915/intel_dsi.c >> >> > > > +++ b/drivers/gpu/drm/i915/intel_dsi.c >> >> > > > @@ -916,7 +916,7 @@ static void intel_dsi_disable(struct >> >> > > > intel_encoder *encoder, >> >> > > > * MIPI_SEQ_DISPLAY_OFF only for v3+ VBTs, but field testing >> >> > > > * has shown that the v3 sequence works for v2 VBTs too >> >> > > > */ >> >> > > > - if (is_vid_mode(intel_dsi)) { >> >> > > > + if (is_vid_mode(intel_dsi) && dev_priv- >> >> > > > > >> >> > > > > vbt.dsi.seq_version > 3) { >> >> > > > /* Send Shutdown command to the panel in LP mode */ >> >> > > > for_each_dsi_port(port, int
Re: [Intel-gfx] [PATCH 1/2] drm/i915/dsi: Send SHUTDOWN only for v3+ VBT's
On Tue, Sep 05, 2017 at 02:55:31PM +, Shankar, Uma wrote: > > > >-Original Message- > >From: Ville Syrjälä [mailto:ville.syrj...@linux.intel.com] > >Sent: Tuesday, September 5, 2017 6:46 PM > >To: Shankar, Uma > >Cc: Kahola, Mika ; Srinivas, Vidya > >; intel-gfx@lists.freedesktop.org > >Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/dsi: Send SHUTDOWN only for v3+ > >VBT's > > > >On Tue, Sep 05, 2017 at 09:27:47AM +, Shankar, Uma wrote: > >> > >> > >> >-Original Message- > >> >From: Kahola, Mika > >> >Sent: Tuesday, September 5, 2017 2:03 PM > >> >To: Ville Syrjälä > >> >Cc: intel-gfx@lists.freedesktop.org; Shankar, Uma > >> > > >> >Subject: Re: [Intel-gfx] [PATCH 1/2] drm/i915/dsi: Send SHUTDOWN only > >> >for v3+ VBT's > >> > > >> >On Mon, 2017-09-04 at 18:04 +0300, Ville Syrjälä wrote: > >> >> On Mon, Sep 04, 2017 at 10:59:32AM +0300, Mika Kahola wrote: > >> >> > > >> >> > On Fri, 2017-09-01 at 16:43 +0300, Ville Syrjälä wrote: > >> >> > > > >> >> > > On Fri, Sep 01, 2017 at 10:51:00AM +0300, Mika Kahola wrote: > >> >> > > > > >> >> > > > > >> >> > > > According to spec we should send SHUTDOWN before > >> >> > > > MIPI_SEQ_DISPLAY_OFF for > >> >> > > > v3+ VBT's. Testing with VBT v3 the current implementation > >> >> > > > yields > >> >> > > > the > >> >> > > > following error message > >> >> > > > > >> >> > > > *ERROR* Video mode command 0x0041 send failed. > >> >> > > > > >> >> > > > To get rid of this error message, let's limit SHUTDOWN only > >> >> > > > for VBT versions 3 or higher. > >> >> > > In the patch you limit it to version 4+, which doesn't make > >> >> > > sense since AFAIK there is no version 4 of the sequence block. > >> >> > It seems that sending SHUTDOWN signal doesn't make any sense either. > >> >> > Whenever we send that signal it just causes this error message. > >> >> > Do we really need to signal this? From functionality point of > >> >> > view there's no difference. > >> >> Well, the spec doesn't even explain what this "shut down" command > >> >> does. > >> >> Is it actually the DCS "display off" command, or something else? > >> >It seems to do something. At least the intel_wait_for_register() > >> >times out when sending SHUTDOWN signal. Maybe it just shuts down > >> >display so we can't even read the registers after that. > >> > > >> >This brings me to another idea. Maybe we should skip > >> >intel_wait_for_register() if we have sent out SHUTDOWN signal? > >> > > >> >> > >> >> Did you try reverting bbdf0b2ff32a ("drm/i915/bxt: Disable device > >> >> ready before shutdown command")? That looks suspicious to me. But > >> >> so does about half of the DSI code since it never seems to follow > >> >> the spec, and we end up doing totally different things on different > >> >> platforms without any explanation why that is). > >> >I haven't tried that. I will give it a go and see what happens. > >> > > >> > >> The issue is happening due to Device Ready setting. It was added to > >> resolve a DSI split screen issue in dual link DSI panels. Since DSI > >> dual link is not enabled and will require a bit of work in upstream, > >> we should revert this change. Vidya will send the change and also work on > >enabling dual link support in upstream. > >> > >> FYI - SHUTDOWN is a short packet peripheral command that turns off the > >> display in a Video Mode display module for power saving. > > > >There is no SHUTDOWN comamnd in the DCS spec that I can find. > > > > Hi Ville, > It's part of MIPI_DSI_specification - (v1-3 is the latest) > 8.8.5 Shutdown Peripheral Command, Data Type = 10 0010 (0x22) > Shutdown Peripheral command is a Short packet command that turns off the > display > in a Video Mode display module for power saving. Note the interface shall > remain powered > in order to receive the turn-on, or wake-up, command. Ah, thanks. I was only looking at the DCS spec. > > Regards, > Uma Shankar > > >> > >> For DSI, there have been issues with different panels requiring some > >> unconventional changes, and also bspec sometimes doesn't cover > >> everything generically. So, it gets a bit challenging :( > >> > >> Regards, > >> Uma Shankar > >> > >> >> > > >> >> > > >> >> > > > >> >> > > > >> >> > > > > >> >> > > > > >> >> > > > > >> >> > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102404 > >> >> > > > Signed-off-by: Mika Kahola > >> >> > > > --- > >> >> > > > drivers/gpu/drm/i915/intel_dsi.c | 2 +- > >> >> > > > 1 file changed, 1 insertion(+), 1 deletion(-) > >> >> > > > > >> >> > > > diff --git a/drivers/gpu/drm/i915/intel_dsi.c > >> >> > > > b/drivers/gpu/drm/i915/intel_dsi.c > >> >> > > > index 2a0f5d3..b48b9b7 100644 > >> >> > > > --- a/drivers/gpu/drm/i915/intel_dsi.c > >> >> > > > +++ b/drivers/gpu/drm/i915/intel_dsi.c > >> >> > > > @@ -916,7 +916,7 @@ static void intel_dsi_disable(struct > >> >> > > > intel_encoder *encoder, > >> >> > > > * MIPI_SEQ_DISPLAY_OFF only for v3+ VBTs, but field testing > >> >> > > > * has sh
[Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Speed up DMC firmware loading (rev4)
== Series Details == Series: drm/i915: Speed up DMC firmware loading (rev4) URL : https://patchwork.freedesktop.org/series/29688/ State : success == Summary == shard-hswtotal:2255 pass:1225 dwarn:0 dfail:0 fail:15 skip:1014 time:9484s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5581/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] ✗ Fi.CI.IGT: warning for drm/i915/dsi: Silence atomic update failure with DSI panel
== Series Details == Series: drm/i915/dsi: Silence atomic update failure with DSI panel URL : https://patchwork.freedesktop.org/series/29828/ State : warning == Summary == Test kms_flip: Subgroup wf_vblank-vs-modeset: pass -> DMESG-WARN (shard-hsw) Subgroup wf_vblank-vs-dpms-interruptible: pass -> DMESG-WARN (shard-hsw) Test kms_setmode: Subgroup basic: pass -> FAIL (shard-hsw) fdo#99912 Test perf: Subgroup polling: fail -> PASS (shard-hsw) fdo#102252 fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912 fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252 shard-hswtotal:2255 pass:1223 dwarn:2 dfail:0 fail:15 skip:1014 time:9456s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5582/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915/dsi: Silence atomic update failure with DSI panel
On Tue, Sep 05, 2017 at 04:35:04PM +0300, Mika Kahola wrote: > It appears that we cannot trust scanline counters when MIPI/DSI display is > connected. In CI system this appears as flickering errors that randomly > appear in test cases. To avoid this flickering, let's just silence atomic > update failure in case with DSI panel. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102403 > Signed-off-by: Mika Kahola This just changes a loud atomic failure to a silent atomic failure. What we instead need to do is actually fix the bug, not hide it. This means DSI is atm blacklisted almost entirely, but well it's broken, so no harm in that. Please no polishing of just results in CI, it needs to give us honest results. -Daniel > --- > drivers/gpu/drm/i915/intel_sprite.c | 32 +--- > 1 file changed, 17 insertions(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_sprite.c > b/drivers/gpu/drm/i915/intel_sprite.c > index b0d6e3e..8511072 100644 > --- a/drivers/gpu/drm/i915/intel_sprite.c > +++ b/drivers/gpu/drm/i915/intel_sprite.c > @@ -205,23 +205,25 @@ void intel_pipe_update_end(struct intel_crtc_state > *new_crtc_state) > if (intel_vgpu_active(dev_priv)) > return; > > - if (crtc->debug.start_vbl_count && > - crtc->debug.start_vbl_count != end_vbl_count) { > - DRM_ERROR("Atomic update failure on pipe %c (start=%u end=%u) > time %lld us, min %d, max %d, scanline start %d, end %d\n", > - pipe_name(pipe), crtc->debug.start_vbl_count, > - end_vbl_count, > - ktime_us_delta(end_vbl_time, > crtc->debug.start_vbl_time), > - crtc->debug.min_vbl, crtc->debug.max_vbl, > - crtc->debug.scanline_start, scanline_end); > - } > + if (!intel_crtc_has_type(new_crtc_state, INTEL_OUTPUT_DSI)) { > + if (crtc->debug.start_vbl_count && > + crtc->debug.start_vbl_count != end_vbl_count) { > + DRM_ERROR("Atomic update failure on pipe %c (start=%u > end=%u) time %lld us, min %d, max %d, scanline start %d, end %d\n", > + pipe_name(pipe), crtc->debug.start_vbl_count, > + end_vbl_count, > + ktime_us_delta(end_vbl_time, > crtc->debug.start_vbl_time), > + crtc->debug.min_vbl, crtc->debug.max_vbl, > + crtc->debug.scanline_start, scanline_end); > + } > #ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE > - else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > > - VBLANK_EVASION_TIME_US) > - DRM_WARN("Atomic update on pipe (%c) took %lld us, max time > under evasion is %u us\n", > - pipe_name(pipe), > - ktime_us_delta(end_vbl_time, > crtc->debug.start_vbl_time), > - VBLANK_EVASION_TIME_US); > + else if (ktime_us_delta(end_vbl_time, > crtc->debug.start_vbl_time) > > + VBLANK_EVASION_TIME_US) > + DRM_WARN("Atomic update on pipe (%c) took %lld us, max > time under evasion is %u us\n", > + pipe_name(pipe), > + ktime_us_delta(end_vbl_time, > crtc->debug.start_vbl_time), > + VBLANK_EVASION_TIME_US); > #endif > + } > } > > static void > -- > 2.7.4 > > ___ > 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] [PATCH i-g-t] intel_l3_parity: More helpful output in case of errors
On Tue, Sep 05, 2017 at 03:39:49PM +0300, Petri Latvala wrote: > When no action is specified on the command line, print the usage help > text and exit with failure instead of SIGABRT. Fix some typos on the > usage text. > > Keep the abort() call in places where they can only be reached by > expanding the tool and forgetting to handle new parameters, with an > error message printed. > > CC: Ben Widawsky > Signed-off-by: Petri Latvala > --- > tools/intel_l3_parity.c | 12 +--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/tools/intel_l3_parity.c b/tools/intel_l3_parity.c > index eb00c50..1a4fae5 100644 > --- a/tools/intel_l3_parity.c > +++ b/tools/intel_l3_parity.c > @@ -172,9 +172,9 @@ static void usage(const char *name) > " -l, --list List the current L3 > logs\n" > " -a, --clear-all Clear all disabled > rows\n" > " -e, --enable Enable row, bank, > subbank (undo -d)\n" > - " -d, --disable= Disable row, bank, > subbank (inline arguments are deprecated. Please use -r, -b, -s instead\n" > - " -i, --inject [HSW only] Cause > hardware to inject a row errors\n" > - " -u, --uninject [HSW only] Turn off > hardware error injectection (undo -i)\n" > + " -d, --disable= Disable row, bank, > subbank (inline arguments are deprecated. Please use -r, -b, -s instead)\n" > + " -i, --inject [HSW only] Cause > hardware to inject a row error\n" > + " -u, --uninject [HSW only] Turn off > hardware error injection (undo -i)\n" > " -L, --listen Listen for uevent > errors\n", > name); > } > @@ -301,6 +301,7 @@ int main(int argc, char *argv[]) > action = c; > break; > default: > + fprintf(stderr, "Internal error: Unhandled flag > %c\n", c); > abort(); > } > } > @@ -374,7 +375,12 @@ int main(int argc, char *argv[]) > break; > case 'L': > break; > + case '0': > + /* No action given */ > + usage(argv[0]); > + exit(EXIT_FAILURE); Won't this print usage once per slice? Or am I misreading how the patch applies ... -Daniel > default: > + fprintf(stderr, "Internal error: Unhandled > action %d\n", action); > abort(); > } > } > -- > 2.9.3 > > ___ > 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
[Intel-gfx] [PATCH i-g-t] build: Define _GNU_SOURCE in Makefile.am
In meson I want to just set this everywhere (no reason not to), and doing so will allow us to clean up a few things. But that means autofoo needs to follow suit. v2: Rebase. Reviewed-by: Eric Anholt Signed-off-by: Daniel Vetter --- benchmarks/Makefile.am | 2 +- lib/Makefile.am| 1 + lib/tests/Makefile.am | 1 + tests/Makefile.am | 1 + tools/Makefile.am | 2 +- 5 files changed, 5 insertions(+), 2 deletions(-) diff --git a/benchmarks/Makefile.am b/benchmarks/Makefile.am index 767731f7d18f..5c2cd19d6b20 100644 --- a/benchmarks/Makefile.am +++ b/benchmarks/Makefile.am @@ -8,7 +8,7 @@ endif AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib AM_CFLAGS = $(DRM_CFLAGS) $(CWARNFLAGS) $(CAIRO_CFLAGS) $(LIBUNWIND_CFLAGS) \ - $(WERROR_CFLAGS) + $(WERROR_CFLAGS) -D_GNU_SOURCE LDADD = $(top_builddir)/lib/libintel_tools.la benchmarks_LTLIBRARIES = gem_exec_tracer.la diff --git a/lib/Makefile.am b/lib/Makefile.am index 3ff14f66cdea..6509593db1c7 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -62,6 +62,7 @@ AM_CFLAGS = \ $(VALGRIND_CFLAGS) \ -DIGT_SRCDIR=\""$(abs_top_srcdir)/tests"\" \ -DIGT_DATADIR=\""$(pkgdatadir)"\" \ + -D_GNU_SOURCE \ -DIGT_LOG_DOMAIN=\""$(subst _,-,$*)"\" \ -pthread diff --git a/lib/tests/Makefile.am b/lib/tests/Makefile.am index 5d14194ada12..63bbbe5907b4 100644 --- a/lib/tests/Makefile.am +++ b/lib/tests/Makefile.am @@ -12,6 +12,7 @@ AM_CFLAGS = $(DRM_CFLAGS) $(CWARNFLAGS) $(DEBUG_CFLAGS) \ -I$(srcdir)/.. \ -include "$(srcdir)/../../lib/check-ndebug.h" \ -DIGT_DATADIR=\""$(abs_srcdir)"\" \ + -D_GNU_SOURCE $(NULL) LDADD = ../libintel_tools.la $(PCIACCESS_LIBS) $(DRM_LIBS) $(LIBUNWIND_LIBS) $(TIMER_LIBS) diff --git a/tests/Makefile.am b/tests/Makefile.am index 726e2b277411..8c70f6f1aa35 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -76,6 +76,7 @@ AM_CFLAGS = $(DRM_CFLAGS) $(CWARNFLAGS) -Wno-unused-result $(DEBUG_CFLAGS)\ -include "$(srcdir)/../lib/check-ndebug.h" \ -DIGT_SRCDIR=\""$(abs_srcdir)"\" \ -DIGT_DATADIR=\""$(pkgdatadir)"\" \ + -D_GNU_SOURCE \ $(LIBUNWIND_CFLAGS) $(WERROR_CFLAGS) \ $(NULL) diff --git a/tools/Makefile.am b/tools/Makefile.am index c40e75c73bef..2c7b57997447 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -18,7 +18,7 @@ SUBDIRS = null_state_gen registers AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib AM_CFLAGS = $(DEBUG_CFLAGS) $(DRM_CFLAGS) $(PCIACCESS_CFLAGS) $(CWARNFLAGS) \ $(CAIRO_CFLAGS) $(LIBUNWIND_CFLAGS) -DPKGDATADIR=\"$(pkgdatadir)\" \ - $(WERROR_CFLAGS) + $(WERROR_CFLAGS) -D_GNU_SOURCE LDADD = $(top_builddir)/lib/libintel_tools.la AM_LDFLAGS = -Wl,--as-needed -- 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] demos: remove
The igt testcase themselves contain plenty of demos, libdrm also contains a bunch of demos, this here just bitrots. So let's remove it. v2: Rebase. Signed-off-by: Daniel Vetter --- Makefile.am | 2 +- demos/.gitignore| 1 - demos/Android.mk| 32 -- demos/Makefile.sources | 7 - demos/intel_sprite_on.c | 960 5 files changed, 1 insertion(+), 1001 deletions(-) delete mode 100644 demos/.gitignore delete mode 100644 demos/Android.mk delete mode 100644 demos/Makefile.sources delete mode 100644 demos/intel_sprite_on.c diff --git a/Makefile.am b/Makefile.am index 601686282c64..8c25402789f3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -36,7 +36,7 @@ if BUILD_SHADER_DEBUGGER SUBDIRS += debugger endif -SUBDIRS += overlay demos benchmarks +SUBDIRS += overlay benchmarks endif SUBDIRS += docs diff --git a/demos/.gitignore b/demos/.gitignore deleted file mode 100644 index cd80b0b5f259.. --- a/demos/.gitignore +++ /dev/null @@ -1 +0,0 @@ -intel_sprite_on diff --git a/demos/Android.mk b/demos/Android.mk deleted file mode 100644 index 1f50fdcb7e82.. --- a/demos/Android.mk +++ /dev/null @@ -1,32 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -## - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(demos_prog_lists) - -ifeq ($(HAVE_LIBDRM_INTEL),true) -LOCAL_SRC_FILES += $(LIBDRM_INTEL_BIN) -endif - -LOCAL_CFLAGS += -DHAVE_TERMIOS_H -LOCAL_CFLAGS += -DANDROID -UNDEBUG -LOCAL_CFLAGS += -std=gnu99 -# Excessive complaining for established cases. Rely on the Linux version warnings. -LOCAL_CFLAGS += -Wno-sign-compare - -LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib \ - $(LOCAL_PATH)/../lib/stubs/drm/ - -LOCAL_MODULE := intel_sprite_on - -LOCAL_MODULE_TAGS := optional - -LOCAL_STATIC_LIBRARIES := libintel_gpu_tools - -LOCAL_SHARED_LIBRARIES := libdrm - -include $(BUILD_EXECUTABLE) - -## diff --git a/demos/Makefile.sources b/demos/Makefile.sources deleted file mode 100644 index aea363f9ba17.. --- a/demos/Makefile.sources +++ /dev/null @@ -1,7 +0,0 @@ -demos_prog_list = \ - $(NULL) - -LIBDRM_INTEL_BIN = \ - intel_sprite_on \ - $(NULL) - diff --git a/demos/intel_sprite_on.c b/demos/intel_sprite_on.c deleted file mode 100644 index a3ece09955aa.. --- a/demos/intel_sprite_on.c +++ /dev/null @@ -1,960 +0,0 @@ -/* - * Copyright © 2012 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. - * - * - * Author: - * Armin Reese - */ - -/* - * This program is intended for testing sprite functionality. - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "i915_drm.h" -#include "drmtest.h" -#include "igt_kms.h" - -#include "ioctl_wrappers.h" - -/* - * Mode setting with the kernel interfaces is a bit of a chore. - * First you have to find the connector in question and make sure the - * requested mode is available. - * Then you need to find the encoder attached to that connector so you - * can bind it with a free crtc. - */ -struct connector { - uint32_tid; - int mode_valid; - drmModeModeInfo mode; - drmModeEncoder *encoder; - drmModeConnector*connector; - int crtc; - int pipe; -}; - -static void dump_mode(drmModeModeInfo *mode) -{ - printf(" %s %d %d %d %d %d %d %d %d %d 0x%x 0x%x %d\n", - mode->name, - mode->vrefresh, - mode->hdisplay, - mode->hsync_start, - mode->hsync_end, - mode->htotal, - mode->vdisplay, - mode->vsync_start, - mode->vsync_end, - mode->vtotal,
[Intel-gfx] ✗ Fi.CI.BAT: failure for RFC: meson build system support (rev3)
== Series Details == Series: RFC: meson build system support (rev3) URL : https://patchwork.freedesktop.org/series/29823/ State : failure == Summary == IGT patchset build failed on latest successful build 918863f8e3e8f49235fd2e4a36e11f386c06c11c intel_display_poller: Fix truncation of a test name. Making check in lib make check-recursive Making check in . Making check in tests make igt_no_exit igt_no_exit_list_only igt_fork_helper igt_list_only igt_no_subtest igt_simulation igt_simple_test_subtests igt_stats igt_timeout igt_invalid_subtest_name igt_segfault igt_subtest_group igt_assert igt_exit_handler igt_hdmi_inject igt_can_fail igt_can_fail_simple CC igt_no_exit.o CC igt_no_exit_list_only.o CC igt_fork_helper.o CC igt_list_only.o CC igt_no_subtest.o CC igt_simulation.o CC igt_simple_test_subtests.o CC igt_stats.o CC igt_invalid_subtest_name.o CC igt_timeout.o CC igt_segfault.o CC igt_subtest_group.o CC igt_assert.o CC igt_exit_handler.o CC igt_hdmi_inject.o CC igt_can_fail.o CC igt_can_fail_simple.o CCLD igt_simple_test_subtests CCLD igt_invalid_subtest_name CCLD igt_can_fail CCLD igt_can_fail_simple CCLD igt_no_subtest CCLD igt_fork_helper CCLD igt_no_exit_list_only CCLD igt_no_exit CCLD igt_list_only CCLD igt_timeout CCLD igt_exit_handler CCLD igt_subtest_group CCLD igt_segfault CCLD igt_simulation CCLD igt_assert CCLD igt_stats CCLD igt_hdmi_inject make check-TESTS PASS: igt_list_only ../../build-aux/test-driver: line 107: 9434 Aborted (core dumped) "$@" > $log_file 2>&1 XFAIL: igt_no_exit_list_only PASS: igt_fork_helper PASS: igt_can_fail PASS: igt_hdmi_inject PASS: igt_can_fail_simple PASS: igt_subtest_group PASS: igt_stats PASS: igt_exit_handler PASS: igt_assert PASS: igt_simulation ../../build-aux/test-driver: line 107: 9428 Aborted (core dumped) "$@" > $log_file 2>&1 XFAIL: igt_no_exit ../../build-aux/test-driver: line 107: 9442 Aborted (core dumped) "$@" > $log_file 2>&1 XFAIL: igt_no_subtest ../../build-aux/test-driver: line 107: 9453 Aborted (core dumped) "$@" > $log_file 2>&1 XFAIL: igt_invalid_subtest_name ../../build-aux/test-driver: line 107: 9439 Aborted (core dumped) "$@" > $log_file 2>&1 XFAIL: igt_simple_test_subtests PASS: igt_segfault XFAIL: igt_timeout Testsuite summary for intel-gpu-tools 1.19 # TOTAL: 17 # PASS: 11 # SKIP: 0 # XFAIL: 6 # FAIL: 0 # XPASS: 0 # ERROR: 0 Making check in man make[1]: Nothing to be done for 'check'. Making check in tools Making check in null_state_gen make[2]: Nothing to be done for 'check'. Making check in registers make[2]: Nothing to be done for 'check'. make[2]: Nothing to be done for 'check-am'. Making check in scripts make[1]: Nothing to be done for 'check'. Making check in benchmarks make[1]: Nothing to be done for 'check'. Making check in tests Making check in intel-ci make[2]: Nothing to be done for 'check'. make igt_command_line.sh make[3]: Nothing to be done for 'igt_command_line.sh'. make check-TESTS FAIL: igt_command_line.sh Testsuite summary for intel-gpu-tools 1.19 # TOTAL: 1 # PASS: 0 # SKIP: 0 # XFAIL: 0 # FAIL: 1 # XPASS: 0 # ERROR: 0 See tests/test-suite.log Please report to https://bugs.freedesktop.org/enter_bug.cgi?product=DRI&component=IGT Makefile:4525: recipe for target 'test-suite.log' failed make[4]: *** [test-suite.log] Error 1 Makefile:4631: recipe for target 'check-TESTS' failed make[3]: *** [check-TESTS] Error 2 Makefile:4729: recipe for target 'check-am' failed make[2]: *** [check-am] Error 2 Makefile:4418: recipe for target 'check-recursive' failed make[1]: *** [check-recursive] Error 1 Makefile:530: recipe for target 'check-recursive' failed make: *** [check-recursive] Error 1 intel-gpu-tools 1.19: lib/tests/test-suite.log # TOTAL: 17 # PASS: 11 # SKIP: 0 # XFAIL: 6 # FAIL: 0 # XPASS: 0 # ERROR: 0 .. contents:: :depth: 2 XFAIL: igt_no_exit == IGT-Version: 1.19-ga2938f9a (x86_64) (Linux: 4.10.0-28-generic x86_64) Subtest A: SUCCESS (0.000s) igt_no_exit: igt_core.c:571: common_exit_handler: Assertion `sig != 0 || igt_
[Intel-gfx] [PATCH i-g-t] tests/igt_command_line.sh: Allow testing individual tests
meso will use this to run the tests for all testcases in parallel, for great speedup! v2: Fix bugs in the conversion. Oops, I broke the automake build. Signed-off-by: Daniel Vetter --- tests/igt_command_line.sh | 42 -- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/tests/igt_command_line.sh b/tests/igt_command_line.sh index 7f80fc805d37..536cf16be692 100755 --- a/tests/igt_command_line.sh +++ b/tests/igt_command_line.sh @@ -37,26 +37,19 @@ fi # Manually running this script is possible in the source root or the # tests directory. -TESTLISTFILE="$tests_dir/test-list.txt" -if [ ! -r "$TESTLISTFILE" ]; then - tests_dir="tests" - TESTLISTFILE="$tests_dir/test-list.txt" -fi - -TESTLIST=`cat $TESTLISTFILE` -if [ $? -ne 0 ]; then - echo "Error: Could not read test lists" - exit 99 -fi - fail () { echo "FAIL: $1" exit 1 } -for test in $TESTLIST; do +function check_test () +{ + local test + + test=$1 + if [ "$test" = "TESTLIST" -o "$test" = "END" ]; then - continue + return fi testname="$test" @@ -105,4 +98,25 @@ for test in $TESTLIST; do # check invalid subtest handling echo " Checking invalid subtest handling..." ./$test --run-subtest invalid-subtest > /dev/null 2>&1 && fail $test +} + +TESTLISTFILE="$tests_dir/test-list.txt" +if [ ! -r "$TESTLISTFILE" ]; then + tests_dir="tests" + TESTLISTFILE="$tests_dir/test-list.txt" +fi + +TESTLIST=`cat $TESTLISTFILE` +if [ $? -ne 0 ]; then + echo "Error: Could not read test lists" + exit 99 +fi + +if [[ "$1" != "" ]] ; then + check_test $1 + exit 0 +fi + +for test in $TESTLIST; do + check_test $test done -- 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] demos: remove
The igt testcase themselves contain plenty of demos, libdrm also contains a bunch of demos, this here just bitrots. So let's remove it. v2: Rebase. v3: Also delete demos/Makefile from configure.ac. This broke clean builds starting with autogen.sh. Signed-off-by: Daniel Vetter --- Makefile.am | 2 +- configure.ac| 1 - demos/.gitignore| 1 - demos/Android.mk| 32 -- demos/Makefile.sources | 7 - demos/intel_sprite_on.c | 960 6 files changed, 1 insertion(+), 1002 deletions(-) delete mode 100644 demos/.gitignore delete mode 100644 demos/Android.mk delete mode 100644 demos/Makefile.sources delete mode 100644 demos/intel_sprite_on.c diff --git a/Makefile.am b/Makefile.am index 601686282c64..8c25402789f3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -36,7 +36,7 @@ if BUILD_SHADER_DEBUGGER SUBDIRS += debugger endif -SUBDIRS += overlay demos benchmarks +SUBDIRS += overlay benchmarks endif SUBDIRS += docs diff --git a/configure.ac b/configure.ac index 41ec4d26391a..c78f51949745 100644 --- a/configure.ac +++ b/configure.ac @@ -402,7 +402,6 @@ AC_SUBST(REGISTER_FILES) AC_CONFIG_FILES([ Makefile benchmarks/Makefile -demos/Makefile docs/Makefile docs/reference/Makefile docs/reference/intel-gpu-tools/Makefile diff --git a/demos/.gitignore b/demos/.gitignore deleted file mode 100644 index cd80b0b5f259.. --- a/demos/.gitignore +++ /dev/null @@ -1 +0,0 @@ -intel_sprite_on diff --git a/demos/Android.mk b/demos/Android.mk deleted file mode 100644 index 1f50fdcb7e82.. --- a/demos/Android.mk +++ /dev/null @@ -1,32 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -## - -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(demos_prog_lists) - -ifeq ($(HAVE_LIBDRM_INTEL),true) -LOCAL_SRC_FILES += $(LIBDRM_INTEL_BIN) -endif - -LOCAL_CFLAGS += -DHAVE_TERMIOS_H -LOCAL_CFLAGS += -DANDROID -UNDEBUG -LOCAL_CFLAGS += -std=gnu99 -# Excessive complaining for established cases. Rely on the Linux version warnings. -LOCAL_CFLAGS += -Wno-sign-compare - -LOCAL_C_INCLUDES = $(LOCAL_PATH)/../lib \ - $(LOCAL_PATH)/../lib/stubs/drm/ - -LOCAL_MODULE := intel_sprite_on - -LOCAL_MODULE_TAGS := optional - -LOCAL_STATIC_LIBRARIES := libintel_gpu_tools - -LOCAL_SHARED_LIBRARIES := libdrm - -include $(BUILD_EXECUTABLE) - -## diff --git a/demos/Makefile.sources b/demos/Makefile.sources deleted file mode 100644 index aea363f9ba17.. --- a/demos/Makefile.sources +++ /dev/null @@ -1,7 +0,0 @@ -demos_prog_list = \ - $(NULL) - -LIBDRM_INTEL_BIN = \ - intel_sprite_on \ - $(NULL) - diff --git a/demos/intel_sprite_on.c b/demos/intel_sprite_on.c deleted file mode 100644 index a3ece09955aa.. --- a/demos/intel_sprite_on.c +++ /dev/null @@ -1,960 +0,0 @@ -/* - * Copyright © 2012 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. - * - * - * Author: - * Armin Reese - */ - -/* - * This program is intended for testing sprite functionality. - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "i915_drm.h" -#include "drmtest.h" -#include "igt_kms.h" - -#include "ioctl_wrappers.h" - -/* - * Mode setting with the kernel interfaces is a bit of a chore. - * First you have to find the connector in question and make sure the - * requested mode is available. - * Then you need to find the encoder attached to that connector so you - * can bind it with a free crtc. - */ -struct connector { - uint32_tid; - int mode_valid; - drmModeModeInfo mode; - drmModeEncoder *encoder; -
[Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/2] drm/i915: Move device_info.has_snoop into the static tables
== Series Details == Series: series starting with [1/2] drm/i915: Move device_info.has_snoop into the static tables URL : https://patchwork.freedesktop.org/series/29829/ State : success == Summary == shard-hswtotal:2255 pass:1225 dwarn:0 dfail:0 fail:15 skip:1014 time:9480s == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5583/shards.html ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH i-g-t] intel_l3_parity: More helpful output in case of errors
On 17-09-05 18:16:23, Daniel Vetter wrote: On Tue, Sep 05, 2017 at 03:39:49PM +0300, Petri Latvala wrote: When no action is specified on the command line, print the usage help text and exit with failure instead of SIGABRT. Fix some typos on the usage text. Keep the abort() call in places where they can only be reached by expanding the tool and forgetting to handle new parameters, with an error message printed. CC: Ben Widawsky Signed-off-by: Petri Latvala --- tools/intel_l3_parity.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tools/intel_l3_parity.c b/tools/intel_l3_parity.c index eb00c50..1a4fae5 100644 --- a/tools/intel_l3_parity.c +++ b/tools/intel_l3_parity.c @@ -172,9 +172,9 @@ static void usage(const char *name) " -l, --list List the current L3 logs\n" " -a, --clear-all Clear all disabled rows\n" " -e, --enableEnable row, bank, subbank (undo -d)\n" - " -d, --disable= Disable row, bank, subbank (inline arguments are deprecated. Please use -r, -b, -s instead\n" - " -i, --inject[HSW only] Cause hardware to inject a row errors\n" - " -u, --uninject [HSW only] Turn off hardware error injectection (undo -i)\n" + " -d, --disable= Disable row, bank, subbank (inline arguments are deprecated. Please use -r, -b, -s instead)\n" + " -i, --inject[HSW only] Cause hardware to inject a row error\n" + " -u, --uninject [HSW only] Turn off hardware error injection (undo -i)\n" +1 for fixing the typo. I think we should be careful about using "HSW only". In fact I'm in favor of removing what was already there because I honestly don't know which platforms support this feature. " -L, --listenListen for uevent errors\n", name); } @@ -301,6 +301,7 @@ int main(int argc, char *argv[]) action = c; break; default: + fprintf(stderr, "Internal error: Unhandled flag %c\n", c); abort(); } } @@ -374,7 +375,12 @@ int main(int argc, char *argv[]) break; case 'L': break; + case '0': + /* No action given */ + usage(argv[0]); + exit(EXIT_FAILURE); Won't this print usage once per slice? Or am I misreading how the patch applies ... -Daniel Looks wrong to me as well. default: + fprintf(stderr, "Internal error: Unhandled action %d\n", action); abort(); } } -- 2.9.3 ___ 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 -- Ben Widawsky, Intel Open Source Technology Center ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 1/2] drm/i915: Move device_info.has_snoop into the static tables
On Tue, Sep 05, 2017 at 02:47:34PM +0100, Chris Wilson wrote: > Currently we define any !llc machine as using snoop instead. However, > some platforms run into trouble using snoop that we would like to > disable, and to do so easily we want to be able to use the static > device_info tables. > > Signed-off-by: Chris Wilson Can't spot any functional changes, assuming I correctly deduced which macros are getting updated. Reviewed-by: Ville Syrjälä > --- > drivers/gpu/drm/i915/i915_pci.c | 7 +++ > drivers/gpu/drm/i915/intel_device_info.c | 2 -- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c > index 201ed1fe81b6..e6e75a9d140e 100644 > --- a/drivers/gpu/drm/i915/i915_pci.c > +++ b/drivers/gpu/drm/i915/i915_pci.c > @@ -63,6 +63,7 @@ > .hws_needs_physical = 1, \ > .unfenced_needs_alignment = 1, \ > .ring_mask = RENDER_RING, \ > + .has_snoop = true, \ > GEN_DEFAULT_PIPEOFFSETS, \ > CURSOR_OFFSETS > > @@ -95,6 +96,7 @@ static const struct intel_device_info intel_i865g_info > __initconst = { > .gen = 3, .num_pipes = 2, \ > .has_gmch_display = 1, \ > .ring_mask = RENDER_RING, \ > + .has_snoop = true, \ > GEN_DEFAULT_PIPEOFFSETS, \ > CURSOR_OFFSETS > > @@ -157,6 +159,7 @@ static const struct intel_device_info intel_pineview_info > __initconst = { > .has_hotplug = 1, \ > .has_gmch_display = 1, \ > .ring_mask = RENDER_RING, \ > + .has_snoop = true, \ > GEN_DEFAULT_PIPEOFFSETS, \ > CURSOR_OFFSETS > > @@ -197,6 +200,7 @@ static const struct intel_device_info intel_gm45_info > __initconst = { > .has_hotplug = 1, \ > .has_gmbus_irq = 1, \ > .ring_mask = RENDER_RING | BSD_RING, \ > + .has_snoop = true, \ > GEN_DEFAULT_PIPEOFFSETS, \ > CURSOR_OFFSETS > > @@ -321,6 +325,7 @@ static const struct intel_device_info > intel_valleyview_info __initconst = { > .has_hotplug = 1, > .has_aliasing_ppgtt = 1, > .has_full_ppgtt = 1, > + .has_snoop = true, > .ring_mask = RENDER_RING | BSD_RING | BLT_RING, > .display_mmio_offset = VLV_DISPLAY_BASE, > GEN_DEFAULT_PIPEOFFSETS, > @@ -412,6 +417,7 @@ static const struct intel_device_info > intel_cherryview_info __initconst = { > .has_aliasing_ppgtt = 1, > .has_full_ppgtt = 1, > .has_reset_engine = 1, > + .has_snoop = true, > .display_mmio_offset = VLV_DISPLAY_BASE, > GEN_CHV_PIPEOFFSETS, > CURSOR_OFFSETS, > @@ -474,6 +480,7 @@ static const struct intel_device_info > intel_skylake_gt4_info __initconst = { > .has_full_ppgtt = 1, \ > .has_full_48bit_ppgtt = 1, \ > .has_reset_engine = 1, \ > + .has_snoop = true, \ > GEN_DEFAULT_PIPEOFFSETS, \ > IVB_CURSOR_OFFSETS, \ > BDW_COLORS > diff --git a/drivers/gpu/drm/i915/intel_device_info.c > b/drivers/gpu/drm/i915/intel_device_info.c > index 05ef5e1b1750..d9c998fc4707 100644 > --- a/drivers/gpu/drm/i915/intel_device_info.c > +++ b/drivers/gpu/drm/i915/intel_device_info.c > @@ -418,8 +418,6 @@ void intel_device_info_runtime_init(struct > drm_i915_private *dev_priv) > else if (INTEL_INFO(dev_priv)->gen >= 9) > gen9_sseu_info_init(dev_priv); > > - info->has_snoop = !info->has_llc; > - > DRM_DEBUG_DRIVER("slice mask: %04x\n", info->sseu.slice_mask); > DRM_DEBUG_DRIVER("slice total: %u\n", hweight8(info->sseu.slice_mask)); > DRM_DEBUG_DRIVER("subslice total: %u\n", > -- > 2.14.1 > > ___ > 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
[Intel-gfx] [PATCH] drm/i915/cnl: WaFbcSkipSegments
Skip compressing 1 segment at the end of the frame, avoid a pixel count mismatch nuke event when last active pixel and dummy pixel has same color for Odd Plane Width / Height. v2: Use function-like macro and also use mask to clean to make sure bit 11 is 0. (Suggested by Paulo). Cc: Paulo Zanoni Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/i915/i915_reg.h | 3 +++ drivers/gpu/drm/i915/intel_pm.c | 8 2 files changed, 11 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index c718c2f2eaeb..318a56ba1843 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -2940,6 +2940,9 @@ enum i915_power_well_id { #define ILK_DPFC_CHICKEN _MMIO(0x43224) #define ILK_DPFC_DISABLE_DUMMY0 (1<<8) #define ILK_DPFC_NUKE_ON_ANY_MODIFICATION(1<<23) +#define CNL_SKIP_SEG_EN (1<<12) +#define CNL_SKIP_SEG_COUNT_MASK (3<<10) +#define CNL_SKIP_SEG_COUNT(x)((x)<<10) #define ILK_FBC_RT_BASE_MMIO(0x2128) #define ILK_FBC_RT_VALID (1<<0) #define SNB_FBC_FRONT_BUFFER (1<<1) diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index b0ba5a1018cd..405c39fa0332 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -8266,6 +8266,8 @@ static void gen8_set_l3sqc_credits(struct drm_i915_private *dev_priv, static void cnl_init_clock_gating(struct drm_i915_private *dev_priv) { + u32 val; + /* This is not an Wa. Enable for better image quality */ I915_WRITE(_3D_CHICKEN3, _MASKED_BIT_ENABLE(_3D_CHICKEN3_AA_LINE_QUALITY_FIX_ENABLE)); @@ -8283,6 +8285,12 @@ static void cnl_init_clock_gating(struct drm_i915_private *dev_priv) I915_WRITE(SLICE_UNIT_LEVEL_CLKGATE, I915_READ(SLICE_UNIT_LEVEL_CLKGATE) | SARBUNIT_CLKGATE_DIS); + + /* WaFbcSkipSegments:cnl */ + val = I915_READ(ILK_DPFC_CHICKEN); + val &= ~CNL_SKIP_SEG_COUNT_MASK; + val = CNL_SKIP_SEG_EN | CNL_SKIP_SEG_COUNT(1); + I915_WRITE(ILK_DPFC_CHICKEN, val); } static void kbl_init_clock_gating(struct drm_i915_private *dev_priv) -- 2.13.2 ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915: Display WA #1133 WaFbcSkipSegments:cnl, glk
Skip compressing 1 segment at the end of the frame, avoid a pixel count mismatch nuke event when last active pixel and dummy pixel has same color for Odd Plane Width / Height. For both platforms Gemini Lake and Cannon Lake. v2: Use function-like macro and also use mask to clean to make sure bit 11 is 0. (Suggested by Paulo). v3: Add Display WA notation and also apply for GLK. Both Forgotten on v2. Using "GLK_" prefix since GLK came before CNL. Cc: Imre Deak Cc: Paulo Zanoni Signed-off-by: Rodrigo Vivi --- drivers/gpu/drm/i915/i915_reg.h | 3 +++ drivers/gpu/drm/i915/intel_pm.c | 14 ++ 2 files changed, 17 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index c718c2f2eaeb..fbf824b6e37a 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h @@ -2940,6 +2940,9 @@ enum i915_power_well_id { #define ILK_DPFC_CHICKEN _MMIO(0x43224) #define ILK_DPFC_DISABLE_DUMMY0 (1<<8) #define ILK_DPFC_NUKE_ON_ANY_MODIFICATION(1<<23) +#define GLK_SKIP_SEG_EN (1<<12) +#define GLK_SKIP_SEG_COUNT_MASK (3<<10) +#define GLK_SKIP_SEG_COUNT(x)((x)<<10) #define ILK_FBC_RT_BASE_MMIO(0x2128) #define ILK_FBC_RT_VALID (1<<0) #define SNB_FBC_FRONT_BUFFER (1<<1) diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index b0ba5a1018cd..324011f40373 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c @@ -125,6 +125,7 @@ static void bxt_init_clock_gating(struct drm_i915_private *dev_priv) static void glk_init_clock_gating(struct drm_i915_private *dev_priv) { + u32 val; gen9_init_clock_gating(dev_priv); /* @@ -144,6 +145,11 @@ static void glk_init_clock_gating(struct drm_i915_private *dev_priv) I915_WRITE(CHICKEN_MISC_2, val); } + /* Display WA #1133: WaFbcSkipSegments:glk */ + val = I915_READ(ILK_DPFC_CHICKEN); + val &= ~GLK_SKIP_SEG_COUNT_MASK; + val = GLK_SKIP_SEG_EN | GLK_SKIP_SEG_COUNT(1); + I915_WRITE(ILK_DPFC_CHICKEN, val); } static void i915_pineview_get_mem_freq(struct drm_i915_private *dev_priv) @@ -8266,6 +8272,8 @@ static void gen8_set_l3sqc_credits(struct drm_i915_private *dev_priv, static void cnl_init_clock_gating(struct drm_i915_private *dev_priv) { + u32 val; + /* This is not an Wa. Enable for better image quality */ I915_WRITE(_3D_CHICKEN3, _MASKED_BIT_ENABLE(_3D_CHICKEN3_AA_LINE_QUALITY_FIX_ENABLE)); @@ -8283,6 +8291,12 @@ static void cnl_init_clock_gating(struct drm_i915_private *dev_priv) I915_WRITE(SLICE_UNIT_LEVEL_CLKGATE, I915_READ(SLICE_UNIT_LEVEL_CLKGATE) | SARBUNIT_CLKGATE_DIS); + + /* Display WA #1133: WaFbcSkipSegments:cnl */ + val = I915_READ(ILK_DPFC_CHICKEN); + val &= ~GLK_SKIP_SEG_COUNT_MASK; + val = GLK_SKIP_SEG_EN | GLK_SKIP_SEG_COUNT(1); + I915_WRITE(ILK_DPFC_CHICKEN, val); } static void kbl_init_clock_gating(struct drm_i915_private *dev_priv) -- 2.13.2 ___ 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/cnl: WaFbcSkipSegments (rev3)
== Series Details == Series: drm/i915/cnl: WaFbcSkipSegments (rev3) URL : https://patchwork.freedesktop.org/series/29507/ State : success == Summary == Series 29507v3 drm/i915/cnl: WaFbcSkipSegments https://patchwork.freedesktop.org/api/1.0/series/29507/revisions/3/mbox/ Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-legacy: fail -> PASS (fi-snb-2600) fdo#100215 Test kms_flip: Subgroup basic-flip-vs-modeset: skip -> PASS (fi-skl-x1585l) fdo#101781 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fdo#101781 https://bugs.freedesktop.org/show_bug.cgi?id=101781 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:456s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:444s fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:359s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:565s fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:257s fi-bxt-j4205 total:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:526s fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:522s fi-byt-n2820 total:289 pass:250 dwarn:1 dfail:0 fail:0 skip:38 time:510s fi-cfl-s total:289 pass:250 dwarn:4 dfail:0 fail:0 skip:35 time:463s fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:437s fi-glk-2atotal:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:607s fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:446s fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:425s fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:424s fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:514s fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:471s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:517s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:602s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:602s fi-pnv-d510 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:532s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:470s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:538s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:520s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:449s fi-skl-x1585ltotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:517s fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:555s fi-snb-2600 total:289 pass:249 dwarn:0 dfail:0 fail:1 skip:39 time:405s 9c31136737acb5254b63947aabda3449097416fe drm-tip: 2017y-09m-05d-17h-38m-59s UTC integration manifest a12878fda92e drm/i915: Display WA #1133 WaFbcSkipSegments:cnl, glk == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5584/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH] drm/i915: Annotate user relocs with __user
On Fri, Sep 01, 2017 at 07:54:34PM +0300, ville.syrj...@linux.intel.com wrote: > From: Ville Syrjälä > > Add the missing __user to the urelocs cast to fix the following sparse > warning: > i915_gem_execbuffer.c:1541:47: warning: cast removes address space of > expression > i915_gem_execbuffer.c:1541:62: warning: incorrect type in argument 2 > (different address spaces) > i915_gem_execbuffer.c:1541:62:expected void const [noderef] *from > i915_gem_execbuffer.c:1541:62:got char * > > Cc: Chris Wilson Fixes: 2889caa92321 ("drm/i915: Eliminate lots of iterations over the > execobjects array") > Signed-off-by: Ville Syrjälä Pushed to dinq with Maarten's irq r-b 20:18 < vsyrjala> some care to r-b https://patchwork.freedesktop.org/patch/174831/ ? ... 20:39 < mlankhorst> irc r-b 20:48 < mlankhorst> vsyrjala: ^ > --- > drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c > b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > index 8a9d37ac16d4..96f7fa983cbc 100644 > --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c > +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c > @@ -1538,7 +1538,7 @@ static int eb_copy_relocations(const struct > i915_execbuffer *eb) > min_t(u64, BIT_ULL(31), size - copied); > > if (__copy_from_user((char *)relocs + copied, > - (char *)urelocs + copied, > + (char __user *)urelocs + copied, >len)) { > kvfree(relocs); > err = -EFAULT; > -- > 2.13.5 > > ___ > 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 2/2] drm/i915: Constify load detect mode
On Mon, May 22, 2017 at 09:42:01AM +0200, Daniel Vetter wrote: > On Thu, May 18, 2017 at 10:38:37PM +0300, ville.syrj...@linux.intel.com wrote: > > From: Ville Syrjälä > > > > Make the mode used for load detection const, and adjust all relevant > > functions to accept a const mode. > > > > Signed-off-by: Ville Syrjälä > > Reviewed-by: Daniel Vetter Thanks. Pushed to dinq. -- 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] drm/i915/cnp: Wa 1181: Fix Backlight issue
On Wed, 2017-08-30 at 21:52 -0700, Rodrigo Vivi wrote: > From: "Vivi, Rodrigo" > > This workaround fixes a CNL PCH bug when changing > backlight from a lower frequency to a higher frequency. > > During random reboot cycles, display backlight seems to > be off/ dim for 2-3 mins. > > The only functional change on this patch is to > set bit 13 of 0xC2020 for CNL PCH. > > The rest of patch is organizing identation around > those bits definitions and re-organizing CFL workarounds. > > v2: Only add the bit that matters without touching others > around (Jani). > Rebase on top of clock gating functions rename. > Checked against Bspec, patch looks correct. Reviewed-by: Dhinakaran Pandiyan > Cc: Jani Nikula > Cc: Arthur J Runyan > Cc: Dhinakaran Pandiyan > Signed-off-by: Rodrigo Vivi > --- > drivers/gpu/drm/i915/i915_reg.h | 1 + > drivers/gpu/drm/i915/intel_pm.c | 27 +-- > 2 files changed, 26 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index e2908ae34004..bb3df56e447f 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -7482,6 +7482,7 @@ enum { > #define PCH_DPLUNIT_CLOCK_GATE_DISABLE (1<<30) > #define PCH_DPLSUNIT_CLOCK_GATE_DISABLE (1<<29) > #define PCH_CPUNIT_CLOCK_GATE_DISABLE (1<<14) > +#define CNP_PWM_CGE_GATING_DISABLE (1<<13) > #define PCH_LP_PARTITION_LEVEL_DISABLE (1<<12) > > /* CPU: FDI_TX */ > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index 4bdf1fb1df7e..3473b327519d 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -8264,8 +8264,19 @@ static void gen8_set_l3sqc_credits(struct > drm_i915_private *dev_priv, > I915_WRITE(GEN7_MISCCPCTL, misccpctl); > } > > +static void cnp_init_clock_gating(struct drm_i915_private *dev_priv) > +{ > + if (!HAS_PCH_CNP(dev_priv)) > + return; > + > + /* Wa #1181 */ > + I915_WRITE(SOUTH_DSPCLK_GATE_D, CNP_PWM_CGE_GATING_DISABLE); > +} > + > static void cnl_init_clock_gating(struct drm_i915_private *dev_priv) > { > + cnp_init_clock_gating(dev_priv); > + > /* This is not an Wa. Enable for better image quality */ > I915_WRITE(_3D_CHICKEN3, > _MASKED_BIT_ENABLE(_3D_CHICKEN3_AA_LINE_QUALITY_FIX_ENABLE)); > @@ -8285,6 +8296,16 @@ static void cnl_init_clock_gating(struct > drm_i915_private *dev_priv) > SARBUNIT_CLKGATE_DIS); > } > > +static void cfl_init_clock_gating(struct drm_i915_private *dev_priv) > +{ > + cnp_init_clock_gating(dev_priv); > + gen9_init_clock_gating(dev_priv); > + > + /* WaFbcNukeOnHostModify:cfl */ > + I915_WRITE(ILK_DPFC_CHICKEN, I915_READ(ILK_DPFC_CHICKEN) | > +ILK_DPFC_NUKE_ON_ANY_MODIFICATION); > +} > + > static void kbl_init_clock_gating(struct drm_i915_private *dev_priv) > { > gen9_init_clock_gating(dev_priv); > @@ -8299,7 +8320,7 @@ static void kbl_init_clock_gating(struct > drm_i915_private *dev_priv) > I915_WRITE(GEN6_UCGCTL1, I915_READ(GEN6_UCGCTL1) | > GEN6_GAMUNIT_CLOCK_GATE_DISABLE); > > - /* WaFbcNukeOnHostModify:kbl,cfl */ > + /* WaFbcNukeOnHostModify:kbl */ > I915_WRITE(ILK_DPFC_CHICKEN, I915_READ(ILK_DPFC_CHICKEN) | > ILK_DPFC_NUKE_ON_ANY_MODIFICATION); > } > @@ -8767,9 +8788,11 @@ void intel_init_clock_gating_hooks(struct > drm_i915_private *dev_priv) > { > if (IS_CANNONLAKE(dev_priv)) > dev_priv->display.init_clock_gating = cnl_init_clock_gating; > + else if (IS_COFFEELAKE(dev_priv)) > + dev_priv->display.init_clock_gating = cfl_init_clock_gating; > else if (IS_SKYLAKE(dev_priv)) > dev_priv->display.init_clock_gating = skl_init_clock_gating; > - else if (IS_KABYLAKE(dev_priv) || IS_COFFEELAKE(dev_priv)) > + else if (IS_KABYLAKE(dev_priv)) > dev_priv->display.init_clock_gating = kbl_init_clock_gating; > else if (IS_BROXTON(dev_priv)) > dev_priv->display.init_clock_gating = bxt_init_clock_gating; ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
[Intel-gfx] [PATCH] drm/i915/cnl: Allow the reg_read ioctl to read the RCS TIMESTAMP register
From: Ben Widawsky This enables the Mesa driver to advertise support for ARB_timer_query, and thus an OpenGL version higher than 3.2. Cc: Rodrigo Vivi Signed-off-by: Nanley Chery --- drivers/gpu/drm/i915/intel_uncore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c index 1d7b879cc68c..0529af7cfbb8 100644 --- a/drivers/gpu/drm/i915/intel_uncore.c +++ b/drivers/gpu/drm/i915/intel_uncore.c @@ -1251,7 +1251,7 @@ static const struct register_whitelist { } whitelist[] = { { .offset_ldw = RING_TIMESTAMP(RENDER_RING_BASE), .offset_udw = RING_TIMESTAMP_UDW(RENDER_RING_BASE), - .size = 8, .gen_bitmask = GEN_RANGE(4, 9) }, + .size = 8, .gen_bitmask = GEN_RANGE(4, 10) }, }; int i915_reg_read_ioctl(struct drm_device *dev, -- 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: Display WA #1133 WaFbcSkipSegments:cnl, glk
Em Ter, 2017-09-05 às 11:05 -0700, Rodrigo Vivi escreveu: > Skip compressing 1 segment at the end of the frame, > avoid a pixel count mismatch nuke event when last active > pixel and dummy pixel has same color for Odd Plane > Width / Height. > > For both platforms Gemini Lake and Cannon Lake. > > v2: Use function-like macro and also use mask to clean > to make sure bit 11 is 0. (Suggested by Paulo). > v3: Add Display WA notation and also apply for GLK. > Both Forgotten on v2. > Using "GLK_" prefix since GLK came before CNL. > > Cc: Imre Deak > Cc: Paulo Zanoni > Signed-off-by: Rodrigo Vivi > --- > drivers/gpu/drm/i915/i915_reg.h | 3 +++ > drivers/gpu/drm/i915/intel_pm.c | 14 ++ > 2 files changed, 17 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_reg.h > b/drivers/gpu/drm/i915/i915_reg.h > index c718c2f2eaeb..fbf824b6e37a 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -2940,6 +2940,9 @@ enum i915_power_well_id { > #define ILK_DPFC_CHICKEN _MMIO(0x43224) > #define ILK_DPFC_DISABLE_DUMMY0 (1<<8) > #define ILK_DPFC_NUKE_ON_ANY_MODIFICATION (1<<23) > +#define GLK_SKIP_SEG_EN(1<<12) > +#define GLK_SKIP_SEG_COUNT_MASK(3<<10) > +#define GLK_SKIP_SEG_COUNT(x) ((x)<<10) > #define ILK_FBC_RT_BASE _MMIO(0x2128) > #define ILK_FBC_RT_VALID (1<<0) > #define SNB_FBC_FRONT_BUFFER (1<<1) > diff --git a/drivers/gpu/drm/i915/intel_pm.c > b/drivers/gpu/drm/i915/intel_pm.c > index b0ba5a1018cd..324011f40373 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -125,6 +125,7 @@ static void bxt_init_clock_gating(struct > drm_i915_private *dev_priv) > > static void glk_init_clock_gating(struct drm_i915_private *dev_priv) > { > + u32 val; > gen9_init_clock_gating(dev_priv); > > /* > @@ -144,6 +145,11 @@ static void glk_init_clock_gating(struct > drm_i915_private *dev_priv) > I915_WRITE(CHICKEN_MISC_2, val); > } > > + /* Display WA #1133: WaFbcSkipSegments:glk */ > + val = I915_READ(ILK_DPFC_CHICKEN); > + val &= ~GLK_SKIP_SEG_COUNT_MASK; > + val = GLK_SKIP_SEG_EN | GLK_SKIP_SEG_COUNT(1); s/=/|=/ > + I915_WRITE(ILK_DPFC_CHICKEN, val); > } > > static void i915_pineview_get_mem_freq(struct drm_i915_private > *dev_priv) > @@ -8266,6 +8272,8 @@ static void gen8_set_l3sqc_credits(struct > drm_i915_private *dev_priv, > > static void cnl_init_clock_gating(struct drm_i915_private *dev_priv) > { > + u32 val; > + > /* This is not an Wa. Enable for better image quality */ > I915_WRITE(_3D_CHICKEN3, > _MASKED_BIT_ENABLE(_3D_CHICKEN3_AA_LINE_QUALITY_F > IX_ENABLE)); > @@ -8283,6 +8291,12 @@ static void cnl_init_clock_gating(struct > drm_i915_private *dev_priv) > I915_WRITE(SLICE_UNIT_LEVEL_CLKGATE, > I915_READ(SLICE_UNIT_LEVEL_CLKGATE) | > SARBUNIT_CLKGATE_DIS); > + > + /* Display WA #1133: WaFbcSkipSegments:cnl */ > + val = I915_READ(ILK_DPFC_CHICKEN); > + val &= ~GLK_SKIP_SEG_COUNT_MASK; > + val = GLK_SKIP_SEG_EN | GLK_SKIP_SEG_COUNT(1); Same here. > + I915_WRITE(ILK_DPFC_CHICKEN, val); > } > > static void kbl_init_clock_gating(struct drm_i915_private *dev_priv) ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [Intel-gfx] [PATCH 2/2] drm/i915: Disable snooping (userptr, set-cache-level) on gen4
On Tue, Sep 05, 2017 at 02:47:35PM +0100, Chris Wilson wrote: > The original gen4 has an issue where writes (both render and blt) into > snoopable pages are lost. BTW is this documented somewhere, or just folk lore? I only found bspec notes that snooped->snooped and tiled+snooped isn't allowed. But I guess this is something more generic? It does appear to match notes in ddx/igt so Reviewed-by: Ville Syrjälä > We've previously worked around this in > userspace (ddx, igt) by simply not requesting snoopable buffers, but upon > rediscovering this problem for a third time, make the kernel reject such > requests with -ENODEV. > > This disables snooping on userspace buffers for i965 and i965gm (original > gen4) machines. > > Signed-off-by: Chris Wilson > --- > drivers/gpu/drm/i915/i915_pci.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c > index e6e75a9d140e..f060536cc405 100644 > --- a/drivers/gpu/drm/i915/i915_pci.c > +++ b/drivers/gpu/drm/i915/i915_pci.c > @@ -168,6 +168,7 @@ static const struct intel_device_info intel_i965g_info > __initconst = { > .platform = INTEL_I965G, > .has_overlay = 1, > .hws_needs_physical = 1, > + .has_snoop = false, > }; > > static const struct intel_device_info intel_i965gm_info __initconst = { > @@ -177,6 +178,7 @@ static const struct intel_device_info intel_i965gm_info > __initconst = { > .has_overlay = 1, > .supports_tv = 1, > .hws_needs_physical = 1, > + .has_snoop = false, > }; > > static const struct intel_device_info intel_g45_info __initconst = { > -- > 2.14.1 > > ___ > 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] drm/i915/cnl: Allow the reg_read ioctl to read the RCS TIMESTAMP register
On Tue, 2017-09-05 at 11:45 -0700, Nanley Chery wrote: > From: Ben Widawsky Do we have a signed-off by him? Maybe go with you as author and suggested-by Ben? > > This enables the Mesa driver to advertise support for ARB_timer_query, and > thus an OpenGL version higher than 3.2. > I tried to check if this patch should be a "Fixes:" for a previous one, but I didn't find anyone that this patch would fit. Just a forgotten case. > Cc: Rodrigo Vivi > Signed-off-by: Nanley Chery > --- > drivers/gpu/drm/i915/intel_uncore.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_uncore.c > b/drivers/gpu/drm/i915/intel_uncore.c > index 1d7b879cc68c..0529af7cfbb8 100644 > --- a/drivers/gpu/drm/i915/intel_uncore.c > +++ b/drivers/gpu/drm/i915/intel_uncore.c > @@ -1251,7 +1251,7 @@ static const struct register_whitelist { > } whitelist[] = { > { .offset_ldw = RING_TIMESTAMP(RENDER_RING_BASE), > .offset_udw = RING_TIMESTAMP_UDW(RENDER_RING_BASE), > - .size = 8, .gen_bitmask = GEN_RANGE(4, 9) }, > + .size = 8, .gen_bitmask = GEN_RANGE(4, 10) }, Reviewed-by: Rodrigo Vivi I'd like to kill this GEN_RANGE since it is easy to forget when enabling a new platform. But this is topic for a different patch. > }; > > int i915_reg_read_ioctl(struct drm_device *dev, ___ 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/cnl: Allow the reg_read ioctl to read the RCS TIMESTAMP register
== Series Details == Series: drm/i915/cnl: Allow the reg_read ioctl to read the RCS TIMESTAMP register URL : https://patchwork.freedesktop.org/series/29839/ State : failure == Summary == Series 29839v1 drm/i915/cnl: Allow the reg_read ioctl to read the RCS TIMESTAMP register https://patchwork.freedesktop.org/api/1.0/series/29839/revisions/1/mbox/ Test kms_cursor_legacy: Subgroup basic-busy-flip-before-cursor-atomic: pass -> FAIL (fi-snb-2600) fdo#100215 +1 Subgroup basic-flip-after-cursor-atomic: pass -> INCOMPLETE (fi-bxt-j4205) Test kms_flip: Subgroup basic-flip-vs-modeset: skip -> PASS (fi-cfl-s) Test kms_pipe_crc_basic: Subgroup suspend-read-crc-pipe-b: pass -> DMESG-WARN (fi-byt-n2820) fdo#101705 Test pm_rpm: Subgroup basic-pci-d3-state: pass -> SKIP (fi-cfl-s) Test drv_module_reload: Subgroup basic-reload-inject: dmesg-fail -> DMESG-WARN (fi-cfl-s) k.org#196765 fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215 fdo#101705 https://bugs.freedesktop.org/show_bug.cgi?id=101705 k.org#196765 https://bugzilla.kernel.org/show_bug.cgi?id=196765 fi-bdw-5557u total:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:454s fi-bdw-gvtdvmtotal:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:443s fi-blb-e6850 total:289 pass:224 dwarn:1 dfail:0 fail:0 skip:64 time:366s fi-bsw-n3050 total:289 pass:243 dwarn:0 dfail:0 fail:0 skip:46 time:559s fi-bwr-2160 total:289 pass:184 dwarn:0 dfail:0 fail:0 skip:105 time:255s fi-bxt-j4205 total:211 pass:189 dwarn:0 dfail:0 fail:0 skip:21 fi-byt-j1900 total:289 pass:254 dwarn:1 dfail:0 fail:0 skip:34 time:524s fi-byt-n2820 total:289 pass:250 dwarn:1 dfail:0 fail:0 skip:38 time:514s fi-cfl-s total:289 pass:249 dwarn:4 dfail:0 fail:0 skip:36 time:464s fi-elk-e7500 total:289 pass:230 dwarn:0 dfail:0 fail:0 skip:59 time:442s fi-glk-2atotal:289 pass:260 dwarn:0 dfail:0 fail:0 skip:29 time:615s fi-hsw-4770 total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:444s fi-hsw-4770r total:289 pass:263 dwarn:0 dfail:0 fail:0 skip:26 time:424s fi-ilk-650 total:289 pass:229 dwarn:0 dfail:0 fail:0 skip:60 time:426s fi-ivb-3520m total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:511s fi-ivb-3770 total:289 pass:261 dwarn:0 dfail:0 fail:0 skip:28 time:473s fi-kbl-7500u total:289 pass:264 dwarn:1 dfail:0 fail:0 skip:24 time:513s fi-kbl-7560u total:289 pass:270 dwarn:0 dfail:0 fail:0 skip:19 time:595s fi-kbl-r total:289 pass:262 dwarn:0 dfail:0 fail:0 skip:27 time:594s fi-pnv-d510 total:289 pass:223 dwarn:1 dfail:0 fail:0 skip:65 time:526s fi-skl-6260u total:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:473s fi-skl-6700k total:289 pass:265 dwarn:0 dfail:0 fail:0 skip:24 time:532s fi-skl-6770hqtotal:289 pass:269 dwarn:0 dfail:0 fail:0 skip:20 time:515s fi-skl-gvtdvmtotal:289 pass:266 dwarn:0 dfail:0 fail:0 skip:23 time:445s fi-skl-x1585ltotal:289 pass:268 dwarn:0 dfail:0 fail:0 skip:21 time:501s fi-snb-2520m total:289 pass:251 dwarn:0 dfail:0 fail:0 skip:38 time:556s fi-snb-2600 total:289 pass:248 dwarn:0 dfail:0 fail:2 skip:39 time:404s 3b8f5b73f918f7aba4569b155bbd87e258f21c81 drm-tip: 2017y-09m-05d-18h-24m-26s UTC integration manifest d5054947399a drm/i915/cnl: Allow the reg_read ioctl to read the RCS TIMESTAMP register == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5585/ ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx