Lines Matching +full:sram +full:- +full:proc
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Functions for the OPL4 proc file
15 struct snd_opl4 *opl4 = entry->private_data; in snd_opl4_mem_proc_open()
17 mutex_lock(&opl4->access_mutex); in snd_opl4_mem_proc_open()
18 if (opl4->memory_access) { in snd_opl4_mem_proc_open()
19 mutex_unlock(&opl4->access_mutex); in snd_opl4_mem_proc_open()
20 return -EBUSY; in snd_opl4_mem_proc_open()
22 opl4->memory_access++; in snd_opl4_mem_proc_open()
23 mutex_unlock(&opl4->access_mutex); in snd_opl4_mem_proc_open()
30 struct snd_opl4 *opl4 = entry->private_data; in snd_opl4_mem_proc_release()
32 mutex_lock(&opl4->access_mutex); in snd_opl4_mem_proc_release()
33 opl4->memory_access--; in snd_opl4_mem_proc_release()
34 mutex_unlock(&opl4->access_mutex); in snd_opl4_mem_proc_release()
43 struct snd_opl4 *opl4 = entry->private_data; in snd_opl4_mem_proc_read()
48 return -ENOMEM; in snd_opl4_mem_proc_read()
52 return -EFAULT; in snd_opl4_mem_proc_read()
64 struct snd_opl4 *opl4 = entry->private_data; in snd_opl4_mem_proc_write()
69 return -ENOMEM; in snd_opl4_mem_proc_write()
72 return -EFAULT; in snd_opl4_mem_proc_write()
90 entry = snd_info_create_card_entry(opl4->card, "opl4-mem", opl4->card->proc_root); in snd_opl4_create_proc()
92 if (opl4->hardware < OPL3_HW_OPL4_ML) { in snd_opl4_create_proc()
93 /* OPL4 can access 4 MB external ROM/SRAM */ in snd_opl4_create_proc()
94 entry->mode |= 0200; in snd_opl4_create_proc()
95 entry->size = 4 * 1024 * 1024; in snd_opl4_create_proc()
97 /* OPL4-ML has 1 MB internal ROM */ in snd_opl4_create_proc()
98 entry->size = 1 * 1024 * 1024; in snd_opl4_create_proc()
100 entry->content = SNDRV_INFO_CONTENT_DATA; in snd_opl4_create_proc()
101 entry->c.ops = &snd_opl4_mem_proc_ops; in snd_opl4_create_proc()
102 entry->module = THIS_MODULE; in snd_opl4_create_proc()
103 entry->private_data = opl4; in snd_opl4_create_proc()
105 opl4->proc_entry = entry; in snd_opl4_create_proc()
111 snd_info_free_entry(opl4->proc_entry); in snd_opl4_free_proc()