From patchwork Mon Aug 5 00:39:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 13752983 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (unknown [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D6AACC3DA7F for ; Mon, 5 Aug 2024 00:55:22 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 31A234A6A; Mon, 5 Aug 2024 02:52:39 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 31A234A6A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1722819169; bh=ZVla2kCVfa7OyH6JF+K1WgC/yZlrEDto9pnX6hfnapI=; h=From:Subject:To:Cc:In-Reply-To:References:Date:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=LjFnhNZUFELtREo5k+JETehmn1cXs2rEn6EQknLpFQL5Tju+VsMICLNl+Z+n/Ek4x XVS72qhtQUD+FJ/vrejAdHcWKti4N8KSnYt1d+d7+LNpokesJs8qPmokGl1WsCYVuj HxbOwqAlc0M+f5ReUVa/NIt73U561m4XYHIJ3MX0= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 77F72F89A4F; Mon, 5 Aug 2024 02:40:13 +0200 (CEST) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id 11D85F89959; Mon, 5 Aug 2024 02:40:13 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 3F7EDF8988A; Mon, 5 Aug 2024 02:39:23 +0200 (CEST) Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazlp170100001.outbound.protection.outlook.com [IPv6:2a01:111:f403:c406::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 90E05F896F2 for ; Mon, 5 Aug 2024 02:39:09 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 90E05F896F2 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key, unprotected) header.d=renesas.com header.i=@renesas.com header.a=rsa-sha256 header.s=selector1 header.b=cSPFrZCp ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Rprrc8CnulSq3eIEOjYdXT/R6PyGizQZARKtPK2K64SaUzO+4UBt6hf3TM/8VN5sez+6Z9YDpnvpqLJ4ro8gEYipTeGF+8aOr2dPyB6t6YZzRyFrqqDr8kVJRZKfA0Rdlf/cu7kOzS7AaBqQCQTz5fSv7hgVlmlGBhezTpwRO2bYZB/Yp9N0QC1dwbyqkcZyF0sjoIDP73baSlCdMaWX8K49LzUY7idg039LPVNDsh0VANX8M/DRWBCxe01eYUO0CY9XWUTMaktDfZcON4FP9H6X2d28K1g59AaDiDL6eWcWMJx/awPW1ZZON87Jh5i+MVnYI+mo3PdhBV7uJBVUwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=diqNshMfNO0lQYIcWhAiRyqi4EE1UTUgbAzeKkTFsGk=; b=dNJPe1BOH/sAC916ZAjz4qRyeEmYlUBJlXczSdihT9EKreIRodsXObZexDzPohPWad9Se+t9t9mZbP9x52XcTq3UcrqpBA2ffXHbJ6eRM6XNOXDFtL2qfyDXdBAVdruRRnkUj4xWmHrlwuTijJWpxSSLNCboQiVYjzFKDoNCNVIytHHQgl0e5G4R0vr8hmW7h3JFO32CxDLKkuDNiB3LNxDoRH4m4wtzYythnB2x5rWYDyKhmNnlaEeWTD/xDYoZ2gGR6nJ+bEuGIRG5vdXy5ssBGPjatjlnVg8L55iq43sxFUJ+LNkWk/l01sF04JnYH37bc4b0DGLSsfFoq37FeQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=diqNshMfNO0lQYIcWhAiRyqi4EE1UTUgbAzeKkTFsGk=; b=cSPFrZCpDPme3CZ63yjaEGBM3H+nhzn1LKmOtWadcaEKMfKh0C2zgb5a4/Jz+oYMwagkv2Fzt4ZVlrsVtNtxWWblJbel7DpCWeU4lwuuFxhOBrqDRFd31bYwDbXS1HcQn6yT4TkeOQmG7y3b7tjx/YNoIF5Sj2zBLWEl9afrzCg= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) by OSZPR01MB9459.jpnprd01.prod.outlook.com (2603:1096:604:1d0::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.25; Mon, 5 Aug 2024 00:39:04 +0000 Received: from TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11]) by TYCPR01MB10914.jpnprd01.prod.outlook.com ([fe80::c568:1028:2fd1:6e11%5]) with mapi id 15.20.7828.023; Mon, 5 Aug 2024 00:39:04 +0000 Message-ID: <877ccvztuf.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 048/113] ASoC: dwc: use snd_pcm_is_playback/capture() User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Mark Brown Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-staging@lists.linux.dev, Linux-ALSA In-Reply-To: <874j7z3j1a.wl-kuninori.morimoto.gx@renesas.com> References: <874j7z3j1a.wl-kuninori.morimoto.gx@renesas.com> Date: Mon, 5 Aug 2024 00:39:04 +0000 X-ClientProxiedBy: TYCPR01CA0148.jpnprd01.prod.outlook.com (2603:1096:400:2b7::7) To TYCPR01MB10914.jpnprd01.prod.outlook.com (2603:1096:400:3a9::11) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYCPR01MB10914:EE_|OSZPR01MB9459:EE_ X-MS-Office365-Filtering-Correlation-Id: 70b70dab-b8b5-40b7-00ba-08dcb4e7021c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|52116014|38350700014; X-Microsoft-Antispam-Message-Info: hsebqS8rhKR9qM3QLJpIWRjs/RCiXTvArChppTQMOTd9rf416Az+CGLtv+iBP7NRr640aR1Y9aE4hjf3T1uIuz2n5oVSwoWlzTtZbgdxLzTaj9RaSxWtr1BYxeiv/yzVuYSYp3XFWg699x4T/cid4B675PSgGxbFkihiSX0gz2UwDZ9/ao7m7niYRdVI77Jr5d76XPYkR6vH7N3wHxPlImfuFl4H8vMKI2I/uHCW6CyG4BgJGvOlPIoqparig+vUtG3KhAG1OzV+qQz6wo/k6AKXETYyvNLOPK8v54jb3kER2FXrE62bnd/QlmsCFB68Bi5237qFEfV9gMqQ6T5dZDjVJomo5skZ9WHE5OK2N+m5o0crHzxzFu0b8bzo8KQHjpEW/vRh206tVmFbPyTEnCKKqwAI9oj2FW6T05fnjb9G4nHBeRfNZlyUAtMTdXJdB9TuZ7nC8bfWyNgANNp4GyhLL8hm7+tyNJW/nE1gH/sBjOCf9btjhdtZOsWIlmuam6bBzkAt+UOsuV/o1cje1LPmoTiOvHg0/X8hBZwDrom2zSYMIvcseHFs2f2Xsqv3F17U/9IiFwcNsbWwCMDx1lBM+VzEWaL7I0iw2GOqzCwCGwWAdTe7/CoAsi8hN+gTMUejJYrWiO/VCrzw+9Q4vAzJdtCQXyM0roPP8WPOO1VtyE5CgLmYu+61hGfJjl7kZwbybESXMxus5nF7nOiBuzvhcTJfRxehT27werCdFHDa0YgMH4gp0PM0koQmYbUMPt0ZVlxxMFkpy1Z7AGdIqlLGqDBWzxASwPmPY64rN3y8KaqBQ/NP9s3YVFhmkKm/KzmyQ4s/TJNuRUWo26XmwRdyE1a+Ioz6906NcJ97YadDa4tzma/UvjdE7V8cKaAOW69Azk6PIlZL6UMhxOs4E24ODdp7zKmKGRbEVZVAf9wi+wIW55gX61YHS8ai+HtZjJEPA6/dgyZr5UeEIizbt9zTPatMahmqI1RLkk5ZaZvRBrRVnI0wFADfMVSoBQIluoiFKXSuaOs9H9FxmhQykTz6vfFLmP7t9aecpKZ4oxkZsGl0GrHXusgUNEVFlz0MNSIc2GVjkHKqLc6BCDhBZiX+Xh9wnrZoJB4oz44Wvi3ikDQb17C+SZfMu9mfKESXcVsKTmj2edGDsFBm5I4420rtGeOCQxuB6Qsa/WcSze11CbxN4P4RM1YG80sygInRgIDMKCLrcnNVH1slRtdNplS1ngKNDtnrub7O9Ki425XXXW3g5LLegUwOmqA8wVXVl41Ktn63RQRqfkjIpXlWdRbt4qomRvWs8aLoDXySm5neyL6sub3qrTmpfYIM4CFnqvrpcTlfPExIfSB72TZ4DgPAutUTf268jj3UmKH3hnG6CgFZHVKmFSugroDCah/yjcwqfcazNYdql3eZV6yi7Q== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB10914.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(52116014)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6fTSicm4/IPXv4G1kdyWqBbzdq8GGf2+eGuUHtLlyqZTWIyeMfMBs0RMintsudNSnRM5lXhstr+NqpxMAO/4hsIOEsGewsOAkZTyttYWdrljk6kWnGGVu589Xp+05gddzV/15m+X0K7kZh6CSvSXZPCGBrVuGik4ev4XZnm0ZBOzOhHfLpj1HZbT7gRV6Iy5owV9yFLDa4IuBS8PbLdOlx7ETJPe+wDXuH9q/yboCSw6InSPT5yVa6nN/OWypH1lC1CSAzheRIttiw5gJ8aOyDQRshu+4197aCY5UxAs+ZzJiHsWKWazYLIu7aKQQl8xMLJPHhMlnNd2jRG+qS+BT1zVqmC7XcVGxdypU1wW/k2w8JhhRpsC4iRfFpHYKk+Ll3uKD+T/rXh71k5GWTsrfVMWDT7V7sArSLkEkag2ZLubmDsVWkhJXjHsHaexeW/fRG6jrEche4sE+iO4LuxERr/HPMgy1rMsGX2r4RtS3xJRJbBuf6EwARCO+dFqkh9BNb+67rfviHfCh1soB6rRcgquCzihA33sFZXA+ItI8AzN9RN18Rec6+SvTYbzEj91TGmkdYsm5toVIiynf1THhYBo2jHmGuPbS4ZGhmwrROvWoz8oAVQxgt5zlJit8YbAMRznPFO0hsSwkMNUSb8PpZF+u8LfX5Mi5QnKE4BANVUQZmTlICZOVgUzjhCFVxijGyb0Ab45vKg/XzTEcXPOVJ6pU5JNuswYOza3+c1V+WH3p85Q1Kfas/TNGihaMt9Y1Wi7dOe+WrZsd68cHQtwFJi5+4b1bOTmTzDU0WiGBu6HOEdQzqevx+91kSAl23di73D5LSfWzCx54XT89UOOst9rHJ/cjL4tUdoom5/fnjJX2m/h3fGsB3W3AFIMK5R5D6tUqISUoBWIUR9Qv1U6s0AyQ+ggqn7YES43VTlGS2y9cF+F8F30IxagRw/0RzNNlNROyQ49tJeILH/BFjy6J1VyO4I5szEixPiT1k72SKRS56ccV1k2KteSYyo5xlccoD4aOBd0qvKStaEPd2Fqwvod4lT5bIm+odIGAMN3JXbytKEaW6+WccXq3wFK8b+9WfQoOz/BZATxRoTOmcPGr4zIz7J4xmCNSM/65JmNbneKMM6JgqpfuqTvNoriosOhs9gwP0dVPQKOiN5SKbVuJ6kLNEPC+CiXZab/2KapbnVcRQ6qM65ubmf7akLY9mKzpV5t7WbI1tQhWXBT8srm/wPStu6b7j43cmxoy59XmVcAo1MPc8kSNB+6m+03EEvZB8h02QRzCtZ11MM3FEjLtYTbp+Bj6MA4hG8zljiGA/Vse8Z0y+PkqyA34Tet0STpTeuKJlvLLa33NvQAxDclV20uS9UAC/DISTavB61okCfZumDhkdK9NAUikwfTa+9a4kNVPFhiIkh1BdYWMqh2l4HO8hahONa5K40PfGB7ZRT2o3E7we1cLcjXZsznsWH34AD9S7rNI3iOiZISiKAnbi0lOjjJXW80fGpLfC+sDFHnIc4coV3gYNVAdLtwBVFgT30uVI0JoDPp0r99T38zZg3EvWQXfaIPSzKeCI+29WTVZYBfXm/6v9Zdbdv8fdtYrlsEwy4VZ/18qe3k6g0825dWpnaTA0yCKKqBjaH2jjs= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 70b70dab-b8b5-40b7-00ba-08dcb4e7021c X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB10914.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2024 00:39:04.6655 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +xtTOvRolP3bWeTJIyogDPntqzmq2DaNmUwtDE2S44XiMn262FugBThct+zL5lGMNDivsk9TTMOMMmcHtm1sprVAbo549oK1Zt/ma/dob0y2HBbzzFJ3kEWohbS0+yGH X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSZPR01MB9459 Message-ID-Hash: IWPX3BUCS5SIQNYP4PZPB2KUALN4CQT6 X-Message-ID-Hash: IWPX3BUCS5SIQNYP4PZPB2KUALN4CQT6 X-MailFrom: kuninori.morimoto.gx@renesas.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: We can use snd_pcm_is_playback/capture(). Let's use it. Signed-off-by: Kuninori Morimoto --- sound/soc/dwc/dwc-i2s.c | 20 ++++++++++---------- sound/soc/dwc/dwc-pcm.c | 6 +++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/sound/soc/dwc/dwc-i2s.c b/sound/soc/dwc/dwc-i2s.c index c04466f5492e9..874d5bf2985e6 100644 --- a/sound/soc/dwc/dwc-i2s.c +++ b/sound/soc/dwc/dwc-i2s.c @@ -42,7 +42,7 @@ static inline void i2s_disable_channels(struct dw_i2s_dev *dev, u32 stream) { u32 i = 0; - if (stream == SNDRV_PCM_STREAM_PLAYBACK) { + if (snd_pcm_is_playback(stream)) { for (i = 0; i < 4; i++) i2s_write_reg(dev->i2s_base, TER(i), 0); } else { @@ -55,7 +55,7 @@ static inline void i2s_clear_irqs(struct dw_i2s_dev *dev, u32 stream) { u32 i = 0; - if (stream == SNDRV_PCM_STREAM_PLAYBACK) { + if (snd_pcm_is_playback(stream)) { for (i = 0; i < 4; i++) i2s_read_reg(dev->i2s_base, TOR(i)); } else { @@ -69,7 +69,7 @@ static inline void i2s_disable_irqs(struct dw_i2s_dev *dev, u32 stream, { u32 i, irq; - if (stream == SNDRV_PCM_STREAM_PLAYBACK) { + if (snd_pcm_is_playback(stream)) { for (i = 0; i < (chan_nr / 2); i++) { irq = i2s_read_reg(dev->i2s_base, IMR(i)); i2s_write_reg(dev->i2s_base, IMR(i), irq | 0x30); @@ -87,7 +87,7 @@ static inline void i2s_enable_irqs(struct dw_i2s_dev *dev, u32 stream, { u32 i, irq; - if (stream == SNDRV_PCM_STREAM_PLAYBACK) { + if (snd_pcm_is_playback(stream)) { for (i = 0; i < (chan_nr / 2); i++) { irq = i2s_read_reg(dev->i2s_base, IMR(i)); i2s_write_reg(dev->i2s_base, IMR(i), irq & ~0x30); @@ -156,7 +156,7 @@ static void i2s_enable_dma(struct dw_i2s_dev *dev, u32 stream) u32 dma_reg = i2s_read_reg(dev->i2s_base, I2S_DMACR); /* Enable DMA handshake for stream */ - if (stream == SNDRV_PCM_STREAM_PLAYBACK) + if (snd_pcm_is_playback(stream)) dma_reg |= I2S_DMAEN_TXBLOCK; else dma_reg |= I2S_DMAEN_RXBLOCK; @@ -169,7 +169,7 @@ static void i2s_disable_dma(struct dw_i2s_dev *dev, u32 stream) u32 dma_reg = i2s_read_reg(dev->i2s_base, I2S_DMACR); /* Disable DMA handshake for stream */ - if (stream == SNDRV_PCM_STREAM_PLAYBACK) { + if (snd_pcm_is_playback(stream)) { dma_reg &= ~I2S_DMAEN_TXBLOCK; i2s_write_reg(dev->i2s_base, I2S_RTXDMA, 1); } else { @@ -194,7 +194,7 @@ static void i2s_start(struct dw_i2s_dev *dev, i2s_write_reg(dev->i2s_base, IER, reg); - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + if (snd_pcm_is_playback(substream)) i2s_write_reg(dev->i2s_base, ITER, 1); else i2s_write_reg(dev->i2s_base, IRER, 1); @@ -213,7 +213,7 @@ static void i2s_stop(struct dw_i2s_dev *dev, { i2s_clear_irqs(dev, substream->stream); - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + if (snd_pcm_is_playback(substream)) i2s_write_reg(dev->i2s_base, ITER, 0); else i2s_write_reg(dev->i2s_base, IRER, 0); @@ -253,7 +253,7 @@ static void dw_i2s_config(struct dw_i2s_dev *dev, int stream) i2s_disable_channels(dev, stream); for (ch_reg = 0; ch_reg < (config->chan_nr / 2); ch_reg++) { - if (stream == SNDRV_PCM_STREAM_PLAYBACK) { + if (snd_pcm_is_playback(stream)) { i2s_write_reg(dev->i2s_base, TCR(ch_reg), dev->xfer_resolution); i2s_write_reg(dev->i2s_base, TFCR(ch_reg), @@ -352,7 +352,7 @@ static int dw_i2s_prepare(struct snd_pcm_substream *substream, { struct dw_i2s_dev *dev = snd_soc_dai_get_drvdata(dai); - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + if (snd_pcm_is_playback(substream)) i2s_write_reg(dev->i2s_base, TXFFR, 1); else i2s_write_reg(dev->i2s_base, RXFFR, 1); diff --git a/sound/soc/dwc/dwc-pcm.c b/sound/soc/dwc/dwc-pcm.c index a418265c030a5..673218e010607 100644 --- a/sound/soc/dwc/dwc-pcm.c +++ b/sound/soc/dwc/dwc-pcm.c @@ -200,7 +200,7 @@ static int dw_pcm_trigger(struct snd_soc_component *component, case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { + if (snd_pcm_is_playback(substream)) { WRITE_ONCE(dev->tx_ptr, 0); rcu_assign_pointer(dev->tx_substream, substream); } else { @@ -211,7 +211,7 @@ static int dw_pcm_trigger(struct snd_soc_component *component, case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + if (snd_pcm_is_playback(substream)) rcu_assign_pointer(dev->tx_substream, NULL); else rcu_assign_pointer(dev->rx_substream, NULL); @@ -231,7 +231,7 @@ static snd_pcm_uframes_t dw_pcm_pointer(struct snd_soc_component *component, struct dw_i2s_dev *dev = runtime->private_data; snd_pcm_uframes_t pos; - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + if (snd_pcm_is_playback(substream)) pos = READ_ONCE(dev->tx_ptr); else pos = READ_ONCE(dev->rx_ptr);