blob: 95ebb4acaa64448866d4a78176e24bac858df74d [file] [log] [blame]
Mark Dykese7810b52020-06-03 15:46:55 -05001/*
mardyk017b51dbe2024-01-17 15:25:36 -06002 * Copyright (c) 2024, Arm Limited. All rights reserved.
Mark Dykese7810b52020-06-03 15:46:55 -05003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7
8#ifndef FIFO3D_H
9#define FIFO3D_H
10
11#include <stddef.h>
12#include <stdio.h>
13#include <stdlib.h>
14#include <string.h>
15#include "smcmalloc.h"
16
17struct fifo3d {
18 char ***nnfifo;
19 char ***fnamefifo;
20 int **biasfifo;
mardyk017b51dbe2024-01-17 15:25:36 -060021 int **fidfifo;
Mark Dykese7810b52020-06-03 15:46:55 -050022 int col;
23 int curr_col;
24 int *row;
25};
26
27/*
mardyk017b51dbe2024-01-17 15:25:36 -060028 * Push function name string into the raw data structure
Mark Dykese7810b52020-06-03 15:46:55 -050029 */
30void push_3dfifo_fname(struct fifo3d *f3d, char *fname);
31
32/*
mardyk017b51dbe2024-01-17 15:25:36 -060033 * Push bias value into the raw data structure
Mark Dykese7810b52020-06-03 15:46:55 -050034 */
35void push_3dfifo_bias(struct fifo3d *f3d, int bias);
36
37/*
mardyk017b51dbe2024-01-17 15:25:36 -060038 * Push id for function value into the raw data structure
39 */
40void push_3dfifo_fid(struct fifo3d *f3d, int id);
41
42/*
Mark Dykese7810b52020-06-03 15:46:55 -050043 * Create new column and/or row for raw data structure for newly
44 * found node from device tree
45 */
46void push_3dfifo_col(struct fifo3d *f3d, char *entry, struct memmod *mmod);
47
48#endif /* FIFO3D_H */