[PATCH v3 1/3] drm/xe: Introduce XeLink device
Jani Nikula
jani.nikula at linux.intel.com
Fri Dec 15 15:06:44 UTC 2023
On Wed, 13 Dec 2023, David Kershner <david.kershner at intel.com> wrote:
> diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
> index d1a48456e9a3..6b3ff57f358c 100644
> --- a/drivers/gpu/drm/xe/xe_device_types.h
> +++ b/drivers/gpu/drm/xe/xe_device_types.h
> @@ -21,6 +21,7 @@
> #include "xe_pmu.h"
> #include "xe_sriov_types.h"
> #include "xe_step_types.h"
> +#include "xe_link.h"
Nothing in this file requires you to include xe_link.h.
I've put a lot of effort into untangling the insane header
interdependencies in i915; please take care to not create the same in
xe.
BR,
Jani.
>
> #if IS_ENABLED(CONFIG_DRM_XE_DISPLAY)
> #include "soc/intel_pch.h"
> @@ -255,6 +256,8 @@ struct xe_device {
> u8 has_asid:1;
> /** @force_execlist: Forced execlist submission */
> u8 force_execlist:1;
> + /** @has_xelink: Has XeLink */
> + u8 has_xelink:1;
> /** @has_flat_ccs: Whether flat CCS metadata is used */
> u8 has_flat_ccs:1;
> /** @has_llc: Device has a shared CPU+GPU last level cache */
> @@ -439,6 +442,28 @@ struct xe_device {
> /** @needs_flr_on_fini: requests function-reset on fini */
> bool needs_flr_on_fini;
>
> + /** @xelink: XeLink information, for those gpus with XeLink connectivity */
> + struct {
> + /** @ops: shared interface operations */
> + const struct xelink_ops *ops;
> + /** @handle: XeLink device handle */
> + void *handle;
> + /** @pd: platform data needed for auxiliary bus */
> + struct xelink_pdata *pd;
> + /** @dpa: base device physical address */
> + u64 dpa;
> + /** @irq_base: base IRQ for multi tile devices */
> + int irq_base;
> + /** @index: internal index for xe devices */
> + int index;
> + /** @xelink_id: XeLink id generated by the XeLink device */
> + u32 xelink_id;
> + /** @socket_id: socket from certain platforms */
> + u8 socket_id;
> + /* @present: Reflect PUNIT presence information */
> + bool present;
> + } xelink;
> +
> /* private: */
>
> #if IS_ENABLED(CONFIG_DRM_XE_DISPLAY)
> diff --git a/drivers/gpu/drm/xe/xe_gt_types.h b/drivers/gpu/drm/xe/xe_gt_types.h
> index f74684660475..1e8c0d3cf17f 100644
> --- a/drivers/gpu/drm/xe/xe_gt_types.h
> +++ b/drivers/gpu/drm/xe/xe_gt_types.h
> @@ -358,6 +358,8 @@ struct xe_gt {
> /** @oob: bitmap with active OOB workaroudns */
> unsigned long *oob;
> } wa_active;
> + /** @xelink_irq: IRQ value assigned to the Xelink device */
> + int xelink_irq;
> };
>
> #endif
--
Jani Nikula, Intel
More information about the Intel-xe
mailing list