Received: by 2002:a05:6a11:4021:0:0:0:0 with SMTP id ky33csp1911179pxb; Thu, 16 Sep 2021 20:01:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwnpIfCwwTHjbudxhrYn22w+9SakbXYvFXbb44fSGSj6uyndJG1mAOjXbY3RRygcN6225em X-Received: by 2002:a17:906:1e11:: with SMTP id g17mr10312056ejj.154.1631847661781; Thu, 16 Sep 2021 20:01:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1631847661; cv=none; d=google.com; s=arc-20160816; b=A+VD2fTHg22eT4+SQoGTawsiBH1IDk3nIvmum9KMYZ624NYY2AvN4aSBe2jqWzxTU1 RlyN30nGduzrRqI7j8QOIsqwX02ZRkW6ZdP5BgXInf8BATNONTu3JDFBGagvUtCkZspX kBZk1YpqYjZKWe8hVxZBpYzP8+/inxa+cgzY1rfX5JvmcCFeVCvsKLEvU9Bjjbe6zXVl xSleTWx+WyjOSSEJrDA7d/eTfFTUtwf7xH63RE2WoAuQLhW+SW+2xHgrFurYinPI7zqr y8PIPc2tXFIiQF8nmpoykIGmDcL4q91Z4nf6Dtbe/TDsBKbEor4lwzcKqLmyfgiGmRZE UUoQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=jt2OSIaaMXdgWpreFN0Wn/6TlAmtGs1a7yHinUoeTPs=; b=nwD9oZkB1NiGXJt8O83hjcFx0mUZdUK2liOMYyTqnmxCT/21oHBNuLM/TFghlQ9dJG z0g+fhDEXUY6XE1cD0tbJL19QZoXCl9Egzm5RV0TOassTeOWwiWrFDjRUJf1rhdZNd8U lezqLA74jgN0PvNwcR59g2phISiYVoR1C++67NArCqnhoI3lnBM/TNmeqCtdUlAluZ1p im0NtsEGpZ+y4mbclEuwtYrFtaQnQxdyZKLCG1BVfPgw56tIiqacfRhQTJr6pqi2Koqg ALGND2t1ot9C0dCfuaeT8w+P3ILxiV28K3CAIyVFikk+xUSMwrE7vpzBmM0PLKmeUh/L kI9Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=1RaeSkW3; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id eo22si5327018ejc.690.2021.09.16.20.00.37; Thu, 16 Sep 2021 20:01:01 -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=@linuxfoundation.org header.s=korg header.b=1RaeSkW3; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352681AbhIPR1T (ORCPT + 99 others); Thu, 16 Sep 2021 13:27:19 -0400 Received: from mail.kernel.org ([198.145.29.99]:44342 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1351717AbhIPRT1 (ORCPT ); Thu, 16 Sep 2021 13:19:27 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4B3A561BA2; Thu, 16 Sep 2021 16:41:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1631810490; bh=Cf5iJfPCfnqcbMi2dOm33gudUTASml1cZBfmccBtGLM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=1RaeSkW3FP0HDnSPGumsR286qUFiRsfe2DdYMA70hk87uqsj7RF2dsECsPFnEQ8M/ /lnQHvkgIu3d0D+00aAjiTR+rW+6MkI1T3fUmUUM2zlWHouhZgbWiaHLobEjJ2hzHs K1dkBxvR7679J5UP9/o3gC27A70BHpSK1yUx3FDQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dom Cobley , Maxime Ripard , Nicolas Saenz Julienne , Sasha Levin Subject: [PATCH 5.14 159/432] drm/vc4: hdmi: Set HD_CTL_WHOLSMP and HD_CTL_CHALIGN_SET Date: Thu, 16 Sep 2021 17:58:28 +0200 Message-Id: <20210916155816.133235809@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20210916155810.813340753@linuxfoundation.org> References: <20210916155810.813340753@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Dom Cobley [ Upstream commit 1698ecb218eb82587dbfc71a2e26ded66e5ecf59 ] Symptom is random switching of speakers when using multichannel. Repeatedly running speakertest -c8 occasionally starts with channels jumbled. This is fixed with HD_CTL_WHOLSMP. The other bit looks beneficial and apears harmless in testing so I'd suggest adding it too. Documentation says: HD_CTL_WHILSMP_SET Wait for whole sample. When this bit is set MAI transmit will start only when there is at least one whole sample available in the fifo. Documentation says: HD_CTL_CHALIGN_SET Channel Align When Overflow. This bit is used to realign the audio channels in case of an overflow. If this bit is set, after the detection of an overflow, equal amount of dummy words to the missing words will be written to fifo, filling up the broken sample and maintaining alignment. Signed-off-by: Dom Cobley Signed-off-by: Maxime Ripard Reviewed-by: Nicolas Saenz Julienne Link: https://patchwork.freedesktop.org/patch/msgid/20210525132354.297468-7-maxime@cerno.tech Signed-off-by: Sasha Levin --- drivers/gpu/drm/vc4/vc4_hdmi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c index c2876731ee2d..ad92dbb128b3 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -1372,7 +1372,9 @@ static int vc4_hdmi_audio_trigger(struct snd_pcm_substream *substream, int cmd, HDMI_WRITE(HDMI_MAI_CTL, VC4_SET_FIELD(vc4_hdmi->audio.channels, VC4_HD_MAI_CTL_CHNUM) | - VC4_HD_MAI_CTL_ENABLE); + VC4_HD_MAI_CTL_WHOLSMP | + VC4_HD_MAI_CTL_CHALIGN | + VC4_HD_MAI_CTL_ENABLE); break; case SNDRV_PCM_TRIGGER_STOP: HDMI_WRITE(HDMI_MAI_CTL, -- 2.30.2