Lines Matching refs:patch
259 struct fm_patch *patch; in snd_opl3_load_patch() local
262 patch = snd_opl3_find_patch(opl3, prog, bank, 1); in snd_opl3_load_patch()
263 if (!patch) in snd_opl3_load_patch()
266 patch->type = type; in snd_opl3_load_patch()
269 patch->inst.op[i].am_vib = data[AM_VIB + i]; in snd_opl3_load_patch()
270 patch->inst.op[i].ksl_level = data[KSL_LEVEL + i]; in snd_opl3_load_patch()
271 patch->inst.op[i].attack_decay = data[ATTACK_DECAY + i]; in snd_opl3_load_patch()
272 patch->inst.op[i].sustain_release = data[SUSTAIN_RELEASE + i]; in snd_opl3_load_patch()
273 patch->inst.op[i].wave_select = data[WAVE_SELECT + i]; in snd_opl3_load_patch()
275 patch->inst.feedback_connection[0] = data[CONNECTION]; in snd_opl3_load_patch()
279 patch->inst.op[i+2].am_vib = in snd_opl3_load_patch()
281 patch->inst.op[i+2].ksl_level = in snd_opl3_load_patch()
283 patch->inst.op[i+2].attack_decay = in snd_opl3_load_patch()
285 patch->inst.op[i+2].sustain_release = in snd_opl3_load_patch()
287 patch->inst.op[i+2].wave_select = in snd_opl3_load_patch()
290 patch->inst.feedback_connection[1] = in snd_opl3_load_patch()
295 patch->inst.echo_delay = ext[0]; in snd_opl3_load_patch()
296 patch->inst.echo_atten = ext[1]; in snd_opl3_load_patch()
297 patch->inst.chorus_spread = ext[2]; in snd_opl3_load_patch()
298 patch->inst.trnsps = ext[3]; in snd_opl3_load_patch()
299 patch->inst.fix_dur = ext[4]; in snd_opl3_load_patch()
300 patch->inst.modes = ext[5]; in snd_opl3_load_patch()
301 patch->inst.fix_key = ext[6]; in snd_opl3_load_patch()
305 strlcpy(patch->name, name, sizeof(patch->name)); in snd_opl3_load_patch()
321 struct fm_patch *patch; in snd_opl3_find_patch() local
323 for (patch = opl3->patch_table[key]; patch; patch = patch->next) { in snd_opl3_find_patch()
324 if (patch->prog == prog && patch->bank == bank) in snd_opl3_find_patch()
325 return patch; in snd_opl3_find_patch()
330 patch = kzalloc(sizeof(*patch), GFP_KERNEL); in snd_opl3_find_patch()
331 if (!patch) in snd_opl3_find_patch()
333 patch->prog = prog; in snd_opl3_find_patch()
334 patch->bank = bank; in snd_opl3_find_patch()
335 patch->next = opl3->patch_table[key]; in snd_opl3_find_patch()
336 opl3->patch_table[key] = patch; in snd_opl3_find_patch()
337 return patch; in snd_opl3_find_patch()
348 struct fm_patch *patch, *next; in snd_opl3_clear_patches() local
349 for (patch = opl3->patch_table[i]; patch; patch = next) { in snd_opl3_clear_patches()
350 next = patch->next; in snd_opl3_clear_patches()
351 kfree(patch); in snd_opl3_clear_patches()