summaryrefslogtreecommitdiffstats
path: root/include/linux/mei_aux.h
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2022-04-19 12:33:08 -0700
committerDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>2022-04-21 11:33:56 -0700
commit1e3dc1d8622b2699e6cf1cc06885105b13c9c514 (patch)
tree5eb23e64231ac214c6e97d5cbf7033f8ca591ebf /include/linux/mei_aux.h
parente1e1f4e32594d117d9f90e7743d33a019139fc9f (diff)
downloadlinux-1e3dc1d8622b2699e6cf1cc06885105b13c9c514.tar.gz
linux-1e3dc1d8622b2699e6cf1cc06885105b13c9c514.tar.bz2
linux-1e3dc1d8622b2699e6cf1cc06885105b13c9c514.zip
drm/i915/gsc: add gsc as a mei auxiliary device
GSC is a graphics system controller, it provides a chassis controller for graphics discrete cards. There are two MEI interfaces in GSC: HECI1 and HECI2. Both interfaces are on the BAR0 at offsets 0x00258000 and 0x00259000. GSC is a GT Engine (class 4: instance 6). HECI1 interrupt is signaled via bit 15 and HECI2 via bit 14 in the interrupt register. This patch exports GSC as auxiliary device for mei driver to bind to for HECI2 interface and prepares for HECI1 interface as it will follow up soon. CC: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Vitaly Lubart <vitaly.lubart@intel.com> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220419193314.526966-2-daniele.ceraolospurio@intel.com
Diffstat (limited to 'include/linux/mei_aux.h')
-rw-r--r--include/linux/mei_aux.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/linux/mei_aux.h b/include/linux/mei_aux.h
new file mode 100644
index 000000000000..587f25128848
--- /dev/null
+++ b/include/linux/mei_aux.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (c) 2022, Intel Corporation. All rights reserved.
+ */
+#ifndef _LINUX_MEI_AUX_H
+#define _LINUX_MEI_AUX_H
+
+#include <linux/auxiliary_bus.h>
+
+struct mei_aux_device {
+ struct auxiliary_device aux_dev;
+ int irq;
+ struct resource bar;
+};
+
+#define auxiliary_dev_to_mei_aux_dev(auxiliary_dev) \
+ container_of(auxiliary_dev, struct mei_aux_device, aux_dev)
+
+#endif /* _LINUX_MEI_AUX_H */