[alsa-devel] [RFC v2 1/3] ALSA: hda: add HDA_MAX_CODECS
Takashi Iwai
tiwai at suse.de
Wed Mar 25 07:48:44 CET 2015
At Wed, 25 Mar 2015 11:31:37 +0530,
Vinod Koul wrote:
>
> This moves AZX_MAX_CODECS define to HDA_MAX_CODECS so that common code can
> use this as well
Well, HDA_MAX_CODECS = 8 isn't about the codec specification, but
rather a limitation of the current standard HD-audio controller h/w.
The spec itself limits to 16 (= 0x0f).
So, I don't want to mix this into hda_verbs.h that is the place
defining the specification. It's fine to move to hdaudio.h instead,
though.
thanks,
Takashi
>
> Signed-off-by: Jeeja KP <jeeja.kp at intel.com>
> Signed-off-by: Vinod Koul <vinod.koul at intel.com>
> ---
> include/sound/hda_verbs.h | 1 +
> sound/pci/hda/hda_controller.c | 4 ++--
> sound/pci/hda/hda_controller.h | 9 ++++-----
> 3 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/include/sound/hda_verbs.h b/include/sound/hda_verbs.h
> index d0509db6d0ec..42b8415b2254 100644
> --- a/include/sound/hda_verbs.h
> +++ b/include/sound/hda_verbs.h
> @@ -550,5 +550,6 @@ enum {
>
> /* max. codec address */
> #define HDA_MAX_CODEC_ADDRESS 0x0f
> +#define HDA_MAX_CODECS 8
>
> #endif /* __SOUND_HDA_VERBS_H */
> diff --git a/sound/pci/hda/hda_controller.c b/sound/pci/hda/hda_controller.c
> index 26ce990592a0..abb3822f5488 100644
> --- a/sound/pci/hda/hda_controller.c
> +++ b/sound/pci/hda/hda_controller.c
> @@ -1066,7 +1066,7 @@ static unsigned int azx_command_addr(u32 cmd)
> {
> unsigned int addr = cmd >> 28;
>
> - if (addr >= AZX_MAX_CODECS) {
> + if (addr >= HDA_MAX_CODECS) {
> snd_BUG();
> addr = 0;
> }
> @@ -1136,7 +1136,7 @@ static void azx_update_rirb(struct azx *chip)
> res_ex = le32_to_cpu(chip->rirb.buf[rp + 1]);
> res = le32_to_cpu(chip->rirb.buf[rp]);
> addr = res_ex & 0xf;
> - if ((addr >= AZX_MAX_CODECS) || !(chip->codec_mask & (1 << addr))) {
> + if ((addr >= HDA_MAX_CODECS) || !(chip->codec_mask & (1 << addr))) {
> dev_err(chip->card->dev, "spurious response %#x:%#x, rp = %d, wp = %d",
> res, res_ex,
> chip->rirb.rp, wp);
> diff --git a/sound/pci/hda/hda_controller.h b/sound/pci/hda/hda_controller.h
> index be1b7ded8d82..2aa75e34a718 100644
> --- a/sound/pci/hda/hda_controller.h
> +++ b/sound/pci/hda/hda_controller.h
> @@ -119,9 +119,8 @@ enum { SDI0, SDI1, SDI2, SDI3, SDO0, SDO1, SDO2, SDO3 };
> #define RIRB_INT_MASK 0x05
>
> /* STATESTS int mask: S3,SD2,SD1,SD0 */
> -#define AZX_MAX_CODECS 8
> #define AZX_DEFAULT_CODECS 4
> -#define STATESTS_INT_MASK ((1 << AZX_MAX_CODECS) - 1)
> +#define STATESTS_INT_MASK ((1 << HDA_MAX_CODECS) - 1)
>
> /* SD_CTL bits */
> #define SD_CTL_STREAM_RESET 0x01 /* stream reset bit */
> @@ -245,8 +244,8 @@ struct azx_rb {
> dma_addr_t addr; /* physical address of CORB/RIRB buffer */
> /* for RIRB */
> unsigned short rp, wp; /* read/write pointers */
> - int cmds[AZX_MAX_CODECS]; /* number of pending requests */
> - u32 res[AZX_MAX_CODECS]; /* last read value */
> + int cmds[HDA_MAX_CODECS]; /* number of pending requests */
> + u32 res[HDA_MAX_CODECS]; /* last read value */
> };
>
> struct azx;
> @@ -360,7 +359,7 @@ struct azx {
> unsigned int disabled:1; /* disabled by VGA-switcher */
>
> /* for debugging */
> - unsigned int last_cmd[AZX_MAX_CODECS];
> + unsigned int last_cmd[HDA_MAX_CODECS];
>
> #ifdef CONFIG_SND_HDA_DSP_LOADER
> struct azx_dev saved_azx_dev;
> --
> 1.7.9.5
>
More information about the Alsa-devel
mailing list