drm/i915: GuC-specific firmware loader
This fetches the required firmware image from the filesystem,
then loads it into the GuC's memory via a dedicated DMA engine.
This patch is derived from GuC loading work originally done by
Vinit Azad and Ben Widawsky.
v2:
    Various improvements per review comments by Chris Wilson
v3:
    Removed 'wait' parameter to intel_guc_ucode_load() as firmware
        prefetch is no longer supported in the common firmware loader,
	per Daniel Vetter's request.
    Firmware checker callback fn now returns errno rather than bool.
v4:
    Squash uC-independent code into GuC-specifc loader [Daniel Vetter]
    Don't keep the driver working (by falling back to execlist mode)
        if GuC firmware loading fails [Daniel Vetter]
v5:
    Clarify WOPCM-related #defines [Tom O'Rourke]
    Delete obsolete code no longer required with current h/w & f/w
        [Tom O'Rourke]
    Move the call to intel_guc_ucode_init() later, so that it can
        allocate GEM objects, and have it fetch the firmware; then
	intel_guc_ucode_load() doesn't need to fetch it later.
        [Daniel Vetter].
v6:
    Update comment describing intel_guc_ucode_load() [Tom O'Rourke]
Issue: VIZ-4884
Signed-off-by:  Alex Dai <yu.dai@intel.com>
Signed-off-by:
Alex Dai <yu.dai@intel.com>
Signed-off-by:  Dave Gordon <david.s.gordon@intel.com>
Reviewed-by:
Dave Gordon <david.s.gordon@intel.com>
Reviewed-by:  Tom O'Rourke <Tom.O'Rourke@intel.com>
Signed-off-by:
Tom O'Rourke <Tom.O'Rourke@intel.com>
Signed-off-by:  Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter <daniel.vetter@ffwll.ch>
Loading
Please register or sign in to comment
