From nobody Sat Feb 14 02:14:09 2026 Received: from mx0a-0024c301.pphosted.com (mx0a-0024c301.pphosted.com [148.163.149.154]) (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 999DB1D5CC6 for ; Thu, 12 Feb 2026 15:18:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=148.163.149.154 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770909496; cv=fail; b=EUAq59FxfpszYmHlB4hvOqAA4SDctM0qLeprrD6uPSAsjr79kpG/1DB31TNQxeYcwBYKV9Ps1e5/qyMXSb6hCr5jhB53QZDmd7V8BiIAqMBgI6Z6PkC4DIrVfG5dHmxSQboI4SIwr1qrJ45KxrfRMbMxfTdLkFI+R4LvcNdKfPo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770909496; c=relaxed/simple; bh=vWYhDkymnB/cqUehdZku9z/d0Q1725XuAjd+aN8yF2E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=dgJoCDIfk9+51TE7WOy+EkNRRM1T1PekqRfbalwoqlDFRpD9EhGjY7gGOCHcPt6sNH08XpJI5Nkodm33QR038OiUEIMb3fPa3ukEHTUBNca9JJBfFh6UqoqM0PGJ2UjXJxpkolkUB1KzYE1WloiE0o9+g2TIhdcU0ofNm3RJeL8= 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=h/GoF+ai; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=A105n2Gw; arc=fail smtp.client-ip=148.163.149.154 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="h/GoF+ai"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="A105n2Gw" Received: from pps.filterd (m0101743.ppops.net [127.0.0.1]) by mx0a-0024c301.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61C2Lwnc2678544; Thu, 12 Feb 2026 08:44:11 -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=cdchD7Q2dNRnianSssDhwbWh041iL9CRGaxRW0yIxOs=; b=h/GoF+aiOHxY 8WrNv0VWnXNbXUBScnPLO9comC/TbRmgq+4zInh5VHkBSdKZpCGp+tmzT4ILLo/C 21TGsEKZTU4m52l2LUZcZklSd1mKjmRfMaSO9i1du//xy3C19Y4ihfehHgpwweQB OgT9wpdbPLK+7nJ8eph1XlNg1kWAEBe2gJ2XZtZU/mPLCJI0gU7tdyT7wkcJG0OF DofJVXXmax63yHryrY7hj/k2yOiDB15NiA6z7RGhovj3Mv/b93fA7FD4U+FJ+zq3 PZ5Bakb3ZsCcM/i3qWFFDaEPeHhMAccwfYJtZfO24eUvsvu4fViViCjwY78bsjxC DTxpUC1hGg== Received: from dm1pr04cu001.outbound.protection.outlook.com (mail-centralusazon11020096.outbound.protection.outlook.com [52.101.61.96]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 4c92uysn4e-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Thu, 12 Feb 2026 08:44:11 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qNG2q5tenEae7IRZx1utv75rH9s3DyIlCL9x6SmNS2XDX2Ds2WDMLS8GBTbd98DcOLX1vNkfAALBuLiKC55k7zEy15sEBECFScP4q8p8FCfvs+0YRVyqQBh+/OGJKUHAf9HjWtwjr4DIz83/9nlpaQhobl+o7np4LYmSsUwC/C0o9SOLmfL8yHkqiXWyHgPYpc4ecdd81Nmh6qjieVZwClsuabOneTJA81TX13qWOVG2oYTdqeXy/b6WRn8m79U6TXRvRmunYePRuPstLvaErPLuSUhxxZTDDTR0fjeAKD05OsvrwIYFkq9zLBBvJppi5fk496MrCC+A81/70flrUA== 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=cdchD7Q2dNRnianSssDhwbWh041iL9CRGaxRW0yIxOs=; b=HSE1T5rmYUBToCy5MPexwDGlTMNmKM5C8c5DKhViHwjILF5z/9WuySKbb/vjGnDl0wBCHRkIeHjQJFT7at4YzrGoe5/ZjB5L2ESsbmaHAqn1t/UIQmABnFVloa3JN1jHLmoeuYCue6WOISNbrtHJsQCWtNmC7gVVxXHDX4hhhiKbZ0uwvEGEt31LMmP2EgkB9dglYbmHZuSuJqMXLXVExuqsX6owWICvWVg+igDKRp5W0DE7x9QuDnuqN4bTxRQEwH8yJSzlceAFIx3mkeA1elYSsg8ajRQPl4bixifRzFepj2BUCrgBu5Yc7A2MzIHUg3ueE1W/h7Jz2dG9wpo9lg== 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=cdchD7Q2dNRnianSssDhwbWh041iL9CRGaxRW0yIxOs=; b=A105n2GwuyxNzbzQvwYjHvG8keLD9iIGRbCdn6nb5X4+ae9BsfRfzK2ST9WKMFZ5cZC8A9WNhc/K/0rIf/RWiL+qtT/N4VIBbEWzSIpuwFfc2pKeM2tndJijk5nUPo0hZXyGDsO0D3kJTsbPl78qk+cTfEnOUzWMK31DY+h9MAE= Received: from DS0PR11MB8205.namprd11.prod.outlook.com (2603:10b6:8:162::17) by LV8PR11MB8486.namprd11.prod.outlook.com (2603:10b6:408:1e8::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.19; Thu, 12 Feb 2026 14:44:08 +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.9611.008; Thu, 12 Feb 2026 14:44:08 +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 v3 04/14] greybus: cpc: pack cport ID in Greybus header Date: Thu, 12 Feb 2026 09:43:42 -0500 Message-ID: <20260212144352.93043-5-damien.riegel@silabs.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260212144352.93043-1-damien.riegel@silabs.com> References: <20260212144352.93043-1-damien.riegel@silabs.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YQBPR0101CA0124.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:5::27) 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_|LV8PR11MB8486:EE_ X-MS-Office365-Filtering-Correlation-Id: faf14620-eb8d-4aae-a483-08de6a452d55 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|52116014|376014|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?S1B5RDJBdkYwWXF6WWtaQmk3RFBoVVJyQThxSERyK2c5SkJQQW1wR3gzY1NQ?= =?utf-8?B?RVJ6aVY4a042N2RvaXVxRmNzZVNrOFkvUWoveHBEQ0prQTRPaDJNVkpMZzJ1?= =?utf-8?B?dWJ0THZTWlljN3pjNE9raVpOOG9wRHJnVmh4RHJLQ1dsdjcyYm1NNXdBcjlX?= =?utf-8?B?U0d0OWdKSE4vTjVyTk1SUkZseTYvcTdkQ0FtTlAvY2NoSkJldkFBblJnWWFW?= =?utf-8?B?R09tK0xTQ1c0K2ZoNElDNmFHcHVWSDlhMUg1akJZVHl0cUtpSi83UjBaaWZN?= =?utf-8?B?N1pFMU91ckU4TDEvUCtsVWkrVWFhOGhwbEhLSGFCSXU3TnB0Nktnd0ZsVnNk?= =?utf-8?B?RFdkMGZlTzJMNEZFaTd3YTZLUXlYcS9jNzFZbGcxU2toM1h1UHFYWDVtYktI?= =?utf-8?B?RHNlSUx4SGVSa0hmM1BzaURNTVFEWjc0aDhCRFlFbms5WU91MGNBVnpUZDJk?= =?utf-8?B?QUkxZ1JkM1NoajFpTTRlM2gzd1hGTWlud1oxQTBaakg4bjBWTlg3U2xMbnZm?= =?utf-8?B?WnJBM3N5czZVUC9sNDJXUEN6djNZelFLWk4yb2M0ODlValdFZzVNVkRxZ0lN?= =?utf-8?B?UFkvZWFoZ0NzNHFqUVZkQUl2Q2RlU2NlcnJhdGdBc25QeUc1c1JsN21tSDFB?= =?utf-8?B?RUpsVkN2QkVGeWVxWUNXdEx2QUcyZ21Kb0ZPNlk5Y2ZxcERqRWZBVlhZWGxF?= =?utf-8?B?Y0xQU1RWZkppZ3JwMENIZjQ0MVdhbWx0MTY0ZDFydHl6NG1WWGN4TmcwOVYy?= =?utf-8?B?Syt2Q0pudWU3OVhVR2s3UzRrL1dRQmQrZUdPVlFFQkEwYlB3aHloTnVPWm5z?= =?utf-8?B?RlJ1MXB1RWUvNXE0cnBxYjNDTUwwd2xMaHV6dG91bW5JMmZkck5uNkFteTBh?= =?utf-8?B?ZDJwV0FoU0VVZ01tUkxwSW9kS01qalQyWDZrSUFtVlBwQ0NYOVhKRjRIcTVo?= =?utf-8?B?U1cvY1NZKzd4cU9CRUZLSHZSMFRDbENZK0tDSnZvc253QjE3clVSeWxHWURu?= =?utf-8?B?emgzSEZ0Z3FrWm9tZDYwU0V3eHp0U2dUNWRjSU1BeSthYXdOQUQzNkw1ZDli?= =?utf-8?B?QVNZNFp3WDVYZE1RUGVQL3NRa1ozUHFPVkJpTWN0MkhnU2tPSG95UlYybHh4?= =?utf-8?B?VSttbUVzQlVQczNBeTFRZ2F0L1JBeitnMEVtaVYwS0JDWDMrek1oeXNpME5m?= =?utf-8?B?SXRDU05Dd05URS9Wc1VpZ0JHVjArbk50UUpxNXljTXhTd3VIMTM2ZG9wMC9O?= =?utf-8?B?cjZkOTdsbHp2S3cwK2o3N1dHTDVqQmd2L1FpbDBaWWE5TkhBSU1lQksyWUp0?= =?utf-8?B?aHBWeC9Mbk5wQmF6Nlk2ZHVPbUxnZFJFRVFNZ21oSllVOVlweERwRVhGMHV1?= =?utf-8?B?Yk9COW02cEVLVE9oSGFReHJpQUpQOUlKTCtmSkQ4bzNuQS9KSVRvNCs2RUNF?= =?utf-8?B?a3ZjeEFYMUlWZlNhdzZMbkJWRzlwaklJTG1vMUtwdTcvVGhKdVljMm1LYmZG?= =?utf-8?B?WHBISGR3MU5US05meXZxOEREOEUrbG5VT3BhbG9wWXNHOGxTbS9pcEhTWUw4?= =?utf-8?B?NENVMUpCaUt3K3lsV3Y2Q2VqQlZ6a0RCcjFTb0hINzY4OEhkRHQrUDY1b3Ux?= =?utf-8?B?RjdzOG0wL0VTbjZySGo3eFhXQTFkaGpXUThDQ0pPbWRRSzdDWHhjQ3VnZjht?= =?utf-8?B?N29xeGFpVjJRRGNodnZ0SzBkbmU0RTk1dXd6dDlaaTROM014Qkh1alRkQVlT?= =?utf-8?B?dzZ2V0NVdkFRdlJMVVVOcGxHN2l3SWdlMnRjazZnUVQ5eTNwd3Z5L2swd1Av?= =?utf-8?B?aWxNMElEZVNOWUhydThIQUU0V3RLK2VPUkNhQ3ZKWUN5M1FlS3BaeTVZRWZF?= =?utf-8?B?endLV2V4MGFhcXNsVnVxT29LU0VHKzlXK2M4clA5elh1WFNJdmNBeGpOa0Zq?= =?utf-8?B?OGdFYVN0QWlpajloZnVXamt6UU5obDR0enRVaFN5QU80RE00MVZMVHE2Rjl4?= =?utf-8?B?cE9VcEpDeEhFRUVqQzBNc0ZITi9Ka3ZWa3A0S3FJUllmbTU2bDh4VDAwRjJl?= =?utf-8?B?amUxMTVXRTZveDMrQUM5WjRzY3NidUo2a0k4aEJaZmNYR3JnY0ZXYU1hZHRa?= =?utf-8?B?YjMxMnNuQW5BZUlPRmRscVR3S3htWWo3NmlreGQzK2Uwb0hjRHBjYlI3SGhn?= =?utf-8?Q?/+RGjmd/col/mlDDdGx+wGY=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)(366016)(52116014)(376014)(1800799024)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OGtra3Z2Q1ExT1MrUGJWL0FzM0F6czZHTVVYdjdLK1VmYkhTQ3JkMHdjd3Fv?= =?utf-8?B?UUtQYU4rUkkwalVFVzZ5aFV5SzRGNHoydWVMdWVjR3dNN0pXRjJKYVBkL3pv?= =?utf-8?B?UEF6UWcyUnpSK3ZmR3lrVXV3ZnNVM25CYmMwZzFHYVpDU3RMM3hjcWk0Rnpk?= =?utf-8?B?bTNBZTB3MkthZ3ZOd2h5WmtzTENzQ28yZG9LU1pxNmorQUNPekZ5TndKa29n?= =?utf-8?B?alM0S2NkTktIdWNiNFA2WFRUQzRFV21XenFuNUtzTTVqMHpGMFVQNjB4K29E?= =?utf-8?B?OHdPaVRxcGlqK3NheGVSNjFCMFMrVWtFcGVaRlhoUGJpQ0hCYzdQMUs2Vldk?= =?utf-8?B?TkV3bXlaS0ozMTUzMnkrTEwyZGRSb1RiVGhIMXJidlkvdlUyeHVFWnRta1VV?= =?utf-8?B?N0h0UjRabHQzVWtDTmJsUndLL2hPaXJXWGo4Yi9KL0VhelVpYWJtS1dRWGV5?= =?utf-8?B?TmY4cDFBL0cxcG5pN0ZZRCtrLzc5a0x6aXkxNUtGOWVyQjBVL2xjQ1YyMUli?= =?utf-8?B?MU9qazNyZW50eWJSNXdxdUsvTjJ2RnRhcEFUb2t4bzdpZThleDVIRHlSN0xr?= =?utf-8?B?bmxzSDk3YkhoSzFYL1czWXI2Z1RYaHFTZXN5MTRJSnhCNUxyZzl3c2RGcHBN?= =?utf-8?B?TGJiWHdSLzZYYnpLYVgzMUpaUnlMSkFhSmR5T1JYSDNSUnNJTGdWSzY3dkN4?= =?utf-8?B?d0J4cmdKdExEeUdVMmoxM0pwaThzbEdBUnNCanB3OHBObVJjQTBESHdPRlRi?= =?utf-8?B?ai9vTSs0SXBOUGwxa0tUcU9iZ3VkT29nTTdZY2JlUWJSK0JrUlp3Q1JZOGpG?= =?utf-8?B?UlZTVGVFREF4QzFBTXZRRWdxRkFYTmJONFVmZkZJbllhbVR5Ykw5Zjc2MXg3?= =?utf-8?B?WFIrMU1GdVg4b2FoSWt0bXQwYnpLbm52VWlWZ1pjRTIvK1U5Q3dIUWwxRHht?= =?utf-8?B?WVlWdU81VzZrdEZGZ2lnaFdLY3BhREV2UGIzOG8wd2NOOVlxSjV0S01jSGZN?= =?utf-8?B?ZHRGOVYwdTk3V3pQeHBpK3dQYTNJNWlvRmRLOGUrbjhQcVErUVFVS0ZKTzFR?= =?utf-8?B?NUcwRlBWajJvV0xCc20xQVJGeVRrVSsybStwMWJSUDlPZzN1Zi82Mk4vajlE?= =?utf-8?B?RjFpL28xZDcyaElXZmtnRG11ZlQzT09HZTlyTFVMNWMrSjdPUmh1VDc3MzNO?= =?utf-8?B?WHdQNmJqdW0yaVlIVnZhbzI0M0hSZUd4bGdkYVpGTkV2dmVRaFdjNmE3U2pD?= =?utf-8?B?TmJNQXhPT2ZaZmJFQUd1MXNjOS9uWjZFUEI4d1JGZHZKbmdWdVZ6bGFTSURP?= =?utf-8?B?N2h0eFNLV2czT3FNZ0gzZEVnZXRZSkRyWlQ0ZzREUHdhR1ovakRwZEtyd0lv?= =?utf-8?B?QzQ0d0l0NCtZSnhOek1JZVJ2VkVvUUNNeFZKVTdYYVRLNXdsbm5GZG56Vkp6?= =?utf-8?B?c0dZemx6ZlA5bFJkT2t1UUlYUGZwaGkrazh4KytVQXh5S1ZodFNOSUFUZnJt?= =?utf-8?B?L0xlUElDV1FDc3cwSFZzQ3lSRk80QW1nV1E2SEpZRHl0WkF6Y3d5T2dBOExV?= =?utf-8?B?TXUzTFNyeitSelB3ZDBtRHFBOEdET1NuazFQRHhXdkR3eEl2MDlZV2dMNEE3?= =?utf-8?B?cVpoeksxaE9pNlU1VXpFMytxVXB3cTBlTE1Kblg0d3A2QnJndDFNWjBsWmhu?= =?utf-8?B?eFowTCt4eVRNeHFmRWFtWEpxcW84WWpTa25YZDM0S3YrYW1LTVhnK1AvdHkz?= =?utf-8?B?L1c1SzdBTmxXOURHdCttR3VSaG5RSEVHZVh1cXg0Rm1XREowVUlCMzVVd3hW?= =?utf-8?B?b2ZOR2xJZjNEVkFJM00vSW5xQXZiNVI2M3hiS3IwbkQ5bHR4QkIwOWFpS0hD?= =?utf-8?B?a1NLUExqRlg2OVhtM0lSbUZJaEtxd2VUa0xXcWNYN29nTVVPYjY5dTFTdGNu?= =?utf-8?B?dGRwM1F1Q0p1ZUlRMzlPZXlwWHZ0YVhlc3NaU0M2N2Qxajh6U1dhamdZSkRM?= =?utf-8?B?NjZnY2NvYzAwNFdiV0Zxd1JIV2xtQitqNkRHNjNJaFZianp2bmNXWTBUYW9m?= =?utf-8?B?d29Bb0RCSXRlKzhXaHNRTTZESE5lWXpHVXUxdVl3MUwrYmRmek9hYWZjYk02?= =?utf-8?B?NS95TXB5d3BmRHF1YXVWNEZ6d0xZWmdZWldUUzEwYTYwTk9CTGRGWlE3L2Z4?= =?utf-8?B?S2k3MHFjNHp6UG9PdFdaQ3J1ZXdkZVNIVmdxVktEcC9CS0ZrMzVvSC9zSkVB?= =?utf-8?B?bndCUjFOTXlTMWhnNHpEWW1jV0wwV0cyNkVWZ1NsMlhKR2g1T2hTSDVJb3dB?= =?utf-8?B?bGhVMEFDOUo5VzFjWnIzd2dDbHpjL0JBcEZVWURzUWV0V0ZxQm8zQT09?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: faf14620-eb8d-4aae-a483-08de6a452d55 X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB8205.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Feb 2026 14:44:08.0373 (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: JGybtq7kHO9qPCIuSxHoSVdTPWRDsiXlgzcQompZEMaCNN3cvEhNu1gsdLBhAfAZz6RlCz7Bm7b6kUgop0Yo2Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR11MB8486 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjEyMDExMSBTYWx0ZWRfX9SNJcX5Jc/Cs AjL4XvPKanDZZXaIVPTK6/8emBgxFPFF2WDFe7V31Yz4JSH1orn/1SWEy4OlzwCoG1o6ne52w2W WqGZJVpD16AGD08dFTgl4lDf/z3HGg7XKmcacCQEQt7lS5lOkmMZWf60sXbHr/pzCCl0SAOra4v ucxD2FitvqwfWS3sFh5yEXuweLVjJGlwJwenoxPI4siZhuDhDHza/aq90UYZQL5xuNekBAwXYRn 53NM6LHJKy/3+cgJwcVWDKXG1bXVZjeRoZuKDsTMC7odJCfVv7b82PXCkQZAYuGrNxrxsezEHhO wxv9kTD+dYN33CIhuUOJqmpCG8qHzC6Ld357CqgNf1T4xnqcs4jIuuJHj7dEO0IqQI1dn0zz23S ZgTXg+aFXljZZ1b78V0+hMyxqHWfFal8tuaCVUwOfG4C55FxPePtyMVgxqVWSeaIZWqZpYdn/He jMdRuRl7F3XEtgQdYbw== X-Authority-Analysis: v=2.4 cv=DtRbOW/+ c=1 sm=1 tr=0 ts=698de73b cx=c_pps a=TvliyZNEFSK35vtP2Nadqg==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=M51BFTxLslgA:10 a=i1IsUcr2s-wA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=2AEO0YjSAAAA:8 a=bWPpxp-jgQ3ylSns5SMA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-Proofpoint-ORIG-GUID: Ks7WpJDEbqcxPJR1QkFEs1oSfbjPIfX7 X-Proofpoint-GUID: Ks7WpJDEbqcxPJR1QkFEs1oSfbjPIfX7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-12_04,2026-02-12_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 malwarescore=0 adultscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602120111 Take advantage of the padding bytes present in the Greybus header to store the CPort ID and minimize 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 a3acfc9bfca..10b0529dc4e 100644 --- a/drivers/greybus/cpc/host.c +++ b/drivers/greybus/cpc/host.c @@ -209,8 +209,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