[Intel-gfx] [PATCH 14/15] Documentation/drm: kerneldoc for GuC

2015-07-03 Thread Dave Gordon
From: Alex Dai yu@intel.com Add overview design of GuC, plus some key points related to the implementation. Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- Documentation/DocBook/drm.tmpl | 19 +++ 1 file changed, 19 insertions

[Intel-gfx] [PATCH 04/15] drm/i915: Add GuC-related header files

2015-07-03 Thread Dave Gordon
Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_guc_reg.h | 102 +++ drivers/gpu/drm/i915/intel_guc_fwif.h | 236 ++ 2 files changed, 338 insertions(+) create mode 100644 drivers/gpu/drm/i915/i915_guc_reg.h create mode

[Intel-gfx] [PATCH 09/15] drm/i915: Enable GuC firmware log

2015-07-03 Thread Dave Gordon
From: Alex Dai yu@intel.com Allocate a GEM object to hold GuC log data. A debugfs interface (i915_guc_log_dump) is provided to print out the log content. v2: Add struct members at point of use [Chris Wilson] Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave

[Intel-gfx] [PATCH 10/15] drm/i915: Implementation of GuC client

2015-07-03 Thread Dave Gordon
] Rationalise type declarations [Chris Wilson] Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_guc_submission.c | 661 + drivers/gpu/drm/i915/intel_guc.h | 43 ++ drivers/gpu

[Intel-gfx] [PATCH 03/15] drm/i915: Add GuC-related module parameters

2015-07-03 Thread Dave Gordon
@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_drv.h| 2 ++ drivers/gpu/drm/i915/i915_params.c | 9 + 2 files changed, 11 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index b0bb07d..9618f57 100644

[Intel-gfx] [PATCH 00/15 v3] Batch submission via GuC

2015-07-03 Thread Dave Gordon
: GuC submission setup, phase 1 drm/i915: Enable GuC firmware log drm/i915: Integrate GuC-based command submission Documentation/drm: kerneldoc for GuC Dave Gordon (8): drm/i915: Add i915_gem_object_create_from_data() drm/i915: Embedded microcontroller (uC) firmware loading support drm

[Intel-gfx] [PATCH 13/15] drm/i915: Debugfs interface for GuC submission statistics

2015-07-03 Thread Dave Gordon
This provides a means of reading status and counts relating to GuC actions and submissions. v2: Remove surplus blank line in output [Chris Wilson] Signed-off-by: Dave Gordon david.s.gor...@intel.com Signed-off-by: Alex Dai yu@intel.com --- drivers/gpu/drm/i915/i915_debugfs.c | 40

[Intel-gfx] [PATCH 15/15] drm/i915: Enable GuC submission, where supported

2015-07-03 Thread Dave Gordon
Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_params.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c index a8f48dd..479c97b 100644 --- a/drivers/gpu/drm/i915

[Intel-gfx] [PATCH 12/15] drm/i915: Integrate GuC-based command submission

2015-07-03 Thread Dave Gordon
declarations [Chris Wilson] Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_debugfs.c| 2 +- drivers/gpu/drm/i915/i915_guc_submission.c | 48 +++--- drivers/gpu/drm/i915

[Intel-gfx] [PATCH 11/15] drm/i915: Interrupt routing for GuC submission

2015-07-03 Thread Dave Gordon
Turn on interrupt steering to route necessary interrupts to GuC. Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_reg.h | 11 +-- drivers/gpu/drm/i915/intel_guc_loader.c | 51

Re: [Intel-gfx] [PATCH 2/2 i-g-t] lib/igt.cocci: Add 64-bit and float compare functions

2015-07-03 Thread Dave Gordon
On 01/07/15 14:02, Daniel Vetter wrote: On Tue, Jun 30, 2015 at 11:14:54AM -0300, Paulo Zanoni wrote: 2015-06-30 10:54 GMT-03:00 Chris Wilson ch...@chris-wilson.co.uk: On Tue, Jun 30, 2015 at 02:41:09PM +0100, Michel Thierry wrote: @@ -1109,7 +1109,7 @@ static void setup_sink_crc(void)

[Intel-gfx] [PATCH 2/2] drm/i915: Defer late hardware initialisation until first open

2015-06-30 Thread Dave Gordon
complete environment than the driver_load stage presents. This can be important for embedded programmable devices that need firmware loaded from a file before they can be used. Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_drv.h |1 + drivers/gpu/drm

Re: [Intel-gfx] [PATCH] drm/i915: Preallocate request before access of the ring

2015-06-29 Thread Dave Gordon
On 29/06/15 12:39, Jani Nikula wrote: On Wed, 06 May 2015, Daniel Vetter dan...@ffwll.ch wrote: On Thu, Apr 30, 2015 at 01:54:41PM +0100, Dave Gordon wrote: On 29/04/15 17:10, yu@intel.com wrote: From: Alex Dai yu@intel.com This is to avoid bad IO access caused by writing NOOP

Re: [Intel-gfx] [PATCH 09/17 v2] drm/i915: Expose two LRC functions for GuC submission mode

