From nobody Mon Feb 9 06:48:32 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 62E5829E0F8 for ; Thu, 15 Jan 2026 16:01:18 +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=1768492879; cv=fail; b=n7/K5U2s8NgQ2++KhFy5qRWOTgHh+zApLukBW3sCGjy8xI9yabPnc0TW+bN2fhWUucGQfhnkTxWeRN70pDNDX74EKa85cq1wfn8/Sadao6anQgIPUHauJPKqEn2SPuZ2jBhEuWITDVYqTg2SEAC32Xo71jVBWxlhdMdRC+9ivRs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768492879; c=relaxed/simple; bh=tVpGElNQiQQUxKnSNzK9kqZNPpATbroI1Bt88Jn4k6g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=LDK61Eb5Hwe4wKdDdBAAmWPncyfSodUCq4LEPOlZcDsI6Kv5FozJmDtk/UcjoQRoIi6TOyzZXX/LPnEdMHRowDeziGfKkD/XkASphEYjF0dqKDPsm9aV+wmq6fJFa1KCdMJIPh0qhY+VPyYa4mUn7XFeZZgrxnSecymTX4A5DUM= 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=eg8mkWkR; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=C82pWYks; 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="eg8mkWkR"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="C82pWYks" 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 60FFldAa459480; Thu, 15 Jan 2026 09:58:39 -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=p+IFkmAgCTaDx3ezLDcQLVxUi/ttpKzkvlJMJuYwyUY=; b=eg8mkWkRxWiz EukSiJE6+O65swbUhqgOGjROoGgUFrMVMrxt1KqE/bMgBo+Rm85NP1AmpGmhJsqK cj96xJUgdZMK1IBieaGXOzWyIAHap+SMFCQZOh9Rh5ij1J9wJYPVfSE6wHuH40Tf I42zv/I8uW+7aV9Xqnf+nBu40Qgyv76XfkvwRnph+vJmhi3BK5Odnpux4FXBn1B1 6EXibzo4Mj69eduZwGYi1pwhpMwu+Zu4EqOoGjKXhX1w5kyqbPAvUDRcaJiLjIlN qo/Yfjo8F3Tm+rrxBLS0DzLovB5wqE++Q+9QnKqJacUxI6r0a0ziUkv3jnJlbdSn fkCFX6jyLg== 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-3 (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=NtJClwFXxlXStQLdPUdPEY3EMOrwIK+kUXGOcjMrsqXlI6NomY9yF9mLXQZ3g3RpOXjGLBP3uzuA1kcFwUJGjdF6ZMxYkP9N7hixO/plCkA8GCzk1smAsNQt7XgQxTXoi0I5gFTG6EBIajv2mlf1MjK4AgVgCpsZfNayLTU9LBLeLqLDJNexl8qo5z1uiy/NywYK3BhFxM+kjJryOzNlbmIb6cJz0+nkqn44gowG1l66Ogmo251HZiqR6Bm7vYpzKvOFNEizYt2NT57xRlqrQPr0fcuMtuGT3N0WPksl3fo96AbxddUd2y1rh/M0hwW5imWHoZa3DAamA3It7AIHdA== 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=p+IFkmAgCTaDx3ezLDcQLVxUi/ttpKzkvlJMJuYwyUY=; b=thtiWVxTOq0q8jbSahUPaMh03xLcPQ//C5g/zMFDvnp6FIwbgM7hOm3PKQvLXyQV0XHodJk/j7JZW9gSNSIaTWJIp8JQJLW7REFDePNhroEDB1n4DfaF+CzswPBjynR5qh+rBqj/7YvpiLPufzjpceQLJPGXiMMOJQOxGV6NMpHiYdSWB9B6AJEwG48CXB5368n4Z4BocVF7T1eHuLWK4tLBlXXZu6xywK3k5bEGwU3OJ7heUz5/fwL74/sksoNa3HxcKMs80GQO5GmAYcujlRjQ5XxIwGQ1HQvq8Z2wK6feLn/smfItygO99c7xi3fqmfwF/ahCW7nSjK4eNpMebA== 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=p+IFkmAgCTaDx3ezLDcQLVxUi/ttpKzkvlJMJuYwyUY=; b=C82pWYkscGffrqNhI4QF7FYTUOWVe0IbiextkgLf+47K1D30J3MVPFsYw7CVOhIblIrKL455of0XyZ4Y2LlhaVn0sz6wHIQ7HVdaBp9pvflE93MAQACDKqP23f4oFV34PeUQj9G0k4AdPvTY3SXqDnwNyGZ7Oqs4ma2LVOIqC04= 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:36 +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:36 +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 06/14] greybus: cpc: introduce CPC header structure Date: Thu, 15 Jan 2026 10:57:59 -0500 Message-ID: <20260115155808.36102-7-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: aa58974c-6a10-4805-521a-08de544ef10f 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?R3FSVVgxcWhDcU50M0dMblNabVpFd21XMFJFbGRSbjQwSjY0Zk9IbW13OExn?= =?utf-8?B?UzdXcDRHeXBYYXRHMDQ3V1NlM1FZTk5YS0NvQlBxcXVMRUxSbFpYZEJobVR2?= =?utf-8?B?V2d5TERTSEF2SzRGMWdNRGlGVlloUVI5TVoxYSt2d1FMNGhCMlBLTnZBb1Fj?= =?utf-8?B?ajlLU1B1RG8yQm9tcmRtcG1wRWU2WWoxdDRacEFZL3AxRm1ScUxJZVhld2N1?= =?utf-8?B?MTVMcDhSS2plVkwwcytZVGhRWmozQUZEa3gydzB5Y3FLdVNoZkx1d2JJUTdR?= =?utf-8?B?WG1WMWlzKzZpNDNTUFM3azdITEJBaDdlZHdMMzV2S0YrZ0QzeGFmTGRmOG1l?= =?utf-8?B?Qyt0MWlhSGttaHRUM2ZERVNNeWNZUGZsZVpYV3A0ZHlGTmxvRXpaTEVaZWxH?= =?utf-8?B?TTUzeVo1aWo2NCs2aDZFNERwTmZCcml5RXhmRVNXd1lRVzBpMFhUV2plcFhZ?= =?utf-8?B?aXdkai9FaTJNZE0vWlR2MGdNejV4cmd4Yk83Ymt2dU05S0lyN0VKZmVVR1Bu?= =?utf-8?B?cTVRTC80VHBNOFRxajc4am5kZTIwRzRnTGx6TVNVQzVBeWkwQzJNWTlUYzdk?= =?utf-8?B?aVVENElQMnFMSnZKTUJqalAxemU4cEpqbndOUEVYbm9Nc2dXK1dzOFVvQ0E5?= =?utf-8?B?QmswLzdDeFljdWp1bno5VGtoT1FZVlozeDU5SmljTlhtcGQ4QTJSK3dGOU1K?= =?utf-8?B?Yml4YjVJdXB6ZzBuQlNjQmZ3SkQrc1dYZkJlMi90NnAwOW1CV25RdTYrZHZ1?= =?utf-8?B?ZmhtRFFQK25lOEJ2V1UxdVVKZVlkSWFsNVdSbjFySkE5R3FWd1VOcFhiM2I1?= =?utf-8?B?NnNJZDhjUERHYWo1dVJFRWw1dXlOa21NaC9yNnQzNkRJL0JFTFBlRVRFYWxk?= =?utf-8?B?dEFyblpoYnNRMkhKOUJkcEQrNTloaWcyaHViSFlia0k2Y3dSMnYwUGVPMVd6?= =?utf-8?B?ZTNRaU1XM044ODJBeWI4MEtHd3p4V0lkWEgzTGc3aitoUER4dzJNSXM0Qzhr?= =?utf-8?B?RkUvbUdKeGwyMEpzcDNud1ZSOFMxL2tkNmVpcFVZU2FvalVkWDVVQk51eXQ0?= =?utf-8?B?MVhZVmJ4bHdTNDkzdnlaZHYyQThoZE8rd05rODQ3RE5VYUR6eFFKc09wWlVn?= =?utf-8?B?d2FoSHFycUJnVXRzSmRJczJKblFGeGptRVhtcWpLSllHWndoSkNIM2FsNEVp?= =?utf-8?B?WTgwemNqN3QrQmM4ZE1xUUI0OUZURHlWRGtXM2NGZ2pROEJoZ3g3aTVKcmNS?= =?utf-8?B?MmUyZFpQYXFwOHRFZXR4Q0RxK3NxRWRYczZaOUlSZVRxOWNwWGVMUTYwMTBD?= =?utf-8?B?dnhkUXlwOWp4MHdVSjlUNTA5RExpNEJWeEMxT1JVV0FUYjB5NkdlSDQxajNv?= =?utf-8?B?QkZFUlJJcVBoMUM2UDlYQk03OVNGckhOMTlrSUR0Y3JYMUxEcG9VTEdxY00r?= =?utf-8?B?Y09zTlIxc2lla0NNL3d1RklINitxQyt3WHpsR2JUTlloZ2g5Nm9KcGVRbkNw?= =?utf-8?B?cERialpROTkvNlBGd3c5aEtMaUdYeTNLdGYzSW5pK2pTaVRBN0JoNjFISnlU?= =?utf-8?B?SkVPRC9LZllHT1JkTm8zWGo4K0NHSlJvcTdPSWhyTVE4elVpMzh6VDNMWWpR?= =?utf-8?B?UVMzQ3FMUlpWa0wzZE5MenNrSG43azNDV1VkS1hVeUhXRXdFWTI3L2F5SmhD?= =?utf-8?B?aGhXNnRiS3NPbWMwR0h1Vm8vRDRndGxOaW9uSTMyemFEclZ6ZXptbTQyOWJH?= =?utf-8?B?ZTcreGNXSjFaWW9ONDVSK256N0w4WC9rSnI0UkdlOHBQUnF4Y1JsZTMwZ1Zv?= =?utf-8?B?d2RrSVZpckJ4S0pxRUhGMnFOOVpncEZaSjF3V0xwNXVBbTdDekgxTWV4ajAw?= =?utf-8?B?aWFuWWttNUhXSUd0NUJVdk9Pb09TOVI1ckQ3Q1dTOU1WbFU1dkFJWXNnVXIx?= =?utf-8?B?RythLzVjTVpWWUQwUVUvZ0l6TERlV0YzNVNaUUlMNXFTRTZUSnZJUVhNZHp2?= =?utf-8?B?YjdrWTJVRlB6bE1MUFh4L2tEQzFaL0FUR2hpUTRFTTZJcGJrMXZsYmZmVGtY?= =?utf-8?B?N2pPVWZVQTYyM3dhNXQzYUgrVEUzd2NITEZwaEJ6bWM5M25KYytBMkRUVEls?= =?utf-8?B?UE9yVWcvOVM0dU1RUGZSeW9sRHVobHV2ZjQ3c1o4UW1hKytYTW9hdHdsQzA5?= =?utf-8?Q?a50ZvhCW7AF66Jj5r2XqNiY=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?R1dERXRQWEVhMkZsWXFtNHlTTWQxcDhFbnQ2S1VXcjZSZXlUK2VtWDVydnhw?= =?utf-8?B?Ymt4YUllZXgrRVBFT3hnYVZEWnBJVCtmUUQzS3M4cGkweVRxbm1iRERDcXdV?= =?utf-8?B?b1dFaXFnaFBhYnJGaDFGNitsNTg4SUZLRm5ORUNrbEFsYUgrTmpDdjhBeWdG?= =?utf-8?B?VkEzS29ObnZBTEhkNmNlYU9RMDZIUXliMWxueFhJZGFCSjRGZU5INU90Qk01?= =?utf-8?B?NHgxY1V6V3lZY01RdE5aYmJYWU5wZTJQOWFaUE14YzRqclpaMlZySllIOEJq?= =?utf-8?B?eG01WkFvSDQ3RVRCSTNjWVhXeHkxNXFycHRHMmVPWmxUTncrYXI5eUdyVmRY?= =?utf-8?B?NlhzNWVpSjAzSkhiOThKUmhzRXVXc0krL3dLRGVTZUFURGVhbDVEbzMrK2dl?= =?utf-8?B?OEJ5eVBqanU0ZCtxT1Fqb2JWczdCcmhQM00rRlZNQnRQcGNpNFU4ZEMrVVRp?= =?utf-8?B?NnI1V1NUZHdFbjNQdmVwTGs2RDJuMFZLRVVWU0dua09GWW5xZVZMUEg4T1Z6?= =?utf-8?B?aURpU0VpOUZ5U2FwZWM1a2Y2QmlyUWtsSEIxeElMdUdxRStuSWNJRkxNUVZZ?= =?utf-8?B?U0lwT3BXYXdnMGdjOGlqb1p6T0JvbFVLdmtqRVVublFOMlRZbkllOGdGVEdQ?= =?utf-8?B?WWhPY2NjVUVjRlU3NURFbnUrMmpsOURKMTBXYVhuVkx4Mlk1YUR5bFdwa25m?= =?utf-8?B?bFBoQ2xvZUNhMGFBUG0zRVREczlob0hxOWdUdDBkNXRaNWlBZE9mcFlQZS8y?= =?utf-8?B?ck00T1Zkc0h6dFZpVDErT1ZrRlUrYXNGRlF2YmRMV0dxaXB1blJQSDJiUEF0?= =?utf-8?B?ZmM5MXlQbjJBYkxETzhlUnhxallWRG82d3k4OW1EZWY0ZVI1QURkNWZzUVph?= =?utf-8?B?aUNGU2dYMWxHQVlESGZCQVVRMzhjendCSWVIRFE2MmVLVWVwMFFaTDlVQ2sv?= =?utf-8?B?dWtKTzBlUDlCa0JhUk83T0Z5WEdUYVMzam5yT3dWZitORkZGNlZ0QjJWNUJy?= =?utf-8?B?ZW5nOUtWUytOK09ZSGhkRGJZNXBWTzEvbnpQZ1UrYkxGOHE2a2FZMEdsMlJY?= =?utf-8?B?UWI2OTc2Skh2NkJ1b25BTEYrTk9RaTlCdFZWdUF2V1Iwak5WaG1MelVuMUE1?= =?utf-8?B?NVN0VmtVaEdlS3B2R1VvQjRPR2NXOUF0czJqRzJ4TGtrd0VsS1JscE1IdEFi?= =?utf-8?B?SVBMQzh6bFA1WG5sK0RydFdXbU11Tzg2RDlSR0JjRks1ZlVCaFpOMXVQMnVL?= =?utf-8?B?alBtU3dvcFgxeGVnY3RWRmo3T2lXZWt6eUhWT1c1L2xZQXJyMGdBQVRHUlh0?= =?utf-8?B?cG5NNS81NXZiUjBEa1NZRGZKcmJXMU9jd1RZc2NaWEx4MmlyaWFWNjBSQ3BQ?= =?utf-8?B?ODFBRE1YalZ0dDFldnlTMFREQlJYZkF5emliUzJmMGFDVFZwUjZkL2VEK1l1?= =?utf-8?B?RDkxUHRuQkRUczNsRStxREVxNENzQ1QrSWZGa1RYNjllUE1QQXpKaTZtNEZD?= =?utf-8?B?Ym9UZWhTQ3JDZ0o3RmxtU3FYRkdUbkFWcFNrcnBMVVRRM1ZnbVEybkJLTFZ0?= =?utf-8?B?YnlNOUlRSG9nVG94OUIxNUtlV1pzano2Qm1JUFJZTDkrR3VkMStDN0Y0QWdk?= =?utf-8?B?QjBBL0VxQ05uakhTZlZaVnZ3NUorMmtrMjZ1TTUzV1R4Q20zNjlVR0dhL2ln?= =?utf-8?B?NiszRTB1K2NFWDZTemlMN1VEQ3g3aUFkMnQ0bmw3bVFrVkFYQzBHSXoyMGto?= =?utf-8?B?TGtJQzJrQjBCdFM2TWh4ellXWHVVQmYyN1Y5Uyt1blcwSytaSThOVGxyQkU5?= =?utf-8?B?c004N0w1NUt4bjlISktWeHBBSUlvNTV2TFNUbXk1eHZ0Q1ZoR3JsSEZDUG1h?= =?utf-8?B?bTlNYnhXYmJvUjJhRlIwQ29VZm9tZ3BlUlltc1JXbDZDQlRmcW43UTZ3MW1r?= =?utf-8?B?ckhwcFhTakNFb3hjdzQ0ZXdKd3pFdVB6OXFraDdrUEJVbmRwenBxTGhHelZp?= =?utf-8?B?eXlFUEM2RUMrVFdqY1JOalh4UnBETTJobzF4NGNsVmIxYmUyeEJ6UVBPOERu?= =?utf-8?B?ekV2cDhudGlScm0ySDBKTlZCMmVKNTIyUDl4NkYzWE55L0phWVR1QWZ0WGdO?= =?utf-8?B?dmkyWEs5TWFMTlkyWm1Xd0RRUHBpcUVSRUFheEdBd2ZpUUhRdWNIOUMvWUF5?= =?utf-8?B?SjFTdnF3UTVLekJOV1Y0dmtCekRqWlp5aTEwVWRlcGkvZUZmeHd0OE1zVGg0?= =?utf-8?B?OVZuR0YwbitiQVhldUQ3WFR1dnJSdzJUb0VNTHAzcTNWWlZFaFFUblNvcWhS?= =?utf-8?B?T3FEWDFFNHdTV3hKR0pPQ3lMVFlPaFp0cHhySklaaHExa21VODRqQT09?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: aa58974c-6a10-4805-521a-08de544ef10f 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:36.3026 (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: y0oKt5IaY+tfKjQhH29E+Lr5XZ4RzmRHntMx/1y66ZPzICPBPcf0eiIx0d0R7W3JnmkvX6Gkoz7M9H5hHn6JxA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR11MB5097 X-Proofpoint-GUID: ifYb2unUUwlDCKpHJT8bprw1ktf7OTJk 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=lqD4pFEZOuXrchdWF_wA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE1MDEyMSBTYWx0ZWRfX4ubrQYIUKXBu i9RC8QwC4K6DNcFgyXCl/2F9n8g1WPC9TfCH2nV1ecUkRQm/8mk2BSrb6PHYvcoHzDYfrapF8hr 5mTP5D/UcjDvEj7n6bc1rzxBJqj7QVSRSrzL0xiWEXNeYpyzNQF85kvwkErFzBP3WvWsQG5dhh+ baycEdlSR5h9/KepxObN3BnlK0b8VbKJVBL+NbNdxK2EfotGBilm0kWAd80l9Ux8Xc/5KgRueLh ugW911iFYKcj6R2BCUTxdKpMRWIQH2sYW3cY4HWdxWxdtf7IThX2yRF2VnW6Luz/sDP6+Wt7ADu aLObgLC5NjBdRT7lqZE8MqDmmt+ja/P3Igb+rSO6dZqcoLwB/JL5KrF39sPkIweql9/0cUiJ7o8 vJ9BhoC6omHAsUAA5Ax7kW9aotl5nkB6EVltKvdmQMxub0wMaKd/1Xi/X6MWxl3gI/cFORD+77X YYE1YZb2Znk/pTiqo+A== X-Proofpoint-ORIG-GUID: ifYb2unUUwlDCKpHJT8bprw1ktf7OTJk 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 CPC main features are reliable transmission and remote's receive window management. To implement these features, an additional header is needed. This header is prepended to all Greybus messages. Reliable transmission: to make transmission reliable, messages are sequenced and acknowledged. That constitutes two bytes of the header, one for the sequence number, one for the acknowledgment number. If a message is not acked in a timely manner, a retransmission mechanism will attempt another transmission. That mechanism will be implemented in a future patch set. Remote's receive window: the remote advertises the number of reception buffers that are available on this cport. The other peer must take care of not sending more messages than advertised by the remote. This is a sort of flow control. That accounts for one byte in the header. The remaining byte carries some flags. For instance, there is a flag to indicate if it's a CPC message or a Greybus message. Signed-off-by: Damien Ri=C3=A9gel --- Changes in v2: - Minor tweaks to structure documentation drivers/greybus/cpc/header.h | 44 ++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 drivers/greybus/cpc/header.h diff --git a/drivers/greybus/cpc/header.h b/drivers/greybus/cpc/header.h new file mode 100644 index 00000000000..af283fec492 --- /dev/null +++ b/drivers/greybus/cpc/header.h @@ -0,0 +1,44 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Copyright (c) 2025, Silicon Laboratories, Inc. + */ + +#ifndef __CPC_HEADER_H +#define __CPC_HEADER_H + +#include +#include + +#define CPC_HEADER_MAX_RX_WINDOW U8_MAX + +/** + * struct cpc header - Representation of CPC header. + * @ctrl_flags: contains the type of frame and other control flags. + * @recv_wnd: number of buffers that the cport can receive without blockin= g. + * @seq: sequence number. + * @ack: acknowledge number, indicate to the remote the next sequence numb= er + * this peer expects to see. + * + * Each peer can confirm reception of frames by setting the acknowledgment= number to the next frame + * it expects to see, i.e. setting the ack number to X effectively acknowl= edges frames with sequence + * number up to X-1. + * + * CPC is designed around the concept that each cport has its pool of rece= ption buffers. The number + * of buffers in a pool is advertised to the remote via the @recv_wnd attr= ibute. This acts as + * software flow-control, and a peer shall not send frames to a remote if = the @recv_wnd is zero. + * + * The eighth-bit (0x80) of the control byte indicates if the frame target= s CPC or Greybus. If the + * bit is set, the frame should be interpreted as a CPC control frame. For= simplicity, control + * frames have the same encoding as Greybus frames. + */ +struct cpc_header { + __u8 ctrl_flags; + __u8 recv_wnd; + __u8 seq; + __u8 ack; +} __packed; + +#define CPC_HEADER_SIZE (sizeof(struct cpc_header)) +#define GREYBUS_HEADER_SIZE (sizeof(struct gb_operation_msg_hdr)) + +#endif --=20 2.52.0