On Fri, Mar 27, 2015 at 09:45:27AM +0100, Daniel Vetter wrote: > On Thu, Mar 26, 2015 at 12:41:13PM -0700, yu.dai@xxxxxxxxx wrote: > > From: Dave Gordon <david.s.gordon@xxxxxxxxx> > > > > In order to fully initialise the default contexts, we have to execute > > batchbuffer commands on the GPU engines. But we can't do that until any > > required firmware has been loaded, which may not be possible during > > driver load, because the filesystem(s) containing the firmware may not > > be mounted until later. > > > > Therefore, we now allow the first call to the firmware-loading code to > > return -EAGAIN to indicate that it's not yet ready, and that it should > > be retried when the device is first opened from user code, by which > > time we expect that all required filesystems will have been mounted. > > The late-retry code will then re-attempt to load the firmware if the > > early attempt failed. > > We've tried a similar approach a while back and it doesn't work well in > conjunction with rps - the hw tends to fall over if the context state > isn't properly initialized when going into rc6. > > Why exactly can't we load that firmware right at boot-up, or at least > stall correctly until it's there? Note that is is very simple to build up a request queue prior to enabling the submission port. Without having to touch core GEM code at all. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx