Linux Audio

Check our new training course

Loading...
v6.8
 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
31	struct sram_partition *partition;
32	u32 partitions;
33};
34
35struct sram_reserve {
36	struct list_head list;
37	u32 start;
38	u32 size;
39	struct resource res;
40	bool export;
41	bool pool;
42	bool protect_exec;
43	const char *label;
44};
45
46#ifdef CONFIG_SRAM_EXEC
47int sram_check_protect_exec(struct sram_dev *sram, struct sram_reserve *block,
48			    struct sram_partition *part);
49int sram_add_protect_exec(struct sram_partition *part);
50#else
51static inline int sram_check_protect_exec(struct sram_dev *sram,
52					  struct sram_reserve *block,
53					  struct sram_partition *part)
54{
55	return -ENODEV;
56}
57
58static inline int sram_add_protect_exec(struct sram_partition *part)
59{
60	return -ENODEV;
61}
62#endif /* CONFIG_SRAM_EXEC */
63#endif /* __SRAM_H */
v4.17
 
 1/*
 2 * Defines for the SRAM driver
 3 *
 4 * This program is free software; you can redistribute it and/or modify
 5 * it under the terms of the GNU General Public License version 2 as
 6 * published by the Free Software Foundation.
 7 */
 8#ifndef __SRAM_H
 9#define __SRAM_H
10
 
 
 
 
 
11struct sram_partition {
12	void __iomem *base;
13
14	struct gen_pool *pool;
15	struct bin_attribute battr;
16	struct mutex lock;
17	struct list_head list;
18};
19
20struct sram_dev {
 
 
21	struct device *dev;
22	void __iomem *virt_base;
 
23
24	struct gen_pool *pool;
25	struct clk *clk;
26
27	struct sram_partition *partition;
28	u32 partitions;
29};
30
31struct sram_reserve {
32	struct list_head list;
33	u32 start;
34	u32 size;
 
35	bool export;
36	bool pool;
37	bool protect_exec;
38	const char *label;
39};
40
41#ifdef CONFIG_SRAM_EXEC
42int sram_check_protect_exec(struct sram_dev *sram, struct sram_reserve *block,
43			    struct sram_partition *part);
44int sram_add_protect_exec(struct sram_partition *part);
45#else
46static inline int sram_check_protect_exec(struct sram_dev *sram,
47					  struct sram_reserve *block,
48					  struct sram_partition *part)
49{
50	return -ENODEV;
51}
52
53static inline int sram_add_protect_exec(struct sram_partition *part)
54{
55	return -ENODEV;
56}
57#endif /* CONFIG_SRAM_EXEC */
58#endif /* __SRAM_H */