Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2726875imm; Tue, 4 Sep 2018 09:03:33 -0700 (PDT) X-Google-Smtp-Source: ANB0VdaToT8EZFhLuauPXPFJNuWDK7OaScSYnROCewmGE5NcS2vrCIxGX8iXyv0+Z6jpYpuH67xA X-Received: by 2002:a6b:9681:: with SMTP id y123-v6mr21917166iod.97.1536077013653; Tue, 04 Sep 2018 09:03:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536077013; cv=none; d=google.com; s=arc-20160816; b=otfr1zktpvqhYX5L68bxgknKtgBKdTgSy68nNU9rBQ42y/qQ2INnF5Ta1NL5SWLii8 9EM5ugjS1TypKnlvlCDbhc3uyM9s6lYBmzd1rFDwyL+ERSj1WyRxjq/nnubnBoDRgfwL XYbyptazvkBOmPihPYpza3EQx7jdWJbqN5X2F3z42Hjzl1GgkennWTOekPC+bB6E4L94 ZM7vlVgWywH7CiMztgEZ7p5PgHH0YG9PAdAqnmkP10zSF/GJKIkpRdNBXesI8aqa/B9H oOUa06twJ2eSNUaeDq5209Iz8JmlPya25vH4O58RUg7NijGkTYx3RngO73/JBnNGvn6l 4p5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=u0WM1X0AY7Ww8euCUH9741zofqrpC4ZjpvHxO20Ualk=; b=fdBzdKlaVxgk2XVjJ5BYs3sSyB2PRLZJ2fcPMfv3jssCTkeVnUWXjIFGbfKv83kGun 4cTpJz3q5CGOLd+TYBNYtKtwvYJUIQIg8/RVrsXhorc2P3+0eRR0qc9jwTxEXgtsKr37 HIj70Mp70FMH3DIwsZxYgtaMs7604l/Bd+4yHh8/2RQqF93w5XLjLlSiHRwXNMxEQbI8 oktvLi3i8fb/sbeoJEtLaNLWobOohPeNXnoDhQqC2/R2MY+qpZGybF/vZmnj5fQkxqLc gO4xAYUvSpeA7hnWQG9qoRuDmNNBCBMO2qiKSrF70WViso2NT5GIfHpU5cwzkhI2lvz/ r/NQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h11-v6si21599437pgf.558.2018.09.04.09.03.07; Tue, 04 Sep 2018 09:03:33 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727970AbeIDU0v (ORCPT + 99 others); Tue, 4 Sep 2018 16:26:51 -0400 Received: from mx2.suse.de ([195.135.220.15]:50972 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726367AbeIDUYs (ORCPT ); Tue, 4 Sep 2018 16:24:48 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id EC943AD6D; Tue, 4 Sep 2018 15:59:01 +0000 (UTC) From: Takashi Iwai To: Greg Kroah-Hartman Cc: Eric Anholt , Stefan Wahren , linux-rpi-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 08/29] staging: bcm2835-audio: Drop useless running flag and check Date: Tue, 4 Sep 2018 17:58:37 +0200 Message-Id: <20180904155858.8001-9-tiwai@suse.de> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180904155858.8001-1-tiwai@suse.de> References: <20180904155858.8001-1-tiwai@suse.de> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The running flag of alsa_stream is basically useless. The running state is strictly controlled in ALSA PCM core side, hence the check in PCM trigger and close callbacks are superfluous. Also, the prefill ack at trigger start became superfluous nowadays with the ALSA PCM core update. Let's rip them off. Signed-off-by: Takashi Iwai --- .../vc04_services/bcm2835-audio/bcm2835-pcm.c | 46 ++++--------------- .../vc04_services/bcm2835-audio/bcm2835.h | 1 - 2 files changed, 8 insertions(+), 39 deletions(-) diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c index 2c2b6b70df63..b4b9e90131bf 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835-pcm.c @@ -187,19 +187,6 @@ static int snd_bcm2835_playback_close(struct snd_pcm_substream *substream) audio_info("Alsa close\n"); - /* - * Call stop if it's still running. This happens when app - * is force killed and we don't get a stop trigger. - */ - if (alsa_stream->running) { - int err; - - err = bcm2835_audio_stop(alsa_stream); - alsa_stream->running = 0; - if (err) - audio_error(" Failed to STOP alsa device\n"); - } - alsa_stream->period_size = 0; alsa_stream->buffer_size = 0; @@ -324,27 +311,13 @@ static int snd_bcm2835_pcm_trigger(struct snd_pcm_substream *substream, int cmd) switch (cmd) { case SNDRV_PCM_TRIGGER_START: - audio_debug("bcm2835_AUDIO_TRIGGER_START running=%d\n", - alsa_stream->running); - if (!alsa_stream->running) { - err = bcm2835_audio_start(alsa_stream); - if (!err) { - alsa_stream->pcm_indirect.hw_io = - alsa_stream->pcm_indirect.hw_data = - bytes_to_frames(runtime, - alsa_stream->pos); - substream->ops->ack(substream); - alsa_stream->running = 1; - alsa_stream->draining = 1; - } else { - audio_error(" Failed to START alsa device (%d)\n", err); - } - } + err = bcm2835_audio_start(alsa_stream); + if (!err) + alsa_stream->draining = 1; + else + audio_error(" Failed to START alsa device (%d)\n", err); break; case SNDRV_PCM_TRIGGER_STOP: - audio_debug - ("bcm2835_AUDIO_TRIGGER_STOP running=%d draining=%d\n", - alsa_stream->running, runtime->status->state == SNDRV_PCM_STATE_DRAINING); if (runtime->status->state == SNDRV_PCM_STATE_DRAINING) { audio_info("DRAINING\n"); alsa_stream->draining = 1; @@ -352,12 +325,9 @@ static int snd_bcm2835_pcm_trigger(struct snd_pcm_substream *substream, int cmd) audio_info("DROPPING\n"); alsa_stream->draining = 0; } - if (alsa_stream->running) { - err = bcm2835_audio_stop(alsa_stream); - if (err != 0) - audio_error(" Failed to STOP alsa device (%d)\n", err); - alsa_stream->running = 0; - } + err = bcm2835_audio_stop(alsa_stream); + if (err != 0) + audio_error(" Failed to STOP alsa device (%d)\n", err); break; default: err = -EINVAL; diff --git a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h index 79363260ae34..2a9f3d6c10dc 100644 --- a/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h +++ b/drivers/staging/vc04_services/bcm2835-audio/bcm2835.h @@ -121,7 +121,6 @@ struct bcm2835_alsa_stream { spinlock_t lock; - int running; int draining; int channels; -- 2.18.0