== Series Details ==
Series: drm/i915: Enhanced for initialize partially filled pagetables
URL : https://patchwork.freedesktop.org/series/31029/
State : success
== Summary ==
shard-hswtotal:2429 pass:1332 dwarn:4 dfail:0 fail:10 skip:1083
time:9949s
== Logs ==
For more details
Thanks for the patch. :)
-Original Message-
From: Chris Wilson [mailto:ch...@chris-wilson.co.uk]
Sent: Wednesday, September 27, 2017 7:45 PM
To: intel-gfx@lists.freedesktop.org
Cc: Chris Wilson ; Zhenyu Wang
; Wang, Zhi A
== Series Details ==
Series: drm/i915: Also discard second CRC on gen8+ platforms.
URL : https://patchwork.freedesktop.org/series/31023/
State : success
== Summary ==
Test perf:
Subgroup blocking:
fail -> PASS (shard-hsw) fdo#102252 +1
Test kms_setmode:
On Wed, Sep 27, 2017 at 5:14 AM David Weinehall <
david.weineh...@linux.intel.com> wrote:
> On Tue, Aug 08, 2017 at 12:50:51PM -0700, Rodrigo Vivi wrote:
> > a long time ago I had agreed with Daniel that we would only add new
> > platforms after it was enabled by default on previous platforms.
>
== Series Details ==
Series: Fix compilation on some distros
URL : https://patchwork.freedesktop.org/series/31012/
State : warning
== Summary ==
Test gem_mmap_gtt:
Subgroup basic-copy:
skip -> PASS (shard-hsw)
Subgroup basic-write-read-distinct:
== Series Details ==
Series: GEM/GuC Suspend/Resume/Reset fixes and restructuring (rev4)
URL : https://patchwork.freedesktop.org/series/30802/
State : failure
== Summary ==
Series 30802v4 GEM/GuC Suspend/Resume/Reset fixes and restructuring
With most of the GuC disabling now separated from enable_guc_submission
parameter, only function that needs GuC parameter check is
i915_disable_guc_ggtt as that is enabled based on GuC kernel parameters.
Hence i915_disable_guc_ggtt is being called when enable_guc_loading is
set.
Signed-off-by:
With this patch we disable GuC submission in i915_drm_suspend path.
This will destroy the client which will be setup back again. We also
reuse the complete sanitization done via intel_uc_runtime_suspend in
this path. Post i915_drm_resume, this state is recreated by
intel_uc_init_hw hence we need
During GuC load/enable, state is setup by driver that can be looked at
while disabling. So remove the check for i915.enable_guc_submission
parameter in those functions.
Suggested-by: Chris Wilson
Signed-off-by: Sagar Arun Kamble
Cc: Michal
Apart from configuring interrupts, we need to update the ggtt invalidate
interface and GuC communication on suspend/resume. This functionality
can be reused for other suspend and reset paths.
v2: Rebase w.r.t removal of GuC code restructuring.
v3: Removed GuC specific helpers as tasks other than
We ensure that GuC is completely suspended and client is destroyed
in i915_gem_suspend during i915_driver_unload. So now intel_uc_fini_hw
should just take care of cleanup,
hence s/intel_uc_fini_hw/intel_uc_cleanup. Correspondingly
we also updated as
Older series can be found at
https://patchwork.freedesktop.org/series/30715/
https://patchwork.freedesktop.org/series/30502/
https://patchwork.freedesktop.org/series/30351/
v1-v8: Part of above three series.
v9:
Fixed patch 1 based on review inputs from Michal Winiarski.
Rebased all patches.
This patch moves GuC suspend/resume handlers to corresponding GEM handlers
and orders them properly in the runtime and system suspend/resume flows.
v2: Removed documentation of suspend/resume handlers as those are not
interfaces and are just hooks. (Chris)
v3: Rebase. Removed
Currently GPU is reset at the end of suspend via i915_gem_sanitize.
On resume, GuC will not be loaded until intel_uc_init_hw happens
during GEM resume flow but action to exit sleep can be sent to GuC
considering the FW load status. To make sure we don't invoke that
action update GuC FW load status
Before i915 reset, we need to disable GuC submission and suspend GuC
operations as it is recreated during intel_uc_init_hw. We can't reuse the
intel_uc_suspend functionality as reset path already holds struct_mutex.
v2: Rebase w.r.t removal of GuC code restructuring. Updated reset_prepare
Prepared generic helpers intel_uc_suspend, intel_uc_resume,
intel_uc_runtime_suspend, intel_uc_runtime_resume. These are
called from respective GEM functions.
Only exception is intel_uc_resume that needs to be called
w/ or w/o GuC loaded in i915_drm_resume path. Changes to
add WOPCM condition
i915_gem_restore_fences is GEM resumption task hence it is moved to
i915_gem_resume from i915_restore_state.
Signed-off-by: Sagar Arun Kamble
Cc: Chris Wilson
Cc: Michal Wajdeczko
Cc: Michał Winiarski
These changes are preparation to handle GuC suspend/resume. Prepared
helper i915_gem_runtime_resume to reinitialize suspended gem setup.
Returning status from i915_gem_runtime_suspend and i915_gem_resume.
This will be placeholder for handling any errors from uC suspend/resume
in upcoming patches.
== Series Details ==
Series: series starting with [1/2] drm/i915/gvt: update CSB and CSB write
pointer in virtual HWSP
URL : https://patchwork.freedesktop.org/series/31033/
State : failure
== Summary ==
Series 31033 revision 1 was fully merged or fully failed: no git log
== Series Details ==
Series: drm/i915/cnl: Avoid WA_SET_BIT_MASK on write-only CNL_HDC_CHICKEN0.
URL : https://patchwork.freedesktop.org/series/31001/
State : failure
== Summary ==
Test perf:
Subgroup polling:
pass -> FAIL (shard-hsw) fdo#102252
Test
The engine provides a mirror of the CSB and CSB write pointer in the HWSP.
Read these status from virtual HWSP in VM can reduce CPU utilization while
applications have much more short GPU workloads. Here we update the
corresponding data in virtual HWSP as it in virtual MMIO.
Before read these
Let GVT-g VM read the CSB and CSB write pointer from virtual HWSP, not all
the host support this feature, need to check the BIT(3) of caps in PVINFO.
Signed-off-by: Weinan Li
Cc: Chris Wilson
---
drivers/gpu/drm/i915/i915_vgpu.c | 5 +
>On Tue, 26 Sep 2017, "Lee, Shawn C" wrote:
>> DP v1.3 spec reserved DPCD TRAINING_AUX_RD_INTERVAL (Eh)
>> bit7 to indicate Extended Receiver Capability. A DPRX with DPCD Rev.
>> 1.4 (or higher) must have an Extended Receiver Capability field.
>> Driver have to clear
== Series Details ==
Series: drm/i915: Enhanced for initialize partially filled pagetables
URL : https://patchwork.freedesktop.org/series/31029/
State : success
== Summary ==
Series 31029v1 drm/i915: Enhanced for initialize partially filled pagetables
if vgpu active, the page table entry should be initialized after
allocation and then the hypersivor can ping pages succesuffly,
otherwise hypervisor will ping pages failed and the host will print
a lot of annoying errors such as “ERROR gvt: guest page write error -22,
gfn 0x7ada8, pa 0x7ada89a8,
== Series Details ==
Series: drm/dp: Do not prune the last mode on the connector (rev2)
URL : https://patchwork.freedesktop.org/series/31018/
State : failure
== Summary ==
Series 31018v2 drm/dp: Do not prune the last mode on the connector
== Series Details ==
Series: igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
(rev3)
URL : https://patchwork.freedesktop.org/series/30860/
State : warning
== Summary ==
Test gem_exec_schedule:
Subgroup preempt-contexts-bsd:
pass -> SKIP
Currently the drm_mode_prune_invalid() function will
prune all the modes if it finds that the mode-status
is not MODE_OK. But if it ends up pruning all modes
then there are no modes left for that connector which will
eventually result into a black screen as userspace sees no
modes from the kernel.
Hi Dave,
Here goes the drm/i915 fixes for 4.14-rc3
Couple fixes for stable:
- Fix ELD connector types and consequently audio on DP (Jani).
- Ignore HDMI on Port A and consequently fix an ops on i915 probe
when VBT advertises HDMI on Port A (Jani).
And a small fix:
- That removes a
On Wed, Sep 27, 2017 at 05:31:56PM -0700, Keith Packard wrote:
> Manasi Navare writes:
>
> > This patch fixes this problem by checking if the mode being pruned
> > is the last mode on that connector and if so doesnt prune it.
>
> I think you want to stop pruning when
== Series Details ==
Series: drm/i915: Also discard second CRC on gen8+ platforms.
URL : https://patchwork.freedesktop.org/series/31023/
State : success
== Summary ==
Series 31023v1 drm/i915: Also discard second CRC on gen8+ platforms.
Manasi Navare writes:
> This patch fixes this problem by checking if the mode being pruned
> is the last mode on that connector and if so doesnt prune it.
I think you want to stop pruning when you've gotten to a single mode on
the list, not at the last mode in the
== Series Details ==
Series: series starting with [1/3] Fix rlim_cur compiler warnings when building
on ARM.
URL : https://patchwork.freedesktop.org/series/30992/
State : failure
== Summary ==
Test kms_frontbuffer_tracking:
Subgroup fbcpsr-2p-primscrn-cur-indfb-draw-blt:
On Wed, Sep 27, 2017 at 12:23:32PM +, Mika Kahola wrote:
> On Tue, 2017-09-19 at 12:55 -0700, Rodrigo Vivi wrote:
> > On Fri, Sep 15, 2017 at 06:19:12PM +, Manasi Navare wrote:
> > >
> > > The patch looks good for eDP link training optimizations.
> > >
> > > Reviewed-by: Manasi Navare
== Series Details ==
Series: drm/dp: Do not prune the last mode on the connector
URL : https://patchwork.freedesktop.org/series/31018/
State : failure
== Summary ==
Series 31018v1 drm/dp: Do not prune the last mode on the connector
One of the differences I spotted for GEN8+ platforms when
compared to older platforms is that spec for BDW+ includes
this sentence:
"The first CRC done indication after CRC is first enabled is
from only a partial frame, so it will not have the expected
CRC result."
This is an indication that on
Currently the drm_mode_prune_invalid() function will
prune all the modes if it finds that the mode-status
is not MODE_OK. But if it ends up pruning all modes
then there are no modes left for that connector which will
eventually result into a black screen as userspace sees no
modes from the kernel.
== Series Details ==
Series: series starting with [v4,1/6] tests/kms_ccs: Test pipes other than pipe
A
URL : https://patchwork.freedesktop.org/series/30991/
State : failure
== Summary ==
Test kms_flip:
Subgroup blt-flip-vs-panning:
skip -> PASS (shard-hsw)
== Series Details ==
Series: Fix compilation on some distros
URL : https://patchwork.freedesktop.org/series/31012/
State : success
== Summary ==
IGT patchset tested on top of latest successful build
2885b10f99b4beeb046e75af8b8488c229f629d3 igt/gem_exec_schedule: Ignore
set-priority failures
Some distros (such as Gentoo) are removing the include of
sys/sysmacros.h from sys/types.h. Explicitly include sysmacros.h in
files where we use the minor() and major() functions.
Signed-off-by: James Ausmus
---
lib/igt_debugfs.c | 1 +
lib/igt_sysfs.c | 1 +
== Series Details ==
Series: lib/igt_kms: Convert properties to be more atomic-like. (rev2)
URL : https://patchwork.freedesktop.org/series/30903/
State : failure
== Summary ==
Test pm_rpm:
Subgroup modeset-lpsp:
pass -> SKIP (shard-hsw)
Subgroup
== Series Details ==
Series: series starting with [v2,01/11] drm/i915/execlists: Move request
unwinding to a separate function
URL : https://patchwork.freedesktop.org/series/30983/
State : failure
== Summary ==
Test gem_ctx_param:
Subgroup invalid-param-set:
pass
On 09/27/2017 02:17 PM, Rodrigo Vivi wrote:
On Wed, Sep 27, 2017 at 09:08:10PM +, Oscar Mateo wrote:
On 09/27/2017 02:01 PM, Rodrigo Vivi wrote:
On CNL, HDC_CHICKEN0 "is write-only from LRI command.
However, it is readable for context save."
So we have no ways to check the coherency by
== Series Details ==
Series: drm/i915/cnl: Avoid WA_SET_BIT_MASK on write-only CNL_HDC_CHICKEN0.
URL : https://patchwork.freedesktop.org/series/31001/
State : success
== Summary ==
Series 31001v1 drm/i915/cnl: Avoid WA_SET_BIT_MASK on write-only
CNL_HDC_CHICKEN0.
== Series Details ==
Series: drm/i915: Allow optimized platform checks
URL : https://patchwork.freedesktop.org/series/30982/
State : success
== Summary ==
Test kms_flip:
Subgroup flip-vs-wf_vblank-interruptible:
fail -> PASS (shard-hsw)
Test perf:
On Wed, Sep 27, 2017 at 09:08:10PM +, Oscar Mateo wrote:
>
>
> On 09/27/2017 02:01 PM, Rodrigo Vivi wrote:
> > On CNL, HDC_CHICKEN0 "is write-only from LRI command.
> > However, it is readable for context save."
> >
> > So we have no ways to check the coherency by reading it back on
> > our
On 09/27/2017 02:01 PM, Rodrigo Vivi wrote:
On CNL, HDC_CHICKEN0 "is write-only from LRI command.
However, it is readable for context save."
So we have no ways to check the coherency by reading it back on
our tests.
So let's just write that bit directly without saving it to
On CNL, HDC_CHICKEN0 "is write-only from LRI command.
However, it is readable for context save."
So we have no ways to check the coherency by reading it back on
our tests.
So let's just write that bit directly without saving it to
dev_priv->workarounds.
Bugzilla:
== Series Details ==
Series: configure.ac: Install and distribute kabylake registers
URL : https://patchwork.freedesktop.org/series/30973/
State : warning
== Summary ==
Test gem_double_irq_loop:
skip -> PASS (shard-hsw)
Test kms_frontbuffer_tracking:
== Series Details ==
Series: igt/gem_exec_scheduler: HAS_SCHEDULER no longer means HAS_PREEMPTION
(rev3)
URL : https://patchwork.freedesktop.org/series/30860/
State : success
== Summary ==
IGT patchset tested on top of latest successful build
2885b10f99b4beeb046e75af8b8488c229f629d3
On Wed, Sep 27, 2017 at 12:03 AM, Jani Nikula
wrote:
> On Tue, 26 Sep 2017, Rodrigo Vivi wrote:
>> On Tue, Sep 26, 2017 at 09:21:43PM +, Paulo Zanoni wrote:
>>> Em Ter, 2017-09-26 às 14:13 -0700, Rodrigo Vivi escreveu:
>>> > Let's stop
== Series Details ==
Series: series starting with [1/3] Fix rlim_cur compiler warnings when building
on ARM.
URL : https://patchwork.freedesktop.org/series/30992/
State : success
== Summary ==
IGT patchset tested on top of latest successful build
2885b10f99b4beeb046e75af8b8488c229f629d3
== Series Details ==
Series: benchmarks: Actually build LIBDRM_INTEL_BENCHMARKS
URL : https://patchwork.freedesktop.org/series/30970/
State : failure
== Summary ==
Test kms_flip_tiling:
Subgroup flip-changes-tiling-Y:
pass -> SKIP (shard-hsw)
== Series Details ==
Series: series starting with [v4,1/6] tests/kms_ccs: Test pipes other than pipe
A
URL : https://patchwork.freedesktop.org/series/30991/
State : success
== Summary ==
IGT patchset tested on top of latest successful build
2885b10f99b4beeb046e75af8b8488c229f629d3
Michal wants to limit machines that can do preemption, which means that
we no longer can assume that if we have a scheduler for execbuf, that
implies we have preemption.
v2: Try a capability mask instead
v3: Pretty print the caps.
Signed-off-by: Chris Wilson
---
== Series Details ==
Series: lib/igt_kms: Convert properties to be more atomic-like. (rev2)
URL : https://patchwork.freedesktop.org/series/30903/
State : success
== Summary ==
IGT patchset tested on top of latest successful build
2885b10f99b4beeb046e75af8b8488c229f629d3 igt/gem_exec_schedule:
Signed-off-by: Eric Anholt
---
benchmarks/prime_lookup.c | 2 +-
tests/gem_exec_reuse.c| 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/benchmarks/prime_lookup.c b/benchmarks/prime_lookup.c
index e995b766a173..d6c397299fcb 100644
---
Just stub out the features return value, and return an empty string.
Signed-off-by: Eric Anholt
---
lib/igt_x86.h | 12
lib/meson.build | 5 -
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/lib/igt_x86.h b/lib/igt_x86.h
index
It's got calls to rmb/wmb that end up not linking successfully.
Signed-off-by: Eric Anholt
---
meson.build | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 1cc501f3062f..7a09228292fd 100644
--- a/meson.build
+++
display->n_pipes is zero-indexed, so N returned in
igt_display_get_n_pipes is already not a valid pipe. This patch
prevents kms_ccs from going nuts when testing the first unxesting pipe.
Signed-off-by: Gabriel Krisman Bertazi
Reviewed-by: Maarten Lankhorst
Commit d41c4ccbd2f9 ("tests/kms_ccs: Fix subtest enumeration")
accidently removed the update of data.pipe, causing kms_ccs to silently
only test PIPE_A.
This fixes the behavior reported by Daniel Vetter where tests would
succeed even on nonexistent pipes.
Signed-off-by: Gabriel Krisman Bertazi
Two scenarios tested:
- unaligned stride
- Stride too small
Signed-off-by: Gabriel Krisman Bertazi
---
tests/kms_ccs.c | 23 ++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
index
for_each_plane_on_pipe() indexes bad memory when iterating over an invalid
pipe. Make sure the pipe exists before trying to use it. This prevents
the crash below:
root@ideacentre:~# igt-gpu-tools/tests/kms_ccs --r
pipe-D-crc-sprite-planes-basic
IGT-Version: 1.19-g59f0e3d182a8 (x86_64) (Linux:
Signed-off-by: Gabriel Krisman Bertazi
---
tests/kms_ccs.c | 17 ++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
index 35dfcca6be14..2d7105eb1323 100644
--- a/tests/kms_ccs.c
+++ b/tests/kms_ccs.c
@@
Signed-off-by: Gabriel Krisman Bertazi
---
tests/kms_ccs.c | 37 +++--
1 file changed, 27 insertions(+), 10 deletions(-)
diff --git a/tests/kms_ccs.c b/tests/kms_ccs.c
index 73025a1e019f..35dfcca6be14 100644
--- a/tests/kms_ccs.c
+++
Make intel_dp_add_mst_connector handle error returns from the drm_ calls.
Add intel_connector_free to support cleanup on the error path.
v2: Rename new function to avoid confusion, and simplify error
paths (Ville)
v3: Indentation fixup, style fixes (Ville)
v4: Clarify usage of
Use the helper instead of manually looping through pipes.
Suggested-by: Ville Syrjälä
Signed-off-by: James Ausmus
---
drivers/gpu/drm/i915/intel_dp_mst.c | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git
This test was flipping the primary plane instead of the sprite plane.
Flip the correct plane to make the test pass properly.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102691
Signed-off-by: Maarten Lankhorst
---
tests/kms_rotation_crc.c | 23
In the future I want to allow tests to commit more properties,
but for this to work I have to fix all properties to work better
with atomic commit. Instead of special casing each
property make a bitmask for all property changed flags, and try to
commit all properties.
Changes since v1:
- Remove
In between tests, some tests can do the following sequence:
(pipe C configured with FB)
igt_plane_set_fb(primary (pipe C), NULL);
/* Clear rotation property first */
igt_display_commit2(display, COMMIT_UNIVERSAL);
/* disable pipe */
igt_display_commit2(display, COMMIT_LEGACY);
This would result
Rename kms_pipe_color to kms_color, and rename the invalid tests to
pipe-invalid.
To prepare for adding support for plane color management.
Signed-off-by: Maarten Lankhorst
---
tests/Makefile.sources | 2 +-
tests/{kms_pipe_color.c =>
Most of these tests have no reason to look at those members,
so try other ways of getting the information.
Signed-off-by: Maarten Lankhorst
---
lib/igt_kms.h | 21
tests/kms_atomic_transition.c | 117
In the future I want to allow tests to commit more properties,
but for this to work I have to fix all properties to work better
with atomic commit. Instead of special casing each
property make a bitmask for all property changed flags, and try to
commit all properties.
This has been the most
In the future I want to allow tests to commit more properties,
but for this to work I have to fix all properties to work better
with atomic commit. Instead of special casing each
property make a bitmask for all property changed flags, and try to
commit all properties.
Changs since v1:
- Mention
Instead of having to special case each property when it's added,
I want to make sure that any test can add arbitrary properties without
having to add too much code. Some of the members I want to expose directly,
and I also add a way to set a blob as property for planes and pipes,
which will be
igt_output_set_pipe with PIPE_ANY used to mean that we bind the output
to any pipe, but this is now a deprecated alias for PIPE_NONE, and
means the output will be unbound.
Because of this it's better to change output->pending_crtc_idx_mask to
an enum pipe, because only a single choice may be
== Series Details ==
Series: RFC: drm: Allow driver-specific ioctls to be registered
URL : https://patchwork.freedesktop.org/series/30962/
State : warning
== Summary ==
Test gem_bad_reloc:
Subgroup negative-reloc-lut-bsd:
pass -> DMESG-WARN (shard-hsw)
Boris Brezillon writes:
> Signed-off-by: Boris Brezillon
Another test we should have: Queue up a big rendering job (Copy a
2048x2048@32bpp BO?), mark the source purgeable, force the purge, wait
for rendering, make sure we
Boris Brezillon writes:
> On Wed, 27 Sep 2017 13:50:30 +0100
> Chris Wilson wrote:
>
>> Quoting Boris Brezillon (2017-09-27 13:41:41)
>> > Hi Chris,
>> >
>> > On Wed, 27 Sep 2017 13:07:28 +0100
>> > Chris Wilson
Quoting Oscar Mateo (2017-09-27 18:37:07)
>
>
> On 09/27/2017 03:37 AM, Mika Kuoppala wrote:
> > Chris Wilson writes:
> >
> >> Quoting Rodrigo Vivi (2017-08-23 00:27:15)
> >>> To avoid a potential hang condition with TLB invalidation
> >>> we need to enable masked bit
On 09/27/2017 03:37 AM, Mika Kuoppala wrote:
Chris Wilson writes:
Quoting Rodrigo Vivi (2017-08-23 00:27:15)
To avoid a potential hang condition with TLB invalidation
we need to enable masked bit 5 of MMIO 0xE5F0 at boot.
Same workaround was in place for previous
== Series Details ==
Series: series starting with [v2,01/11] drm/i915/execlists: Move request
unwinding to a separate function
URL : https://patchwork.freedesktop.org/series/30983/
State : success
== Summary ==
Series 30983v1 series starting with [v2,01/11] drm/i915/execlists: Move request
On 9/27/2017 10:41 PM, Michal Wajdeczko wrote:
On Wed, 27 Sep 2017 11:30:39 +0200, Sagar Arun Kamble
wrote:
We ensure that GuC is completely suspended and client is destroyed
in i915_gem_suspend during i915_driver_unload. So now intel_uc_fini_hw
should just take
On Wed, 27 Sep 2017 11:30:39 +0200, Sagar Arun Kamble
wrote:
We ensure that GuC is completely suspended and client is destroyed
in i915_gem_suspend during i915_driver_unload. So now intel_uc_fini_hw
should just take care of cleanup,
hence
On 9/27/2017 9:26 PM, Michal Wajdeczko wrote:
On Wed, 27 Sep 2017 11:30:33 +0200, Sagar Arun Kamble
wrote:
Prepared generic helpers intel_uc_suspend, intel_uc_resume,
intel_uc_runtime_suspend, intel_uc_runtime_resume. These are
called from respective GEM
== Series Details ==
Series: drm/i915: Allow optimized platform checks
URL : https://patchwork.freedesktop.org/series/30982/
State : success
== Summary ==
Series 30982v1 drm/i915: Allow optimized platform checks
https://patchwork.freedesktop.org/api/1.0/series/30982/revisions/1/mbox/
Test
Quoting Tvrtko Ursulin (2017-09-27 17:41:38)
> From: Tvrtko Ursulin
>
> If we store the platform as a bitmask, and convert the
> IS_PLATFORM macro to use it, we allow the compiler to
> merge the IS_PLATFORM(a) || IS_PLATFORM(b) || ... checks
> into a single conditional.
On 9/27/2017 9:17 PM, Michal Wajdeczko wrote:
On Wed, 27 Sep 2017 11:30:32 +0200, Sagar Arun Kamble
wrote:
This patch moves GuC suspend/resume handlers to corresponding GEM
handlers
and orders them properly in the runtime and system suspend/resume flows.
On 9/27/2017 9:11 PM, Michal Wajdeczko wrote:
On Wed, 27 Sep 2017 11:30:31 +0200, Sagar Arun Kamble
wrote:
These changes are preparation to handle GuC suspend/resume. Prepared
helper i915_gem_runtime_resume to reinitialize suspended gem setup.
Returning status
When we write to ELSP, it triggers a context preemption at the earliest
arbitration point (3DPRIMITIVE, some PIPECONTROLs, a few other
operations and the explicit MI_ARB_CHECK). If this is to the same
context, it triggers a LITE_RESTORE where the RING_TAIL is merely
updated (used currently to
Use a priority stored in the context as the initial value when
submitting a request. This allows us to change the default priority on a
per-context basis, allowing different contexts to be favoured with GPU
time at the expense of lower importance work. The user can adjust the
context's priority
With preemption, we will want to "unsubmit" a request, taking it back
from the hw and returning it to the priority sorted execution list. In
order to know where to insert it into that list, we need to remember
its adjust priority (which may change even as it was being executed).
Signed-off-by:
Move the re-enabling of MI arbitration from a per-bb w/a buffer to the
emission of the batch buffer itself.
Signed-off-by: Chris Wilson
---
drivers/gpu/drm/i915/intel_lrc.c | 24
1 file changed, 4 insertions(+), 20 deletions(-)
diff --git
In the next few patches, we wish to enable different features for the
scheduler, some which may subtlety change ABI (e.g. allow requests to be
reordered under different circumstances). So we need to make sure
userspace is cognizant of the changes (if they care), by which we employ
the usual method
Let the listener know that the context we just scheduled out was not
complete, and will be scheduled back in at a later point.
v2: Handle CONTEXT_STATUS_PREEMPTED in gvt by aliasing it to
CONTEXT_STATUS_OUT for the moment, gvt can expand upon the difference
later.
Signed-off-by: Chris Wilson
Add another perma-pinned context for using for preemption at any time.
We cannot just reuse the existing kernel context, as first and foremost
we need to ensure that we can preempt the kernel context itself, so
require a distinct context id. Similar to the kernel context, we may
want to interrupt
From: Michał Winiarski
Avoid the repeated rbtree lookup for each request as we unwind them by
tracking the last priolist.
v2: Fix up my unhelpful suggestion of using default_priolist.
Signed-off-by: Michał Winiarski
Signed-off-by: Chris
From: Michał Winiarski
Supporting fine-granularity preemption levels may require changes in
userspace batch buffer programming. Therefore, we need to fallback to
safe default values, rather that use hardware defaults. Userspace is
still able to enable
Some refinement from the earlier version, as Michal pointed some
workarounds we needed to prevent an obstructive break in ABI.
Preemption granularity affects how userspace should consider building
batches, so we need to match sure that as we switch preemption on, the
granulatity doesn't change.
In the future, we will want to unwind requests following a preemption
point. This requires the same steps as for unwinding upon a reset, so
extract the existing code to a separate function for later use.
Signed-off-by: Chris Wilson
Reviewed-by: Mika Kuoppala
1 - 100 of 208 matches
Mail list logo