Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp2477692pxb; Mon, 19 Apr 2021 06:42:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx/Dx0Kuhi3UYkZmA10aYiCXX4qs6HLytU3FXpP0CKxDWodVnal+4Y2zuUBrrNQR931h4Ff X-Received: by 2002:a05:6402:1103:: with SMTP id u3mr25347833edv.205.1618839773099; Mon, 19 Apr 2021 06:42:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618839773; cv=none; d=google.com; s=arc-20160816; b=peXCWJO3NrhCIWoi7V0A0RH8wrPXT244RK+p4p16aXNacoY0jKOySZ8XNHNTBaD3Ji dM6OTb8q3oA1GpgNHgWQKOY7BOxUYa7Ys8WO2lJivt3tdy1BLMJByYliPAjIxiYE+ojf FWTFOux6nNUuphC//dDLpQ2asgWRYXo6PscMPFX2xdAE7YbbxZt9h1Uzw/I1GiFCpN7O +UOLtLM7YSkPBSJLtZA3NxyLe7RO/4cLNtQRUJkTeu+EdrYkuyBw3fWTxdnsy/D86P5c A/GuzRHlASLbqn5qvaY6IJn+mYSUfDkyHQWSeWjEXNH+/enRLSPiUlUmd0l7GMHo2xy+ g47A== 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=DFarpOh9273v8/swc67bukF+q32pLpLJa0PgH+EB4aY=; b=UmikdExneYs56d6zevTCnCWKxGPPT3jKC0FBW6ykjjsZxbhwkQeWypfTEK9/aZIxkm ykItfETro/ClNi1dBbtFdDIF2BorZ1TCThKjw8WV5ntPZHUVnMwlHUNDrnRCkf0OE1ae TlFNLyKjrER6FNcQ2daiqucmJxDKYKwzdQXGsSxQRqsy2LF7Vn9zFIk8VSMPg7dDsRxv MmBNtg1QuOaDA/MpBqD6VlDqY/Lny+NCaB8BKetdSS441kzOt+YkPVCRyx1O+bs/UHDz ZlczvI8eV7zB1Ce+dDyZTVd4i8ofh9I3m1O/4nvOZHANN4rRQTJ1HzV+5bc08nPAHNvD PUbw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=B7eYc5y9; 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 k24si12012257ejo.657.2021.04.19.06.42.29; Mon, 19 Apr 2021 06:42:53 -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=B7eYc5y9; 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 S243196AbhDSNkM (ORCPT + 99 others); Mon, 19 Apr 2021 09:40:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:34756 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240560AbhDSNZw (ORCPT ); Mon, 19 Apr 2021 09:25:52 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 54ADD613DB; Mon, 19 Apr 2021 13:20:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1618838458; bh=M8fbSehNGqt/LQzch9K75dWLf5XKFDbFtPsW/hYP+gg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=B7eYc5y98V5KG/XLdtXYiDMi5CRri0zUELOSeZnEfZYVgJYxxjF/qq8LAmO3GYDJE OEesR3Gy2Oyusi67Y3drAvE4lQqiGDE7dvJUVA0UlEbO6sSyNo1jKQ66spbGCykar2 TZDCDUJv6aLHbPStg6GvMr81SZOr0zlRjXYcufAM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Alexander Shiyan , Nicolin Chen , Mark Brown , Sasha Levin Subject: [PATCH 5.4 22/73] ASoC: fsl_esai: Fix TDM slot setup for I2S mode Date: Mon, 19 Apr 2021 15:06:13 +0200 Message-Id: <20210419130524.544689679@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210419130523.802169214@linuxfoundation.org> References: <20210419130523.802169214@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: Alexander Shiyan [ Upstream commit e7a48c710defa0e0fef54d42b7d9e4ab596e2761 ] When using the driver in I2S TDM mode, the fsl_esai_startup() function rewrites the number of slots previously set by the fsl_esai_set_dai_tdm_slot() function to 2. To fix this, let's use the saved slot count value or, if TDM is not used and the number of slots is not set, the driver will use the default value (2), which is set by fsl_esai_probe(). Signed-off-by: Alexander Shiyan Acked-by: Nicolin Chen Link: https://lore.kernel.org/r/20210402081405.9892-1-shc_work@mail.ru Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/fsl/fsl_esai.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sound/soc/fsl/fsl_esai.c b/sound/soc/fsl/fsl_esai.c index 84290be778f0..33ade79fa032 100644 --- a/sound/soc/fsl/fsl_esai.c +++ b/sound/soc/fsl/fsl_esai.c @@ -494,11 +494,13 @@ static int fsl_esai_startup(struct snd_pcm_substream *substream, ESAI_SAICR_SYNC, esai_priv->synchronous ? ESAI_SAICR_SYNC : 0); - /* Set a default slot number -- 2 */ + /* Set slots count */ regmap_update_bits(esai_priv->regmap, REG_ESAI_TCCR, - ESAI_xCCR_xDC_MASK, ESAI_xCCR_xDC(2)); + ESAI_xCCR_xDC_MASK, + ESAI_xCCR_xDC(esai_priv->slots)); regmap_update_bits(esai_priv->regmap, REG_ESAI_RCCR, - ESAI_xCCR_xDC_MASK, ESAI_xCCR_xDC(2)); + ESAI_xCCR_xDC_MASK, + ESAI_xCCR_xDC(esai_priv->slots)); } return 0; -- 2.30.2