Lines Matching refs:ssi_private
131 struct fsl_ssi_private *ssi_private = dev_id; in fsl_ssi_isr() local
132 struct ccsr_ssi __iomem *ssi = ssi_private->ssi; in fsl_ssi_isr()
144 ssi_private->stats.rfrc++; in fsl_ssi_isr()
150 ssi_private->stats.tfrc++; in fsl_ssi_isr()
156 ssi_private->stats.cmdau++; in fsl_ssi_isr()
161 ssi_private->stats.cmddu++; in fsl_ssi_isr()
166 ssi_private->stats.rxt++; in fsl_ssi_isr()
171 ssi_private->stats.rdr1++; in fsl_ssi_isr()
176 ssi_private->stats.rdr0++; in fsl_ssi_isr()
181 ssi_private->stats.tde1++; in fsl_ssi_isr()
186 ssi_private->stats.tde0++; in fsl_ssi_isr()
191 ssi_private->stats.roe1++; in fsl_ssi_isr()
197 ssi_private->stats.roe0++; in fsl_ssi_isr()
203 ssi_private->stats.tue1++; in fsl_ssi_isr()
209 ssi_private->stats.tue0++; in fsl_ssi_isr()
215 ssi_private->stats.tfs++; in fsl_ssi_isr()
220 ssi_private->stats.rfs++; in fsl_ssi_isr()
225 ssi_private->stats.tls++; in fsl_ssi_isr()
230 ssi_private->stats.rls++; in fsl_ssi_isr()
235 ssi_private->stats.rff1++; in fsl_ssi_isr()
240 ssi_private->stats.rff0++; in fsl_ssi_isr()
245 ssi_private->stats.tfe1++; in fsl_ssi_isr()
250 ssi_private->stats.tfe0++; in fsl_ssi_isr()
273 struct fsl_ssi_private *ssi_private = rtd->dai->cpu_dai->private_data; in fsl_ssi_startup() local
279 if (!ssi_private->playback && !ssi_private->capture) { in fsl_ssi_startup()
280 struct ccsr_ssi __iomem *ssi = ssi_private->ssi; in fsl_ssi_startup()
283 ret = request_irq(ssi_private->irq, fsl_ssi_isr, 0, in fsl_ssi_startup()
284 ssi_private->name, ssi_private); in fsl_ssi_startup()
287 "could not claim irq %u\n", ssi_private->irq); in fsl_ssi_startup()
350 if (!ssi_private->first_stream) in fsl_ssi_startup()
351 ssi_private->first_stream = substream; in fsl_ssi_startup()
371 ssi_private->first_stream->runtime; in fsl_ssi_startup()
390 ssi_private->second_stream = substream; in fsl_ssi_startup()
394 ssi_private->playback++; in fsl_ssi_startup()
397 ssi_private->capture++; in fsl_ssi_startup()
420 struct fsl_ssi_private *ssi_private = rtd->dai->cpu_dai->private_data; in fsl_ssi_prepare() local
422 struct ccsr_ssi __iomem *ssi = ssi_private->ssi; in fsl_ssi_prepare()
424 if (substream == ssi_private->first_stream) { in fsl_ssi_prepare()
450 struct fsl_ssi_private *ssi_private = rtd->dai->cpu_dai->private_data; in fsl_ssi_trigger() local
451 struct ccsr_ssi __iomem *ssi = ssi_private->ssi; in fsl_ssi_trigger()
500 struct fsl_ssi_private *ssi_private = rtd->dai->cpu_dai->private_data; in fsl_ssi_shutdown() local
503 ssi_private->playback--; in fsl_ssi_shutdown()
506 ssi_private->capture--; in fsl_ssi_shutdown()
508 if (ssi_private->first_stream == substream) in fsl_ssi_shutdown()
509 ssi_private->first_stream = ssi_private->second_stream; in fsl_ssi_shutdown()
511 ssi_private->second_stream = NULL; in fsl_ssi_shutdown()
517 if (!ssi_private->playback && !ssi_private->capture) { in fsl_ssi_shutdown()
518 struct ccsr_ssi __iomem *ssi = ssi_private->ssi; in fsl_ssi_shutdown()
522 free_irq(ssi_private->irq, ssi_private); in fsl_ssi_shutdown()
598 struct fsl_ssi_private *ssi_private = in fsl_sysfs_ssi_show() local
602 length = sprintf(buf, "rfrc=%u", ssi_private->stats.rfrc); in fsl_sysfs_ssi_show()
603 length += sprintf(buf + length, "\ttfrc=%u", ssi_private->stats.tfrc); in fsl_sysfs_ssi_show()
604 length += sprintf(buf + length, "\tcmdau=%u", ssi_private->stats.cmdau); in fsl_sysfs_ssi_show()
605 length += sprintf(buf + length, "\tcmddu=%u", ssi_private->stats.cmddu); in fsl_sysfs_ssi_show()
606 length += sprintf(buf + length, "\trxt=%u", ssi_private->stats.rxt); in fsl_sysfs_ssi_show()
607 length += sprintf(buf + length, "\trdr1=%u", ssi_private->stats.rdr1); in fsl_sysfs_ssi_show()
608 length += sprintf(buf + length, "\trdr0=%u", ssi_private->stats.rdr0); in fsl_sysfs_ssi_show()
609 length += sprintf(buf + length, "\ttde1=%u", ssi_private->stats.tde1); in fsl_sysfs_ssi_show()
610 length += sprintf(buf + length, "\ttde0=%u", ssi_private->stats.tde0); in fsl_sysfs_ssi_show()
611 length += sprintf(buf + length, "\troe1=%u", ssi_private->stats.roe1); in fsl_sysfs_ssi_show()
612 length += sprintf(buf + length, "\troe0=%u", ssi_private->stats.roe0); in fsl_sysfs_ssi_show()
613 length += sprintf(buf + length, "\ttue1=%u", ssi_private->stats.tue1); in fsl_sysfs_ssi_show()
614 length += sprintf(buf + length, "\ttue0=%u", ssi_private->stats.tue0); in fsl_sysfs_ssi_show()
615 length += sprintf(buf + length, "\ttfs=%u", ssi_private->stats.tfs); in fsl_sysfs_ssi_show()
616 length += sprintf(buf + length, "\trfs=%u", ssi_private->stats.rfs); in fsl_sysfs_ssi_show()
617 length += sprintf(buf + length, "\ttls=%u", ssi_private->stats.tls); in fsl_sysfs_ssi_show()
618 length += sprintf(buf + length, "\trls=%u", ssi_private->stats.rls); in fsl_sysfs_ssi_show()
619 length += sprintf(buf + length, "\trff1=%u", ssi_private->stats.rff1); in fsl_sysfs_ssi_show()
620 length += sprintf(buf + length, "\trff0=%u", ssi_private->stats.rff0); in fsl_sysfs_ssi_show()
621 length += sprintf(buf + length, "\ttfe1=%u", ssi_private->stats.tfe1); in fsl_sysfs_ssi_show()
622 length += sprintf(buf + length, "\ttfe0=%u\n", ssi_private->stats.tfe0); in fsl_sysfs_ssi_show()
637 struct fsl_ssi_private *ssi_private; in fsl_ssi_create_dai() local
641 ssi_private = kzalloc(sizeof(struct fsl_ssi_private), GFP_KERNEL); in fsl_ssi_create_dai()
642 if (!ssi_private) { in fsl_ssi_create_dai()
646 memcpy(&ssi_private->cpu_dai, &fsl_ssi_dai_template, in fsl_ssi_create_dai()
649 fsl_ssi_dai = &ssi_private->cpu_dai; in fsl_ssi_create_dai()
650 dev_attr = &ssi_private->dev_attr; in fsl_ssi_create_dai()
652 sprintf(ssi_private->name, "ssi%u", (u8) ssi_info->id); in fsl_ssi_create_dai()
653 ssi_private->ssi = ssi_info->ssi; in fsl_ssi_create_dai()
654 ssi_private->ssi_phys = ssi_info->ssi_phys; in fsl_ssi_create_dai()
655 ssi_private->irq = ssi_info->irq; in fsl_ssi_create_dai()
656 ssi_private->dev = ssi_info->dev; in fsl_ssi_create_dai()
658 ssi_private->dev->driver_data = fsl_ssi_dai; in fsl_ssi_create_dai()
665 ret = device_create_file(ssi_private->dev, dev_attr); in fsl_ssi_create_dai()
668 ssi_private->dev_attr.attr.name); in fsl_ssi_create_dai()
673 fsl_ssi_dai->private_data = ssi_private; in fsl_ssi_create_dai()
674 fsl_ssi_dai->name = ssi_private->name; in fsl_ssi_create_dai()
696 struct fsl_ssi_private *ssi_private = in fsl_ssi_destroy_dai() local
699 device_remove_file(ssi_private->dev, &ssi_private->dev_attr); in fsl_ssi_destroy_dai()
701 snd_soc_unregister_dai(&ssi_private->cpu_dai); in fsl_ssi_destroy_dai()
703 kfree(ssi_private); in fsl_ssi_destroy_dai()