Re: [PATCH] ASoC: Intel: hdac_hdmi: Add sampling frequencies constraint

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Takashi,

Thanks for the review.

> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai@xxxxxxx]
> Sent: Tuesday, August 7, 2018 10:23 AM
> To: Zhi, Yong <yong.zhi@xxxxxxxxx>
> Cc: broonie@xxxxxxxxxx; pierre-louis.bossart@xxxxxxxxxxxxxxx; alsa-
> devel@xxxxxxxxxxxxxxxx; N, Harshapriya <harshapriya.n@xxxxxxxxx>;
> vkoul@xxxxxxxxxx; M, Naveen <naveen.m@xxxxxxxxx>; Kale, Sanyog R
> <sanyog.r.kale@xxxxxxxxx>
> Subject: Re:  [PATCH] ASoC: Intel: hdac_hdmi: Add sampling
> frequencies constraint
> 
> On Tue, 07 Aug 2018 16:56:05 +0200,
> Yong Zhi wrote:
> >
> > Playback of 44.1Khz contents with HDMI plugged returns "Invalid pipe
> > config".
> 
> Why?  Is it a limitation of i915 graphics side?
> If it's a generic issue, we'd need to fix also in the legacy HDMI driver, too.
> 

The HDMI paths in DFW topology are configured for 48Khz operation.

> (snip)
> ....
> > +
> > +			sad_rates = sad_sample_rates_lpcm(sad);
> > +			/* Filter out 44.1, 88.2 and 176.4Khz */
> > +			for (j = 0; j < 7; j += 2)
> > +				if (sad_rates & BIT(j))
> > +					rates |= cea_sampling_freqs[j];
> > +
> > +			snd_pcm_hw_constraint_mask64(runtime,
> > +
> SNDRV_PCM_HW_PARAM_RATE,
> > +						     rates);
> 
> The whole changes are too complex.  You don't have to reduce the list
> dynamically, but just need to tell the all possible rates with a static array.
> 
> Or, even simpler, just filter the rates bits in
> hdac_hdmi_create_dais() from the beginning like below.
> 
> 
> thanks,
> 
> Takashi
> 

Ack, will make changes in hdac_hdmi_create_dais() thanks!!


> --- a/sound/soc/codecs/hdac_hdmi.c
> +++ b/sound/soc/codecs/hdac_hdmi.c
> @@ -1410,6 +1410,12 @@ static int hdac_hdmi_create_dais(struct
> hdac_device *hdev,
>  		if (ret)
>  			return ret;
> 
> +		/* Filter out 44.1, 88.2 and 176.4Khz */
> +		rates &= ~(SNDRV_PCM_RATE_44100 |
> SNDRV_PCM_RATE_88200 |
> +			   SNDRV_PCM_RATE_176400);
> +		if (!rates)
> +			return -EINVAL;
> +
>  		sprintf(dai_name, "intel-hdmi-hifi%d", i+1);
>  		hdmi_dais[i].name = devm_kstrdup(&hdev->dev,
>  					dai_name, GFP_KERNEL);
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux