intel_lr_context_descriptor_update(9) calculate & cache the descriptor descriptor for a pinned context

SYNOPSIS

void intel_lr_context_descriptor_update(struct intel_context * ctx, struct intel_engine_cs * engine);

ARGUMENTS

ctx

Context to work on

engine

-- undescribed --

DESCRIPTION

The context descriptor encodes various attributes of a context, including its GTT address and some flags. Because it's fairly expensive to calculate, we'll just do it once and cache the result, which remains valid until the context is unpinned.

This is what a descriptor looks like, from LSB to MSB: bits 0-11: flags, GEN8_CTX_* (cached in ctx_desc_template) bits 12-31: LRCA, GTT address of (the HWSP of) this context bits 32-51: ctx ID, a globally unique tag (the LRCA again!) bits 52-63: reserved, may encode the engine ID (for GuC)

AUTHORS

Jesse Barnes <[email protected]>
Intel Corporation,         
        

Initial version

Laurent Pinchart <[email protected]>
Ideas on board SPRL,         
        

Driver internals

Daniel Vetter <[email protected]>
Intel Corporation,         
        

Contributions all over the place

Lukas Wunner <[email protected]>

vga_switcheroo documentation

COPYRIGHT