Lines Matching refs:galaxy

372 static int galaxy_init(struct snd_galaxy *galaxy, u8 *type)  in galaxy_init()  argument
378 err = dsp_reset(galaxy->port); in galaxy_init()
382 err = dsp_get_version(galaxy->port, &major, &minor); in galaxy_init()
389 err = dsp_command(galaxy->port, DSP_COMMAND_GALAXY_8); in galaxy_init()
393 err = dsp_command(galaxy->port, GALAXY_COMMAND_GET_TYPE); in galaxy_init()
397 err = dsp_get_byte(galaxy->port, type); in galaxy_init()
404 static int galaxy_set_mode(struct snd_galaxy *galaxy, u8 mode) in galaxy_set_mode() argument
408 err = dsp_command(galaxy->port, DSP_COMMAND_GALAXY_9); in galaxy_set_mode()
412 err = dsp_command(galaxy->port, mode); in galaxy_set_mode()
420 err = dsp_reset(galaxy->port); in galaxy_set_mode()
428 static void galaxy_set_config(struct snd_galaxy *galaxy, u32 config) in galaxy_set_config() argument
430 u8 tmp = ioread8(galaxy->config_port + CONFIG_PORT_SET); in galaxy_set_config()
433 iowrite8(tmp | 0x80, galaxy->config_port + CONFIG_PORT_SET); in galaxy_set_config()
435 iowrite8(config, galaxy->config_port + i); in galaxy_set_config()
438 iowrite8(tmp & 0x7f, galaxy->config_port + CONFIG_PORT_SET); in galaxy_set_config()
442 static void galaxy_config(struct snd_galaxy *galaxy, u32 config) in galaxy_config() argument
447 u8 tmp = ioread8(galaxy->config_port + i - 1); in galaxy_config()
448 galaxy->config = (galaxy->config << 8) | tmp; in galaxy_config()
450 config |= galaxy->config & GALAXY_CONFIG_MASK; in galaxy_config()
451 galaxy_set_config(galaxy, config); in galaxy_config()
454 static int galaxy_wss_config(struct snd_galaxy *galaxy, u8 wss_config) in galaxy_wss_config() argument
458 err = wss_detect(galaxy->wss_port); in galaxy_wss_config()
462 wss_set_config(galaxy->wss_port, wss_config); in galaxy_wss_config()
464 err = galaxy_set_mode(galaxy, GALAXY_MODE_WSS); in galaxy_wss_config()
473 struct snd_galaxy *galaxy = card->private_data; in snd_galaxy_free() local
475 if (galaxy->wss_port) { in snd_galaxy_free()
476 wss_set_config(galaxy->wss_port, 0); in snd_galaxy_free()
477 ioport_unmap(galaxy->wss_port); in snd_galaxy_free()
478 release_and_free_resource(galaxy->res_wss_port); in snd_galaxy_free()
480 if (galaxy->config_port) { in snd_galaxy_free()
481 galaxy_set_config(galaxy, galaxy->config); in snd_galaxy_free()
482 ioport_unmap(galaxy->config_port); in snd_galaxy_free()
483 release_and_free_resource(galaxy->res_config_port); in snd_galaxy_free()
485 if (galaxy->port) { in snd_galaxy_free()
486 ioport_unmap(galaxy->port); in snd_galaxy_free()
487 release_and_free_resource(galaxy->res_port); in snd_galaxy_free()
493 struct snd_galaxy *galaxy; in snd_galaxy_probe() local
500 sizeof(*galaxy), &card); in snd_galaxy_probe()
505 galaxy = card->private_data; in snd_galaxy_probe()
507 galaxy->res_port = request_region(port[n], 16, DRV_NAME); in snd_galaxy_probe()
508 if (!galaxy->res_port) { in snd_galaxy_probe()
514 galaxy->port = ioport_map(port[n], 16); in snd_galaxy_probe()
516 err = galaxy_init(galaxy, &type); in snd_galaxy_probe()
523 galaxy->res_config_port = request_region(port[n] + GALAXY_PORT_CONFIG, in snd_galaxy_probe()
525 if (!galaxy->res_config_port) { in snd_galaxy_probe()
532 galaxy->config_port = ioport_map(port[n] + GALAXY_PORT_CONFIG, 16); in snd_galaxy_probe()
534 galaxy_config(galaxy, config[n]); in snd_galaxy_probe()
536 galaxy->res_wss_port = request_region(wss_port[n], 4, DRV_NAME); in snd_galaxy_probe()
537 if (!galaxy->res_wss_port) { in snd_galaxy_probe()
543 galaxy->wss_port = ioport_map(wss_port[n], 4); in snd_galaxy_probe()
545 err = galaxy_wss_config(galaxy, wss_config[n]); in snd_galaxy_probe()