Loading sound/ppc/burgundy.c +16 −16 Original line number Diff line number Diff line Loading @@ -102,7 +102,8 @@ snd_pmac_burgundy_rcw(struct snd_pmac *chip, unsigned addr) } static void snd_pmac_burgundy_wcb(struct snd_pmac *chip, unsigned int addr, unsigned int val) snd_pmac_burgundy_wcb(struct snd_pmac *chip, unsigned int addr, unsigned int val) { out_le32(&chip->awacs->codec_ctrl, addr + 0x300000 + (val & 0xff)); snd_pmac_burgundy_busy_wait(chip); Loading @@ -126,8 +127,11 @@ snd_pmac_burgundy_rcb(struct snd_pmac *chip, unsigned int addr) return val; } #define BASE2ADDR(base) ((base) << 12) #define ADDR2BASE(addr) ((addr) >> 12) /* * Burgundy volume: 0 - 100, stereo * Burgundy volume: 0 - 100, stereo, word reg */ static void snd_pmac_burgundy_write_volume(struct snd_pmac *chip, unsigned int address, Loading Loading @@ -168,13 +172,6 @@ snd_pmac_burgundy_read_volume(struct snd_pmac *chip, unsigned int address, volume[1] = 0; } /* */ #define BASE2ADDR(base) ((base) << 12) #define ADDR2BASE(addr) ((addr) >> 12) static int snd_pmac_burgundy_info_volume(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) { Loading @@ -191,8 +188,8 @@ static int snd_pmac_burgundy_get_volume(struct snd_kcontrol *kcontrol, struct snd_pmac *chip = snd_kcontrol_chip(kcontrol); unsigned int addr = BASE2ADDR(kcontrol->private_value & 0xff); int shift = (kcontrol->private_value >> 8) & 0xff; snd_pmac_burgundy_read_volume(chip, addr, ucontrol->value.integer.value, shift); snd_pmac_burgundy_read_volume(chip, addr, ucontrol->value.integer.value, shift); return 0; } Loading @@ -204,8 +201,8 @@ static int snd_pmac_burgundy_put_volume(struct snd_kcontrol *kcontrol, int shift = (kcontrol->private_value >> 8) & 0xff; long nvoices[2]; snd_pmac_burgundy_write_volume(chip, addr, ucontrol->value.integer.value, shift); snd_pmac_burgundy_write_volume(chip, addr, ucontrol->value.integer.value, shift); snd_pmac_burgundy_read_volume(chip, addr, nvoices, shift); return (nvoices[0] != ucontrol->value.integer.value[0] || nvoices[1] != ucontrol->value.integer.value[1]); Loading Loading @@ -700,7 +697,8 @@ int __init snd_pmac_burgundy_init(struct snd_pmac *chip) chip->master_sw_ctl = snd_ctl_new1(imac ? &snd_pmac_burgundy_master_sw_imac : &snd_pmac_burgundy_master_sw_pmac, chip); if ((err = snd_ctl_add(chip->card, chip->master_sw_ctl)) < 0) err = snd_ctl_add(chip->card, chip->master_sw_ctl); if (err < 0) return err; chip->master_sw_ctl = snd_ctl_new1(imac ? &snd_pmac_burgundy_line_sw_imac Loading @@ -718,10 +716,12 @@ int __init snd_pmac_burgundy_init(struct snd_pmac *chip) chip->speaker_sw_ctl = snd_ctl_new1(imac ? &snd_pmac_burgundy_speaker_sw_imac : &snd_pmac_burgundy_speaker_sw_pmac, chip); if ((err = snd_ctl_add(chip->card, chip->speaker_sw_ctl)) < 0) err = snd_ctl_add(chip->card, chip->speaker_sw_ctl); if (err < 0) return err; #ifdef PMAC_SUPPORT_AUTOMUTE if ((err = snd_pmac_add_automute(chip)) < 0) err = snd_pmac_add_automute(chip); if (err < 0) return err; chip->detect_headphone = snd_pmac_burgundy_detect_headphone; Loading Loading
sound/ppc/burgundy.c +16 −16 Original line number Diff line number Diff line Loading @@ -102,7 +102,8 @@ snd_pmac_burgundy_rcw(struct snd_pmac *chip, unsigned addr) } static void snd_pmac_burgundy_wcb(struct snd_pmac *chip, unsigned int addr, unsigned int val) snd_pmac_burgundy_wcb(struct snd_pmac *chip, unsigned int addr, unsigned int val) { out_le32(&chip->awacs->codec_ctrl, addr + 0x300000 + (val & 0xff)); snd_pmac_burgundy_busy_wait(chip); Loading @@ -126,8 +127,11 @@ snd_pmac_burgundy_rcb(struct snd_pmac *chip, unsigned int addr) return val; } #define BASE2ADDR(base) ((base) << 12) #define ADDR2BASE(addr) ((addr) >> 12) /* * Burgundy volume: 0 - 100, stereo * Burgundy volume: 0 - 100, stereo, word reg */ static void snd_pmac_burgundy_write_volume(struct snd_pmac *chip, unsigned int address, Loading Loading @@ -168,13 +172,6 @@ snd_pmac_burgundy_read_volume(struct snd_pmac *chip, unsigned int address, volume[1] = 0; } /* */ #define BASE2ADDR(base) ((base) << 12) #define ADDR2BASE(addr) ((addr) >> 12) static int snd_pmac_burgundy_info_volume(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) { Loading @@ -191,8 +188,8 @@ static int snd_pmac_burgundy_get_volume(struct snd_kcontrol *kcontrol, struct snd_pmac *chip = snd_kcontrol_chip(kcontrol); unsigned int addr = BASE2ADDR(kcontrol->private_value & 0xff); int shift = (kcontrol->private_value >> 8) & 0xff; snd_pmac_burgundy_read_volume(chip, addr, ucontrol->value.integer.value, shift); snd_pmac_burgundy_read_volume(chip, addr, ucontrol->value.integer.value, shift); return 0; } Loading @@ -204,8 +201,8 @@ static int snd_pmac_burgundy_put_volume(struct snd_kcontrol *kcontrol, int shift = (kcontrol->private_value >> 8) & 0xff; long nvoices[2]; snd_pmac_burgundy_write_volume(chip, addr, ucontrol->value.integer.value, shift); snd_pmac_burgundy_write_volume(chip, addr, ucontrol->value.integer.value, shift); snd_pmac_burgundy_read_volume(chip, addr, nvoices, shift); return (nvoices[0] != ucontrol->value.integer.value[0] || nvoices[1] != ucontrol->value.integer.value[1]); Loading Loading @@ -700,7 +697,8 @@ int __init snd_pmac_burgundy_init(struct snd_pmac *chip) chip->master_sw_ctl = snd_ctl_new1(imac ? &snd_pmac_burgundy_master_sw_imac : &snd_pmac_burgundy_master_sw_pmac, chip); if ((err = snd_ctl_add(chip->card, chip->master_sw_ctl)) < 0) err = snd_ctl_add(chip->card, chip->master_sw_ctl); if (err < 0) return err; chip->master_sw_ctl = snd_ctl_new1(imac ? &snd_pmac_burgundy_line_sw_imac Loading @@ -718,10 +716,12 @@ int __init snd_pmac_burgundy_init(struct snd_pmac *chip) chip->speaker_sw_ctl = snd_ctl_new1(imac ? &snd_pmac_burgundy_speaker_sw_imac : &snd_pmac_burgundy_speaker_sw_pmac, chip); if ((err = snd_ctl_add(chip->card, chip->speaker_sw_ctl)) < 0) err = snd_ctl_add(chip->card, chip->speaker_sw_ctl); if (err < 0) return err; #ifdef PMAC_SUPPORT_AUTOMUTE if ((err = snd_pmac_add_automute(chip)) < 0) err = snd_pmac_add_automute(chip); if (err < 0) return err; chip->detect_headphone = snd_pmac_burgundy_detect_headphone; Loading