2015-06-26 Thread Dave Gordon
On 26/06/15 08:31, Chris Wilson wrote: On Thu, Jun 25, 2015 at 01:57:16PM -0700, Yu Dai wrote: On 06/25/2015 07:40 AM, Dave Gordon wrote: GuC submission is basically execlist submission, but with the GuC handling the actual writes to the ELSP and the resulting context switch interrupts. So

Re: [Intel-gfx] [PATCH] sna: Correct misspelled cacheing-caching in comments

2015-06-26 Thread Dave Gordon
On 24/06/15 11:04, Chris Wilson wrote: On Tue, Jun 23, 2015 at 07:45:42AM +0200, Sedat Dilek wrote: I have seen this typo once and added an entry to codespell's dictionary.txt file. $ diff -uprN /usr/share/codespell/dictionary.txt.orig /usr/share/codespell/dictionary.txt ---

Re: [Intel-gfx] [PATCH libdrm] intel: Add EXEC_OBJECT_SUPPORTS_48BADDRESS flag.

2015-06-26 Thread Dave Gordon
On 23/06/15 13:21, Michel Thierry wrote: Gen8+ supports 48-bit virtual addresses, but some objects must always be allocated inside the 32-bit address range. In specific, any resource used with flat/heapless (0x-0xf000) General State Heap (GSH) or Intruction State Heap (ISH) must

Re: [Intel-gfx] [PATCH 12/18] drm/i915/gtt: Fill scratch page

2015-06-26 Thread Dave Gordon
On 25/06/15 18:51, Chris Wilson wrote: On Thu, Jun 25, 2015 at 06:35:14PM +0300, Mika Kuoppala wrote: During review of dynamic page tables series, I was able to hit a lite restore bug with execlists. I assume that due to incorrect pd, the batch run out of legit address space and into the

Re: [Intel-gfx] [PATCH] drm/i915: Reserve space improvements

2015-06-26 Thread Dave Gordon
On 25/06/15 19:38, Tomas Elf wrote: On 24/06/2015 18:03, john.c.harri...@intel.com wrote: From: John Harrison john.c.harri...@intel.com An earlier patch was added to reserve space in the ring buffer for the commands issued during 'add_request()'. The initial version was pessimistic in the

Re: [Intel-gfx] [PATCH v4 4/6] drm/i915/gen8: Add WaFlushCoherentL3CacheLinesAtContextSwitch workaround

2015-06-26 Thread Dave Gordon
On 16/06/15 21:38, Chris Wilson wrote: On Tue, Jun 16, 2015 at 08:25:23PM +0100, Arun Siluvery wrote: +/* WaFlushCoherentL3CacheLinesAtContextSwitch:bdw */ +if (IS_BROADWELL(ring-dev)) { +struct drm_i915_private *dev_priv = ring-dev-dev_private; dev_priv =

Re: [Intel-gfx] [PATCH 01/15] drm/i915: Add i915_gem_object_write() to i915_gem.c

2015-06-25 Thread Dave Gordon
On 24/06/15 10:32, Daniel Vetter wrote: On Thu, Jun 18, 2015 at 07:28:26PM +0100, Dave Gordon wrote: On 18/06/15 15:31, Daniel Vetter wrote: On Thu, Jun 18, 2015 at 12:49:55PM +0100, Dave Gordon wrote: On 17/06/15 13:02, Daniel Vetter wrote: On Wed, Jun 17, 2015 at 08:23:40AM +0100, Dave

[Intel-gfx] [PATCH 07/17 v2] drm/i915: Split late for_each_ring loop from i915_gem_init_hw()

2015-06-25 Thread Dave Gordon
the inline loop with a call. This will allow a future patch to add a call from another locations (for now, there are no other calls). Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_drv.h |1 + drivers/gpu/drm/i915/i915_gem.c | 85

[Intel-gfx] [PATCH 10/17 v2] drm/i915: GuC submission setup, phase 1

2015-06-25 Thread Dave Gordon
) and the GuC's debug log. v2: Remove redundant initialisation [Chris Wilson] Defer adding struct members until needed [Chris Wilson] Local functions should pass dev_priv rather than dev [Chris Wilson] Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon

[Intel-gfx] [PATCH 03/17 v2] drm/i915: Add GuC-related module parameters

2015-06-25 Thread Dave Gordon
@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_drv.h|2 ++ drivers/gpu/drm/i915/i915_params.c |9 + 2 files changed, 11 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 7942ac5..0362f25

[Intel-gfx] [PATCH 11/17 v2] drm/i915: Enable GuC firmware log

2015-06-25 Thread Dave Gordon
From: Alex Dai yu@intel.com Allocate a GEM object to hold GuC log data. A debugfs interface (i915_guc_log_dump) is provided to print out the log content. v2: Add struct members at point of use [Chris Wilson] Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave

[Intel-gfx] [PATCH 16/17 v2] Documentation/drm: kerneldoc for GuC

2015-06-25 Thread Dave Gordon
From: Alex Dai yu@intel.com Add overview design of GuC, plus some key points related to the implementation. Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- Documentation/DocBook/drm.tmpl | 19 +++ 1 file changed, 19

[Intel-gfx] [PATCH 15/17 v2] drm/i915: Debugfs interface for GuC submission statistics

