Received: by 2002:ab2:b82:0:b0:1f3:401:3cfb with SMTP id 2csp484538lqh; Thu, 28 Mar 2024 07:42:00 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUQz88A7q+UGfF/14lFyvIGz/y8uQzM+YyzXE2wHkUU5kbpXi8ve38ey9sWvQUTiJpqLZcGFh/gY/OLRezAjvXYJz4eTRP6khhoImYeYg== X-Google-Smtp-Source: AGHT+IH2wMPiYbZek4x2izH7OkgolPEbvJ8z9M8Ub1fvgdVqVDMMMO3wq7lXnXpG01HFqjFrgpdf X-Received: by 2002:a17:906:27d8:b0:a47:817:5225 with SMTP id k24-20020a17090627d800b00a4708175225mr1860337ejc.39.1711636920169; Thu, 28 Mar 2024 07:42:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711636920; cv=pass; d=google.com; s=arc-20160816; b=WFAhKoAulKW1DhRM+F134LbDzsBuZ0cD3OzbZhjZ0xGtS21gtxZQinQpowdG4kGSZ9 ICY0UNqcRRuL3wUANpobZRoO83rWJ6BTfLUcNFijkj4kmFI+eiuCWOPqRAXrjrWtP3Dd PbB9W1kDIt/k9uqrACcIJp5eh220aDF0HoW9Mnpo3+rMDi9zeYR4DrlAvWsEnkNIa95F FVz3cj4b5Akf7o86S0VF7cgiln58k5bEiMiVT6gXgldkoVCYi6we/AxDTcYN6oUXmqKn gb4liwwYt11pvHMqxWbJLxJioGqfQ9LNolDBGtcVMvhBwVygVcRy331Cc4SWTyzVf+CE 1nOw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :user-agent:content-transfer-encoding:references:in-reply-to:date:cc :to:from:subject:message-id:dkim-signature; bh=XoiwOMA8e8KHXegBzR80/tUvb/4hIiUPb1QIhySE8xE=; fh=AN3TPovGZlXbVOAi9DnJbFLhX12tsufHwxfR0pDbwBE=; b=lucoz4E4oLj07EFJdMrDf/ixVLJT3Sf8cXGbpqenj8LjvJViQB3C7R9jAMGxLCR1wu 6qYNnakCV+Rm/2HLEQKZjYBmpfPxlzDfdTYQG0hO0sDceYkzffHXySerli2+Qg2rj2e3 tFV1fS6HbkduF+90KPb2L2KtWotoxrExpK7Fc02Qw5owA1bRMznaplONZnKc5xmWsDCk vZAGeypuIEZqbgkm8o29ctbSAznvPeVxhFoZzuELkPEGcxULJFKpiaihlcPDmjeVhgP/ kE3eRVGqQIewrZPBjtD+ipuG+dPxV5moDyJY0FYuRE8+F+xFAakPM7C6X4HnuvYmFk7d /gGw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@sipsolutions.net header.s=mail header.b="Zmzg/mfF"; arc=pass (i=1 spf=pass spfdomain=sipsolutions.net dkim=pass dkdomain=sipsolutions.net dmarc=pass fromdomain=sipsolutions.net); spf=pass (google.com: domain of linux-wireless+bounces-5466-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-wireless+bounces-5466-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=sipsolutions.net Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id j20-20020a1709062a1400b00a47103b1f7esi797324eje.212.2024.03.28.07.42.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 28 Mar 2024 07:42:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless+bounces-5466-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@sipsolutions.net header.s=mail header.b="Zmzg/mfF"; arc=pass (i=1 spf=pass spfdomain=sipsolutions.net dkim=pass dkdomain=sipsolutions.net dmarc=pass fromdomain=sipsolutions.net); spf=pass (google.com: domain of linux-wireless+bounces-5466-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-wireless+bounces-5466-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=sipsolutions.net Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 785711F2146E for ; Thu, 28 Mar 2024 14:41:56 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 52936657B9; Thu, 28 Mar 2024 14:41:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sipsolutions.net header.i=@sipsolutions.net header.b="Zmzg/mfF" X-Original-To: linux-wireless@vger.kernel.org Received: from sipsolutions.net (s3.sipsolutions.net [168.119.38.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D77CA43ABE for ; Thu, 28 Mar 2024 14:41:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=168.119.38.16 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711636913; cv=none; b=juM/PURwLdefJZKp9CS9Q9fEKP+BZBSz+vDQuO6NMlJ2gZOyF55KjzjivIW2u1YFvXD+l8Q3+b1cOkL3mHhf/+UfzFuHbN+aQiqzt1OytHu4tlzFGDpl3PgNPD1vGGyxgsIqQpYpalKQkFtm2HDRfJdX9LCe9TRdzKHLtvgLwxA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711636913; c=relaxed/simple; bh=ykG8YhLmBolM3JwuE6HwTKv8YeS5pdiVgZNJyxTLh9c=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=JsxUJMpI+Td39piZdnqTbxO5zKjz5EnHpBZA4x6qyDhp2YGZTYsgHzNfWKyHbSzKZL4YQ/xudw/wmQ+0ew1I1lmm/qTOTJ6IYZSAQ6c6jeO4LA+lXOgt5TdGwd20e8THIqPK3HdH/SPGURwVKAqYWMNvwSXtuFS89qfW+fqB4nk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sipsolutions.net; spf=pass smtp.mailfrom=sipsolutions.net; dkim=pass (2048-bit key) header.d=sipsolutions.net header.i=@sipsolutions.net header.b=Zmzg/mfF; arc=none smtp.client-ip=168.119.38.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sipsolutions.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sipsolutions.net DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sipsolutions.net; s=mail; h=MIME-Version:Content-Transfer-Encoding: Content-Type:References:In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-To: Resent-Cc:Resent-Message-ID; bh=XoiwOMA8e8KHXegBzR80/tUvb/4hIiUPb1QIhySE8xE=; t=1711636910; x=1712846510; b=Zmzg/mfFUHNYFM4T0IgYTbIh5qTnaA/6ZcHMj+D8UzkePD2 umv7ESm+JF77aUzrPtXvGwempQBnf2Iwt0MZQVYCK3Ki+oKCU1SfzXl8Yr7DZuaP0MzcmdRyBdsHK ImSEIlojBCGihJSL+neTwkIc9JhT6EO1eXBVnM9hYBNVVKAOXy1nG/rG9RN2AJgm9UWP67vpw42ms i9UYWQbRIgPer7lcxge/6vTTxQZqsXFvabUCn/Gom0vwiTCdC8aQOeJdlnpogPTyZC1HcWpiZYefj crqHnq4bnTRW0I1fYXk7y1JPeFSrlrSEWNKzY8GVDKAXl0O+Mrh8wlb7UdDgkR+g==; Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.97) (envelope-from ) id 1rpqwt-000000013Nt-1qr0; Thu, 28 Mar 2024 15:41:47 +0100 Message-ID: Subject: Re: [PATCH 11/13] wifi: mac80211: Add multi-hardware support in the iface comb helper From: Johannes Berg To: Karthikeyan Periyasamy , ath12k@lists.infradead.org Cc: linux-wireless@vger.kernel.org, Vasanthakumar Thiagarajan Date: Thu, 28 Mar 2024 15:41:46 +0100 In-Reply-To: <20240328072916.1164195-12-quic_periyasa@quicinc.com> References: <20240328072916.1164195-1-quic_periyasa@quicinc.com> <20240328072916.1164195-12-quic_periyasa@quicinc.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.4 (3.50.4-1.fc39) Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-malware-bazaar: not-scanned On Thu, 2024-03-28 at 12:59 +0530, Karthikeyan Periyasamy wrote: > From: Vasanthakumar Thiagarajan >=20 > Currently, iface combination param supports single physical hardware. > To support multi physical hardware, add hardware specific checks on the > channel context creation and populate hardware specific parameters from > the channel definition for which the interface combination need to check. I haven't gone through this patch in detail, but again like on patch 9, I'm not so sure about the implementation of the XOR behaviour of checking global and per-HW limitations. I probably wrote on the other patch that it seems it should check both, but I realize now that doesn't make sense: After all, the top-level combinations data must encode something that's supported _regardless_ of channels, so likely only a subset of the combinations supported across the different HW. But that doesn't mean that I'm yet convinced that the design in patch 9 is actually good, with how it checks that depending on the 'chandef' parameter. I'd like to explore other possibilities such as a different function for that, for example. It could use the same underlying helpers and mechanics, but it seems that might be better overall. Or probably better yet: explore an approach where mac80211 doesn't even have to _know_ about the cfg80211_get_hw_idx_by_chan() and all that, but just prepares the information in a way that encodes enough data to handle that, which really means going from int num_different_channels; int iftype_num[...]; to struct { enum nl80211_iftype iftype; u32 freq; } interfaces[]; or something like that. I was almost going to write "links" instead of "interfaces" there, which reminds me that none of this really even works well for MLO yet. Not sure if that's better addressed as a separate first step? johannes