From nobody Fri Dec 19 15:20:55 2025 Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com [209.85.221.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B61091CCEFC for ; Wed, 4 Sep 2024 14:52:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725461566; cv=none; b=bN28VFmxMBSZvJVsB8kRGnlA0D9tE5a7M/fiyv6GpXb9qluSa8iuM4lNaQ40qI7b5sKN+w2h94UNlCCoR5/CTvtah2HWM+8Pv0UcIBgsm5LrZnGo3Dk3+7Sk33loEGd7MheMLPAlFTXMcQaocboWQ/Sb6Yh7WCi+ASIL84hLJK0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725461566; c=relaxed/simple; bh=voyOYZWjEblOB0Gzb74raxPK2rOaJWiesmUXjO3gSkg=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=RLhl5t+LAn7JqKHD+dCjnKbvXor5L/6n+Xj/PEgZGGoU+lISiFLxhJP8s2kFDnpJJIj7NcKKx//ZPjL14ElcWamV3008qcNJd07UYrLEtpPWPv612uSeSSZLC1Nby6C1Cvzfl20Qs2Oz8mhzVMwfXWC9qp8gLnQny55/rjFWGHo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=uueR4Mz1; arc=none smtp.client-ip=209.85.221.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="uueR4Mz1" Received: by mail-wr1-f41.google.com with SMTP id ffacd0b85a97d-36830a54b34so180244f8f.0 for ; Wed, 04 Sep 2024 07:52:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1725461563; x=1726066363; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=MbOpSXNYVcQhcvwtIzrMQlGRTGRRC7rPZsCeaAArmmk=; b=uueR4Mz1EAuhchCywMREh9ObqwL84wQka+M91Dz+Z5l77L27X0MhrvHRwzoMleXUHf ESRleDBaHs2pdZXXT1v5twGoNq2d7bJp91kAyFGMdu6udaoY/sz4zxISHYHwvL1E1sWU SQRYXP2IpU+Z4jbKn5swCUBxNZkvwzG9s9sNipeARsf/i3LiDKBXYj0i5cp7DRWwlREw 5UITDOxuiSvrAfdj3vLAxQMondxH/Lgu8jM4urGcHkRamcvHRqc/xHc0sq2JCaD121HA cqlEK1PmuJDE4h6ouDg4Ke45lziZCfDArPxWXT2vBUAiFkzLsLWA/ySDvWIwYremnnn0 JbMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725461563; x=1726066363; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=MbOpSXNYVcQhcvwtIzrMQlGRTGRRC7rPZsCeaAArmmk=; b=T9PssrEwe2vppGjeoqFydBsL054U2Buw63/TZC+iH06+/1CEbHBejwyRXmA0YoLgUq w8lz9GLSlEFpTefQir8pU/XGzhYXM1RoJxeHEhRwzR3Tx8V8kCUI2H0S9FJxx/LREsSr uEfzO2yu+5U1NXFsImzZ5FknD1TGEN5IPfJu/KVZEcwgLLFt+UU+iMI2R1jsua00fyke 5+hENzJY9BUA82fVhZou3UZd6UiPDHvMNty4PqPDNFXkHVLyuUW0XSCub7Q1aaGr2xzt qK3EOy1C3PXqu51vPb7l2Iv4Rf7uyL9skl/q2r0x0dnUdx8jcWiv03DjTQm5SckPWBS4 hmVg== X-Forwarded-Encrypted: i=1; AJvYcCXKkz4Gyg+oXoP7zi4SQFm7SwACcLxsC+8913IA5n6OBEl1uukn0IoZwRvKsj2Icv6mM0nK803eMTg+xY8=@vger.kernel.org X-Gm-Message-State: AOJu0YzHrNa7Z4nVzeDWYrGQERJ0A3fMXPDIMKOHWwl34elAbEMNZJNY QIYk0C4y0GoSCcqZ0nEkSacMblktxnPr3r2vfeWEzvB1RzeO64bH6u3DMnqFJRvdo8e0NeXUvGe J X-Google-Smtp-Source: AGHT+IFigIDgeK0AYS1NHvcazhvwSBWTvpXPKjRSJmmszC2cebhtjsf44CObPbChB6ovhvnuWTp5LA== X-Received: by 2002:a5d:64c8:0:b0:374:c800:dc3d with SMTP id ffacd0b85a97d-374c800df1amr4487507f8f.1.1725461562709; Wed, 04 Sep 2024 07:52:42 -0700 (PDT) Received: from krzk-bin.. ([178.197.222.82]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-374c03595fcsm11963357f8f.98.2024.09.04.07.52.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Sep 2024 07:52:42 -0700 (PDT) From: Krzysztof Kozlowski To: Vinod Koul , Bard Liao , Pierre-Louis Bossart , Sanyog Kale , Krzysztof Kozlowski , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH] soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps" Date: Wed, 4 Sep 2024 16:52:28 +0200 Message-ID: <20240904145228.289891-1-krzysztof.kozlowski@linaro.org> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This reverts commit ab8d66d132bc8f1992d3eb6cab8d32dda6733c84 because it breaks codecs using non-continuous masks in source and sink ports. The commit missed the point that port numbers are not used as indices for iterating over prop.sink_ports or prop.source_ports. Soundwire core and existing codecs expect that the array passed as prop.sink_ports and prop.source_ports is continuous. The port mask still might be non-continuous, but that's unrelated. Reported-by: Bard Liao Closes: https://lore.kernel.org/all/b6c75eee-761d-44c8-8413-2a5b34ee2f98@li= nux.intel.com/ Fixes: ab8d66d132bc ("soundwire: stream: fix programming slave ports for no= n-continous port maps") Signed-off-by: Krzysztof Kozlowski Acked-by: Bard Liao Reviewed-by: Charles Keepax --- I will need to fix my codec drivers, but that's independent. --- drivers/soundwire/stream.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c index f275143d7b18..7aa4900dcf31 100644 --- a/drivers/soundwire/stream.c +++ b/drivers/soundwire/stream.c @@ -1291,18 +1291,18 @@ struct sdw_dpn_prop *sdw_get_slave_dpn_prop(struct = sdw_slave *slave, unsigned int port_num) { struct sdw_dpn_prop *dpn_prop; - unsigned long mask; + u8 num_ports; int i; =20 if (direction =3D=3D SDW_DATA_DIR_TX) { - mask =3D slave->prop.source_ports; + num_ports =3D hweight32(slave->prop.source_ports); dpn_prop =3D slave->prop.src_dpn_prop; } else { - mask =3D slave->prop.sink_ports; + num_ports =3D hweight32(slave->prop.sink_ports); dpn_prop =3D slave->prop.sink_dpn_prop; } =20 - for_each_set_bit(i, &mask, 32) { + for (i =3D 0; i < num_ports; i++) { if (dpn_prop[i].num =3D=3D port_num) return &dpn_prop[i]; } --=20 2.43.0