summaryrefslogtreecommitdiff
path: root/gxp-internal.h
diff options
context:
space:
mode:
authorNeela Chithirala <chithiralan@google.com>2021-11-19 02:37:22 +0000
committerNeela Chithirala <chithiralan@google.com>2021-11-19 07:37:45 +0000
commite14069f1739b05c7a7f60ae73c8ce14b91ef12e0 (patch)
tree49b54f216dc0556c514ce692e13f3bfa53d442dc /gxp-internal.h
parentde16475969ca7dfaecf7144ece32b929cf193861 (diff)
downloadgs201-e14069f1739b05c7a7f60ae73c8ce14b91ef12e0.tar.gz
Merge branch 'gs201-release' to android13-gs-pixel-5.10
* gs201-release: gxp: Initial commit for PM interface gxp: map and unmap TPU mailbox queues buffer gxp: unittests: add a gxp-debugfs-test.c gxp: unittests: add a gxp-platform-test.c gxp: unittests: add a gxp-vd-test.c gxp: unittests: add a gxp-firmware-test.c gxp: Update the logging/tracing device/host shared structures. gxp: Add ability to mmap telemetry buffers gxp: Move ETM trace_data off the stack gxp: Add IOCTL for configuring ETM registers gxp: Update copyright to "Google LLC" gxp: Remove NEED_SG_DMA_LENGTH from Kconfig gxp: unittests: fix kunit path in kokoro gxp: unittests: let LPM be always active gxp: unittests: add a fake firmware loader gxp: unittests: support device tree in unit tests gxp: unittests: use kokoro to execute tests Signed-off-by: Neela Chithirala <chithiralan@google.com> Change-Id: I8fa8dfaaa70d2a40503ff3bffe636380b69e443c
Diffstat (limited to 'gxp-internal.h')
-rw-r--r--gxp-internal.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/gxp-internal.h b/gxp-internal.h
index 1893108..0034800 100644
--- a/gxp-internal.h
+++ b/gxp-internal.h
@@ -21,11 +21,19 @@
#include "gxp-config.h"
#include "gxp-tmp.h"
+/* Holds Client's TPU mailboxes info used during mapping */
+struct gxp_tpu_mbx_desc {
+ uint phys_core_list;
+ size_t cmdq_size, respq_size;
+};
+
/* Holds state belonging to a client */
struct gxp_client {
struct gxp_dev *gxp;
void *app;
bool vd_allocated;
+ bool tpu_mbx_allocated;
+ struct gxp_tpu_mbx_desc mbx_desc;
};
/* ioremapped resource */
@@ -43,6 +51,7 @@ struct mailbox_resp_list {
/* Structure to hold TPU device info */
struct gxp_tpu_dev {
+ struct device *dev;
phys_addr_t mbx_paddr;
};
@@ -52,6 +61,8 @@ struct gxp_debug_dump_manager;
struct gxp_mapping_root;
struct gxp_dma_manager;
struct gxp_fw_data_manager;
+struct gxp_power_manager;
+struct gxp_telemetry_manager;
struct gxp_dev {
struct device *dev; /* platform bus device */
@@ -63,6 +74,7 @@ struct gxp_dev {
struct gxp_mapped_resource fwdatabuf; /* Shared FW data carveout */
struct gxp_mapped_resource coredumpbuf; /* core dump carveout */
struct gxp_mailbox_manager *mailbox_mgr;
+ struct gxp_power_manager *power_mgr;
/*
* TODO(b/182416287): This should be a rb_tree of lists keyed by
* virtual device. For now, keep an array of one list per physical core
@@ -79,6 +91,7 @@ struct gxp_dev {
struct gxp_dma_manager *dma_mgr;
struct gxp_fw_data_manager *data_mgr;
struct gxp_tpu_dev tpu_dev;
+ struct gxp_telemetry_manager *telemetry_mgr;
};
/* GXP device IO functions */