From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f51.google.com (mail-ot1-f51.google.com [209.85.210.51]) (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 5D32B37473D for ; Tue, 17 Feb 2026 18:01:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771351284; cv=none; b=qTbYjXB77Oh6Il1cryxDp00sZeO4YQ6P5EBT+mphIpmk+MnJsgXRPihxTZCMWBPNw/S3qX+SwsrkswWoLA3bnEMrYHrbOAYfa8W14RGBqZBLVMiahdl6uoC5+GpYmNSb2ddkp9K+9vJsxnT54LPzr+yC+FTec1skfMHjYgQx+eU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771351284; c=relaxed/simple; bh=AgxCltSAUyLZ7G0AL2eHcAOSn9EOXkwsec6tR9ZUbak=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=gKxup+z1YWV1eqnkjE5XzUJA0rcZ71UBuOelQA3D7aUzOP1Fxlj8hlWhKWlimMrOvKpO5eXfCNVZiqhLz4izEx7ATZFyOm5HQQ+VA8Zs27yX+ANoI84gyT9CQo1ggA4/gJNYUWxHpKKkA0P1VSYy6h8H+lDciL5YXKi08E3crGw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ieee.org; spf=pass smtp.mailfrom=ieee.org; dkim=pass (1024-bit key) header.d=ieee.org header.i=@ieee.org header.b=RkthDQWf; arc=none smtp.client-ip=209.85.210.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=ieee.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ieee.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ieee.org header.i=@ieee.org header.b="RkthDQWf" Received: by mail-ot1-f51.google.com with SMTP id 46e09a7af769-7d4be7c4ebeso2550554a34.1 for ; Tue, 17 Feb 2026 10:01:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ieee.org; s=google; t=1771351282; x=1771956082; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=ass9Ei6G1Od2zlBkoO6VGTXnMmfUoJe2npzv8hOuU5g=; b=RkthDQWfii3frYqXz5IkCImXHhmxvirLfkaDY5HnbdvqbW8FoYjxGH9lPRrOMLuVny rglgfWdE1QZm7iRJwfYwtNN4XbhYf8TjSmRJBzEPW0jtfv8i8AUE85qntOa6cjupjPZp +3GRdRkPbZMJZS9J+/uSNaof2hB11p8OJTjng= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771351282; x=1771956082; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ass9Ei6G1Od2zlBkoO6VGTXnMmfUoJe2npzv8hOuU5g=; b=tF0t15haNyGrbRmFnB96Aq/MtaXd7x2JyUIUh9J5/fi2EJD1R1MqDoc4Awni91llvW LpETPJXzW56dS3iDr3f63g6OHIufb8H0QE8f+xnA+JW6IMBWmQJUHWm5ggGPffmhPhrj LvQq9wquIddPtxQbsEQqK8Dwx2FU+/1I8//hKx/m48iXWFxw4/A7vMqAv7p/OYVXCC19 DgVe9tou+yEIxgDJpZb8BT2lk6jJXPuf7XqAkBK2bsfe2Vzblpo2NMfyZQj16Vk1w3zT z+GAO9JGeXuSBrRuJO2vSrYGjrhmVz4pxgcQyr/jH8072dzDOZtkmw12OsyKxlC/GZ55 4lFA== X-Forwarded-Encrypted: i=1; AJvYcCXqW4PsePJ85p33OS7Rej+7AIh3BtzwrAqu9L6ybbUc+hvULrCpdwJ2jtCp2qqrpK2hrpO3AMQDNIzGv1A=@vger.kernel.org X-Gm-Message-State: AOJu0Yy19f/3TOJvV2KlfJfe8dCIWWbmFfYery6l/vEB8aC77+SQx197 XzV5xIY/uWlxRgEYd8CrPM+RMOQKFCGmp05wenzZiettT1MxVoHn1OC58xY1GCVrrw== X-Gm-Gg: AZuq6aKU1YvXGprdbx+v78HabG0Wzp8tkjypV/REwQqvHuVPjal3ZM7XG2F/EIxbhGP oUViRXYc2kW9qC664UHHZXpt+ptYlThxR/Hw5hLQAHO7FVh1mPG3CLBak8MukaSXEHaxNnN6yfH AFU0lgwncjmKKtTCvq9sOcR9fWmdtHcb/ORpczySb8t1qc3CENlTpf4R5cHMA1qg9yVSHn6kTBK BOxxYXzGlGuKLxhlI/dtEu2XwtcvIzkegedUdLncScRjTz6nvmDh8Zvioiqgl82kGCKsgl3FqTX WQHR4C2To+HXJX3HGXGbVlhDlFJFTcdsFRTtb4uZmtmIVGLM5n5QogK4NDVlh/6O21b8JSxxBrQ e6CkCZdPQMIBpGBGrVdOfTxJRp3dfnhBOTa2NL16ElJfX0erRI8phKoJhUlsgOKJWJBN4U8TB2j 9JkPdMGzu2FhBQd44jBLfuWMPCEyZLTUnvrAf53TuTDrmqfNnhDJKsH4L8wA== X-Received: by 2002:a05:6830:211b:b0:7cf:ced8:b5cf with SMTP id 46e09a7af769-7d4c4adf2b1mr7433098a34.26.1771351282029; Tue, 17 Feb 2026 10:01:22 -0800 (PST) Received: from [172.22.22.28] (c-75-72-117-212.hsd1.mn.comcast.net. [75.72.117.212]) by smtp.googlemail.com with ESMTPSA id 46e09a7af769-7d4a771bcebsm16698857a34.25.2026.02.17.10.01.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 17 Feb 2026 10:01:21 -0800 (PST) Message-ID: <11b783ff-56ae-4980-907f-b5e0f11896f4@ieee.org> Date: Tue, 17 Feb 2026 12:01:19 -0600 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH net-next v3 3/3] net: ipa: Grab IMEM slice base/size from DTS To: Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Alex Elder Cc: Marijn Suijten , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, Konrad Dybcio , Alex Elder , Dmitry Baryshkov , Simon Horman References: <20260217-topic-ipa_imem-v3-0-d6d8ed1dfb67@oss.qualcomm.com> <20260217-topic-ipa_imem-v3-3-d6d8ed1dfb67@oss.qualcomm.com> Content-Language: en-US From: Alex Elder In-Reply-To: <20260217-topic-ipa_imem-v3-3-d6d8ed1dfb67@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2/17/26 7:30 AM, Konrad Dybcio wrote: > From: Konrad Dybcio > > This is a detail that differ per chip, and not per IPA version (and > there are cases of the same IPA versions being implemented across very > very very different SoCs). > > This region isn't actually used by the driver, but we most definitely > want to iommu-map it, so that IPA can poke at the data within. > > Reviewed-by: Alex Elder > Acked-by: Dmitry Baryshkov > Reviewed-by: Simon Horman > Signed-off-by: Konrad Dybcio I know I already provided Reviewed-by, but I have two minor comments. (You can keep my tag even if you don't incorporate what I suggest below.) > --- > drivers/net/ipa/ipa_data.h | 4 ++++ > drivers/net/ipa/ipa_mem.c | 21 ++++++++++++++++++++- > 2 files changed, 24 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ipa/ipa_data.h b/drivers/net/ipa/ipa_data.h > index 2fd03f0799b2..5fe164981083 100644 > --- a/drivers/net/ipa/ipa_data.h > +++ b/drivers/net/ipa/ipa_data.h > @@ -185,8 +185,12 @@ struct ipa_resource_data { > struct ipa_mem_data { > u32 local_count; > const struct ipa_mem *local; > + > + /* DEPRECATED (now passed via DT) fallback data, > + * varies per chip and not per IPA version */ > u32 imem_addr; > u32 imem_size; Both the address and size are deprecated, and although you add white space, I feel like you could be more explicit about saying both are deprecated. For example, maybe more like this? /* These values are now passed via DT, but to support * older systems we must allow this to be specified here. */ u32 imem_addr; /* DEPRECATED */ u32 imem_size; /* DEPRECATED */ > + > u32 smem_size; > }; > > diff --git a/drivers/net/ipa/ipa_mem.c b/drivers/net/ipa/ipa_mem.c > index 835a3c9c1fd4..583aea625709 100644 > --- a/drivers/net/ipa/ipa_mem.c > +++ b/drivers/net/ipa/ipa_mem.c > @@ -7,6 +7,7 @@ > #include > #include > #include > +#include > #include > #include > > @@ -617,7 +618,9 @@ static void ipa_smem_exit(struct ipa *ipa) > int ipa_mem_init(struct ipa *ipa, struct platform_device *pdev, > const struct ipa_mem_data *mem_data) > { > + struct device_node *ipa_slice_np; > struct device *dev = &pdev->dev; > + u32 imem_base, imem_size; > struct resource *res; > int ret; > > @@ -656,7 +659,23 @@ int ipa_mem_init(struct ipa *ipa, struct platform_device *pdev, > ipa->mem_addr = res->start; > ipa->mem_size = resource_size(res); > > - ret = ipa_imem_init(ipa, mem_data->imem_addr, mem_data->imem_size); > + ipa_slice_np = of_parse_phandle(dev->of_node, "sram", 0); > + if (ipa_slice_np) { > + ret = of_address_to_resource(ipa_slice_np, 0, res); > + of_node_put(ipa_slice_np); > + if (ret) > + return ret; > + > + imem_base = res->start; > + imem_size = resource_size(res); > + } else { > + /* Backwards compatibility for DTs lacking > + * an explicit reference */ I think netdev style says the end-of-comment should go on the line below. -Alex > + imem_base = mem_data->imem_addr; > + imem_size = mem_data->imem_size; > + } > + > + ret = ipa_imem_init(ipa, imem_base, imem_size); > if (ret) > goto err_unmap; > >