aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-07-13 07:29:10 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-07-13 07:29:10 -0400
commit4d53952a396d7fcde295b6eedee1f588dfb8464c (patch)
tree0a38a0b60d5506000c098556a6f2ddb60ecc75d6
parent66b47fdb851924956b6e4696fb43a3496ae2c462 (diff)
parent637727838a5e82bc9285ab078a793eaae590bacb (diff)
Merge branch 'for-2.6.35' into for-2.6.36
-rw-r--r--sound/soc/sh/fsi.c27
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");