From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (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 5A6952E4257 for ; Thu, 9 Apr 2026 20:52:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775767939; cv=none; b=LBOaTbyLh+iL9pFhL40BRTWha+vcqZbTlz6HoCNpGwAwkWCasb5iIdhlyH7P1dbkFk9B2A0W9Y/8aFuloeChDHuGXAHgVUbW5sV0uqzN2GD9QQKfBdC7ULCbbA4IDf0WtjVIUnh1+kz0tdic1axAAI0n10XysJrqnR9NRackKk8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775767939; c=relaxed/simple; bh=Xdl4SEPIG1bTe8bbKcDft3BVAeSV/iIOez/utcM7wRs=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=nS0JJZYqV1BSPAsMCiLX8f98b7xSTKpE1+2eM6878/uPjF7+7Me10wvXhFcCAcgzTO0RuMGfqAAQHGWO8d3JMjsPezNtAhBckH+1THHORAQFV7LP4mHnmcyVVjRK3RRIYW520XZPEXcrj007Pni+SKLlYQmhSK2YFYIOKKefVZc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=erglGhfy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MDmfj+T6; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="erglGhfy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MDmfj+T6" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 639Kacpd2624687 for ; Thu, 9 Apr 2026 20:52:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 4YgjMxSPty1CRZ5O2vYOSJef2/ASxr164jwUcV48qCQ=; b=erglGhfyWNLs2xhs hqwT5Y0E58DH/3rzJnDP8Mb0HJYivfLS9OHlovYOb7XIpm0WPCGO1USuxhcnKLEr G3s2Dnt8gpIc+OFwenIsc3J+ZHs22ECsu0M9KGnxzZdlGkkzKa9iYR0xcC2l7ae3 ZyMsno5XuK0Y3TRIhiVZAZlSASFSycf3QA0TNOOVrvafXAujeq8CTwlIk8rxeR7S NIdc+SoU0HHpJYUHfmdE97nMzCmXjEnm40+f+D780Di0pyU36k7fSB1VcvmgC26U M5OI8OubEVUfqFIexP+PCh2S2k25C47qvoH2yXvd4NFpeGL8koDnHNwzggv4zkOl /ruLiw== Received: from mail-dy1-f199.google.com (mail-dy1-f199.google.com [74.125.82.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4decmu1n3y-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 09 Apr 2026 20:52:17 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2bdf75bc88fso1841651eec.0 for ; Thu, 09 Apr 2026 13:52:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1775767936; x=1776372736; 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=4YgjMxSPty1CRZ5O2vYOSJef2/ASxr164jwUcV48qCQ=; b=MDmfj+T6t9G8e7l18DfskcwezWKAQfToJMy1jdAriIajjDtFO+FESgUPfchOMI4F4M SaxwbdJtaEY+QB5RD1gniQwlErSHXJ02qIcvSGr1xKaQqxH9rY41tfDO9inH2XBSGUJ0 UocLUY0x7JdWxlsznZK1oNXkCOR+fYmX4gLMbgvcXfXnDBIHlJPenPC65UfTQNGGnVB6 bC3psVn6NJF8J9ESTL/8+7Mxz3h2Ns9HqEviZd8pxwNDDKRDi0JRVyN15yvOsV6ZwXYb RSiVRHwTJrA9hcdDdYbZmnUIHUXrV6KNdyW1/jxDQO3YoOdR5rgoZzYp7IWJXWY/1Tlw CI0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775767936; x=1776372736; 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=4YgjMxSPty1CRZ5O2vYOSJef2/ASxr164jwUcV48qCQ=; b=Q2++APb/jVKFtKmaxmIi5ddprj4VxXKwl5kmyvHK5Bs+dXQ3ym3duJ7HPhf7iS/fLX Oi1VXwsi/wgXajRLeeaZjevIHJGeMzZuiVLdy+pWchSiTwjirbEW+0seL4HQygFfU2qU ob42ZhrRhWCxUsB7HmNdAR9Ph01RBtZbA+dP36DrpwMG3PDl2IdpZaaDigzXEKdX89bt lozoKAM2VBgRIUVmoF6C8SdM7qD69WxhPx3hiEj2n+GMCkzPTQOmvCPE3LhaVQLAIkaO EpQuq0StDw9AXoIfZuY7X9RJTRVmKGZmhpbUiNv++B6N4Ody9sjaT4l/oKuhdLcvxYiL uLZw== X-Forwarded-Encrypted: i=1; AJvYcCXS68T2h2Kd9oVgJAtGSNG4h1WRoHj3npbEhtva25bBZIjzwLejLTdjAa6Z/iTw9OVLy/+SRyVsEHkElQI=@vger.kernel.org X-Gm-Message-State: AOJu0YwL8Guq/Rv5623msXxXMTb3vEBhe9lw8JRPIJNDS/419fxaYhJ8 WBlscCpwfL/a2dOMCdz2VmdDQFIyECeR6x+hiIMzHktbCEEV4Bn2ednVl3oi5SDfPBHui9BKjXW 3+DHmZwR3AkK+62USB2MUG2SkvE7oPmu7WhsPz1QJq+t9UKj3Ii9Qt0INwJQjV4o0BHI= X-Gm-Gg: AeBDievzB0VVGtGwasxVKktgk1lwVAFIrbhUYsjQDmeD6kJmy1LmTeG8CIKi1661oXj 4SAUF6sfy/Q8LxEPDQlAuIBqsgnABp91RKiMUCRM7PfJ7AMDJhaYRW+ysoq3hhBq3/+8RGtinbx ktkRgXY9lLWNYbKcknz+LuJN9e3+AYMgygUTKWdnQEz07DXyPijhK1PoVbYd1ca1f7e7Lam5Ovf suq82tpXH+u0AXZ2R76rWtsVMnSR3DON40HDwV1+tONGFYiI2UjDYDdMuSa61AYgOSqryMtPD2i deT1tr9qMaEG9Fqoo9EdoJIvTbfNrB3SoLf8Q5GScWxnWY5Jf/VWztto1GPSzFpH+uR9ApxUm85 PdCe3vqUICykGPjYEjlzDAW3iCIHT19m2xNJ5tHNMwZts/WnafOYdP0v7RCpbX7jonBXL7S0Qq4 0= X-Received: by 2002:a05:693c:3117:b0:2d3:dff7:13ba with SMTP id 5a478bee46e88-2d5871afaa7mr376374eec.5.1775767936368; Thu, 09 Apr 2026 13:52:16 -0700 (PDT) X-Received: by 2002:a05:693c:3117:b0:2d3:dff7:13ba with SMTP id 5a478bee46e88-2d5871afaa7mr376348eec.5.1775767935665; Thu, 09 Apr 2026 13:52:15 -0700 (PDT) Received: from [10.226.59.182] (i-global254.qualcomm.com. [199.106.103.254]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2d5632a64easm1452705eec.31.2026.04.09.13.52.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Apr 2026 13:52:15 -0700 (PDT) Message-ID: <2eda7d10-e4a9-4ca7-ae73-bf9c0ca8fa33@oss.qualcomm.com> Date: Thu, 9 Apr 2026 14:52:13 -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 v4 4/9] bus: mhi: Centralize firmware image table selection at probe time To: Kishore Batta , Jonathan Corbet , Shuah Khan , Carl Vanderlip , Oded Gabbay , Manivannan Sadhasivam , andersson@kernel.org Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, mhi@lists.linux.dev References: <20260319-sahara_protocol_new_v2-v4-0-47ad79308762@oss.qualcomm.com> <20260319-sahara_protocol_new_v2-v4-4-47ad79308762@oss.qualcomm.com> Content-Language: en-US From: Jeff Hugo In-Reply-To: <20260319-sahara_protocol_new_v2-v4-4-47ad79308762@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-GUID: ZYH906ILAwtU8ycSvgok2YxT0H6s36mW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDA5MDE5MiBTYWx0ZWRfX3Ph3hphnDuXE LRJodCY0kG7FizLxnGBtXCmcz1JcxSjWghKntgakJkS+ZeEq1UbPgem6AQLXBnKDM4iDkynEpZt PFWhgyKiAu0hBkfiZAMKByC9mIuSk2HZ7efwFEsRl31kHZkSkRbFLv/xkr83jOHX3Gl2D6Vi+Y4 y623Rlncud7AtlEwCR6RJvpEQuvVmQWIgREzGbrhdnDagUYg3EdoK6ec01NJHXTvJfDrKQEqg/A BRkzdWapQeXSXv7HLEYpj/xanHAWxB/sQanntpEI2LiZJRAQABBnOJZIUsPb5TvE0tuqDfuuWJ9 C7fLKxQd4ghxIRxC7baESvgBolIj61qgh2xJOvRwbY1Lo/3ZGw+N2Zm5N2xia/oLm/oETLuVnyZ TolR7NmTBYFwXZYhE4ycgCpfcpSbycfhLg8omZWi5WI8ajSmkoM7trGsxzHjaHy7tW0iIZ6SBt6 fBmhGok6W2m3y8/D58g== X-Proofpoint-ORIG-GUID: ZYH906ILAwtU8ycSvgok2YxT0H6s36mW X-Authority-Analysis: v=2.4 cv=DslmPm/+ c=1 sm=1 tr=0 ts=69d81181 cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=AsT2qU_2Mam4ECEOgGwA:9 a=QEXdDO2ut3YA:10 a=scEy_gLbYbu1JhEsrz4S:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-09_04,2026-04-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 lowpriorityscore=0 suspectscore=0 adultscore=0 malwarescore=0 clxscore=1015 impostorscore=0 bulkscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604090192 On 3/19/2026 12:31 AM, Kishore Batta wrote: > The Sahara driver currently selects firmware image tables using > scattered, device specific conditionals in the probe path, making the > logic harder to follow and extend. "to follow" (remove extra space) > Refactor firmware image table selection into a single, explicit probe-time > mechanism by introducing a variant table that captures device matching, > firmware image tables, firmware folder names, and streaming behavior in > one place. > > This centralizes device specific decisions, simplifies the probe logic, > and avoids ad-hoc conditionals while preserving the existing behavior for > all supported AIC devices. It would probably be useful to mention this is in preparation for adding QDU100 support, otherwise this reads like it is just change for the sake of change. > Signed-off-by: Kishore Batta > --- > drivers/bus/mhi/sahara/sahara.c | 66 ++++++++++++++++++++++++++++++++++++----- > 1 file changed, 58 insertions(+), 8 deletions(-) > > diff --git a/drivers/bus/mhi/sahara/sahara.c b/drivers/bus/mhi/sahara/sahara.c > index e3499977e7c6b53bc624a8eb00d0636f2ea63307..8f1c0d72066c0cf80c09d78bfc51df2e482133b9 100644 > --- a/drivers/bus/mhi/sahara/sahara.c > +++ b/drivers/bus/mhi/sahara/sahara.c > @@ -180,6 +180,16 @@ struct sahara_context { > u32 read_data_length; > bool is_mem_dump_mode; > bool non_streaming; > + const char *fw_folder; > +}; > + > +struct sahara_variant { > + const char *match; > + bool match_is_chan; This is dead code, add it later on when it gets used. > + const char * const *image_table; > + size_t table_size; > + const char *fw_folder; This is dead code, add it later on when it gets used. > + bool non_streaming; Please run pahole on this structure. With the interleaving of types for every other member, I'm expecting there would be quite a bit of compiler added padding.