2015-06-25 Thread Dave Gordon
This provides a means of reading status and counts relating to GuC actions and submissions. v2: Remove surplus blank line in output [Chris Wilson] Signed-off-by: Dave Gordon david.s.gor...@intel.com Signed-off-by: Alex Dai yu@intel.com --- drivers/gpu/drm/i915/i915_debugfs.c | 40

[Intel-gfx] [PATCH 13/17 v2] drm/i915: Interrupt routing for GuC submission

2015-06-25 Thread Dave Gordon
Turn on interrupt steering to route necessary interrupts to GuC. Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_reg.h | 11 +-- drivers/gpu/drm/i915/intel_guc_loader.c | 51

[Intel-gfx] [PATCH 17/17 v2] drm/i915: Enable GuC submission, where supported

2015-06-25 Thread Dave Gordon
Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_params.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c index a8f48dd..479c97b 100644 --- a/drivers/gpu/drm/i915

[Intel-gfx] [PATCH 00/17 v2] Batch submission via GuC

2015-06-25 Thread Dave Gordon
/i915: Integrate GuC-based command submission Documentation/drm: kerneldoc for GuC Dave Gordon (10): drm/i915: Add i915_gem_object_create_from_data() drm/i915: Embedded microcontroller (uC) firmware loading support drm/i915: Add GuC-related header files drm/i915: Split late for_each_ring

[Intel-gfx] [PATCH 09/17 v2] drm/i915: Expose two LRC functions for GuC submission mode

2015-06-25 Thread Dave Gordon
, changing their names to better describe what they do (they're related to logical ring contexts rather than to execlists per se). v2: Replaces previous drm/i915: Move execlists defines from .c to .h Issue: VIZ-4884 Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915

[Intel-gfx] [PATCH 04/17 v2] drm/i915: Add GuC-related header files

2015-06-25 Thread Dave Gordon
Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_guc_reg.h | 102 ++ drivers/gpu/drm/i915/intel_guc_fwif.h | 236 + 2 files changed, 338 insertions(+) create mode 100644 drivers/gpu/drm/i915/i915_guc_reg.h create mode

[Intel-gfx] [PATCH 02/17 v2] drm/i915: Embedded microcontroller (uC) firmware loading support

2015-06-25 Thread Dave Gordon
loader, thus reducing code duplication and testing effort. v2: Local functions should pass dev_priv rather than dev [Chris Wilson] Various other improvements per Chris Wilson's review comments Signed-off-by: Dave Gordon david.s.gor...@intel.com Signed-off-by: Alex Dai yu@intel.com

[Intel-gfx] [PATCH 06/17 v2] drm/i915: Debugfs interface to read GuC load status

2015-06-25 Thread Dave Gordon
Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_debugfs.c | 45 +++ 1 file changed, 45 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915

[Intel-gfx] [PATCH 05/17 v2] drm/i915: GuC-specific firmware loader

2015-06-25 Thread Dave Gordon
with the unified firmware loading mechanism by Dave Gordon as well as new firmware layout etc. v2: Various improvements per review comments by Chris Wilson Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/Makefile

[Intel-gfx] [PATCH 08/17 v2] drm/i915: Defer default hardware context initialisation until first open

2015-06-25 Thread Dave Gordon
be in non-GuC mode, and will be allowed to complete even if the GuC cannot be loaded or used. Issue: VIZ-4884 Signed-off-by: Dave Gordon david.s.gor...@intel.com Signed-off-by: Alex Dai yu@intel.com --- drivers/gpu/drm/i915/i915_drv.h |2 ++ drivers/gpu/drm/i915/i915_gem.c

[Intel-gfx] [PATCH 12/17 v2] drm/i915: Implementation of GuC client

2015-06-25 Thread Dave Gordon
] Rationalise type declarations [Chris Wilson] Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_guc_submission.c | 661 drivers/gpu/drm/i915/intel_guc.h | 43 ++ drivers/gpu

[Intel-gfx] [PATCH 14/17 v2] drm/i915: Integrate GuC-based command submission

2015-06-25 Thread Dave Gordon
declarations [Chris Wilson] Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_debugfs.c|2 +- drivers/gpu/drm/i915/i915_guc_submission.c | 48 +--- drivers/gpu/drm/i915

[Intel-gfx] [PATCH 01/17 v2] drm/i915: Add i915_gem_object_create_from_data()

2015-06-25 Thread Dave Gordon
-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_drv.h |2 ++ drivers/gpu/drm/i915/i915_gem.c | 39 +++ 2 files changed, 41 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv.h b

Re: [Intel-gfx] [PATCH 00/15] Batch submission via GuC

2015-06-25 Thread Dave Gordon
On 17/06/15 13:43, Daniel Vetter wrote: On Mon, Jun 15, 2015 at 07:36:18PM +0100, Dave Gordon wrote: This patch series enables command submission via the GuC. In this mode, instead of the host CPU driving the execlist port directly, it hands over work items to the GuC, using a doorbell

Re: [Intel-gfx] [PATCH 14/15] drm/i915: Debugfs interface for GuC submission statistics

2015-06-24 Thread Dave Gordon
On 16/06/15 10:28, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:32PM +0100, Dave Gordon wrote: This provides a means of reading status and counts relating to GuC actions and submissions. Anything that ends to ease debugging also tends to ease postmortem error analysis... So maybe

Re: [Intel-gfx] [PATCH 04/15] drm/i915: Add GuC-related header files

