Commit 8c617791acaf5bd59999e47e0cce94b3759f20b5

Authored by Mark Brown

Merge remote-tracking branch 'asoc/fix/atmel' into asoc-linus

Showing 1 changed file Side-by-side Diff

sound/soc/atmel/atmel_ssc_dai.c
... ... @@ -348,7 +348,6 @@
348 348 struct atmel_pcm_dma_params *dma_params;
349 349 int dir, channels, bits;
350 350 u32 tfmr, rfmr, tcmr, rcmr;
351   - int start_event;
352 351 int ret;
353 352 int fslen, fslen_ext;
354 353  
355 354  
356 355  
... ... @@ -457,19 +456,10 @@
457 456 * The SSC transmit clock is obtained from the BCLK signal on
458 457 * on the TK line, and the SSC receive clock is
459 458 * generated from the transmit clock.
460   - *
461   - * For single channel data, one sample is transferred
462   - * on the falling edge of the LRC clock.
463   - * For two channel data, one sample is
464   - * transferred on both edges of the LRC clock.
465 459 */
466   - start_event = ((channels == 1)
467   - ? SSC_START_FALLING_RF
468   - : SSC_START_EDGE_RF);
469   -
470 460 rcmr = SSC_BF(RCMR_PERIOD, 0)
471 461 | SSC_BF(RCMR_STTDLY, START_DELAY)
472   - | SSC_BF(RCMR_START, start_event)
  462 + | SSC_BF(RCMR_START, SSC_START_FALLING_RF)
473 463 | SSC_BF(RCMR_CKI, SSC_CKI_RISING)
474 464 | SSC_BF(RCMR_CKO, SSC_CKO_NONE)
475 465 | SSC_BF(RCMR_CKS, ssc->clk_from_rk_pin ?
476 466  
... ... @@ -478,14 +468,14 @@
478 468 rfmr = SSC_BF(RFMR_FSEDGE, SSC_FSEDGE_POSITIVE)
479 469 | SSC_BF(RFMR_FSOS, SSC_FSOS_NONE)
480 470 | SSC_BF(RFMR_FSLEN, 0)
481   - | SSC_BF(RFMR_DATNB, 0)
  471 + | SSC_BF(RFMR_DATNB, (channels - 1))
482 472 | SSC_BIT(RFMR_MSBF)
483 473 | SSC_BF(RFMR_LOOP, 0)
484 474 | SSC_BF(RFMR_DATLEN, (bits - 1));
485 475  
486 476 tcmr = SSC_BF(TCMR_PERIOD, 0)
487 477 | SSC_BF(TCMR_STTDLY, START_DELAY)
488   - | SSC_BF(TCMR_START, start_event)
  478 + | SSC_BF(TCMR_START, SSC_START_FALLING_RF)
489 479 | SSC_BF(TCMR_CKI, SSC_CKI_FALLING)
490 480 | SSC_BF(TCMR_CKO, SSC_CKO_NONE)
491 481 | SSC_BF(TCMR_CKS, ssc->clk_from_rk_pin ?
... ... @@ -495,7 +485,7 @@
495 485 | SSC_BF(TFMR_FSDEN, 0)
496 486 | SSC_BF(TFMR_FSOS, SSC_FSOS_NONE)
497 487 | SSC_BF(TFMR_FSLEN, 0)
498   - | SSC_BF(TFMR_DATNB, 0)
  488 + | SSC_BF(TFMR_DATNB, (channels - 1))
499 489 | SSC_BIT(TFMR_MSBF)
500 490 | SSC_BF(TFMR_DATDEF, 0)
501 491 | SSC_BF(TFMR_DATLEN, (bits - 1));
... ... @@ -512,7 +502,7 @@
512 502 rcmr = SSC_BF(RCMR_PERIOD, ssc_p->rcmr_period)
513 503 | SSC_BF(RCMR_STTDLY, 1)
514 504 | SSC_BF(RCMR_START, SSC_START_RISING_RF)
515   - | SSC_BF(RCMR_CKI, SSC_CKI_RISING)
  505 + | SSC_BF(RCMR_CKI, SSC_CKI_FALLING)
516 506 | SSC_BF(RCMR_CKO, SSC_CKO_NONE)
517 507 | SSC_BF(RCMR_CKS, SSC_CKS_DIV);
518 508  
... ... @@ -527,7 +517,7 @@
527 517 tcmr = SSC_BF(TCMR_PERIOD, ssc_p->tcmr_period)
528 518 | SSC_BF(TCMR_STTDLY, 1)
529 519 | SSC_BF(TCMR_START, SSC_START_RISING_RF)
530   - | SSC_BF(TCMR_CKI, SSC_CKI_RISING)
  520 + | SSC_BF(TCMR_CKI, SSC_CKI_FALLING)
531 521 | SSC_BF(TCMR_CKO, SSC_CKO_CONTINUOUS)
532 522 | SSC_BF(TCMR_CKS, SSC_CKS_DIV);
533 523  
... ... @@ -556,7 +546,7 @@
556 546 rcmr = SSC_BF(RCMR_PERIOD, 0)
557 547 | SSC_BF(RCMR_STTDLY, START_DELAY)
558 548 | SSC_BF(RCMR_START, SSC_START_RISING_RF)
559   - | SSC_BF(RCMR_CKI, SSC_CKI_RISING)
  549 + | SSC_BF(RCMR_CKI, SSC_CKI_FALLING)
560 550 | SSC_BF(RCMR_CKO, SSC_CKO_NONE)
561 551 | SSC_BF(RCMR_CKS, ssc->clk_from_rk_pin ?
562 552 SSC_CKS_PIN : SSC_CKS_CLOCK);