On 25/05/17 04:36, Michal Wajdeczko wrote:
Buffer based command transport can replace MMIO based mechanism.
It may be used to perform host-2-guc and guc-to-host communication.
Portions of this patch are based on work by:
Michel Thierry <[email protected]>
Robert Beckett <[email protected]>
Daniele Ceraolo Spurio <[email protected]>
v2: use gem_object_pin_map (Chris)
don't use DEBUG_RATELIMITED (Chris)
don't track action stats (Chris)
simplify next fence (Chris)
use READ_ONCE (Chris)
move blob allocation to new function (Chris)
v3: use static owner id (Daniele)
v4: but keep channel initialization generic (Daniele)
and introduce owner_sub_id (Daniele)
Signed-off-by: Michal Wajdeczko <[email protected]>
Cc: Daniele Ceraolo Spurio <[email protected]>
Cc: Oscar Mateo <[email protected]>
Cc: Joonas Lahtinen <[email protected]>
Cc: Chris Wilson <[email protected]>
---
Reviewed-by: Daniele Ceraolo Spurio <[email protected]>
minor possible bikeshed below.
+
+/** Holds all command transport channels.
+ *
+ * @host_channel: main channel used by the host
+ */
+struct intel_guc_ct {
+ struct intel_guc_ct_channel host_channel;
+ /* other channels are tbd */
+};
+
We could also use an array if we modify the enum:
enum {
CTB_OWNER_HOST = 0,
/* other channels are tbd */
CTB_MAX_CHANNELS
};
and use:
struct intel_guc_ct_channel ct_channels[CTB_MAX_CHANNELS];
we can then address the host specific one with:
&guc.ct_channels[CTB_OWNER_HOST];
Thanks,
Daniele
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx