From nobody Wed Apr 8 03:09:20 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=google.com ARC-Seal: i=1; a=rsa-sha256; t=1773187045; cv=none; d=zohomail.com; s=zohoarc; b=SmwkyJtq1xBffv3nAftExnnKQtHo48EUpo6Qk+xy0itlsUQfrnqNlkcUicpac+VVqYwNLvXZyAj8S+wEH9gCVneEb9x/CDkl73aPVS45jRuMo9f5G2UuZeJuVya8u2u9UteFRwYwgqszXKD2f1/c1apJM+wz8P0nT2153GBaX8M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773187045; h=Content-Type:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=b+nzrbNAdvs+x6jyHUYdxcTNGPkpA+/DNlvOeQtkqPs=; b=HTPUjNTTYb9jsbfHqy7kEzH8xnvWdfuLRx+7AT4+OOwTShv9inpbiy6QhAAx592uKfWB/p78rMUpiAlnKcj8k9sKbNUt5KL8XCPGYkWYJwYyXNuDYLHChEEuoqgUfnEVGzPO90URo+fse4B3gMTIN4V4iAD8P6RAnFkvzytbz2s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773187045247628.63384432789; Tue, 10 Mar 2026 16:57:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w06wq-0004wg-OM; Tue, 10 Mar 2026 19:57:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <3zq-waQQKCkUyrpynvvnsl.jvtxlt1-kl2lsuvunu1.vyn@flex--rkir.bounces.google.com>) id 1w06wl-0004vy-LB for qemu-devel@nongnu.org; Tue, 10 Mar 2026 19:57:09 -0400 Received: from mail-pg1-x549.google.com ([2607:f8b0:4864:20::549]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <3zq-waQQKCkUyrpynvvnsl.jvtxlt1-kl2lsuvunu1.vyn@flex--rkir.bounces.google.com>) id 1w06wj-0002JW-E4 for qemu-devel@nongnu.org; Tue, 10 Mar 2026 19:57:07 -0400 Received: by mail-pg1-x549.google.com with SMTP id 41be03b00d2f7-c73783c96baso3427647a12.2 for ; Tue, 10 Mar 2026 16:57:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1773187022; x=1773791822; darn=nongnu.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=b+nzrbNAdvs+x6jyHUYdxcTNGPkpA+/DNlvOeQtkqPs=; b=tFsWc7iq3chudIyGL57ce21m+6bctB80uSNLlJftQQodrTaaQXZixaGGqJb04b/aLO trTljrgZN7py5DAReTmBwdeLNBv24pBAME6/EweCKpzFzVL/HFktB23NBVHzBmVv9z3X kLYYWNJl1JmAmNhd8NVnCwSYgzptQstTeYOUKuCG2PBSfbrL0YVxs4QPjF8ftPSoDnTI M7nFvYI9OXQ3jiIczAGw1cjfUJLRXuTvj4x5j/j3IhTLVMzVsImyAMLTAYvZ2VXZUbpy GVEgAF+F+fVapm4ZBoDlRPT1LX++Vmh+Nd99GVpGCUN0q5raeIPgCuSoYBR8qxqqSAsc 5AMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773187022; x=1773791822; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=b+nzrbNAdvs+x6jyHUYdxcTNGPkpA+/DNlvOeQtkqPs=; b=a4afFdI2R795J8WU72OM+sXZB/W2RuWhkfrSYMqVFb5gFi/8uSS5LKLZzr/+PD4Uy1 BvGXE1i+SQ9XAbi0nY6W4FpKoMQ8hJS217HwXDJoD/h0jvv80+sYvJ96cs3vQUKk+zWe jSBT4FkXgyuM3RzQLfagurr+Z+4y0F3cAhb3clTwFxO5gd5OuRa4x0Ia9DFfN9sPxm/a lgaeUjsDGj2U6+IyBBDxt7ewsjaEX6w1H2zPmaE/UHeFHI9VMhpdLSz5ziEhEDk1pMzm v/6kphsURJrLt27kWnB7YUBN4tJTDaBX035WpVpBZJoVn7U9CGXFasfQdb8vobkZjxY0 mPQw== X-Gm-Message-State: AOJu0YzCQDS4Z3zGKuEXrorwBEMqiAkYNbepVkQ0GvsyQLusl6+mLS62 AcNIU15OEVTUPmY66+n+uHbG0VTcXdIUWPNaqo4NiXhBrJb+Qew5zj3buPqzE2HHqNUgCODfDw= = X-Received: from pfbic8.prod.google.com ([2002:a05:6a00:8a08:b0:7b8:ac8f:27c]) (user=rkir job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:4c8f:b0:829:8969:b8b4 with SMTP id d2e1a72fcca58-829f6e714e3mr589703b3a.11.1773187022104; Tue, 10 Mar 2026 16:57:02 -0700 (PDT) Date: Tue, 10 Mar 2026 23:56:30 +0000 In-Reply-To: <20260310235632.3987668-1-rkir@google.com> Mime-Version: 1.0 References: <20260310235632.3987668-1-rkir@google.com> X-Mailer: git-send-email 2.53.0.473.g4a7958ca14-goog Message-ID: <20260310235632.3987668-2-rkir@google.com> Subject: [PATCH 1/3] virtio-snd: remove the unused field From: Roman Kiryanov To: philmd@linaro.org, manos.pitsidianakis@linaro.org Cc: qemu-devel@nongnu.org, whollins@google.com, jansene@google.com, jpcottin@google.com, Roman Kiryanov Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::549; envelope-from=3zq-waQQKCkUyrpynvvnsl.jvtxlt1-kl2lsuvunu1.vyn@flex--rkir.bounces.google.com; helo=mail-pg1-x549.google.com X-Spam_score_int: -95 X-Spam_score: -9.6 X-Spam_bar: --------- X-Spam_report: (-9.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @google.com) X-ZM-MESSAGEID: 1773187045933158500 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" VirtIOSoundPCMStream::positions is set but never read from. It can be added back once required. Signed-off-by: Roman Kiryanov Reviewed-by: Marc-Andr=C3=A9 Lureau --- hw/audio/virtio-snd.c | 3 --- include/hw/audio/virtio-snd.h | 2 -- 2 files changed, 5 deletions(-) diff --git a/hw/audio/virtio-snd.c b/hw/audio/virtio-snd.c index fb5cff3866..bd6a5d71bb 100644 --- a/hw/audio/virtio-snd.c +++ b/hw/audio/virtio-snd.c @@ -462,9 +462,6 @@ static uint32_t virtio_snd_pcm_prepare(VirtIOSound *s, = uint32_t stream_id) stream->info.formats =3D supported_formats; stream->info.rates =3D supported_rates; stream->params =3D *params; - - stream->positions[0] =3D VIRTIO_SND_CHMAP_FL; - stream->positions[1] =3D VIRTIO_SND_CHMAP_FR; stream->as =3D as; =20 if (stream->info.direction =3D=3D VIRTIO_SND_D_OUTPUT) { diff --git a/include/hw/audio/virtio-snd.h b/include/hw/audio/virtio-snd.h index e28f1be5db..f8bb5c95b9 100644 --- a/include/hw/audio/virtio-snd.h +++ b/include/hw/audio/virtio-snd.h @@ -137,8 +137,6 @@ struct VirtIOSoundPCMStream { virtio_snd_pcm_info info; virtio_snd_pcm_set_params params; uint32_t id; - /* channel position values (VIRTIO_SND_CHMAP_XXX) */ - uint8_t positions[VIRTIO_SND_CHMAP_MAX_SIZE]; VirtIOSound *s; bool flushing; audsettings as; --=20 2.53.0.473.g4a7958ca14-goog From nobody Wed Apr 8 03:09:20 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=google.com ARC-Seal: i=1; a=rsa-sha256; t=1773187042; cv=none; d=zohomail.com; s=zohoarc; b=VTLA/hENjLTy5TytFYbPrCClDFLxb0Uaz7quiEWbmhEC4Aqc9u30lQrMNzbCJpRthFDinp+rC4XaVSUGpyx1Prf6iaNVxWKOFvnSHQb4NbZkJW8jpTR2lE6Fb/Sy4ln1Kmk09f1NiGpEpMC08xjEnHGFBsIXr7/n78aGLR2yHT4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773187042; h=Content-Type:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=X0aTiEBxHzNsnv4Dg3eXLQ7mbtCD9oqDijUAqvIXilI=; b=WBUTdtCVxsPnP/9FdyNalwzHUmEl/ta5sTBrZTxDl1oQaypvZWtLEYP895Pzs/4dzgFxoWA9Wtv2g5bvS+Qb3iEpvs7fTT52bKwDskdOJqV1Kc3yHqTGlJcFksysmh3KrPfUDhhLuFvkGVvQLrUX/PHzL0icLX3vRK64MmTVECE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773187042823379.9255481395502; Tue, 10 Mar 2026 16:57:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w06wo-0004wZ-AZ; Tue, 10 Mar 2026 19:57:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <30K-waQQKCkc0tr0pxxpun.lxvznv3-mn4nuwxwpw3.x0p@flex--rkir.bounces.google.com>) id 1w06wm-0004vz-LW for qemu-devel@nongnu.org; Tue, 10 Mar 2026 19:57:09 -0400 Received: from mail-pf1-x44a.google.com ([2607:f8b0:4864:20::44a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <30K-waQQKCkc0tr0pxxpun.lxvznv3-mn4nuwxwpw3.x0p@flex--rkir.bounces.google.com>) id 1w06wl-0002Js-3X for qemu-devel@nongnu.org; Tue, 10 Mar 2026 19:57:08 -0400 Received: by mail-pf1-x44a.google.com with SMTP id d2e1a72fcca58-829b9320a2cso1398908b3a.3 for ; Tue, 10 Mar 2026 16:57:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1773187025; x=1773791825; darn=nongnu.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=X0aTiEBxHzNsnv4Dg3eXLQ7mbtCD9oqDijUAqvIXilI=; b=alQemdvOimYDSzsylBRr2QsG+GWmr6PsH4tvzcMj107d0xHbVOUnLWXuVvvKQx4QgP 7ye68s8NyVpZ9mNluFdk1ScJbjAkkkTnHILcJvjBzTQ+Yp2dYMwAaJvrBGoH2R0/Ohsf 5V0Y81SpX+aOZZt4ujExIPpxGHtBDfgwCCyb+d8+UeqtyXRcHZNZ6IS7p6kfAPysU7XU SSumo1NjsKNP//q73j6LqyaEyQevj3fen+ZXhpCk5IFzAaKe815zv9nMJ6vhSQyTU4KT keMa7Devi0jp7uRZlWR0V55SXFdr63ig0b8FClweM6YdFpckG7iO79SZdh62FIKjFRE0 cJOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773187025; x=1773791825; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=X0aTiEBxHzNsnv4Dg3eXLQ7mbtCD9oqDijUAqvIXilI=; b=n2YHNah+b0aEUt9bTvKP9arjlZ1MAq13cozQV6hrC26NRynAJ7i0AipOfUYy7jAASN hXcEZYWtwptVHSHdkQFMBz9NtmERDkN3Q8LmFKyQJD+dPwncteehGoujJVxJXSTxfRHu DkhkvHN6cQyEixedCIw5Gwy8xRmxR79MCvgTYJxENEWfpqRw9zWTymW4ruEtbeavfkpi az+ptGaof+0+5K54GAkQTPaWudYQUyaG/8VRIET9xsMn21HUByzxNxCNQMe8fED5cxdQ ivttzyyoc9XqF/zCP/a1y++EqqqrdDTj75ulhHipCvPobX7uA0RS2N4V0qqxzKjhUWpD B/RQ== X-Gm-Message-State: AOJu0YwEhAbQx52sWXQyAUquq0AoXRUMfGoisXyE88mPvFo1g2JCc2jA jm13FWuJi1qyjg9j6Gnpxzv3R6EL2Tac50mWQRrNNcGnulBMwuxyXp/IuMCzFPvSXrEP0Y+i6Q= = X-Received: from pfdj19.prod.google.com ([2002:a05:6a00:9513:b0:7dd:8bba:63aa]) (user=rkir job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:3d54:b0:823:8a5:297f with SMTP id d2e1a72fcca58-829f6ea7405mr522615b3a.16.1773187024998; Tue, 10 Mar 2026 16:57:04 -0700 (PDT) Date: Tue, 10 Mar 2026 23:56:31 +0000 In-Reply-To: <20260310235632.3987668-1-rkir@google.com> Mime-Version: 1.0 References: <20260310235632.3987668-1-rkir@google.com> X-Mailer: git-send-email 2.53.0.473.g4a7958ca14-goog Message-ID: <20260310235632.3987668-3-rkir@google.com> Subject: [PATCH 2/3] virtio-snd: remove virtio_snd_pcm_set_params from VirtIOSoundPCMStream From: Roman Kiryanov To: philmd@linaro.org, manos.pitsidianakis@linaro.org Cc: qemu-devel@nongnu.org, whollins@google.com, jansene@google.com, jpcottin@google.com, Roman Kiryanov Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::44a; envelope-from=30K-waQQKCkc0tr0pxxpun.lxvznv3-mn4nuwxwpw3.x0p@flex--rkir.bounces.google.com; helo=mail-pf1-x44a.google.com X-Spam_score_int: -95 X-Spam_score: -9.6 X-Spam_bar: --------- X-Spam_report: (-9.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @google.com) X-ZM-MESSAGEID: 1773187043440154100 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The virtio_snd_pcm_set_params values are latched into a VirtIOSoundPCMStream instance during the PREPARE request where they are converted into audsettings. Only the `period_bytes` value is used afterwards. Having both audsettings and virtio_snd_pcm_set_params next to each other grows sizeof and adds confusion to snapshot handling. Signed-off-by: Roman Kiryanov Reviewed-by: Marc-Andr=C3=A9 Lureau --- hw/audio/virtio-snd.c | 6 +++--- include/hw/audio/virtio-snd.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/audio/virtio-snd.c b/hw/audio/virtio-snd.c index bd6a5d71bb..6d820b56a6 100644 --- a/hw/audio/virtio-snd.c +++ b/hw/audio/virtio-snd.c @@ -461,7 +461,7 @@ static uint32_t virtio_snd_pcm_prepare(VirtIOSound *s, = uint32_t stream_id) stream->info.channels_max =3D as.nchannels; stream->info.formats =3D supported_formats; stream->info.rates =3D supported_rates; - stream->params =3D *params; + stream->period_bytes =3D params->period_bytes; stream->as =3D as; =20 if (stream->info.direction =3D=3D VIRTIO_SND_D_OUTPUT) { @@ -1271,7 +1271,7 @@ static void virtio_snd_pcm_in_cb(void *data, int avai= lable) return_rx_buffer(stream, buffer); break; } - to_read =3D stream->params.period_bytes - buffer->size; + to_read =3D stream->period_bytes - buffer->size; to_read =3D MIN(to_read, available); to_read =3D MIN(to_read, max_size - buffer->size); size =3D audio_be_read(stream->s->audio_be, @@ -1284,7 +1284,7 @@ static void virtio_snd_pcm_in_cb(void *data, int avai= lable) } buffer->size +=3D size; available -=3D size; - if (buffer->size >=3D stream->params.period_bytes) { + if (buffer->size >=3D stream->period_bytes) { return_rx_buffer(stream, buffer); break; } diff --git a/include/hw/audio/virtio-snd.h b/include/hw/audio/virtio-snd.h index f8bb5c95b9..a767f68301 100644 --- a/include/hw/audio/virtio-snd.h +++ b/include/hw/audio/virtio-snd.h @@ -135,8 +135,8 @@ struct VirtIOSoundPCM { =20 struct VirtIOSoundPCMStream { virtio_snd_pcm_info info; - virtio_snd_pcm_set_params params; uint32_t id; + uint32_t period_bytes; /* from virtio_snd_pcm_set_params */ VirtIOSound *s; bool flushing; audsettings as; --=20 2.53.0.473.g4a7958ca14-goog From nobody Wed Apr 8 03:09:20 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=google.com ARC-Seal: i=1; a=rsa-sha256; t=1773187067; cv=none; d=zohomail.com; s=zohoarc; b=ThztdmgRyyCwodtRYVKxXLh0ETyT4g43dAJlCL1hJEzQruNRzoWNq/Vqzo+DovxtaFpLx0nhM0D/jXYbgcTx0++VH5L7n90hPhv+ZFsmepC6Dv068ZEZ6Gw+5Bj57Jt5FZiz93r93A6WDuvCBwfmNcq4ZaltTxXihJUOIzgeMq0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773187067; h=Content-Type:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+tvHrOSmRSOnOXDvNjCkR0rSrHEk4lUHcoMU37rZ2kM=; b=bI66SS2YtlvNU3Mumsq0S5j4PySbpYu3nH70bSvqD6BHar0YpGKE+NYYxwhZvgLxFGF8Z9EtCRPxyOQMBOSY1txpO3vWBkhJ7FBlr1K4EOED9jloXGszjgQwGUFdMKf7YatCLObsnRctRnIAwVvH5cxMLQ/iDRXLZ1pAhehm8Ws= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773187067930520.8893597380722; Tue, 10 Mar 2026 16:57:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1w06wt-0004xb-BJ; Tue, 10 Mar 2026 19:57:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <31K-waQQKCks4xv4t11tyr.p1z3rz7-qr8ry010t07.14t@flex--rkir.bounces.google.com>) id 1w06wq-0004wm-OA for qemu-devel@nongnu.org; Tue, 10 Mar 2026 19:57:12 -0400 Received: from mail-pl1-x64a.google.com ([2607:f8b0:4864:20::64a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <31K-waQQKCks4xv4t11tyr.p1z3rz7-qr8ry010t07.14t@flex--rkir.bounces.google.com>) id 1w06wp-0002Kb-0K for qemu-devel@nongnu.org; Tue, 10 Mar 2026 19:57:12 -0400 Received: by mail-pl1-x64a.google.com with SMTP id d9443c01a7336-2aad5fec175so493351005ad.2 for ; Tue, 10 Mar 2026 16:57:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1773187028; x=1773791828; darn=nongnu.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=+tvHrOSmRSOnOXDvNjCkR0rSrHEk4lUHcoMU37rZ2kM=; b=tvr45PW3cJcgl/tb5rN5EKiqNdO3V47DsXHLslBe9jP2PQ+0Zfzwq2R+QwKkIy5D7X MnoMWjHwlGDTFt94iylGFQJQ7SM/OHDtKkxJO0m3O+fBUCrJ4/qtl4lmB4Yv504cDw/V wwTMOO9AAKto+72O2LyuwR9eTWg8KKFBQmWZh90qC6FZR2WDpnMR39YyrSgqLJ/UfstD /mbBr8WaSQkV0mAXCm5/ootMcJdmzuuyAJXJ6Mp6jFsJr0uoK1WbQr4pzR2y+IqgtGDe ETMCAF4Et+Gd6IK92H+s19XO0KNaPXIKd3VNIFrtp7PJJf24FQe4oCydO8pZdmscfMBi JetA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773187028; x=1773791828; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=+tvHrOSmRSOnOXDvNjCkR0rSrHEk4lUHcoMU37rZ2kM=; b=s6IK9GlM2OXbIPb2wwJz667kP9gbs3KCRtv/a7waFZk10i/C/Pqmo53IV+rYkX2n54 MbHTNCy/VGcqROF0Shiy35OKpBqpG+eNQfk2QFH3ysyUQeaIwRJIvGOvGlgpxEXE4U2t 1sYWYuJZ57/OSWUh/v1jbeVUmVTDPcu7q4xpWjwvkeLvCwX+mfmjOXznBTxM3IJUuT6h RKtWlfHYdSKiupGpKHDMnECHBs0GhPdnGWBrSr0K4+orZ0/jzN/laYNgxOKWyhzy3ROs aSK9kjD8Np0UpSu8pXza4Iw77QiU58ySW+0cLaqsz0hY+HPIY9zpqwIxbcyksrk/ilv0 WDUw== X-Gm-Message-State: AOJu0YwLJkSuL+GyrmaUDdEm2cOsIY7IX/LvVNIZfKLT1Nl3dPyKXXlK Rpoq64SsXLjH+vL6SrXpZ5EdQtJ1b7wtuinlJvGipkqOpmWVjVsV5wN+rz+nVBeJ/yc34tNk3g= = X-Received: from plbmg4.prod.google.com ([2002:a17:903:3484:b0:2ae:4702:a100]) (user=rkir job=prod-delivery.src-stubby-dispatcher) by 2002:a17:903:2b0b:b0:2ae:4948:f866 with SMTP id d9443c01a7336-2aeae7c4d4emr5794765ad.22.1773187028234; Tue, 10 Mar 2026 16:57:08 -0700 (PDT) Date: Tue, 10 Mar 2026 23:56:32 +0000 In-Reply-To: <20260310235632.3987668-1-rkir@google.com> Mime-Version: 1.0 References: <20260310235632.3987668-1-rkir@google.com> X-Mailer: git-send-email 2.53.0.473.g4a7958ca14-goog Message-ID: <20260310235632.3987668-4-rkir@google.com> Subject: [PATCH 3/3] virtio-snd: introduce VirtIOPcmParams From: Roman Kiryanov To: philmd@linaro.org, manos.pitsidianakis@linaro.org Cc: qemu-devel@nongnu.org, whollins@google.com, jansene@google.com, jpcottin@google.com, Roman Kiryanov Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::64a; envelope-from=31K-waQQKCks4xv4t11tyr.p1z3rz7-qr8ry010t07.14t@flex--rkir.bounces.google.com; helo=mail-pl1-x64a.google.com X-Spam_score_int: -95 X-Spam_score: -9.6 X-Spam_bar: --------- X-Spam_report: (-9.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @google.com) X-ZM-MESSAGEID: 1773187069978158500 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Introduce the `VirtIOPcmParams` struct to represent the payload of `virtio_snd_pcm_set_params` without the VirtIO transport-specific header fields. By decoupling the internal PCM state from the transport layout, `VirtIOPcmParams` simplifies the snapshot and migration handling code and slightly reduces the allocation footprint per stream. Signed-off-by: Roman Kiryanov Reviewed-by: Marc-Andr=C3=A9 Lureau --- hw/audio/virtio-snd.c | 12 ++++++------ include/hw/audio/virtio-snd.h | 13 ++++++++++++- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/hw/audio/virtio-snd.c b/hw/audio/virtio-snd.c index 6d820b56a6..8899eb7d5e 100644 --- a/hw/audio/virtio-snd.c +++ b/hw/audio/virtio-snd.c @@ -139,8 +139,8 @@ static VirtIOSoundPCMStream *virtio_snd_pcm_get_stream(= VirtIOSound *s, * @s: VirtIOSound device * @stream_id: stream id */ -static virtio_snd_pcm_set_params *virtio_snd_pcm_get_params(VirtIOSound *s, - uint32_t strea= m_id) +static VirtIOPcmParams *virtio_snd_pcm_get_params(VirtIOSound *s, + uint32_t stream_id) { return stream_id >=3D s->snd_conf.streams ? NULL : &s->pcm.pcm_params[stream_id]; @@ -258,7 +258,7 @@ uint32_t virtio_snd_set_pcm_params(VirtIOSound *s, uint32_t stream_id, virtio_snd_pcm_set_params *params) { - virtio_snd_pcm_set_params *st_params; + VirtIOPcmParams *st_params; =20 if (stream_id >=3D s->snd_conf.streams || s->pcm.pcm_params =3D=3D NUL= L) { virtio_error(VIRTIO_DEVICE(s), "Streams have not been initialized.= \n"); @@ -384,7 +384,7 @@ static uint32_t virtio_snd_get_qemu_freq(uint32_t rate) * params. */ static void virtio_snd_get_qemu_audsettings(audsettings *as, - virtio_snd_pcm_set_params *par= ams) + VirtIOPcmParams *params) { as->nchannels =3D MIN(AUDIO_MAX_CHANNELS, params->channels); as->fmt =3D virtio_snd_get_qemu_format(params->format); @@ -421,7 +421,7 @@ static void virtio_snd_pcm_close(VirtIOSoundPCMStream *= stream) static uint32_t virtio_snd_pcm_prepare(VirtIOSound *s, uint32_t stream_id) { audsettings as; - virtio_snd_pcm_set_params *params; + VirtIOPcmParams *params; VirtIOSoundPCMStream *stream; =20 if (s->pcm.streams =3D=3D NULL || @@ -1063,7 +1063,7 @@ static void virtio_snd_realize(DeviceState *dev, Erro= r **errp) vsnd->pcm.streams =3D g_new0(VirtIOSoundPCMStream *, vsnd->snd_conf.streams); vsnd->pcm.pcm_params =3D - g_new0(virtio_snd_pcm_set_params, vsnd->snd_conf.streams); + g_new0(VirtIOPcmParams, vsnd->snd_conf.streams); =20 virtio_init(vdev, VIRTIO_ID_SOUND, sizeof(virtio_snd_config)); virtio_add_feature(&vsnd->features, VIRTIO_F_VERSION_1); diff --git a/include/hw/audio/virtio-snd.h b/include/hw/audio/virtio-snd.h index a767f68301..e9fa9c620d 100644 --- a/include/hw/audio/virtio-snd.h +++ b/include/hw/audio/virtio-snd.h @@ -71,6 +71,8 @@ typedef struct virtio_snd_pcm_status virtio_snd_pcm_statu= s; =20 typedef struct VirtIOSound VirtIOSound; =20 +typedef struct VirtIOPcmParams VirtIOPcmParams; + typedef struct VirtIOSoundPCMStream VirtIOSoundPCMStream; =20 typedef struct virtio_snd_ctrl_command virtio_snd_ctrl_command; @@ -121,6 +123,15 @@ struct VirtIOSoundPCMBuffer { uint8_t data[]; }; =20 +struct VirtIOPcmParams { + uint32_t buffer_bytes; + uint32_t period_bytes; + uint32_t features; + uint8_t channels; + uint8_t format; + uint8_t rate; +}; + struct VirtIOSoundPCM { /* * PCM parameters are a separate field instead of a VirtIOSoundPCMStre= am @@ -129,7 +140,7 @@ struct VirtIOSoundPCM { * means that some times we get parameters without having an allocated * stream yet. */ - virtio_snd_pcm_set_params *pcm_params; + VirtIOPcmParams *pcm_params; VirtIOSoundPCMStream **streams; }; =20 --=20 2.53.0.473.g4a7958ca14-goog