From: jay <jay.p.pa...@intel.com>

Chrome OS is "noinitrd" OS. It does not normally allow in-built firmware in 
kernel.
i915 driver initialization precedes the initialization of file system. Hence, 
loading
fails whenever driver tries to load CSR firmware from file system.

The current implementation uses "request_firmware_nowait()" function which 
creates
an asynchronous thread running concurrently with the rest of the system 
initialization.
However it tries to load firmware only once and fails immediately if file does 
not
exist. The following link discusses the related issue.
(http://thread.gmane.org/gmane.linux.kernel/1787377/focus=1791177)

This patch is an interim solution which is targeted towards Chrome OS/Android 
and
to be used until a long term solution is available. request_firmware() is called
in a worker thread which initially waits for file system to be initialized and 
then
loads the firmware.

This patch is not a merge candidate but its targets an instigation of 
discussion on
sustainable near term solution for the problem.

Thanks,
Jay

Jay Patel (1):
  drm/i915 : Wait until SYSTEM_RUNNING before loading CSR firmware

 drivers/gpu/drm/i915/i915_drv.c  |  2 ++
 drivers/gpu/drm/i915/intel_csr.c | 58 ++++++++++++++++++++++++++++++++--------
 2 files changed, 49 insertions(+), 11 deletions(-)

-- 
2.1.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to