Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 5359
b: refs/heads/master
c: 7b56605
h: refs/heads/master
i:
  5357: 9bbbef3
  5355: 382775b
  5351: a4c19c3
  5343: 357a912
v: v3
  • Loading branch information
Takashi Iwai authored and Jaroslav Kysela committed Jul 28, 2005
1 parent 80349c3 commit 12ec4cc
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 29 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fb92e6f05e84f6c217d786208e2ed5acf633b6ce
refs/heads/master: 7b566054b33474cdd674289a8c7dd282c02e536e
46 changes: 18 additions & 28 deletions trunk/sound/drivers/vx/vx_uer.c
Original file line number Diff line number Diff line change
Expand Up @@ -162,34 +162,24 @@ static int vx_read_uer_status(vx_core_t *chip, int *mode)

static int vx_calc_clock_from_freq(vx_core_t *chip, int freq)
{
#define XX_FECH48000 0x0000004B
#define XX_FECH32000 0x00000171
#define XX_FECH24000 0x0000024B
#define XX_FECH16000 0x00000371
#define XX_FECH12000 0x0000044B
#define XX_FECH8000 0x00000571
#define XX_FECH44100 0x0000007F
#define XX_FECH29400 0x0000016F
#define XX_FECH22050 0x0000027F
#define XX_FECH14000 0x000003EF
#define XX_FECH11025 0x0000047F
#define XX_FECH7350 0x000005BF

switch (freq) {
case 48000: return XX_FECH48000;
case 44100: return XX_FECH44100;
case 32000: return XX_FECH32000;
case 29400: return XX_FECH29400;
case 24000: return XX_FECH24000;
case 22050: return XX_FECH22050;
case 16000: return XX_FECH16000;
case 14000: return XX_FECH14000;
case 12000: return XX_FECH12000;
case 11025: return XX_FECH11025;
case 8000: return XX_FECH8000;
case 7350: return XX_FECH7350;
default: return freq; /* The value is already correct */
}
int hexfreq;

snd_assert(freq > 0, return 0);

hexfreq = (28224000 * 10) / freq;
hexfreq = (hexfreq + 5) / 10;

/* max freq = 55125 Hz */
snd_assert(hexfreq > 0x00000200, return 0);

if (hexfreq <= 0x03ff)
return hexfreq - 0x00000201;
if (hexfreq <= 0x07ff)
return (hexfreq / 2) - 1;
if (hexfreq <= 0x0fff)
return (hexfreq / 4) + 0x000001ff;

return 0x5fe; /* min freq = 6893 Hz */
}


Expand Down

0 comments on commit 12ec4cc

Please sign in to comment.