Skip to content

Commit e14bd35

Browse files
andy-shevbroonie
authored andcommitted
ASoC: cs43130: Re-use generic struct u16_fract
Instead of custom data type re-use generic struct u16_fract. No changes intended. Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Charles Keepax <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mark Brown <[email protected]>
1 parent 101b096 commit e14bd35

File tree

2 files changed

+84
-83
lines changed

2 files changed

+84
-83
lines changed

sound/soc/codecs/cs43130.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -712,30 +712,30 @@ static int cs43130_set_sp_fmt(int dai_id, unsigned int bitwidth_sclk,
712712
case CS43130_ASP_PCM_DAI:
713713
case CS43130_ASP_DOP_DAI:
714714
regmap_write(cs43130->regmap, CS43130_ASP_DEN_1,
715-
(clk_gen->den & CS43130_SP_M_LSB_DATA_MASK) >>
715+
(clk_gen->v.denominator & CS43130_SP_M_LSB_DATA_MASK) >>
716716
CS43130_SP_M_LSB_DATA_SHIFT);
717717
regmap_write(cs43130->regmap, CS43130_ASP_DEN_2,
718-
(clk_gen->den & CS43130_SP_M_MSB_DATA_MASK) >>
718+
(clk_gen->v.denominator & CS43130_SP_M_MSB_DATA_MASK) >>
719719
CS43130_SP_M_MSB_DATA_SHIFT);
720720
regmap_write(cs43130->regmap, CS43130_ASP_NUM_1,
721-
(clk_gen->num & CS43130_SP_N_LSB_DATA_MASK) >>
721+
(clk_gen->v.numerator & CS43130_SP_N_LSB_DATA_MASK) >>
722722
CS43130_SP_N_LSB_DATA_SHIFT);
723723
regmap_write(cs43130->regmap, CS43130_ASP_NUM_2,
724-
(clk_gen->num & CS43130_SP_N_MSB_DATA_MASK) >>
724+
(clk_gen->v.numerator & CS43130_SP_N_MSB_DATA_MASK) >>
725725
CS43130_SP_N_MSB_DATA_SHIFT);
726726
break;
727727
case CS43130_XSP_DOP_DAI:
728728
regmap_write(cs43130->regmap, CS43130_XSP_DEN_1,
729-
(clk_gen->den & CS43130_SP_M_LSB_DATA_MASK) >>
729+
(clk_gen->v.denominator & CS43130_SP_M_LSB_DATA_MASK) >>
730730
CS43130_SP_M_LSB_DATA_SHIFT);
731731
regmap_write(cs43130->regmap, CS43130_XSP_DEN_2,
732-
(clk_gen->den & CS43130_SP_M_MSB_DATA_MASK) >>
732+
(clk_gen->v.denominator & CS43130_SP_M_MSB_DATA_MASK) >>
733733
CS43130_SP_M_MSB_DATA_SHIFT);
734734
regmap_write(cs43130->regmap, CS43130_XSP_NUM_1,
735-
(clk_gen->num & CS43130_SP_N_LSB_DATA_MASK) >>
735+
(clk_gen->v.numerator & CS43130_SP_N_LSB_DATA_MASK) >>
736736
CS43130_SP_N_LSB_DATA_SHIFT);
737737
regmap_write(cs43130->regmap, CS43130_XSP_NUM_2,
738-
(clk_gen->num & CS43130_SP_N_MSB_DATA_MASK) >>
738+
(clk_gen->v.numerator & CS43130_SP_N_MSB_DATA_MASK) >>
739739
CS43130_SP_N_MSB_DATA_SHIFT);
740740
break;
741741
default:

sound/soc/codecs/cs43130.h

Lines changed: 76 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
#ifndef __CS43130_H__
1111
#define __CS43130_H__
1212

13+
#include <linux/math.h>
14+
1315
/* CS43130 registers addresses */
1416
/* all reg address is shifted by a byte for control byte to be LSB */
1517
#define CS43130_FIRSTREG 0x010000
@@ -372,97 +374,96 @@ enum cs43130_dai_id {
372374
};
373375

374376
struct cs43130_clk_gen {
375-
unsigned int mclk_int;
376-
int fs;
377-
u16 den;
378-
u16 num;
377+
unsigned int mclk_int;
378+
int fs;
379+
struct u16_fract v;
379380
};
380381

381382
/* frm_size = 16 */
382383
static const struct cs43130_clk_gen cs43130_16_clk_gen[] = {
383-
{22579200, 32000, 441, 10,},
384-
{22579200, 44100, 32, 1,},
385-
{22579200, 48000, 147, 5,},
386-
{22579200, 88200, 16, 1,},
387-
{22579200, 96000, 147, 10,},
388-
{22579200, 176400, 8, 1,},
389-
{22579200, 192000, 147, 20,},
390-
{22579200, 352800, 4, 1,},
391-
{22579200, 384000, 147, 40,},
392-
{24576000, 32000, 48, 1,},
393-
{24576000, 44100, 5120, 147,},
394-
{24576000, 48000, 32, 1,},
395-
{24576000, 88200, 2560, 147,},
396-
{24576000, 96000, 16, 1,},
397-
{24576000, 176400, 1280, 147,},
398-
{24576000, 192000, 8, 1,},
399-
{24576000, 352800, 640, 147,},
400-
{24576000, 384000, 4, 1,},
384+
{ 22579200, 32000, .v = { 441, 10, }, },
385+
{ 22579200, 44100, .v = { 32, 1, }, },
386+
{ 22579200, 48000, .v = { 147, 5, }, },
387+
{ 22579200, 88200, .v = { 16, 1, }, },
388+
{ 22579200, 96000, .v = { 147, 10, }, },
389+
{ 22579200, 176400, .v = { 8, 1, }, },
390+
{ 22579200, 192000, .v = { 147, 20, }, },
391+
{ 22579200, 352800, .v = { 4, 1, }, },
392+
{ 22579200, 384000, .v = { 147, 40, }, },
393+
{ 24576000, 32000, .v = { 48, 1, }, },
394+
{ 24576000, 44100, .v = { 5120, 147, }, },
395+
{ 24576000, 48000, .v = { 32, 1, }, },
396+
{ 24576000, 88200, .v = { 2560, 147, }, },
397+
{ 24576000, 96000, .v = { 16, 1, }, },
398+
{ 24576000, 176400, .v = { 1280, 147, }, },
399+
{ 24576000, 192000, .v = { 8, 1, }, },
400+
{ 24576000, 352800, .v = { 640, 147, }, },
401+
{ 24576000, 384000, .v = { 4, 1, }, },
401402
};
402403

403404
/* frm_size = 32 */
404405
static const struct cs43130_clk_gen cs43130_32_clk_gen[] = {
405-
{22579200, 32000, 441, 20,},
406-
{22579200, 44100, 16, 1,},
407-
{22579200, 48000, 147, 10,},
408-
{22579200, 88200, 8, 1,},
409-
{22579200, 96000, 147, 20,},
410-
{22579200, 176400, 4, 1,},
411-
{22579200, 192000, 147, 40,},
412-
{22579200, 352800, 2, 1,},
413-
{22579200, 384000, 147, 80,},
414-
{24576000, 32000, 24, 1,},
415-
{24576000, 44100, 2560, 147,},
416-
{24576000, 48000, 16, 1,},
417-
{24576000, 88200, 1280, 147,},
418-
{24576000, 96000, 8, 1,},
419-
{24576000, 176400, 640, 147,},
420-
{24576000, 192000, 4, 1,},
421-
{24576000, 352800, 320, 147,},
422-
{24576000, 384000, 2, 1,},
406+
{ 22579200, 32000, .v = { 441, 20, }, },
407+
{ 22579200, 44100, .v = { 16, 1, }, },
408+
{ 22579200, 48000, .v = { 147, 10, }, },
409+
{ 22579200, 88200, .v = { 8, 1, }, },
410+
{ 22579200, 96000, .v = { 147, 20, }, },
411+
{ 22579200, 176400, .v = { 4, 1, }, },
412+
{ 22579200, 192000, .v = { 147, 40, }, },
413+
{ 22579200, 352800, .v = { 2, 1, }, },
414+
{ 22579200, 384000, .v = { 147, 80, }, },
415+
{ 24576000, 32000, .v = { 24, 1, }, },
416+
{ 24576000, 44100, .v = { 2560, 147, }, },
417+
{ 24576000, 48000, .v = { 16, 1, }, },
418+
{ 24576000, 88200, .v = { 1280, 147, }, },
419+
{ 24576000, 96000, .v = { 8, 1, }, },
420+
{ 24576000, 176400, .v = { 640, 147, }, },
421+
{ 24576000, 192000, .v = { 4, 1, }, },
422+
{ 24576000, 352800, .v = { 320, 147, }, },
423+
{ 24576000, 384000, .v = { 2, 1, }, },
423424
};
424425

425426
/* frm_size = 48 */
426427
static const struct cs43130_clk_gen cs43130_48_clk_gen[] = {
427-
{22579200, 32000, 147, 100,},
428-
{22579200, 44100, 32, 3,},
429-
{22579200, 48000, 49, 5,},
430-
{22579200, 88200, 16, 3,},
431-
{22579200, 96000, 49, 10,},
432-
{22579200, 176400, 8, 3,},
433-
{22579200, 192000, 49, 20,},
434-
{22579200, 352800, 4, 3,},
435-
{22579200, 384000, 49, 40,},
436-
{24576000, 32000, 16, 1,},
437-
{24576000, 44100, 5120, 441,},
438-
{24576000, 48000, 32, 3,},
439-
{24576000, 88200, 2560, 441,},
440-
{24576000, 96000, 16, 3,},
441-
{24576000, 176400, 1280, 441,},
442-
{24576000, 192000, 8, 3,},
443-
{24576000, 352800, 640, 441,},
444-
{24576000, 384000, 4, 3,},
428+
{ 22579200, 32000, .v = { 147, 100, }, },
429+
{ 22579200, 44100, .v = { 32, 3, }, },
430+
{ 22579200, 48000, .v = { 49, 5, }, },
431+
{ 22579200, 88200, .v = { 16, 3, }, },
432+
{ 22579200, 96000, .v = { 49, 10, }, },
433+
{ 22579200, 176400, .v = { 8, 3, }, },
434+
{ 22579200, 192000, .v = { 49, 20, }, },
435+
{ 22579200, 352800, .v = { 4, 3, }, },
436+
{ 22579200, 384000, .v = { 49, 40, }, },
437+
{ 24576000, 32000, .v = { 16, 1, }, },
438+
{ 24576000, 44100, .v = { 5120, 441, }, },
439+
{ 24576000, 48000, .v = { 32, 3, }, },
440+
{ 24576000, 88200, .v = { 2560, 441, }, },
441+
{ 24576000, 96000, .v = { 16, 3, }, },
442+
{ 24576000, 176400, .v = { 1280, 441, }, },
443+
{ 24576000, 192000, .v = { 8, 3, }, },
444+
{ 24576000, 352800, .v = { 640, 441, }, },
445+
{ 24576000, 384000, .v = { 4, 3, }, },
445446
};
446447

447448
/* frm_size = 64 */
448449
static const struct cs43130_clk_gen cs43130_64_clk_gen[] = {
449-
{22579200, 32000, 441, 40,},
450-
{22579200, 44100, 8, 1,},
451-
{22579200, 48000, 147, 20,},
452-
{22579200, 88200, 4, 1,},
453-
{22579200, 96000, 147, 40,},
454-
{22579200, 176400, 2, 1,},
455-
{22579200, 192000, 147, 80,},
456-
{22579200, 352800, 1, 1,},
457-
{24576000, 32000, 12, 1,},
458-
{24576000, 44100, 1280, 147,},
459-
{24576000, 48000, 8, 1,},
460-
{24576000, 88200, 640, 147,},
461-
{24576000, 96000, 4, 1,},
462-
{24576000, 176400, 320, 147,},
463-
{24576000, 192000, 2, 1,},
464-
{24576000, 352800, 160, 147,},
465-
{24576000, 384000, 1, 1,},
450+
{ 22579200, 32000, .v = { 441, 40, }, },
451+
{ 22579200, 44100, .v = { 8, 1, }, },
452+
{ 22579200, 48000, .v = { 147, 20, }, },
453+
{ 22579200, 88200, .v = { 4, 1, }, },
454+
{ 22579200, 96000, .v = { 147, 40, }, },
455+
{ 22579200, 176400, .v = { 2, 1, }, },
456+
{ 22579200, 192000, .v = { 147, 80, }, },
457+
{ 22579200, 352800, .v = { 1, 1, }, },
458+
{ 24576000, 32000, .v = { 12, 1, }, },
459+
{ 24576000, 44100, .v = { 1280, 147, }, },
460+
{ 24576000, 48000, .v = { 8, 1, }, },
461+
{ 24576000, 88200, .v = { 640, 147, }, },
462+
{ 24576000, 96000, .v = { 4, 1, }, },
463+
{ 24576000, 176400, .v = { 320, 147, }, },
464+
{ 24576000, 192000, .v = { 2, 1, }, },
465+
{ 24576000, 352800, .v = { 160, 147, }, },
466+
{ 24576000, 384000, .v = { 1, 1, }, },
466467
};
467468

468469
struct cs43130_bitwidth_map {

0 commit comments

Comments
 (0)