From: jay <jay.p.patel@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx