[Intel-gfx] [PATCH 12/13] drm/i915: Add sync framework support to execbuff IOCTL

2015-12-11 Thread John . C . Harrison
From: John Harrison Various projects desire a mechanism for managing dependencies between work items asynchronously. This can also include work items across complete different and independent systems. For example, an application wants to retreive a frame from a video in device, using it for rende

[Intel-gfx] [PATCH 06/13] drm/i915: Removed now redudant parameter to i915_gem_request_completed()

2015-12-11 Thread John . C . Harrison
From: John Harrison The change to the implementation of i915_gem_request_completed() means that the lazy coherency flag is no longer used. This can now be removed to simplify the interface. For: VIZ-5190 Signed-off-by: John Harrison --- drivers/gpu/drm/i915/i915_debugfs.c | 2 +- drivers/gpu

[Intel-gfx] [PATCH 08/13] drm/i915: Delay the freeing of requests until retire time

2015-12-11 Thread John . C . Harrison
From: John Harrison The request structure is reference counted. When the count reached zero, the request was immediately freed and all associated objects were unrefereced/unallocated. This meant that the driver mutex lock must be held at the point where the count reaches zero. This was fine while

[Intel-gfx] [PATCH 11/13] android/sync: Fix reversed sense of signaled fence

2015-12-11 Thread John . C . Harrison
From: Peter Lawthers In the 3.14 kernel, a signaled fence was indicated by the status field == 1. In 4.x, a status == 0 indicates signaled, status < 0 indicates error, and status > 0 indicates active. This patch wraps the check for a signaled fence in a function so that callers no longer needs t

[Intel-gfx] [PATCH 09/13] drm/i915: Interrupt driven fences

2015-12-11 Thread John . C . Harrison
From: John Harrison The intended usage model for struct fence is that the signalled status should be set on demand rather than polled. That is, there should not be a need for a 'signaled' function to be called everytime the status is queried. Instead, 'something' should be done to enable a signal

[Intel-gfx] [PATCH 10/13] drm/i915: Updated request structure tracing

2015-12-11 Thread John . C . Harrison
From: John Harrison Added the '_complete' trace event which occurs when a fence/request is signaled as complete. Also moved the notify event from the IRQ handler code to inside the notify function itself. v3: Added the current ring seqno to the notify trace point. For: VIZ-5190 Signed-off-by: J

[Intel-gfx] [PATCH 05/13] drm/i915: Convert requests to use struct fence

2015-12-11 Thread John . C . Harrison
From: John Harrison There is a construct in the linux kernel called 'struct fence' that is intended to keep track of work that is executed on hardware. I.e. it solves the basic problem that the drivers 'struct drm_i915_gem_request' is trying to address. The request structure does quite a lot more

[Intel-gfx] [PATCH 01/13] staging/android/sync: Support sync points created from dma-fences

2015-12-11 Thread John . C . Harrison
From: Maarten Lankhorst Debug output assumes all sync points are built on top of Android sync points and when we start creating them from dma-fences will NULL ptr deref unless taught about this. v4: Corrected patch ownership. Signed-off-by: Maarten Lankhorst Signed-off-by: Tvrtko Ursulin Cc:

[Intel-gfx] [PATCH 02/13] staging/android/sync: add sync_fence_create_dma

2015-12-11 Thread John . C . Harrison
From: Maarten Lankhorst This allows users of dma fences to create a android fence. v2: Added kerneldoc. (Tvrtko Ursulin). v4: Updated comments from review feedback my Maarten. Signed-off-by: Maarten Lankhorst Signed-off-by: Tvrtko Ursulin Cc: Maarten Lankhorst Cc: Daniel Vetter Cc: Jesse B

[Intel-gfx] [PATCH 04/13] android/sync: Improved debug dump to dmesg

2015-12-11 Thread John . C . Harrison
From: John Harrison The sync code has a facility for dumping current state information via debugfs. It also has a way to re-use the same code for dumping to the kernel log on an internal error. However, the redirection was rather clunky and split the output across multiple prints at arbitrary bou

[Intel-gfx] [PATCH 07/13] drm/i915: Add per context timelines to fence object

2015-12-11 Thread John . C . Harrison
From: John Harrison The fence object used inside the request structure requires a sequence number. Although this is not used by the i915 driver itself, it could potentially be used by non-i915 code if the fence is passed outside of the driver. This is the intention as it allows external kernel dr

[Intel-gfx] [PATCH 00/13] Convert requests to use struct fence

