Lines Matching refs:vport

183 static int sc6000_wait_data(char __iomem *vport)  in sc6000_wait_data()  argument
189 val = ioread8(vport + DSP_DATAVAIL); in sc6000_wait_data()
198 static int sc6000_read(char __iomem *vport) in sc6000_read() argument
200 if (sc6000_wait_data(vport)) in sc6000_read()
203 return ioread8(vport + DSP_READ); in sc6000_read()
207 static int sc6000_write(char __iomem *vport, int cmd) in sc6000_write() argument
213 val = ioread8(vport + DSP_STATUS); in sc6000_write()
218 iowrite8(cmd, vport + DSP_COMMAND); in sc6000_write()
229 static int sc6000_dsp_get_answer(char __iomem *vport, int command, in sc6000_dsp_get_answer() argument
234 if (sc6000_write(vport, command)) { in sc6000_dsp_get_answer()
240 int val = sc6000_read(vport); in sc6000_dsp_get_answer()
256 static int sc6000_dsp_reset(char __iomem *vport) in sc6000_dsp_reset() argument
258 iowrite8(1, vport + DSP_RESET); in sc6000_dsp_reset()
260 iowrite8(0, vport + DSP_RESET); in sc6000_dsp_reset()
262 if (sc6000_read(vport) == 0xaa) in sc6000_dsp_reset()
268 static int sc6000_hw_cfg_write(char __iomem *vport, const int *cfg) in sc6000_hw_cfg_write() argument
270 if (sc6000_write(vport, COMMAND_6C) < 0) { in sc6000_hw_cfg_write()
274 if (sc6000_write(vport, COMMAND_5C) < 0) { in sc6000_hw_cfg_write()
278 if (sc6000_write(vport, cfg[0]) < 0) { in sc6000_hw_cfg_write()
282 if (sc6000_write(vport, cfg[1]) < 0) { in sc6000_hw_cfg_write()
286 if (sc6000_write(vport, COMMAND_C5) < 0) { in sc6000_hw_cfg_write()
294 static int sc6000_cfg_write(char __iomem *vport, unsigned char softcfg) in sc6000_cfg_write() argument
297 if (sc6000_write(vport, WRITE_MDIRQ_CFG)) { in sc6000_cfg_write()
301 if (sc6000_write(vport, softcfg)) { in sc6000_cfg_write()
308 static int sc6000_setup_board(char __iomem *vport, int config) in sc6000_setup_board() argument
313 if (sc6000_write(vport, COMMAND_88)) { in sc6000_setup_board()
318 } while ((sc6000_wait_data(vport) < 0) && loop--); in sc6000_setup_board()
320 if (sc6000_read(vport) < 0) { in sc6000_setup_board()
326 if (sc6000_cfg_write(vport, config)) in sc6000_setup_board()
332 static int sc6000_init_mss(char __iomem *vport, int config, in sc6000_init_mss() argument
335 if (sc6000_write(vport, DSP_INIT_MSS)) { in sc6000_init_mss()
343 if (sc6000_cfg_write(vport, config)) in sc6000_init_mss()
351 static void sc6000_hw_cfg_encode(char __iomem *vport, int *cfg, in sc6000_hw_cfg_encode() argument
373 static int sc6000_init_board(char __iomem *vport, in sc6000_init_board() argument
385 err = sc6000_dsp_reset(vport); in sc6000_init_board()
392 err = sc6000_dsp_get_answer(vport, GET_DSP_COPYRIGHT, answer, 15); in sc6000_init_board()
404 if (sc6000_dsp_get_answer(vport, GET_DSP_VERSION, version, 2) < 2) { in sc6000_init_board()
412 sc6000_write(vport, COMMAND_5C); in sc6000_init_board()
413 if (sc6000_read(vport) < 0) in sc6000_init_board()
418 sc6000_hw_cfg_encode(vport, &cfg[0], port[dev], mpu_port[dev], in sc6000_init_board()
420 if (sc6000_hw_cfg_write(vport, cfg) < 0) { in sc6000_init_board()
425 err = sc6000_setup_board(vport, config); in sc6000_init_board()
431 sc6000_dsp_reset(vport); in sc6000_init_board()
434 sc6000_write(vport, COMMAND_60); in sc6000_init_board()
435 sc6000_write(vport, 0x02); in sc6000_init_board()
436 sc6000_dsp_reset(vport); in sc6000_init_board()
439 err = sc6000_setup_board(vport, config); in sc6000_init_board()
444 err = sc6000_init_mss(vport, config, vmss_port, mss_config); in sc6000_init_board()
534 char __iomem *vport = (char __force __iomem *)card->private_data; in snd_sc6000_free() local
536 if (vport) in snd_sc6000_free()
537 sc6000_setup_board(vport, 0); in snd_sc6000_free()
550 char __iomem *vport; in __snd_sc6000_probe() local
579 vport = devm_ioport_map(devptr, port[dev], 0x10); in __snd_sc6000_probe()
580 if (!vport) { in __snd_sc6000_probe()
585 card->private_data = (void __force *)vport; in __snd_sc6000_probe()
604 err = sc6000_init_board(vport, vmss_port, dev); in __snd_sc6000_probe()