summaryrefslogtreecommitdiff
path: root/gxp-ssmt.h
diff options
context:
space:
mode:
Diffstat (limited to 'gxp-ssmt.h')
-rw-r--r--gxp-ssmt.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/gxp-ssmt.h b/gxp-ssmt.h
index 6cf8971..b35829d 100644
--- a/gxp-ssmt.h
+++ b/gxp-ssmt.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
/*
* GXP SSMT driver.
*
@@ -10,7 +10,12 @@
#include "gxp-internal.h"
+#define SSMT_CFG_OFFSET (0x0004)
+#define SSMT_MODE_CLAMPED (0x0u)
+#define SSMT_MODE_CLIENT (0x1u)
+
#define SSMT_CLAMP_MODE_BYPASS (1u << 31)
+#define MAX_NUM_CONTEXTS 8
struct gxp_ssmt {
struct gxp_dev *gxp;
@@ -33,9 +38,10 @@ int gxp_ssmt_init(struct gxp_dev *gxp, struct gxp_ssmt *ssmt);
*/
void gxp_ssmt_set_core_vid(struct gxp_ssmt *ssmt, uint core, uint vid);
-static inline void gxp_ssmt_set_core_bypass(struct gxp_ssmt *ssmt, uint core)
-{
- gxp_ssmt_set_core_vid(ssmt, core, SSMT_CLAMP_MODE_BYPASS);
-}
+/*
+ * Programs SSMT to always use SCIDs as VIDs.
+ * Supports both client-driven and clamp mode.
+ */
+void gxp_ssmt_set_bypass(struct gxp_ssmt *ssmt);
#endif /* __GXP_SSMT_H__ */