2015-12-11 Thread John . C . Harrison
From: John Harrison There is a construct in the linux kernel called 'struct fence' that is intended to keep track of work that is executed on hardware. I.e. it solves the basic problem that the drivers 'struct drm_i915_gem_request' is trying to address. The request structure does quite a lot more

Re: [Intel-gfx] [PATCH] drm/i915: Correct max delay for HDMI hotplug live status checking

2015-12-11 Thread Ville Syrjälä
On Fri, Dec 11, 2015 at 05:05:11AM +, Jindal, Sonika wrote: > How about following instead of two levels of check in the while loop: > > unsigned int retry = 3; > > do { > live_status = intel_digital_port_connected(dev_priv, > hdmi_to_dig_port(intel_hdmi)); >

Re: [Intel-gfx] [PATCH v2] PM / Runtime: Introduce pm_runtime_get_noidle

2015-12-11 Thread Imre Deak
On to, 2015-12-10 at 23:14 +0100, Rafael J. Wysocki wrote: > On Thursday, December 10, 2015 11:20:40 PM Imre Deak wrote: > > On Thu, 2015-12-10 at 22:42 +0100, Rafael J. Wysocki wrote: > > > On Thursday, December 10, 2015 10:36:37 PM Rafael J. Wysocki > > > wrote: > > > > On Thursday, December 10,

Re: [Intel-gfx] [PATCH 2/6] drm/i915: Support for creating Stolen memory backed objects

2015-12-11 Thread Dave Gordon
On 11/12/15 12:19, Tvrtko Ursulin wrote: On 11/12/15 11:22, Ankitprasad Sharma wrote: On Wed, 2015-12-09 at 14:06 +, Tvrtko Ursulin wrote: Hi, On 09/12/15 12:46, ankitprasad.r.sha...@intel.com wrote: From: Ankitprasad Sharma [snip!] +/** + * Requested flags (currently used fo

Re: [Intel-gfx] [PATCH 6/6] drm/i915: Migrate stolen objects before hibernation

2015-12-11 Thread Tvrtko Ursulin
On 11/12/15 05:16, Ankitprasad Sharma wrote: On Thu, 2015-12-10 at 14:15 +, Tvrtko Ursulin wrote: On 10/12/15 13:17, Ankitprasad Sharma wrote: On Thu, 2015-12-10 at 09:43 +, Tvrtko Ursulin wrote: Hi, Two more comments below: On 09/12/15 12:46, ankitprasad.r.sha...@intel.com wrote:

Re: [Intel-gfx] [PATCH] Always mark GEM objects as dirty when written by the CPU

2015-12-11 Thread Chris Wilson
On Fri, Dec 11, 2015 at 12:19:09PM +, Dave Gordon wrote: > On 10/12/15 08:58, Daniel Vetter wrote: > >On Mon, Dec 07, 2015 at 12:51:49PM +, Dave Gordon wrote: > >>I think I missed i915_gem_phys_pwrite(). > >> > >>i915_gem_gtt_pwrite_fast() marks the object dirty for most cases (vit > >>set_

Re: [Intel-gfx] [PATCH 2/6] drm/i915: Support for creating Stolen memory backed objects

2015-12-11 Thread Tvrtko Ursulin
On 11/12/15 11:22, Ankitprasad Sharma wrote: On Wed, 2015-12-09 at 14:06 +, Tvrtko Ursulin wrote: Hi, On 09/12/15 12:46, ankitprasad.r.sha...@intel.com wrote: From: Ankitprasad Sharma Extend the drm_i915_gem_create structure to add support for creating Stolen memory backed objects. Adde

Re: [Intel-gfx] [PATCH] Always mark GEM objects as dirty when written by the CPU

2015-12-11 Thread Dave Gordon
On 10/12/15 08:58, Daniel Vetter wrote: On Mon, Dec 07, 2015 at 12:51:49PM +, Dave Gordon wrote: I think I missed i915_gem_phys_pwrite(). i915_gem_gtt_pwrite_fast() marks the object dirty for most cases (vit set_to_gtt_domain(), but isn't called for all cases (or can return before the set_d

Re: [Intel-gfx] [RFC 08/12] drm/i915: Interrupt driven fences

2015-12-11 Thread Tvrtko Ursulin
Hi, Some random comments, mostly from the point of view of solving the thundering herd problem. On 23/11/15 11:34, john.c.harri...@intel.com wrote: From: John Harrison The intended usage model for struct fence is that the signalled status should be set on demand rather than polled. That is

Re: [Intel-gfx] [PATCH 2/6] drm/i915: Support for creating Stolen memory backed objects

2015-12-11 Thread Ankitprasad Sharma
On Wed, 2015-12-09 at 14:06 +, Tvrtko Ursulin wrote: > Hi, > > On 09/12/15 12:46, ankitprasad.r.sha...@intel.com wrote: > > From: Ankitprasad Sharma > > > > Extend the drm_i915_gem_create structure to add support for > > creating Stolen memory backed objects. Added a new flag through > > whic

Re: [Intel-gfx] [PATCH] drm/i915: Wait for PP cycle delay only if panel is in power off sequence

2015-12-11 Thread Kumar, Shobhit
On 12/11/2015 04:55 PM, Thulasimani, Sivakumar wrote: On 12/10/2015 8:32 PM, Ville Syrjälä wrote: On Thu, Dec 10, 2015 at 08:09:01PM +0530, Thulasimani, Sivakumar wrote: On 12/10/2015 7:08 PM, Ville Syrjälä wrote: On Thu, Dec 10, 2015 at 03:15:37PM +0200, Ville Syrjälä wrote: On Thu, Dec 1

[Intel-gfx] [PATCH 24/32] drm/i915: On GPU reset, set the HWS breadcrumb to the last seqno

2015-12-11 Thread Chris Wilson
After the GPU reset and we discard all of the incomplete requests, mark the GPU as having advanced to the last_submitted_seqno (as having completed the requests and ready for fresh work). The impact of this is negligble, as all the requests will be considered completed by this point, it just brings

[Intel-gfx] [PATCH 28/32] drm/i915: Remove debug noise on detecting fault-injection of missed interrupts

2015-12-11 Thread Chris Wilson
Since the tests can and do explicitly check debugfs/i915_ring_missed_irqs for the handling of a "missed interrupt", adding it to the dmesg at INFO is just noise. When it happens for real, we still class it as an ERROR. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_irq.c | 3 --- 1 fi

[Intel-gfx] [PATCH 23/32] drm/i915: Only query timestamp when measuring elapsed time

2015-12-11 Thread Chris Wilson
Avoid the two calls to ktime_get_raw_ns() (at best it reads the TSC) as we only need to compute the elapsed time for a timed wait. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem.c | 13 + 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i91

[Intel-gfx] [PATCH 31/32] drm/i915: Add background commentary to "waitboosting"

2015-12-11 Thread Chris Wilson
Describe the intent of boosting the GPU frequency to maximum before waiting on the GPU. RPS waitboosting was introduced with commit b29c19b645287f7062e17d70fa4e9781a01a5d88 Author: Chris Wilson Date: Wed Sep 25 17:34:56 2013 +0100 drm/i915: Boost RPS frequency for CPU stalls but lacked a

[Intel-gfx] [PATCH 27/32] drm/i915: Harden detection of missed interrupts

2015-12-11 Thread Chris Wilson
Only declare a missed interrupt if we find that the GPU is idle with waiters and a hangcheck interval has passed in which no new user interrupts have been raised. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_debugfs.c | 6 ++ drivers/gpu/drm/i915/i915_irq.c | 7 +

[Intel-gfx] [PATCH 32/32] drm/i915: Flush the RPS bottom-half when the GPU idles

2015-12-11 Thread Chris Wilson
Make sure that the RPS bottom-half is flushed before we set the idle frequency when we decide the GPU is idle. This should prevent any races with the bottom-half and setting the idle frequency, and ensures that the bottom-half is bounded by the GPU's rpm reference taken for when it is active (i.e.

[Intel-gfx] [PATCH 25/32] drm/i915: Convert trace-irq to the breadcrumb waiter

2015-12-11 Thread Chris Wilson
If we convert the tracing over from direct use of ring->irq_get() and over to the breadcrumb infrastructure, we only have a single user of the ring->irq_get and so we will be able to simplify the driver routines (eliminating the redundant validation and irq refcounting). Signed-off-by: Chris Wilso

[Intel-gfx] [PATCH 02/32] drm/i915: Limit the busy wait on requests to 5us not 10ms!

2015-12-11 Thread Chris Wilson
When waiting for high frequency requests, the finite amount of time required to set up the irq and wait upon it limits the response rate. By busywaiting on the request completion for a short while we can service the high frequency waits as quick as possible. However, if it is a slow request, we wan

[Intel-gfx] [PATCH 30/32] drm/i915: Restore waitboost credit to the synchronous waiter

2015-12-11 Thread Chris Wilson
Ideally, we want to automagically have the GPU respond to the instantaneous load by reclocking itself. However, reclocking occurs relatively slowly, and to the client waiting for a result from the GPU, too late. To compensate and reduce the client latency, we allow the first wait from a client to b

[Intel-gfx] [PATCH 26/32] drm/i915: Move the get/put irq locking into the caller

2015-12-11 Thread Chris Wilson
With only a single callsite for intel_engine_cs->irq_get and ->irq_put, we can reduce the code size by moving the common preamble into the caller, and we can also eliminate the reference counting. For completeness, as we are no longer doing reference counting on irq, rename the get/put vfunctions

[Intel-gfx] [PATCH 20/32] drm/i915: Replace manual barrier() with READ_ONCE() in HWS accessor

2015-12-11 Thread Chris Wilson
When reading from the HWS page, we use barrier() to prevent the compiler optimising away the read from the volatile (may be updated by the GPU) memory address. This is more suited to READ_ONCE(); make it so. Signed-off-by: Chris Wilson Cc: Daniel Vetter --- drivers/gpu/drm/i915/intel_ringbuffer

[Intel-gfx] [PATCH 10/32] drm/i915: Suppress error message when GPU resets are disabled

2015-12-11 Thread Chris Wilson
If we do not have lowlevel support for reseting the GPU, or if the user has explicitly disabled reseting the device, the failure is expected. Since it is an expected failure, we should be using a lower priority message than *ERROR*, perhaps NOTICE. In the absence of DRM_NOTICE, just emit the expect

[Intel-gfx] [PATCH 09/32] drm/i915: Prevent leaking of -EIO from i915_wait_request()

2015-12-11 Thread Chris Wilson
Reporting -EIO from i915_wait_request() has proven very troublematic over the years, with numerous hard-to-reproduce bugs cropping up in the corner case of where a reset occurs and the code wasn't expecting such an error. If the we reset the GPU or have detected a hang and wish to reset the GPU, t

[Intel-gfx] [PATCH 21/32] drm/i915: Broadwell execlists needs exactly the same seqno w/a as legacy

2015-12-11 Thread Chris Wilson
In legacy mode, we use the gen6 seqno barrier to insert a delay after the interrupt before reading the seqno (as the seqno write is not flushed before the interrupt is sent, the interrupt arrives before the seqno is visible). Execlists ignored the evidence of igt. Signed-off-by: Chris Wilson ---

[Intel-gfx] [PATCH 29/32] drm/i915: Only start retire worker when idle

2015-12-11 Thread Chris Wilson
The retire worker is a low frequency task that makes sure we retire outstanding requests if userspace is being lax. We only need to start it once as it remains active until the GPU is idle, so do a cheap test before the more expensive queue_work(). A consequence of this is that we need correct lock

[Intel-gfx] [PATCH 06/32] drm/i915: Tighten reset_counter for reset status

2015-12-11 Thread Chris Wilson
In the reset_counter, we use two bits to track a GPU hang and reset. The low bit is a "reset-in-progress" flag that we set to signal when we need to break waiters in order for the recovery task to grab the mutex. As soon as the recovery task has the mutex, we can clear that flag (which we do by inc

[Intel-gfx] [PATCH 22/32] drm/i915: Stop setting wraparound seqno on initialisation

2015-12-11 Thread Chris Wilson
We have testcases to ensure that seqno wraparound works fine, so we can forgo forcing everyone to encounter seqno wraparound during early uptime. seqno wraparound incurs a full GPU stall so not forcing it will eliminate one jitter from the early system. Using the testcases, we have very determinist

[Intel-gfx] [PATCH 15/32] drm/i915: Slaughter the thundering i915_wait_request herd

2015-12-11 Thread Chris Wilson
One particularly stressful scenario consists of many independent tasks all competing for GPU time and waiting upon the results (e.g. realtime transcoding of many, many streams). One bottleneck in particular is that each client waits on its own results, but every client is woken up after every batch

[Intel-gfx] [PATCH 04/32] drm/i915: Hide the atomic_read(reset_counter) behind a helper

2015-12-11 Thread Chris Wilson
This is principally a little bit of syntatic sugar to hide the atomic_read()s throughout the code to retrieve the current reset_counter. It also provides the other utility functions to check the reset state on the already read reset_counter, so that (in later patches) we can read it once and do mul

[Intel-gfx] [PATCH 03/32] drm/i915: Only spin whilst waiting on the current request

2015-12-11 Thread Chris Wilson
Limit busywaiting only to the request currently being processed by the GPU. If the request is not currently being processed by the GPU, there is a very low likelihood of it being completed within the 2 microsecond spin timeout and so we will just be wasting CPU cycles. v2: Check for logical invers

[Intel-gfx] [PATCH 08/32] drm/i915: Simplify reset_counter handling during atomic modesetting

2015-12-11 Thread Chris Wilson
Now that the reset_counter is stored on the request, we can rearrange the code to handle reading the counter versus waiting during the atomic modesetting for readibility (by deleting the hairiest of codes). Signed-off-by: Chris Wilson Cc: Daniel Vetter --- drivers/gpu/drm/i915/intel_display.c |

[Intel-gfx] [PATCH 11/32] drm/i915: Delay queuing hangcheck to wait-request

2015-12-11 Thread Chris Wilson
We can forgo queuing the hangcheck from the start of every request to until we wait upon a request. This reduces the overhead of every request, but may increase the latency of detecting a hang. Howeever, if nothing every waits upon a hang, did it ever hang? It also improves the robustness of the wa

[Intel-gfx] [PATCH 19/32] drm/i915: Check the CPU cached value of seqno after waking the waiter

2015-12-11 Thread Chris Wilson
If we have multiple waiters, we may find that many complete on the same wake up. If we first inspect the seqno from the CPU cache, we may reduce the number of heavyweight coherent seqno reads we require. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_gem.c | 14 ++ 1 file

[Intel-gfx] [PATCH 17/32] drm/i915: Remove the lazy_coherency parameter from request-completed?

2015-12-11 Thread Chris Wilson
Now that we have split out the seqno-barrier from the engine->get_seqno() callback itself, we can move the users of the seqno-barrier to the required callsites simplifying the common code and making the required workaround handling much more explicit. Signed-off-by: Chris Wilson --- drivers/gpu/

[Intel-gfx] [PATCH 18/32] drm/i915: Use HWS for seqno tracking everywhere

2015-12-11 Thread Chris Wilson
By using the same address for storing the HWS on every platform, we can remove the platform specific vfuncs and reduce the get-seqno routine to a single read of a cached memory location. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_debugfs.c | 10 ++-- drivers/gpu/drm/i915/i915

[Intel-gfx] Slaughter the thundering i915_wait_request, v3?

2015-12-11 Thread Chris Wilson
The biggest change is the revised bottom-half for handling user interupts (now we use the waiter on the oldest request as the bottom-half). That and the review feedback on Daniel on handling resets (and hangcheck) during the wait. Oh, and some interrupt/seqno timing review. Available from http://c

[Intel-gfx] [PATCH 01/32] drm/i915: Break busywaiting for requests on pending signals

2015-12-11 Thread Chris Wilson
The busywait in __i915_spin_request() does not respect pending signals and so may consume the entire timeslice for the task instead of returning to userspace to handle the signal. In the worst case this could cause a delay in signal processing of 20ms, which would be a noticeable jitter in cursor

[Intel-gfx] [PATCH 12/32] drm/i915: Remove the dedicated hangcheck workqueue

2015-12-11 Thread Chris Wilson
The queue only ever contains at most one item and has no special flags. It is just a very simple wrapper around the system-wq - a complication with no benefits. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_dma.c | 11 --- drivers/gpu/drm/i915/i915_drv.h | 1 - drivers/gpu/d

[Intel-gfx] [PATCH 16/32] drm/i915: Separate out the seqno-barrier from engine->get_seqno

2015-12-11 Thread Chris Wilson
In order to simplify the next couple of patches, extract the lazy_coherency optimisation our of the engine->get_seqno() vfunc into its own callback. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_debugfs.c | 6 ++--- drivers/gpu/drm/i915/i915_drv.h | 12 ++ driv

[Intel-gfx] [PATCH 13/32] drm/i915: Make queueing the hangcheck work inline

2015-12-11 Thread Chris Wilson
Since the function is a small wrapper around schedule_delayed_work(), move it inline to remove the function call overhead for the principle caller. Signed-off-by: Chris Wilson --- drivers/gpu/drm/i915/i915_drv.h | 17 - drivers/gpu/drm/i915/i915_irq.c | 16 2 fil

[Intel-gfx] [PATCH 07/32] drm/i915: Store the reset counter when constructing a request

2015-12-11 Thread Chris Wilson
As the request is only valid during the same global reset epoch, we can record the current reset_counter when constructing the request and reuse it when waiting upon that request in future. This removes a very hairy atomic check serialised by the struct_mutex at the time of waiting and allows us to

[Intel-gfx] [PATCH 05/32] drm/i915: Simplify checking of GPU reset_counter in display pageflips

2015-12-11 Thread Chris Wilson
If we, when we store the reset_counter for the operation, we ensure that it is not in a wedged or in the middle of a reset, we can then assert that if any reset occurs the reset_counter must change. Later we can just compare the operation's reset epoch against the current counter to see if we need

[Intel-gfx] [PATCH 14/32] drm/i915: Remove forcewake dance from seqno/irq barrier on legacy gen6+

2015-12-11 Thread Chris Wilson
In order to ensure seqno/irq coherency, we current read a ring register. We are not sure quite how it works, only that is does. Experiments show that e.g. doing a clflush(seqno) instead is not sufficient, but we can remove the forcewake dance from the mmio access. v2: Baytrail wants a clflush too.

Re: [Intel-gfx] [PATCH] drm/i915: Wait for PP cycle delay only if panel is in power off sequence

2015-12-11 Thread Thulasimani, Sivakumar
On 12/10/2015 8:32 PM, Ville Syrjälä wrote: On Thu, Dec 10, 2015 at 08:09:01PM +0530, Thulasimani, Sivakumar wrote: On 12/10/2015 7:08 PM, Ville Syrjälä wrote: On Thu, Dec 10, 2015 at 03:15:37PM +0200, Ville Syrjälä wrote: On Thu, Dec 10, 2015 at 03:01:02PM +0530, Kumar, Shobhit wrote: On

Re: [Intel-gfx] [PATCH v2] PM / Runtime: Introduce pm_runtime_get_noidle

2015-12-11 Thread Dave Gordon
On 10/12/15 22:14, Rafael J. Wysocki wrote: On Thursday, December 10, 2015 11:20:40 PM Imre Deak wrote: On Thu, 2015-12-10 at 22:42 +0100, Rafael J. Wysocki wrote: On Thursday, December 10, 2015 10:36:37 PM Rafael J. Wysocki wrote: On Thursday, December 10, 2015 11:43:50 AM Imre Deak wrote: O

Re: [Intel-gfx] [PATCH V4 2/2] drm/i915: start adding dp mst audio

2015-12-11 Thread Takashi Iwai
On Fri, 11 Dec 2015 07:07:53 +0100, Libin Yang wrote: > > >>> diff --git a/drivers/gpu/drm/i915/intel_audio.c > >>> b/drivers/gpu/drm/i915/intel_audio.c > >>> index 9aa83e7..5ad2e66 100644 > >>> --- a/drivers/gpu/drm/i915/intel_audio.c > >>> +++ b/drivers/gpu/drm/i915/intel_audio.c > >>> @@ -262,

Re: [Intel-gfx] [PATCH i-g-t] gem_flink_race/prime_self_import: Improve test reliability

2015-12-11 Thread Morton, Derek J
> > >-Original Message- >From: Daniel Vetter [mailto:daniel.vet...@ffwll.ch] On Behalf Of Daniel Vetter >Sent: Thursday, December 10, 2015 12:53 PM >To: Morton, Derek J >Cc: Daniel Vetter; intel-gfx@lists.freedesktop.org; Wood, Thomas >Subject: Re: [Intel-gfx] [PATCH i-g-t] gem_flink_race/p

[Intel-gfx] [PATCH] tests/kms_color:Color IGT

2015-12-11 Thread Dhanya Pillai
From: Dhanya This patch will verify color correction capability of a display driver. Gamma/CSC/De-gamma for SKL/BXT supported. Signed-off-by: Dhanya --- tests/.gitignore | 1 + tests/Makefile.sources | 1 + tests/kms_color.c | 684

[Intel-gfx] [PULL] drm-intel-fixes

2015-12-11 Thread Jani Nikula
Hi Dave - Here are some i915 fixes for v4.4, sorry for being late this week. BR, Jani. The following changes since commit 527e9316f8ec44bd53d90fb9f611fa752bb9: Linux 4.4-rc4 (2015-12-06 15:43:12 -0800) are available in the git repository at: git://anongit.freedesktop.org/drm-intel ta

[Intel-gfx] [PATCH 3/7] drm/i915/dp: Abstract all get_ddi_pll methods

2015-12-11 Thread Durgadoss R
This patch wraps the get_ddi_pll() methods for SKL/BXT/HSW+ with a common intel_get_ddi_pll() method, and exports it, so that it can be shared by other users also. Signed-off-by: Durgadoss R --- drivers/gpu/drm/i915/intel_display.c | 18 -- drivers/gpu/drm/i915/intel_drv.h |

[Intel-gfx] [PATCH 7/7] drm/i915/dp: Enable Upfront link training for typeC DP support on BXT

2015-12-11 Thread Durgadoss R
To support USB type C alternate DP mode, the display driver needs to know the number of lanes required by the DP panel as well as number of lanes that can be supported by the type-C cable. Sometimes, the type-C cable may limit the bandwidth even if Panel can support more lanes. To address these sce

[Intel-gfx] [PATCH 4/7] drm/i915/dp: Export enable/disable_shared_dpll methods

2015-12-11 Thread Durgadoss R
This patch exports the intel_{enable/disable}_shared_dpll methods so that they can be called from other files also. Subsequent patches need to call this from intel_ddi.c Signed-off-by: Durgadoss R --- drivers/gpu/drm/i915/intel_display.c | 4 ++-- drivers/gpu/drm/i915/intel_drv.h | 2 ++ 2 f

[Intel-gfx] [PATCH 6/7] drm/i915: Make finding unused crtc as a generic function

2015-12-11 Thread Durgadoss R
Looping over the crtc list and finding an unused crtc has users other than load_detect(). Hence move it to a common function so that we can re-use the logic. Signed-off-by: Durgadoss R --- drivers/gpu/drm/i915/intel_display.c | 37 ++-- drivers/gpu/drm/i915/intel_

[Intel-gfx] [PATCH 2/7] drm/i915/dp: Reuse shared DPLL if it exists already

2015-12-11 Thread Durgadoss R
Do not call intel_get_shared_dpll() if there exists a valid shared DPLL already. Signed-off-by: Durgadoss R --- drivers/gpu/drm/i915/intel_ddi.c | 70 drivers/gpu/drm/i915/intel_display.c | 2 +- drivers/gpu/drm/i915/intel_drv.h | 2 +- 3 files chan

[Intel-gfx] [PATCH 1/7] drm/i915/dp: Reuse encoder if it is already available

2015-12-11 Thread Durgadoss R
We do not need to loop through crtc_state to get the encoder if we already have a valid one available. Signed-off-by: Durgadoss R --- drivers/gpu/drm/i915/intel_ddi.c | 11 --- drivers/gpu/drm/i915/intel_display.c | 2 +- drivers/gpu/drm/i915/intel_drv.h | 3 ++- 3 files change

[Intel-gfx] [PATCH 5/7] drm/i915/dp: Add methods to update link train params

2015-12-11 Thread Durgadoss R
Retrying with reduced lanes/bw and updating the final available lanes/bw to DPCD is needed for upfront link train logic. Hence, this patch adds these methods and exports them so that these can be called from other files like ddi.c/display.c. Signed-off-by: Durgadoss R --- drivers/gpu/drm/i915/in

[Intel-gfx] [PATCH 0/7] Add USB typeC based DP support for BXT platform

2015-12-11 Thread Durgadoss R
This patch series adds upfront link training support to enable USB type C based DP on BXT platform. To support USB type C alternate DP mode, the display driver needs to know the number of lanes required by the DP panel as well as number of lanes that can be supported by the type-C cable. Sometimes

Re: [Intel-gfx] [PATCH 3/3] drm/i915: Prevent leaking of -EIO from i915_wait_request()

2015-12-11 Thread Chris Wilson
On Thu, Dec 03, 2015 at 10:14:54AM +0100, Daniel Vetter wrote: > On Tue, Dec 01, 2015 at 11:05:35AM +, Chris Wilson wrote: > > diff --git a/drivers/gpu/drm/i915/intel_display.c > > b/drivers/gpu/drm/i915/intel_display.c > > index 4447e73b54db..73c61b94f7fd 100644 > > --- a/drivers/gpu/drm/i915

Re: [Intel-gfx] [MIPI SEQ PARSING v3 06/13] drm/i915: Parsing VBT if size of VBT exceeds 6KB

2015-12-11 Thread Mika Kahola
When testing this patch on my BXT-M I received this error message Hardware name: Intel Corp. Broxton M/RVP, BIOS BXTM_IFWI_X64_R_2015_49_2_03 11/25/2015 [0.00] [ cut here ] [0.00] WARNING: CPU: 0 PID: 0 at drivers/iommu/dmar.c:829 warn_invalid_dmar+0x81/0xa

Re: [Intel-gfx] [PATCH 2/2] igt/pm_rps: Add checks for freq = idle (RPn) in specific cases.

2015-12-11 Thread Kamble, Sagar A
On 12/4/2015 8:52 PM, Imre Deak wrote: On to, 2015-12-03 at 16:43 -0800, Bob Paauwe wrote: On Tue, 1 Dec 2015 19:43:05 +0200 Imre Deak wrote: On ti, 2015-12-01 at 09:22 -0800, Bob Paauwe wrote: On Tue, 1 Dec 2015 15:56:55 +0200 Imre Deak wrote: On ma, 2015-11-30 at 16:23 -0800, Bob Paau

Re: [Intel-gfx] [MIPI SEQ PARSING v3 05/13] drm/i915: Add debug entry to get the opregion VBT blob

2015-12-11 Thread Mika Kahola
On Tue, 2015-12-01 at 04:17 +0530, Deepak M wrote: > Currently there is a entry to get the complete opregion > dump, this patch adds entry to get the VBT alone from > the opregion. > > Adding this entry helps developer to get the VBT easily, > instead of following the old way where we get the comp

Re: [Intel-gfx] [MIPI SEQ PARSING v3 04/13] drm/i915: Do opregion VBT validation during opregion setup

2015-12-11 Thread Mika Kahola
On Tue, 2015-12-01 at 04:17 +0530, Deepak M wrote: > Calling the validate_vbt before assiging the opregion vbt blob. > Size of the VBT blob cant be more than 6KB when VBT is present > in mailbox 4. > > Cc: Jani Nikula Tested-by: Mika Kahola > Signed-off-by: Deepak M > --- > drivers/gpu/drm/i91

Re: [Intel-gfx] [MIPI SEQ PARSING v3 03/13] drm/i915: Add Intel opregion mailbox 5 structure

2015-12-11 Thread Mika Kahola
On Tue, 2015-12-01 at 04:17 +0530, Deepak M wrote: > Mailbox 5 is BIOS to Driver Notification mailbox is intended > to support BIOS to Driver event notification or data storage > for BIOS to Driver data synchronization purpose. Mailbox 5 is > the extension of mailbox 3. > > Cc: Jani Nikula Tested

[Intel-gfx] [PATCH v4 1/1] drm/i915/bxt: Check BIOS RC6 setup before enabling RC6

2015-12-11 Thread Sagar Arun Kamble
RC6 setup is shared between BIOS and Driver. BIOS sets up subset of RC6 setup registers. If those are not setup Driver should not enable RC6. For implementing this, driver can check RC_CTRL0 and RC_CTRL1 values to know if BIOS has enabled HW/SW RC6. This will also enable user to control RC6 using B

Re: [Intel-gfx] [MIPI SEQ PARSING v3 02/13] drm/i915: Updating asle structure with new fields

2015-12-11 Thread Mika Kahola
On Tue, 2015-12-01 at 04:17 +0530, Deepak M wrote: > v3: rebase > > Cc: Jani Nikula Tested-by: Mika Kahola > Signed-off-by: Deepak M > --- > drivers/gpu/drm/i915/intel_opregion.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/intel_opregion.c

Re: [Intel-gfx] [MIPI SEQ PARSING v3 01/13] drm/i915: Adding the parsing logic for the i2c element

2015-12-11 Thread Mika Kahola
On Tue, 2015-12-01 at 04:17 +0530, Deepak M wrote: > From: vkorjani > > New sequence element for i2c is been added in the > mipi sequence block of the VBT. This patch parses > and executes the i2c sequence. > > v2: Add i2c_put_adapter call(Jani), rebase > v3: corrected the retry loop(Jani), reba

Re: [Intel-gfx] [PATCH v3 06/14] drm: Add plane->name and use it in debug prints

2015-12-11 Thread Daniel Vetter
On Tue, Dec 08, 2015 at 06:41:54PM +0200, ville.syrj...@linux.intel.com wrote: > From: Ville Syrjälä > > Show a sensible name for the plane in debug mesages. The driver > may supply its own name, otherwise the core genrates the name > ("plane-0", "plane-1" etc.). > > v2: kstrdup() the name passe

<    1   2