On Fri, Mar 07, 2014 at 01:17:17PM +0000, Gupta, Sourab wrote: > Hi Daniel/Chris, > > > As Chris said, instead of rolling your own code to track when flips are > > emitted to the ring simply add a real request (with the add_request > > function) like the execbuf paths.Then add any additional trackin you need > > to our request structure. > > We can use the 'add_request' function. But since we already have & can track > the seqno of the object (for which we want the rendering to complete), we > think there shall be no additional benefit in adding a new request & then > tracking the same. > > > Rather exporting deep magic from i915_gem, just emit the request after the > > mmio flip and use the normal signalling mechanisms. There are other users > > who could also use a request after a flip. > > We had the following point in mind, when implementing the Mmio based Page > flips : > We wanted to completely avoid locking of the device mutex from the flip path. > As we had seen sometimes the flips getting delayed because of concurrent exec > buffers processing, while we are waiting for them to release the mutex. > Since the public functions (i915_wait_seqno ) require mutex to be taken > beforehand, we had no choice but to expose the private __wait_seqno function > in order to do so. > Also, we couldn't find any other signaling mechanism (other than wait_seqno > type of functions) to do so. > > Can you please provide your feedback on the above points.
I'd like to move this towards the atomic age. In my atomic branch I had an interrupt driven mechanism for issuing the flips when the target seqno(s) is/are reached. So my hope would be to move towards something similar so that it can be easily used for the nuclear flip later. Here's my latest code for that: https://gitorious.org/vsyrjala/linux/commit/4cad93ab1ac09d4649419789a80408c5d8505cdc -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