2015-06-24 Thread Dave Gordon
On 15/06/15 21:20, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:22PM +0100, Dave Gordon wrote: From: Alex Dai yu@intel.com intel_guc_api.h contains the subset of the GuC interface that we will need for submission of commands through the GuC. These MUST be kept in sync

Re: [Intel-gfx] [PATCH 01/15] drm/i915: Add i915_gem_object_write() to i915_gem.c

2015-06-23 Thread Dave Gordon
On 22/06/15 13:37, Chris Wilson wrote: On Mon, Jun 22, 2015 at 12:59:00PM +0100, Dave Gordon wrote: On 19/06/15 09:44, Chris Wilson wrote: On Thu, Jun 18, 2015 at 07:07:46PM +0100, Dave Gordon wrote: On 18/06/15 13:10, Chris Wilson wrote: On Thu, Jun 18, 2015 at 12:49:55PM +0100, Dave Gordon

Re: [Intel-gfx] [PATCH 04/15] drm/i915: Add GuC-related header files

2015-06-23 Thread Dave Gordon
On 17/06/15 16:01, Dave Gordon wrote: On 15/06/15 21:20, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:22PM +0100, Dave Gordon wrote: From: Alex Dai yu@intel.com intel_guc_api.h contains the subset of the GuC interface that we will need for submission of commands through the GuC

Re: [Intel-gfx] [PATCH 12/15] drm/i915: Interrupt routing for GuC submission

2015-06-23 Thread Dave Gordon
On 17/06/15 13:41, Daniel Vetter wrote: On Wed, Jun 17, 2015 at 02:22:19PM +0200, Daniel Vetter wrote: On Wed, Jun 17, 2015 at 09:20:44AM +0100, Dave Gordon wrote: On 16/06/15 10:24, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:30PM +0100, Dave Gordon wrote: +static void

Re: [Intel-gfx] [PATCH 01/15] drm/i915: Add i915_gem_object_write() to i915_gem.c

2015-06-22 Thread Dave Gordon
On 19/06/15 09:44, Chris Wilson wrote: On Thu, Jun 18, 2015 at 07:07:46PM +0100, Dave Gordon wrote: On 18/06/15 13:10, Chris Wilson wrote: On Thu, Jun 18, 2015 at 12:49:55PM +0100, Dave Gordon wrote: On 17/06/15 13:02, Daniel Vetter wrote: Domain handling is required for all gem objects

Re: [Intel-gfx] [PATCH] drm/i915: Avoid GPU stalls from kswapd

2015-06-22 Thread Dave Gordon
On 22/06/15 16:35, Daniel Vetter wrote: On Mon, Jun 22, 2015 at 03:18:12PM +0100, Chris Wilson wrote: On Mon, Jun 22, 2015 at 04:11:01PM +0200, Daniel Vetter wrote: On Fri, Jun 19, 2015 at 02:04:16PM +0100, Chris Wilson wrote: Exclude active GPU pages from the purview of the background

Re: [Intel-gfx] [PATCH 08/15] drm/i915: Move execlists defines from .c to .h

2015-06-22 Thread Dave Gordon
On 17/06/15 08:59, Chris Wilson wrote: On Wed, Jun 17, 2015 at 08:31:59AM +0100, Dave Gordon wrote: On 16/06/15 10:37, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:26PM +0100, Dave Gordon wrote: From: Michael H. Nguyen michael.h.ngu...@intel.com Move defines from intel_lrc.c

Re: [Intel-gfx] [PATCH 06/15] drm/i915: Debugfs interface to read GuC load status

2015-06-19 Thread Dave Gordon
On 16/06/15 10:40, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:24PM +0100, Dave Gordon wrote: From: Alex Dai yu@intel.com The new node provides access to the status of the common uC loader code and the GuC-specific loader; also the scratch registers used for communicatio between

Re: [Intel-gfx] [PATCH 02/15] drm/i915: Embedded microcontroller (uC) firmware loading support

2015-06-19 Thread Dave Gordon
On 18/06/15 15:49, Daniel Vetter wrote: On Thu, Jun 18, 2015 at 01:11:34PM +0100, Dave Gordon wrote: On 17/06/15 13:05, Daniel Vetter wrote: On Mon, Jun 15, 2015 at 07:36:20PM +0100, Dave Gordon wrote: Current devices may contain one or more programmable microcontrollers that need to have

Re: [Intel-gfx] [PATCH 07/15] drm/i915: Defer default hardware context initialisation until first open

2015-06-19 Thread Dave Gordon
On 17/06/15 13:18, Daniel Vetter wrote: On Mon, Jun 15, 2015 at 07:36:25PM +0100, Dave Gordon wrote: In order to fully initialise the default contexts, we have to execute batchbuffer commands on the GPU engines. But in the case of GuC-based batch submission, we can't do that until any required

Re: [Intel-gfx] [PATCH 07/15] drm/i915: Defer default hardware context initialisation until first open

