[Intel-gfx] [RFC 0/1] drm/i915 : Wait until SYSTEM_RUNNING before loading CSR firmware

jay.p.patel at intel.com jay.p.patel at intel.com
Mon Jul 13 09:36:44 PDT 2015


From: jay <jay.p.patel at 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



More information about the Intel-gfx mailing list