[Intel-gfx] ✓ Fi.CI.BAT: success for Revert "intel-ci: Remove kms_psr_sink_crc@psr_basic from BAT"

2017-09-05 Thread Patchwork
== 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"

2017-09-05 Thread Saarinen, Jani
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

2017-09-05 Thread Daniel Stone
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

2017-09-05 Thread Daniel Stone
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"

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Daniel Stone
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

2017-09-05 Thread Daniel Stone
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

2017-09-05 Thread Daniel Stone
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

2017-09-05 Thread Mika Kahola
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)

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Joonas Lahtinen
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

2017-09-05 Thread Shankar, Uma


>-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"

2017-09-05 Thread Petri Latvala
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"

2017-09-05 Thread Vidya Srinivas
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)

2017-09-05 Thread Patchwork
== 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)

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Tvrtko Ursulin
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

2017-09-05 Thread Tvrtko Ursulin
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"

2017-09-05 Thread Mika Kahola
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)

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Chris Wilson
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)

2017-09-05 Thread Patchwork
== 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)

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Daniel Vetter
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"

2017-09-05 Thread Daniel Vetter
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.

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Abdiel Janulgue
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)

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Saarinen, Jani
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

2017-09-05 Thread Petri Latvala
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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.

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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.

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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.

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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)

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Petri Latvala
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

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Patchwork
== 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"

2017-09-05 Thread Ville Syrjälä
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

2017-09-05 Thread David Weinehall
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

2017-09-05 Thread Ville Syrjälä
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

2017-09-05 Thread Chris Wilson
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

2017-09-05 Thread David Weinehall
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

2017-09-05 Thread Tejun Heo
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)

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Mika Kahola
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

2017-09-05 Thread Chris Wilson
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

2017-09-05 Thread Chris Wilson
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

2017-09-05 Thread Chris Wilson
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

2017-09-05 Thread Tejun Heo
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

2017-09-05 Thread Chris Wilson
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

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Chris Wilson
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

2017-09-05 Thread Chris Wilson
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

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Michał Winiarski
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

2017-09-05 Thread Shankar, Uma


>-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

2017-09-05 Thread Ville Syrjälä
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)

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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)

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Daniel Vetter
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

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Ben Widawsky

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

2017-09-05 Thread Ville Syrjälä
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

2017-09-05 Thread Rodrigo Vivi
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

2017-09-05 Thread Rodrigo Vivi
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)

2017-09-05 Thread Patchwork
== 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

2017-09-05 Thread Ville Syrjälä
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

2017-09-05 Thread Ville Syrjälä
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

2017-09-05 Thread Pandiyan, Dhinakaran
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

2017-09-05 Thread Nanley Chery
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

2017-09-05 Thread Paulo Zanoni
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

2017-09-05 Thread Ville Syrjälä
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

2017-09-05 Thread Vivi, Rodrigo
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

2017-09-05 Thread Patchwork
== 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


  1   2   >