diff options
author | Katarzyna Dec <katarzyna.dec@intel.com> | 2018-05-11 08:46:29 +0200 |
---|---|---|
committer | MichaĆ Winiarski <michal.winiarski@intel.com> | 2018-05-15 10:51:45 +0200 |
commit | b8fdb26250064ae7de0e82a02428278196c19afb (patch) | |
tree | 351d4ce80e7fa8a311a89c3ef2e2363024db248e /lib/media_spin.c | |
parent | 27d4cc664f926525a1280be38aff6901456793fd (diff) |
lib/gpu_fill: Further code unification in gpu_fill
We can unify gen7_emit_vfe_state and gen8_emit_vfe_state
functions for gpgpu/media_fill and media_spin by adding
parameters. gen8_emit_media_object was renamed to gen_*
and extended with additional offset parameters - we can
have one gen7_emit_media_objects for all tests.
I have renamed gen8_emit_media_object to gen_emit_*, because
function belongs to all gens and it would be odd to have
all named genX_* and only one without this prefix.
v2: Use #defines instead of variables as emit_vfe_state parameters.
Fixed gen7_emit_media_objects. Unified vfe state parameters
in media_spin library for gen8 and gen9 (gen9 had different values
by mistake).
v3: Fixed bug in emit_vfe_state for gen8 and gen9 in gpgpu_fill.
Moved #defines for emit_vfe_state to particular libraries.
v4: Fixed indentations in media_spin
v5: Few more style changes.
Signed-off-by: Katarzyna Dec <katarzyna.dec@intel.com>
Cc: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Ewelina Musial <ewelina.musial@intel.com>
Reviewed-By: Ewelina Musial <ewelina.musial@intel.com>
Diffstat (limited to 'lib/media_spin.c')
-rw-r--r-- | lib/media_spin.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/lib/media_spin.c b/lib/media_spin.c index 3592e0d9..c3a8d572 100644 --- a/lib/media_spin.c +++ b/lib/media_spin.c @@ -67,6 +67,17 @@ static const uint32_t spin_kernel[][4] = { */ #define BATCH_STATE_SPLIT 2048 +/* VFE STATE params */ +#define THREADS 0 +#define MEDIA_URB_ENTRIES 2 +#define MEDIA_URB_SIZE 2 +#define MEDIA_CURBE_SIZE 2 + +/* Offsets needed in gen_emit_media_object. In media_spin library this + * values do not matter. + */ +#define xoffset 0 +#define yoffset 0 void gen8_media_spinfunc(struct intel_batchbuffer *batch, @@ -90,13 +101,14 @@ gen8_media_spinfunc(struct intel_batchbuffer *batch, OUT_BATCH(GEN8_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA); gen8_emit_state_base_address(batch); - gen8_emit_vfe_state_spin(batch); + gen8_emit_vfe_state(batch, THREADS, MEDIA_URB_ENTRIES, + MEDIA_URB_SIZE, MEDIA_CURBE_SIZE); gen7_emit_curbe_load(batch, curbe_buffer); gen7_emit_interface_descriptor_load(batch, interface_descriptor); - gen8_emit_media_objects_spin(batch); + gen_emit_media_object(batch, xoffset, yoffset); OUT_BATCH(MI_BATCH_BUFFER_END); @@ -134,13 +146,14 @@ gen9_media_spinfunc(struct intel_batchbuffer *batch, GEN9_FORCE_MEDIA_AWAKE_MASK); gen9_emit_state_base_address(batch); - gen8_emit_vfe_state_spin(batch); + gen8_emit_vfe_state(batch, THREADS, MEDIA_URB_ENTRIES, + MEDIA_URB_SIZE, MEDIA_CURBE_SIZE); gen7_emit_curbe_load(batch, curbe_buffer); gen7_emit_interface_descriptor_load(batch, interface_descriptor); - gen8_emit_media_objects_spin(batch); + gen_emit_media_object(batch, xoffset, yoffset); OUT_BATCH(GEN8_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA | GEN9_FORCE_MEDIA_AWAKE_DISABLE | |