Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp1150286pxa; Thu, 13 Aug 2020 01:40:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxeBKLcM7PdYpdvNckZVZPUQaujVdzJN4zIfULdO2finHNvGHxNHGj+c80aIJhkQODK/9n0 X-Received: by 2002:a17:906:7e06:: with SMTP id e6mr3954252ejr.236.1597308019632; Thu, 13 Aug 2020 01:40:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597308019; cv=none; d=google.com; s=arc-20160816; b=iZameWJMgKLI0e3p4gU7rt9goRZmbJQwR1DlKWUf5RvP5HrvuxPn1JcCxbYxLTJXFY J3RORJwcilGYzBMhi52Afv3Xopu6do8u1kyKzXlk2Hgx08nXTNjrZUD4m5M3oAV7VwbT unrhNJHQgrkY9dPiMlvHEPedExBTughCsgG+exy2foLBphQeFB+d2zKHenjo/6sGZ041 2kFkpdDKZhLPdvLUUhv9KdGNqOkgc6Zu1tjp7vo1TWICs80ZEZ8KKzym17T8F6le33qs ddb2m57EpWHUl4DhtOfHhSz1fY6EmsFlSNvXydLf66yzhLYbAsSWHKMs3MHAO+VCnEhD Fp9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=tHfNg+oz1iFo1kIypdHpDVPeAwijPwbDmK8EFi7isTw=; b=Cead16VJOuVdahkApRBrPaUh9zwnf6jXujXQsgi7CLhK6FA60NGbww+wqZl+pfxBhk 28qDZ0lZSKnebm8UWQu7YIT80pocinzMvcDZ24dPnE5cerxad693Nhm5HJ5jxVWU5IsJ KKJEPEv3nBc02LLeUFDz4KC6XiHQatblBF7LNNBYUhLf2IKCJJvIQUd+zSKtAobGMxpe Vm4ArVEHAfqMQ5vultlnstgQ1d5puPibsvZ3eh1u9aLRKRyA1I0FqnHsVFq49Sz0c4wm tJ7aEOkeMVSMqB2SeyOvhBgth9XrC1qBtKtc2F/w10Fy/8JKxhldJ3N+RPz6cIC+HbN/ GvLw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=RaANlNLy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 89si2969211edr.198.2020.08.13.01.39.56; Thu, 13 Aug 2020 01:40:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=RaANlNLy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726803AbgHMIhL (ORCPT + 99 others); Thu, 13 Aug 2020 04:37:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726641AbgHMIhK (ORCPT ); Thu, 13 Aug 2020 04:37:10 -0400 Received: from mail-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7E446C061757 for ; Thu, 13 Aug 2020 01:37:10 -0700 (PDT) Received: by mail-wr1-x443.google.com with SMTP id y3so4485115wrl.4 for ; Thu, 13 Aug 2020 01:37:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=tHfNg+oz1iFo1kIypdHpDVPeAwijPwbDmK8EFi7isTw=; b=RaANlNLy55/o434DpdV6u2gR9c16G4xX/0gKg23ymRnBUWtUtkoERDNpSg0s2qbtTc KbhLHLaRt8ElU0lWzafzrtumltwvzL2XRWMj1vdaO7iI8/hXsbyp8aGznR/NPybjXWJl HSSJTJTn0h7/TFGgTXXaOwe61bfCKkFCUQEa0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=tHfNg+oz1iFo1kIypdHpDVPeAwijPwbDmK8EFi7isTw=; b=nq4teOhJBspnOf2v/Wj6fGXe30WGJ8zWaokztmd+3K5Q8E6dNcy6TtcgzcXNahGvDF J64n4XW9A/hVpiOGEJVPHGvR0pazAsXni5/NXPE0hrw1coFaN1NSDzz63jVhhxUTLiQt FmJXwZ4CXePsJGRaTIXnow/ZcvWP+mgeM5QPzOyLSLtiN2wHy8ykGX7MtroCfFAVMoOT jxGaAQ5T7fu/GfJyrAdrJFnSXnlFoOPXY5mS/fCv+aCjIx1F0tro/7WmFofxhcELg/p7 MJYPAjwpUVUOxlcuk/8iwgvSmdQ3wE5+YX6RhNJXkMWjzJyPqfFBsZ0hf9SFKxgsAvLW QImQ== X-Gm-Message-State: AOAM533RqG4DpHVFGBQVy3Oluy3uBrtsvrYmTitsR/FqS5nrIhBuTV9h XXxDh9YYIOgA7ppYP7tud7A+8jAPmrVhcS97eI5DdA== X-Received: by 2002:a05:6000:1091:: with SMTP id y17mr3100945wrw.255.1597307829173; Thu, 13 Aug 2020 01:37:09 -0700 (PDT) MIME-Version: 1.0 References: <3f3baf5e-f73d-9cd6-cbfb-36746071e126@linux.intel.com> <20200811145353.GG6967@sirena.org.uk> <20200811172209.GM6967@sirena.org.uk> <0714b222-d3fc-5744-1147-bfac7df2651e@linux.intel.com> In-Reply-To: From: Yu-Hsuan Hsu Date: Thu, 13 Aug 2020 16:36:57 +0800 Message-ID: Subject: Re: [PATCH v3 2/2] ASoC: Intel: Add period size constraint on strago board To: "Lu, Brent" Cc: Pierre-Louis Bossart , Takashi Iwai , Guennadi Liakhovetski , "alsa-devel@alsa-project.org" , Andy Shevchenko , Kuninori Morimoto , Kai Vehmanen , "linux-kernel@vger.kernel.org" , "Rojewski, Cezary" , Jie Yang , Takashi Iwai , Liam Girdwood , Sam McNally , Mark Brown , Ranjani Sridharan , Daniel Stuart , "yuhsuan@google.com" , Damian van Soelen Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Lu, Brent =E6=96=BC 2020=E5=B9=B48=E6=9C=8813=E6=97=A5= =E9=80=B1=E5=9B=9B =E4=B8=8B=E5=8D=883:55=E5=AF=AB=E9=81=93=EF=BC=9A > > > > > > > > > CRAS calls snd_pcm_hw_params_set_buffer_size_max() to use as large > > > > buffer as possible. So the period size is an arbitrary number in > > > > different platforms. Atom SST platform happens to be 256, and CML > > > > SOF platform is 1056 for example. > > > > > > ok, but earlier in this thread it was mentioned that values such as > > > 432 are not suitable. the statement above seems to mean the period > > > actual value is a "don't care", so I don't quite see why this specifi= c > > > patch2 restricting the value to 240 is necessary. Patch1 is needed fo= r > > > sure, > > > Patch2 is where Takashi and I are not convinced. > > > > I have downloaded the patch1 but it does not work. After applying patch= 1, > > the default period size changes to 320. However, it also has the same i= ssue > > with period size 320. (It can be verified by aplay.) > > The period_size is related to the audio latency so it's decided by applic= ation > according to the use case it's running. That's why there are concerns abo= ut > patch 2 and also you cannot find similar constraints in other machine dri= ver. You're right. However, the problem here is the provided period size does not work. Like 256, setting the period size to 320 also makes users have big latency in the DSP ring buffer. localhost ~ # aplay -Dhw:1,0 --period-size=3D320 --buffer-size=3D640 /dev/zero -d 1 -f dat --test-position Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo Suspicious buffer position (1 total): avail =3D 0, delay =3D 2640, buffer = =3D 640 Suspicious buffer position (2 total): avail =3D 0, delay =3D 2640, buffer = =3D 640 Suspicious buffer position (3 total): avail =3D 0, delay =3D 2720, buffer = =3D 640 ... > > Another problem is the buffer size. Too large buffer is not just wasting = memories. > It also creates problems to memory allocator since continuous pages are n= ot > always there. Using a small period_count like 2 or 4 should be sufficient= for audio > data transfer. > > buffer_size =3D period_size * period_count * 1000000 / sample_rate; > snd_pcm_hw_params_set_buffer_time_near(mPcmDevice, params, &buffer_size, = NULL); > > And one more problem here: you need to decide period_size and period_coun= t > first in order to calculate the buffer size... It's a good point. I will bring it up to our team and see whether we can use the smaller buffer size. Thanks! > > > Regards, > Brent Thanks, Yu-Hsuan