Linux Audio

Check our new training course

Loading...
Note: File does not exist in v4.6.
 1/* SPDX-License-Identifier: GPL-2.0-only */
 2/*
 3 * Defines for the SRAM driver
 4 */
 5#ifndef __SRAM_H
 6#define __SRAM_H
 7
 8struct sram_config {
 9	int (*init)(void);
10	bool map_only_reserved;
11};
12
13struct sram_partition {
14	void __iomem *base;
15
16	struct gen_pool *pool;
17	struct bin_attribute battr;
18	struct mutex lock;
19	struct list_head list;
20};
21
22struct sram_dev {
23	const struct sram_config *config;
24
25	struct device *dev;
26	void __iomem *virt_base;
27	bool no_memory_wc;
28
29	struct gen_pool *pool;
30	struct clk *clk;
31
32	struct sram_partition *partition;
33	u32 partitions;
34};
35
36struct sram_reserve {
37	struct list_head list;
38	u32 start;
39	u32 size;
40	struct resource res;
41	bool export;
42	bool pool;
43	bool protect_exec;
44	const char *label;
45};
46
47#ifdef CONFIG_SRAM_EXEC
48int sram_check_protect_exec(struct sram_dev *sram, struct sram_reserve *block,
49			    struct sram_partition *part);
50int sram_add_protect_exec(struct sram_partition *part);
51#else
52static inline int sram_check_protect_exec(struct sram_dev *sram,
53					  struct sram_reserve *block,
54					  struct sram_partition *part)
55{
56	return -ENODEV;
57}
58
59static inline int sram_add_protect_exec(struct sram_partition *part)
60{
61	return -ENODEV;
62}
63#endif /* CONFIG_SRAM_EXEC */
64#endif /* __SRAM_H */