2015-06-19 Thread Dave Gordon
On 16/06/15 10:35, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:25PM +0100, Dave Gordon wrote: +static int i915_gem_context_first_open(struct drm_device *dev) +{ +struct drm_i915_private *dev_priv = dev-dev_private; +int ret; + +/* + * We can't enable contexts until

Re: [Intel-gfx] [PATCH 05/15] drm/i915: GuC-specific firmware loader

2015-06-19 Thread Dave Gordon
On 18/06/15 21:12, Chris Wilson wrote: On Thu, Jun 18, 2015 at 10:53:10AM -0700, Yu Dai wrote: On 06/15/2015 01:30 PM, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:23PM +0100, Dave Gordon wrote: + /* Set the source address for the new blob */ + offset = i915_gem_obj_ggtt_offset

Re: [Intel-gfx] [PATCH 09/15] drm/i915: GuC submission setup, phase 1

2015-06-19 Thread Dave Gordon
On 15/06/15 22:32, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:27PM +0100, Dave Gordon wrote: +static struct drm_i915_gem_object *gem_allocate_guc_obj(struct drm_device *dev, +u32 size) +{ +struct drm_i915_gem_object *obj

Re: [Intel-gfx] [PATCH 13/15] drm/i915: Integrate GuC-based command submission

2015-06-19 Thread Dave Gordon
On 16/06/15 10:22, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:31PM +0100, Dave Gordon wrote: From: Alex Dai yu@intel.com GuC-based submission is mostly the same as execlist mode, up to intel_logical_ring_advance_and_submit(), where the context being dispatched would be added

Re: [Intel-gfx] [PATCH 09/15] drm/i915: GuC submission setup, phase 1

2015-06-19 Thread Dave Gordon
On 19/06/15 18:02, Dave Gordon wrote: On 15/06/15 22:32, Chris Wilson wrote: [snip] Try to keep comments to explain why rather than what. Most of the comments here fall into the i++; // postincrement i category. -Chris Most of the what comments in this file are associated with accesses

Re: [Intel-gfx] [PATCH 11/15] drm/i915: Implementation of GuC client

2015-06-19 Thread Dave Gordon
On 15/06/15 22:55, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:29PM +0100, Dave Gordon wrote: +/* Get valid workqueue item and return it back to offset */ +static int guc_get_workqueue_space(struct i915_guc_client *gc, u32 *offset) +{ +struct guc_process_desc *desc; +void *base

Re: [Intel-gfx] [PATCH 01/15] drm/i915: Add i915_gem_object_write() to i915_gem.c

2015-06-18 Thread Dave Gordon
On 17/06/15 13:02, Daniel Vetter wrote: On Wed, Jun 17, 2015 at 08:23:40AM +0100, Dave Gordon wrote: On 15/06/15 21:09, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:19PM +0100, Dave Gordon wrote: From: Alex Dai yu@intel.com i915_gem_object_write() is a generic function to copy data

Re: [Intel-gfx] [PATCH 02/15] drm/i915: Embedded microcontroller (uC) firmware loading support

2015-06-18 Thread Dave Gordon
On 17/06/15 13:05, Daniel Vetter wrote: On Mon, Jun 15, 2015 at 07:36:20PM +0100, Dave Gordon wrote: Current devices may contain one or more programmable microcontrollers that need to have a firmware image (aka binary blob) loaded from an external medium and transferred to the device's memory

Re: [Intel-gfx] [RFC 03/11] drm/i915: Add reset stats entry point for per-engine reset.

2015-06-18 Thread Dave Gordon
On 16/06/15 14:54, Chris Wilson wrote: On Tue, Jun 16, 2015 at 03:48:09PM +0200, Daniel Vetter wrote: On Mon, Jun 08, 2015 at 06:33:59PM +0100, Chris Wilson wrote: On Mon, Jun 08, 2015 at 06:03:21PM +0100, Tomas Elf wrote: In preparation for per-engine reset add way for setting context reset

Re: [Intel-gfx] [PATCH 05/15] drm/i915: GuC-specific firmware loader

2015-06-18 Thread Dave Gordon
On 15/06/15 21:30, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:23PM +0100, Dave Gordon wrote: +/* We can't enable contexts until all firmware is loaded */ +ret = intel_guc_ucode_load(dev, false); Pardon. I know context initialisation is broken, but adding to that breakage

Re: [Intel-gfx] [PATCH 01/15] drm/i915: Add i915_gem_object_write() to i915_gem.c

2015-06-18 Thread Dave Gordon
On 18/06/15 13:10, Chris Wilson wrote: On Thu, Jun 18, 2015 at 12:49:55PM +0100, Dave Gordon wrote: On 17/06/15 13:02, Daniel Vetter wrote: Domain handling is required for all gem objects, and the resulting bugs if you don't for one-off objects are absolutely no fun to track down

Re: [Intel-gfx] [PATCH 01/15] drm/i915: Add i915_gem_object_write() to i915_gem.c

2015-06-18 Thread Dave Gordon
On 18/06/15 15:31, Daniel Vetter wrote: On Thu, Jun 18, 2015 at 12:49:55PM +0100, Dave Gordon wrote: On 17/06/15 13:02, Daniel Vetter wrote: On Wed, Jun 17, 2015 at 08:23:40AM +0100, Dave Gordon wrote: On 15/06/15 21:09, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:19PM +0100, Dave

Re: [Intel-gfx] (no subject)

2015-06-18 Thread Dave Gordon
On 17/06/15 12:04, Daniel Vetter wrote: On Fri, Jun 12, 2015 at 09:25:36PM +0100, Dave Gordon wrote: Updated version split into two. The first tidies up the _ring_prepare() functions and removes the corner case where we might have had to wait twice; the second is a temporary workaround

Re: [Intel-gfx] [PATCH 08/15] drm/i915: Move execlists defines from .c to .h

2015-06-17 Thread Dave Gordon
On 16/06/15 10:37, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:26PM +0100, Dave Gordon wrote: From: Michael H. Nguyen michael.h.ngu...@intel.com Move defines from intel_lrc.c to i915_reg.h so they are accessible to the GuC submission code; and expose a previously static function

Re: [Intel-gfx] [PATCH 01/15] drm/i915: Add i915_gem_object_write() to i915_gem.c

2015-06-17 Thread Dave Gordon
On 15/06/15 21:09, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:19PM +0100, Dave Gordon wrote: From: Alex Dai yu@intel.com i915_gem_object_write() is a generic function to copy data from a plain linear buffer to a paged gem object. We will need this for the microcontroller firmware

Re: [Intel-gfx] [PATCH 12/15] drm/i915: Interrupt routing for GuC submission

2015-06-17 Thread Dave Gordon
On 16/06/15 10:24, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:30PM +0100, Dave Gordon wrote: +static void direct_interrupts_to_guc(struct drm_i915_private *dev_priv) +{ +struct intel_engine_cs *ring; +int i, irqs; + +/* tell all command streamers to forward interrupts

Re: [Intel-gfx] [PATCH 04/15] drm/i915: Add GuC-related header files

2015-06-17 Thread Dave Gordon
On 15/06/15 21:20, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:36:22PM +0100, Dave Gordon wrote: From: Alex Dai yu@intel.com intel_guc_api.h contains the subset of the GuC interface that we will need for submission of commands through the GuC. These MUST be kept in sync

Re: [Intel-gfx] [RFC] drm/i915: prevent out of range pt in the PDE macros (take 2)

2015-06-16 Thread Dave Gordon
On 15/06/15 11:53, Chris Wilson wrote: On Mon, Jun 15, 2015 at 11:33:37AM +0100, Dave Gordon wrote: On 13/06/15 09:28, Chris Wilson wrote: On Fri, Jun 12, 2015 at 06:30:56PM -0300, Paulo Zanoni wrote: From: Paulo Zanoni paulo.r.zan...@intel.com We tried to fix this in the following commit

Re: [Intel-gfx] [PATCH] drm/i915: Reinstate order of operations in {intel, logical}_ring_begin()

2015-06-16 Thread Dave Gordon
On 15/06/15 21:41, Chris Wilson wrote: On Mon, Jun 15, 2015 at 07:11:37PM +0100, Dave Gordon wrote: It still applies. If you submit say 1024 interrupted execbuffers they What is an interrupted execbuffer? AFAICT we hold the struct_mutex while stuffing the ringbuffer so we can only ever

Re: [Intel-gfx] [RFC] drm/i915: prevent out of range pt in the PDE macros (take 2)

2015-06-15 Thread Dave Gordon
On 13/06/15 09:28, Chris Wilson wrote: On Fri, Jun 12, 2015 at 06:30:56PM -0300, Paulo Zanoni wrote: From: Paulo Zanoni paulo.r.zan...@intel.com We tried to fix this in the following commit: commit fdc454c1484a20e1345cf4e4d7a9feaee814147f Author: Michel Thierry michel.thie...@intel.com

Re: [Intel-gfx] [RFC] drm/i915: prevent out of range pt in the PDE macros (take 2)

2015-06-15 Thread Dave Gordon
On 12/06/15 22:30, Paulo Zanoni wrote: From: Paulo Zanoni paulo.r.zan...@intel.com We tried to fix this in the following commit: commit fdc454c1484a20e1345cf4e4d7a9feaee814147f Author: Michel Thierry michel.thie...@intel.com Date: Tue Mar 24 15:46:19 2015 + drm/i915: Prevent

Re: [Intel-gfx] [PATCH] drm/i915: Make sure our labels start at column 0

2015-06-15 Thread Dave Gordon
On 15/06/15 13:34, Daniel Vetter wrote: On Fri, Jun 05, 2015 at 12:27:21PM +0300, Ville Syrjälä wrote: On Fri, Jun 05, 2015 at 12:24:45PM +0300, Jani Nikula wrote: On Thu, 04 Jun 2015, Ville Syrjälä ville.syrj...@linux.intel.com wrote: On Thu, Jun 04, 2015 at 04:56:18PM +0100, Damien Lespiau

[Intel-gfx] [PATCH 13/15] drm/i915: Integrate GuC-based command submission

2015-06-15 Thread Dave Gordon
requests to the GuC, the GuC firmware requires the ring-tail-offset to be represented as an 11-bit value, expressed in QWords. Therefore, the ringbuffer size must be reduced to the representable range (4 pages). Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave

[Intel-gfx] [PATCH 16/15] drm/i915: Enable GuC submission, where supported

2015-06-15 Thread Dave Gordon
Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_params.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c index 5134095..926a6df 100644 --- a/drivers/gpu/drm/i915

Re: [Intel-gfx] [PATCH] drm/i915/skl: replace csr_mutex by completion in csr firmware loading

2015-06-15 Thread Dave Gordon
On 15/06/15 11:07, Daniel Vetter wrote: On Thu, Jun 04, 2015 at 03:36:32PM +0100, Dave Gordon wrote: On 04/06/15 06:59, Sagar Arun Kamble wrote: Hi Daniel, We already are grabbing RPM reference before start of DMC FW load and release post load completion. DC5/6 can happen without Runtime

[Intel-gfx] [PATCH 02/15] drm/i915: Embedded microcontroller (uC) firmware loading support

2015-06-15 Thread Dave Gordon
loader, thus reducing code duplication and testing effort. Signed-off-by: Dave Gordon david.s.gor...@intel.com Signed-off-by: Alex Dai yu@intel.com --- drivers/gpu/drm/i915/Makefile |3 + drivers/gpu/drm/i915/intel_uc_loader.c | 312 drivers/gpu

[Intel-gfx] [PATCH 04/15] drm/i915: Add GuC-related header files

2015-06-15 Thread Dave Gordon
the GuC firmware and setting it running. Some of these also need to be kept in sync with the firmware. Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_reg.h |4 +- drivers/gpu/drm/i915/intel_guc.h

[Intel-gfx] [PATCH 05/15] drm/i915: GuC-specific firmware loader

2015-06-15 Thread Dave Gordon
with the unified firmware loading mechanism by Dave Gordon as well as new firmware layout etc. Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/Makefile |3 + drivers/gpu/drm/i915/i915_dma.c

[Intel-gfx] [PATCH 03/15] drm/i915: Add GuC-related module parameters

2015-06-15 Thread Dave Gordon
@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_drv.h|2 ++ drivers/gpu/drm/i915/i915_params.c |9 + 2 files changed, 11 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 9094c06..731a1c8

[Intel-gfx] [PATCH 07/15] drm/i915: Defer default hardware context initialisation until first open

2015-06-15 Thread Dave Gordon
be in non-GuC mode, and will be allowed to complete even if the GuC cannot be loaded or used. Issue: VIZ-4884 Signed-off-by: Dave Gordon david.s.gor...@intel.com Signed-off-by: Alex Dai yu@intel.com --- drivers/gpu/drm/i915/i915_drv.h |2 ++ drivers/gpu/drm/i915/i915_gem.c

[Intel-gfx] [PATCH 09/15] drm/i915: GuC submission setup, phase 1

2015-06-15 Thread Dave Gordon
) and the GuC's debug log. Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/Makefile |3 +- drivers/gpu/drm/i915/i915_guc_submission.c | 122 drivers/gpu/drm/i915

[Intel-gfx] [PATCH 10/15] drm/i915: Enable GuC firmware log

2015-06-15 Thread Dave Gordon
From: Alex Dai yu@intel.com Allocate a GEM object to hold GuC log data. A debugfs interface (i915_guc_log_dump) is provided to print out the log content. Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915

[Intel-gfx] [PATCH 11/15] drm/i915: Implementation of GuC client

2015-06-15 Thread Dave Gordon
-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_guc_submission.c | 668 drivers/gpu/drm/i915/intel_guc.h |5 + drivers/gpu/drm/i915/intel_guc_loader.c| 10 + 3 files changed, 683

[Intel-gfx] [PATCH 08/15] drm/i915: Move execlists defines from .c to .h

2015-06-15 Thread Dave Gordon
From: Michael H. Nguyen michael.h.ngu...@intel.com Move defines from intel_lrc.c to i915_reg.h so they are accessible to the GuC submission code; and expose a previously static function in the execlist code which will also be required for GuC submission. Issue: VIZ-4884 Signed-off-by: Michael H.

[Intel-gfx] [PATCH 06/15] drm/i915: Debugfs interface to read GuC load status

2015-06-15 Thread Dave Gordon
-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_debugfs.c | 37 +++ 1 file changed, 37 insertions(+) diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 47636f3..c52a745 100644 --- a/drivers/gpu/drm

[Intel-gfx] [PATCH 14/15] drm/i915: Debugfs interface for GuC submission statistics

2015-06-15 Thread Dave Gordon
This provides a means of reading status and counts relating to GuC actions and submissions. Signed-off-by: Dave Gordon david.s.gor...@intel.com Signed-off-by: Alex Dai yu@intel.com --- drivers/gpu/drm/i915/i915_debugfs.c | 41 +++ 1 file changed, 41

[Intel-gfx] [PATCH 12/15] drm/i915: Interrupt routing for GuC submission

2015-06-15 Thread Dave Gordon
Turn on interrupt steering to route necessary interrupts to GuC. Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/i915_reg.h | 11 +-- drivers/gpu/drm/i915/intel_guc_loader.c | 51

Re: [Intel-gfx] [PATCH] drm/i915: Reinstate order of operations in {intel, logical}_ring_begin()

2015-06-15 Thread Dave Gordon
On 15/06/15 10:15, Chris Wilson wrote: On Mon, Jun 08, 2015 at 07:51:36PM +0100, Dave Gordon wrote: The original idea of preallocating the OLR was implemented in 9d773091 drm/i915: Preallocate next seqno before touching the ring and the sequence of operations was to allocate the OLR

[Intel-gfx] [PATCH 00/15] Batch submission via GuC

2015-06-15 Thread Dave Gordon
: Implementation of GuC client drm/i915: Integrate GuC-based command submission Documentation/drm: kerneldoc for GuC Dave Gordon (5): drm/i915: Embedded microcontroller (uC) firmware loading support drm/i915: Defer default hardware context initialisation until first drm/i915: Interrupt routing for GuC

[Intel-gfx] [PATCH 01/15] drm/i915: Add i915_gem_object_write() to i915_gem.c

2015-06-15 Thread Dave Gordon
From: Alex Dai yu@intel.com i915_gem_object_write() is a generic function to copy data from a plain linear buffer to a paged gem object. We will need this for the microcontroller firmware loading support code. Issue: VIZ-4884 Signed-off-by: Alex Dai yu@intel.com Signed-off-by: Dave

Re: [Intel-gfx] [PATCH v3 6/6] drm/i915/gen8: Add WaRsRestoreWithPerCtxtBb workaround

2015-06-15 Thread Dave Gordon
On 15/06/15 15:10, Siluvery, Arun wrote: On 12/06/2015 18:03, Dave Gordon wrote: On 12/06/15 12:58, Siluvery, Arun wrote: On 09/06/2015 19:43, Dave Gordon wrote: On 05/06/15 14:57, Arun Siluvery wrote: In Per context w/a batch buffer, WaRsRestoreWithPerCtxtBb v2: This patches modifies

Re: [Intel-gfx] [PATCH 1/2] drm/i915: use effective_size for ringbuffer calculations

2015-06-12 Thread Dave Gordon
On 12/06/15 19:12, Chris Wilson wrote: On Fri, Jun 12, 2015 at 06:09:07PM +0100, Dave Gordon wrote: When calculating the available space in a ringbuffer, we should use the effective_size rather than the true size of the ring. v2: rebase to latest drm-intel-nightly v3: rebase to latest drm

[Intel-gfx] [PATCH 2/2] drm/i915: Allocate OLR more safely (workaround until OLR goes away)

2015-06-12 Thread Dave Gordon
described in the two commits mentioned above. So this commit moves the calls to i915_gem_request_alloc() into the middle of {__intel,logical}_ring_prepare() rather than either before or after them. Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/intel_lrc.c

[Intel-gfx] [PATCH 1/2] drm/i915: Don't wait twice in {__intel, logical}_ring_prepare()

2015-06-12 Thread Dave Gordon
of the ringbuffer), and then again to get enough space for the new data that the caller wants to add. Now we just precalculate the total amount of space we'll need *including* any for padding at the end of the ringbuffer and wait for that much in one go. Signed-off-by: Dave Gordon david.s.gor...@intel.com

Re: [Intel-gfx] [PATCH 2/2] drm/i915: Rework order of operations in {__intel, logical}_ring_prepare()

2015-06-12 Thread Dave Gordon
On 12/06/15 19:05, Chris Wilson wrote: On Fri, Jun 12, 2015 at 06:09:08PM +0100, Dave Gordon wrote: The original idea of preallocating the OLR was implemented in 9d773091 drm/i915: Preallocate next seqno before touching the ring and the sequence of operations was to allocate the OLR

[Intel-gfx] (no subject)

2015-06-12 Thread Dave Gordon
Updated version split into two. The first tidies up the _ring_prepare() functions and removes the corner case where we might have had to wait twice; the second is a temporary workaround to solve a kernel OOPS that can occur if logical_ring_begin is called while the ringbuffer is not mapped because

[Intel-gfx] [PATCH 1/2] drm/i915: use effective_size for ringbuffer calculations

2015-06-12 Thread Dave Gordon
When calculating the available space in a ringbuffer, we should use the effective_size rather than the true size of the ring. v2: rebase to latest drm-intel-nightly v3: rebase to latest drm-intel-nightly Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/intel_lrc.c

[Intel-gfx] [PATCH v2] Resolve issues with ringbuffer space management

2015-06-12 Thread Dave Gordon
Updates and supersedes the referenced patch, Reinstate order of operations in {intel,logical}_ring_begin() ___ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/intel-gfx

[Intel-gfx] [PATCH 2/2] drm/i915: Rework order of operations in {__intel, logical}_ring_prepare()

2015-06-12 Thread Dave Gordon
now we have to fix it in both paths ... Signed-off-by: Dave Gordon david.s.gor...@intel.com --- drivers/gpu/drm/i915/intel_lrc.c| 64 +++ drivers/gpu/drm/i915/intel_ringbuffer.c | 63 +++--- 2 files changed, 64 insertions(+), 63

Re: [Intel-gfx] [PATCH v3 6/6] drm/i915/gen8: Add WaRsRestoreWithPerCtxtBb workaround

2015-06-12 Thread Dave Gordon
On 12/06/15 12:58, Siluvery, Arun wrote: On 09/06/2015 19:43, Dave Gordon wrote: On 05/06/15 14:57, Arun Siluvery wrote: In Per context w/a batch buffer, WaRsRestoreWithPerCtxtBb v2: This patches modifies definitions of MI_LOAD_REGISTER_MEM and MI_LOAD_REGISTER_REG; Add GEN8 specific

<    5   6   7   8   9   10   11   12   >