Commit 8c617791acaf5bd59999e47e0cce94b3759f20b5
Exists in
ti-lsk-linux-4.1.y
and in
10 other branches
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); |