From nobody Mon Feb 9 08:28:50 2026 Received: from mx0b-0024c301.pphosted.com (mx0b-0024c301.pphosted.com [148.163.153.153]) (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 BE2B83A9018 for ; Thu, 15 Jan 2026 16:19:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.153.153 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768493963; cv=fail; b=JdnoXSQfrTL/RU8PWUm62oNHh8ajRexNvwqSyVF4bFZIc1JVPt8nT3UIIbnxA1U4PsczA+yoHfjo6pJOkYaQmTcgQbYbrI2iGBHAcJ8PogTQ5bZix1VuUVB1A5GOQPfzj5rXZbS04/1khiRto/Nqs+AivAxjO2pek9ILDTN65po= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768493963; c=relaxed/simple; bh=PvHm0sZOFO+PxFgzH/4kQjGX+j8eXmrxMhoT6sy+bqk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Suv4zOOUecyl6567M9bn7rZV2OYyJBCK2se1eC6kVBUvgkgQFKRbL7ohkCBjSArsX5Wy1N8R0k0K/WaYsqDQSbt+IhF8l3kGZSLIXXaU8or2+PtE/uKsf7FSICVhemJqyzzvhk5x9Kd4v9yDt6p3+03t5T60iofV4tgrHN+n8fE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=silabs.com; spf=pass smtp.mailfrom=silabs.com; dkim=pass (2048-bit key) header.d=silabs.com header.i=@silabs.com header.b=gpBmS9DJ; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=KVKjG+z+; arc=fail smtp.client-ip=148.163.153.153 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=silabs.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=silabs.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=silabs.com header.i=@silabs.com header.b="gpBmS9DJ"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="KVKjG+z+" Received: from pps.filterd (m0101742.ppops.net [127.0.0.1]) by mx0a-0024c301.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60FFldAZ459480; Thu, 15 Jan 2026 09:58:38 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pps12202023; bh=QtQ2w6J6+WzvUUqe72IB8cXHNEMd2DYmh6aaYN2FbGA=; b=gpBmS9DJpAlE tkJ7GwKVrL8YuqZsFE4wEXEUBUXqtoML8kQMrWIogxyhasePot8IJhR4/WXlMShu JQTLU6JDuV22/Wj9f6Ie+0Pfx06HG3SKkW9cHhnX5asIm9XweQ76aW6QDDlI0Q0K 9cIt24Jfb6lM7Ukcr+b+qMA6EX7tS/9zUbfuqX0LVsZTVK7OBqWJGUOM6JD3uTGg j5w5RfYrLG/iNTjd8cjO/O/g+tdO0HVavqhjq5MKYKv5YPPH8m08Dgc0T9GiACLj K88Mqbn9gH5KWkXIX9gXbDHSxXxwd7NxtEWhtadBB0H8px45luUETqS1lL3h8S5K yK63hD0XyQ== Received: from cy7pr03cu001.outbound.protection.outlook.com (mail-westcentralusazon11020073.outbound.protection.outlook.com [40.93.198.73]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 4bq36kr0uv-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 15 Jan 2026 09:58:38 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tFuUUoulkRlYrO/ceMLhCWZ/6o3+pmqDvnJaW3wHiccspu/DMGpRlYdXvGG4MxzLFfcE2+pC6aKUD4IoYNuU3cSHOhB+S2wlE8b1PbFNkQ7vF92+hEx6RYo7PDPqOZ8rhQ2Skk/yHvyz/oZDc1OhTA0PVKv3e0sxg6hVApDaahWNeriEzFJAZjovHwpwCdOs+/LrJLn/ppitQq8Bz8/j61uZz95uz9hUR4FK3coPje0iGHUlQd+MnQZ4v/r8QV89YjMPuKDJ6o5HeMWalyFqCEXEtNYDfoAHdVlcIL19vN2uVGScCxAGwjn0y/uj70rCtwndSxp6A1RT1bun0hHbyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=QtQ2w6J6+WzvUUqe72IB8cXHNEMd2DYmh6aaYN2FbGA=; b=t63eFkeri76Ja5yzJz5N360+r3dANjqIGixjr/RFEwj3f3e4pOk9MUWtLv9s8PpsnHiz35KaZjtajNEfivg5o7mDsfxKSIcJDVM76YQLe/4ddFqnV/ey1uNGSyE0zwGpDAyLQV8N15XBxY/3fUJSBiTw19hNJko65XawjwLWS9osmxOfK+6Wm9s28OFSaXYTvJnCp4qykUj5oBNJj3AFkNOwFJzvLBU+SAwSGOkgrK8xjg2s19WClKtpRnM1ZlSHLMrFBOBOxXLdKJFe0EnQ94slHOUkvwyBOiHhfdf0eJlf2JJNf+jSfh96tXmSb7GsEkjxKvrTwxhbprgJyFNdUw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silabs.com; dmarc=pass action=none header.from=silabs.com; dkim=pass header.d=silabs.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=silabs.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QtQ2w6J6+WzvUUqe72IB8cXHNEMd2DYmh6aaYN2FbGA=; b=KVKjG+z+BjEJk+cHcYyZGzAtQ8Yhw8tCO547busTo1p4vvSjBhP2hFIQrMhk9ImvRjiyGxfRne8qfcedggC+bJaDGUy82tDzKDweqGvVBUCQmrOaurk48USNPq2kKXnzLF+++NqyHSPvpiT5vYbnxsPC28WJwbIlEzJkD9Uegq8= Received: from DS0PR11MB8205.namprd11.prod.outlook.com (2603:10b6:8:162::17) by SA2PR11MB5097.namprd11.prod.outlook.com (2603:10b6:806:11a::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.7; Thu, 15 Jan 2026 15:58:35 +0000 Received: from DS0PR11MB8205.namprd11.prod.outlook.com ([fe80::2de6:bc88:2af7:3583]) by DS0PR11MB8205.namprd11.prod.outlook.com ([fe80::2de6:bc88:2af7:3583%3]) with mapi id 15.20.9520.005; Thu, 15 Jan 2026 15:58:35 +0000 From: =?UTF-8?q?Damien=20Ri=C3=A9gel?= To: greybus-dev@lists.linaro.org, Johan Hovold , Alex Elder , Greg Kroah-Hartman , linux-kernel@vger.kernel.org Cc: Silicon Labs Kernel Team , =?UTF-8?q?Damien=20Ri=C3=A9gel?= Subject: [PATCH v2 04/14] greybus: cpc: pack cport ID in Greybus header Date: Thu, 15 Jan 2026 10:57:57 -0500 Message-ID: <20260115155808.36102-5-damien.riegel@silabs.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260115155808.36102-1-damien.riegel@silabs.com> References: <20260115155808.36102-1-damien.riegel@silabs.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YQZPR01CA0025.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:86::22) To DS0PR11MB8205.namprd11.prod.outlook.com (2603:10b6:8:162::17) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB8205:EE_|SA2PR11MB5097:EE_ X-MS-Office365-Filtering-Correlation-Id: 2128d140-f16a-40b1-55a5-08de544ef00d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|52116014|376014|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?bVJ2dnl5c1NyWXR3Y05VQUJjdXhmOVZqTlNaZjVsNDVEelFLVXh2WkVDL280?= =?utf-8?B?eEd1N216VmQzWjNQSSttK01CcU9OTHY5citnR2NPdXpUcXk0V0kwdWZ2Y0Jt?= =?utf-8?B?UGMwMHlOM1kyOG1OcWNwMllnbWJabkFPQkh5WGx3Rm9RQnZrNjRwcEFVUlEz?= =?utf-8?B?ZjZPSFNjMUVkQVFtYTVIeFM3SHpmS1BjeUNjWk1LUzJ5YURjQUh5N29Uek5Z?= =?utf-8?B?TXQvQkh1ODBkbWVlem53LzdablVPWUpDNDRaYzRvR2VPMkg0RWwyMHdEbTFk?= =?utf-8?B?TXl6TWwyR2RIOWNJS2VQaTFKbUtTVENvQk1KU3BGakZMazRhUnBMVE11a3lX?= =?utf-8?B?WGcvamVJcDEvTHg0cGZRcTJjMFloQ0lROWdKaXlqUjF3enlUdTNmMGVsTlJy?= =?utf-8?B?WE9YcCtGNXBqL1hwSTNDNjRVaDVHc2hlUHhCUWM5elB1d2Q0MXZCRlJkR2g2?= =?utf-8?B?ZVh6bHh0UU5YQ1VoajZ0QjJnZGtIS0hZRWxxZ0VBWTFqdUFLMzhtWmpUd2M5?= =?utf-8?B?a3ErV1MweDVlQUhYZitlbVQ0WGhVaGo5U01ubEo1NG8yTWdnTXJHcWRDakp4?= =?utf-8?B?cFFXazl2M0k3bmlDTm5FQ2h6dkVtOFFYQmxFODd1TjcwTlc4MVVNbjNWaE1q?= =?utf-8?B?amQ5K1VVUUIxeDR6Y21nSk5aWUJHQWpma00rV3FPZWczU2lzc3VFNlNMNzlL?= =?utf-8?B?THQrOGR3NkxSdEdGRXlkaVlZaTZHZEp5RTdFSElQYnF4VldveHFoWTFoODVK?= =?utf-8?B?Vm5wMWRkY2x0TURoZm0yRm82NFQ0TE4yVDdDQ2dkdyswelVlK0syODltUkUz?= =?utf-8?B?SEo4SkJWbk05OFVJM0plNjk1NmhXY2NtNStzTjhNc2pibHU5M0NocGRmdWM4?= =?utf-8?B?b2NOWkhHa2JzK09TQmFqQTF1TVVqYjBjaW1ZUjdUdFc3bVdXd2JuZzlRZ2dW?= =?utf-8?B?RFhBRUNNaGpYRXRDVllkeVh5ZVp6Uk5vODBUTGpyNDRyU2MvbjlSN25GcG01?= =?utf-8?B?U1FFT3RkNWYzeHVjdlo0czVLVnhWZk5EL0c5RWswbW41V3pzWkxBZ2llMVIz?= =?utf-8?B?WkJxV25ZckRzZHNZcEpwTDNZdEx6VnhTQm1tNU1TWG1xYmM2ODVzV21xN1NG?= =?utf-8?B?Rk9rcm1JdXlWTy80WlF3VERUTEd1bWFJb0RRM0tqMng0QzFSTzFXOENnMk5G?= =?utf-8?B?UkloS3RxR0tYM2pWTFRrd3pua1Faa1JlS2JoUFprVVM3RnZrVUxPY2loeFhz?= =?utf-8?B?M1FLUXQxWWtyTmNQRGxiem95K2N0M2JGQ3BTei8rR0VPTVJFZVhOejlFY2FE?= =?utf-8?B?Wjc4ckowb1lxU25yUmFRS29rYklWUXRHUXc4d3JvbmlOaHhFYlpxMEpJZGps?= =?utf-8?B?a3VQREt4R0Y0ekNjYkNQZTRGQ1A1ejNkc0laMThiRmpuMkIwQ09kVkQwazJD?= =?utf-8?B?SUFCMFpEQUkveGRkWnEyYVpWK05KcFA0MTQ3UnNvejFNS040aStvQVZiQk1R?= =?utf-8?B?MWFzbC9TMW9CZ3IzNkIrVHd4alVWVC9lOUdQL0lDTVp6Y1RtZGV2MWZBVFgz?= =?utf-8?B?emcvazljeVVwa3BlUHpRM2lZSUxNMU5MM1hLbnR2cW01S1FvVXJKeGdOOElq?= =?utf-8?B?N1NyY1Y0RS9HOFlHbXhYUGo3MCt4cHVJSWFWUUtzOWRoZVpjL0JzbGdUOUNa?= =?utf-8?B?VXhHVWxxNG56YUpkTjhWbUJVL3puL3ZZY09RNVVhMFZpNkdyWFJuUWd6OEdk?= =?utf-8?B?LzlId0pUSlh6UXd3K0NPSVFMaTNsYlB3bERhUTl6dGk0cjZnZGR3QWUzaXV3?= =?utf-8?B?R1NpUUI1NzMvZkg3LzgvYVgxbjZERkQyNW5HVGhvdG1IbnFVV0JHRVo2aXZz?= =?utf-8?B?TGNZd0w0eXZoOHlSbVRnaFZBeGZ5WmZURmp3VStydFFua2pqbTNxU0ZnZGpH?= =?utf-8?B?WDRxYTVYOGVVd1d4NDVFcTA3VDU0SjFudGFWdkdFYzQ1SVIyN29HRzI2TFVq?= =?utf-8?B?OHRpNS9TSEVOQitBQ0VhaW1QTGV4c0ZiMFpLMk0wMEZjUWxyVGZVMER2NXpm?= =?utf-8?B?T09NbitzYStyRDVMZnNpSktxZjhRd0FZOEc4NVg3KytwQ21nSk1rUU5iTXZQ?= =?utf-8?B?WFNkTWIvOXlvNFFMWExHVnduNThob2NuZ1c4UU9nY3NsMkRYcGwwdXlKWk9V?= =?utf-8?Q?Hc7MrA++9Bjzv1Ozr+EaYO4=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR11MB8205.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(52116014)(376014)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NEI5aUd0Z3lkSU5NSklSU1NPR2JXeGdVK2hYY1ZZK2hVeERjUGNWRXlOQ0VI?= =?utf-8?B?TWhob0hQQXZDQ1R0SGp4TjBsOHBQUUFJeEFLSTA2ZzBaREdNaVFTNFJ6QktG?= =?utf-8?B?NnBaZmYrOEVRYnJ4cHE2U21sQmRiZk1wS3EvcVNheWdSU3hOcCt5YVBySVI4?= =?utf-8?B?ZGd0SWlCVnBzOVBqU2NmVDVTeXd2aS9ySk1GcXlITjdxNE5QQk9mYjFhZEd3?= =?utf-8?B?YlBXWm9FRmJmSHJBYVRFelUwclY2ejhncW15YWxQYTZ5aHdjREJ4dVNDZG8x?= =?utf-8?B?cU5Ra3FlSTlsUmxYaVh5SnF0TkVWYmRWbytkTWNpbkg4cWtkTHArZXU5aDZs?= =?utf-8?B?b2hvd3QvM2RMR1hHaWhkQ05SaDdITlp2TnhGR1BUc1pPZVhiWUVhK3lycits?= =?utf-8?B?eDB2MHNVaVNkYVNXSm14VGdJZ2VYOTJOM3hMS0hVRjhaZkdUTy9JdkVhczJJ?= =?utf-8?B?NllXNjB2V2hhckhkNkY5SUhYb1dKRjlJRkVidTZpRVJSaiszeWJ5Z1BjNkJr?= =?utf-8?B?ZjNZcWhobnZnS2QwTWhqQ3dUcDR1dzVReTZ3K1EvSk54OTFVMDZkMVlhUEtt?= =?utf-8?B?bWZSejFTZmpCanNRMFZWSktxRkMxU3Z3ZkJvcXRSTXFUSFJGNkc3U09BRGlK?= =?utf-8?B?SSt0U1NmelVsTUtPc3RYQXNoYyt1UTdEVERYZkd1aEMyRTgyMktVU0ZCTmhP?= =?utf-8?B?alpBUGtBK1FtdUw3Y0FHbURhbXRyUmZrOEQxVXJ0ZnVReW51WWpaM1dSc0k4?= =?utf-8?B?Vi94M3ovZnI2SzVrZGxkWGt0K25SeHNBT3lZM3BlRFh5MnVwRkczdzN5ZHJh?= =?utf-8?B?b2JsUXhFems0UmNOUTBxTHpBM3E3amhySkNJdjFaZ0w5YVpid0I0VUduKzhT?= =?utf-8?B?amxDcTBGZ1JBZTc1S2Rsd2JnUGFObVhMdklGRDRrVGNRUkl6Q2svRDJNWGdu?= =?utf-8?B?UStUbjA3TnBFS095TE5jTjRlYm4zdDZCUXhvejZ1ZjlmYVNkTDlyUUcrSEZH?= =?utf-8?B?a1FZSURBNWFKY1FwMWxZa2N6MTJXcHJOMVRPSVFoSHRMZXpvRDJPZjRzelRp?= =?utf-8?B?c1R0dlZyT21zQWZ0aytoWnA4ZWh4djhRYmliRUttc09NSmNUaVZlQmRmZ3Zt?= =?utf-8?B?eXJYdmZMRkhGRTFxdHBqdVJnN1ZMWmJVQUNZZlJ3US9tc3FXbE51dGthaGM4?= =?utf-8?B?ZlQ3Z24vNlBuZ1RxZGlUS3ZWL3llTEVSeE1TU2F2KzJQcjF5VXE4R2tsRFp1?= =?utf-8?B?eWpHWHdpU0dJL1lqVCtjS2x4VTRtUW9EQ0FwSWVpRFRmS1pTcGxrSE5DenBR?= =?utf-8?B?dzgwaXVZWTF6OTdNYjJORUNUYmRaY0tqdnBqT1gyaVpEeUVRZy9JQlI0Znhm?= =?utf-8?B?SWFpcWtoM0o2cm9na2NHZW5oZ21QaW1CSFZEaXdXRXN5Slc5STB0V0pHTlZT?= =?utf-8?B?VzJTR05TdUZ5OVpmbCtmQThJaEFvN3QxSVRJWDNCUHJXOTJCT1FEdXJQN0VC?= =?utf-8?B?U3VhNTVab3dBM2lKekRpRlE3SlBjUy9iMFUvWWNNc0pzUmRFTDJJZVMrOXhW?= =?utf-8?B?VDJEckxFZC9ZNCtkT2l2S0piMmdtNDk3cnRlRzk4Qlo0NTdqbWhCRmhnUkJk?= =?utf-8?B?YXNHcmxxZGs0cnV5NWNPbUlycDBtb3M2djlOVzVVT3d5OGlPb00zZ0dzTGdD?= =?utf-8?B?UllsWTU5Qys3c0d0S3FSL3hyanVlZVRZek5pMjBOVUZpWkF3KytVR1dhMHJZ?= =?utf-8?B?ZUVEUmx4Y2N6M2s4SmU4elRxMkpBN3dkS0t6SXBHOEpuaG9ibUFmVXAvc2hW?= =?utf-8?B?bk4zdWdZVkUvZEhTbUJvaGN3MkYrOFR0bjEvVUNXZCs4YnNITDd1dUY2b2tm?= =?utf-8?B?ei9PVDFjM2lWWVpjdUdYZk5iNHBDdzdaem1iVlhlekNzN01URGp3ZnVtNDdF?= =?utf-8?B?OFN1dlJXd1hmSUUvdm5kcmNyWGJBaWszQ2YxNjVCSnRhaWwwSXU3eTUvQUNB?= =?utf-8?B?OGFkT1BXK0t4M0tFVndPZ0F1T01Hd1ZuUVAxeGZiUGVPV3RxWFI5RWJRL2RJ?= =?utf-8?B?cGJOUTlJa3FKTW9RTHlZWmVtNitUb1prRmpOVW9vbFNnbWMrcDVGYTRIajhD?= =?utf-8?B?SUdteENseDFMVkMwbUZycVVGS2p5TWJBMm1kREp3K3hIeElacWpTTi9kMW1U?= =?utf-8?B?cy8vaFF2T2NSK0prUWFoeEgwSFc5OXpVcTIyOGZYVmRJSDI1eTA3N3V5dUN3?= =?utf-8?B?cVpIU0huODN3cHJGMkJza0NJSms1L0FCYmV2bTUzdmhWeU5VcFJYbWNaeE5P?= =?utf-8?B?RllPTktqSkMybm0xNExwckdoeFZHbXdnd0FMZmtucW9yNkZxMG5sZz09?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2128d140-f16a-40b1-55a5-08de544ef00d X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB8205.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2026 15:58:34.6487 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 54dbd822-5231-4b20-944d-6f4abcd541fb X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 80nCSXXlIY/2oN79WE+8jLqxtV0Yf3XKzTfs9HPFknMcz15KzC+f/qKPDRd6lhDPGTK5mgpKUoMgkgkqHp5WZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB5097 X-Proofpoint-GUID: V8dFd4jw9NfLAGlB8StkObi1rw188Zw- X-Authority-Analysis: v=2.4 cv=M6BA6iws c=1 sm=1 tr=0 ts=69690eae cx=c_pps a=XGteBKPvimVCBgpwGHxg/w==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=M51BFTxLslgA:10 a=i1IsUcr2s-wA:10 a=VkNPw1HP01LnGYTKEx00:22 a=2AEO0YjSAAAA:8 a=bWPpxp-jgQ3ylSns5SMA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDEyMSBTYWx0ZWRfX71bcovq6bcso kq7FIziA4wVqYxGoBaS6EMr6vwhigCpgAV/cDdiRfbibTQYocHCknPWs6C7qXrxNfkD36hUVBxU 8MX4UMsSq51LdAqEpOSZmQKmCYE8yfQmKXLhJb2MQ4MeqxF26e+sB87/Nl36AYMPxuLVMEkD18W raf4CECGYVppPgSkrwVKB3I6W1bt/NRpTeodTq/bafrc90ipFNexEWAhrySZNV1ky6cZqKFhYf3 Bc0FkomVy7S0Z3Wlbgm9SsDQ+B0DuhCSeIFNwctwjlZz7wn1NMCvVgGvM0AS4tAqbe4EVz6i8O8 gzgBPVUr4llotfux1quVDSjae+PZHil5irgLb24nCHDEnE+Q5O70kiHy8I+zdN6hQRhVAUblPxj TqcgNj9GAmoZXzD/6YGcACEYjmNyk0Nwdp75HrgzpWu5xF3xyBglN+94A7VEii1MB7ogGxbmOEm mNiMai/NFxmmHbvlyeA== X-Proofpoint-ORIG-GUID: V8dFd4jw9NfLAGlB8StkObi1rw188Zw- X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-15_05,2026-01-15_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 bulkscore=0 spamscore=0 adultscore=0 priorityscore=1501 clxscore=1015 lowpriorityscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601150121 Take advantage of the padding bytes present in the Greybus header to store the CPort ID and minize overhead. This technique is already used by the es2 driver. Signed-off-by: Damien Ri=C3=A9gel --- Changes in v2: - clear pad bytes when unpacking CPort ID drivers/greybus/cpc/cpc.h | 3 +++ drivers/greybus/cpc/cport.c | 34 ++++++++++++++++++++++++++++++++++ drivers/greybus/cpc/host.c | 13 ++++++++++++- drivers/greybus/cpc/host.h | 2 +- 4 files changed, 50 insertions(+), 2 deletions(-) diff --git a/drivers/greybus/cpc/cpc.h b/drivers/greybus/cpc/cpc.h index d9f8f60913a..62597957814 100644 --- a/drivers/greybus/cpc/cpc.h +++ b/drivers/greybus/cpc/cpc.h @@ -24,6 +24,9 @@ struct cpc_cport { struct cpc_cport *cpc_cport_alloc(u16 cport_id, gfp_t gfp_mask); void cpc_cport_release(struct cpc_cport *cport); =20 +void cpc_cport_pack(struct gb_operation_msg_hdr *gb_hdr, u16 cport_id); +u16 cpc_cport_unpack(struct gb_operation_msg_hdr *gb_hdr); + int cpc_cport_transmit(struct cpc_cport *cport, struct sk_buff *skb); =20 struct cpc_skb_cb { diff --git a/drivers/greybus/cpc/cport.c b/drivers/greybus/cpc/cport.c index ed0b8e8b0d7..2c73d8e724e 100644 --- a/drivers/greybus/cpc/cport.c +++ b/drivers/greybus/cpc/cport.c @@ -3,6 +3,9 @@ * Copyright (c) 2025, Silicon Laboratories, Inc. */ =20 +#include +#include + #include "cpc.h" #include "host.h" =20 @@ -31,6 +34,32 @@ void cpc_cport_release(struct cpc_cport *cport) kfree(cport); } =20 +/** + * cpc_cport_pack() - Pack CPort ID into Greybus Operation Message header. + * @gb_hdr: Greybus operation message header. + * @cport_id: CPort ID to pack. + */ +void cpc_cport_pack(struct gb_operation_msg_hdr *gb_hdr, u16 cport_id) +{ + put_unaligned_le16(cport_id, gb_hdr->pad); +} + +/** + * cpc_cport_unpack() - Unpack CPort ID from Greybus Operation Message hea= der. + * @gb_hdr: Greybus operation message header. + * + * Return: CPort ID packed in the header. + */ +u16 cpc_cport_unpack(struct gb_operation_msg_hdr *gb_hdr) +{ + u16 cport_id =3D get_unaligned_le16(gb_hdr->pad); + + // Clear padding bytes + put_unaligned_le16(0, gb_hdr->pad); + + return cport_id; +} + /** * cpc_cport_transmit() - Transmit skb over cport. * @cport: cport. @@ -39,6 +68,11 @@ void cpc_cport_release(struct cpc_cport *cport) int cpc_cport_transmit(struct cpc_cport *cport, struct sk_buff *skb) { struct cpc_host_device *cpc_hd =3D cport->cpc_hd; + struct gb_operation_msg_hdr *gb_hdr; + + /* Inject cport ID in Greybus header */ + gb_hdr =3D (struct gb_operation_msg_hdr *)skb->data; + cpc_cport_pack(gb_hdr, cport->id); =20 return cpc_hd_send_skb(cpc_hd, skb); } diff --git a/drivers/greybus/cpc/host.c b/drivers/greybus/cpc/host.c index ee090dd3097..b096b639182 100644 --- a/drivers/greybus/cpc/host.c +++ b/drivers/greybus/cpc/host.c @@ -203,8 +203,19 @@ void cpc_hd_message_sent(struct sk_buff *skb, int stat= us) } EXPORT_SYMBOL_GPL(cpc_hd_message_sent); =20 -void cpc_hd_rcvd(struct cpc_host_device *cpc_hd, u16 cport_id, u8 *data, s= ize_t length) +void cpc_hd_rcvd(struct cpc_host_device *cpc_hd, u8 *data, size_t length) { + struct gb_operation_msg_hdr *gb_hdr; + u16 cport_id; + + /* Prevent an out-of-bound access if called with non-sensical parameters.= */ + if (!data || length < sizeof(*gb_hdr)) + return; + + /* Retrieve cport ID that was packed in Greybus header */ + gb_hdr =3D (struct gb_operation_msg_hdr *)data; + cport_id =3D cpc_cport_unpack(gb_hdr); + greybus_data_rcvd(cpc_hd->gb_hd, cport_id, data, length); } EXPORT_SYMBOL_GPL(cpc_hd_rcvd); diff --git a/drivers/greybus/cpc/host.h b/drivers/greybus/cpc/host.h index 191b5e394a6..2e568bac44e 100644 --- a/drivers/greybus/cpc/host.h +++ b/drivers/greybus/cpc/host.h @@ -45,7 +45,7 @@ struct cpc_host_device *cpc_hd_create(struct cpc_hd_drive= r *driver, struct devic int cpc_hd_add(struct cpc_host_device *cpc_hd); void cpc_hd_put(struct cpc_host_device *cpc_hd); void cpc_hd_del(struct cpc_host_device *cpc_hd); -void cpc_hd_rcvd(struct cpc_host_device *cpc_hd, u16 cport_id, u8 *data, s= ize_t length); +void cpc_hd_rcvd(struct cpc_host_device *cpc_hd, u8 *data, size_t length); void cpc_hd_message_sent(struct sk_buff *skb, int status); =20 int cpc_hd_send_skb(struct cpc_host_device *cpc_hd, struct sk_buff *skb); --=20 2.52.0