Name

intel_lr_context_descriptor_update — 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)