diff options
Diffstat (limited to 'sound/soc/sh/fsi.c')
-rw-r--r-- | sound/soc/sh/fsi.c | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c index 30765ab512f6..b1cd859723c0 100644 --- a/sound/soc/sh/fsi.c +++ b/sound/soc/sh/fsi.c | |||
@@ -674,20 +674,15 @@ static int fsi_dai_startup(struct snd_pcm_substream *substream, | |||
674 | 674 | ||
675 | /* clock inversion (CKG2) */ | 675 | /* clock inversion (CKG2) */ |
676 | data = 0; | 676 | data = 0; |
677 | switch (SH_FSI_INVERSION_MASK & flags) { | 677 | if (SH_FSI_LRM_INV & flags) |
678 | case SH_FSI_LRM_INV: | 678 | data |= 1 << 12; |
679 | data = 1 << 12; | 679 | if (SH_FSI_BRM_INV & flags) |
680 | break; | 680 | data |= 1 << 8; |
681 | case SH_FSI_BRM_INV: | 681 | if (SH_FSI_LRS_INV & flags) |
682 | data = 1 << 8; | 682 | data |= 1 << 4; |
683 | break; | 683 | if (SH_FSI_BRS_INV & flags) |
684 | case SH_FSI_LRS_INV: | 684 | data |= 1 << 0; |
685 | data = 1 << 4; | 685 | |
686 | break; | ||
687 | case SH_FSI_BRS_INV: | ||
688 | data = 1 << 0; | ||
689 | break; | ||
690 | } | ||
691 | fsi_reg_write(fsi, CKG2, data); | 686 | fsi_reg_write(fsi, CKG2, data); |
692 | 687 | ||
693 | /* do fmt, di fmt */ | 688 | /* do fmt, di fmt */ |
@@ -717,15 +712,15 @@ static int fsi_dai_startup(struct snd_pcm_substream *substream, | |||
717 | break; | 712 | break; |
718 | case SH_FSI_FMT_TDM: | 713 | case SH_FSI_FMT_TDM: |
719 | msg = "TDM"; | 714 | msg = "TDM"; |
720 | data = CR_FMT(CR_TDM) | (fsi->chan - 1); | ||
721 | fsi->chan = is_play ? | 715 | fsi->chan = is_play ? |
722 | SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags); | 716 | SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags); |
717 | data = CR_FMT(CR_TDM) | (fsi->chan - 1); | ||
723 | break; | 718 | break; |
724 | case SH_FSI_FMT_TDM_DELAY: | 719 | case SH_FSI_FMT_TDM_DELAY: |
725 | msg = "TDM Delay"; | 720 | msg = "TDM Delay"; |
726 | data = CR_FMT(CR_TDM_D) | (fsi->chan - 1); | ||
727 | fsi->chan = is_play ? | 721 | fsi->chan = is_play ? |
728 | SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags); | 722 | SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags); |
723 | data = CR_FMT(CR_TDM_D) | (fsi->chan - 1); | ||
729 | break; | 724 | break; |
730 | default: | 725 | default: |
731 | dev_err(dai->dev, "unknown format.\n"); | 726 | dev_err(dai->dev, "unknown format.\n"); |