From nobody Wed Dec 17 04:05:13 2025 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 74E302C326B for ; Fri, 12 Dec 2025 16:41:37 +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=1765557699; cv=fail; b=uHV9MkP61H06I2vlHjfC7kUavCRZdV2FGboSM11Ups4Wts+Ia1lxPmFSh7c63+WbvX4LtBEp8QzeitgnXVuq5TXkFNcOuf6y3dJvxpud1J7QC8/wIjF2lT9/bFdaeKhwPNKhcekGm5J9gCqWTzMZ7F+dOxcIXIYy9w1Oc/9fc48= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765557699; c=relaxed/simple; bh=RJEwO0DFXBhWAM0hMGq5ksG1S9j3Pr2ihJi18lT5ROw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=Xw15Rc/cLwcyvAecVVaqju1r4eaO1K58CrPBXeClzGo9M0OCiL61IYBjFJ2aUjc3iyRS4C+5rbMF6xc+7LZWJznJFRoUOZyoNb1O1rW+5kVdIEqNykTedNcxTv2fImWJgOVY5f0ub/4Qmwgt2eEqqxgyJzyvQtfTy/9F2ltXSlc= 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=hosKgRT6; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b=cuglqqfp; 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="hosKgRT6"; dkim=pass (1024-bit key) header.d=silabs.com header.i=@silabs.com header.b="cuglqqfp" 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 5BC2uEiA2563949; Fri, 12 Dec 2025 10:13:28 -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=2jn+5nmGVt6E6Ikdv2r4sjZR/pj+LV2ZAZRqtX6PhRY=; b=hosKgRT6ifqQ 7Cjqf/3emaVRsltr9X1NuO/2adC4/BmkXrTZMvsRXbz+wbYQatfnNLvbWNxOMs+U tFE96CHLsI0TeJQ7u9oaTG55H9TfPMj3BByk+qYB53kLP5ntlc3RufSw8PW05qKV kuudyUSyBzd1RRLlyadaWRS8ljnfdzMhNlpJYF/T7PDSUAMKENa11vSTRzcJwE6F ZCir5Eu/PrqsKCFPDOKX/qt1Qz/+r98C8P3Kw9QbmN5r3sk3o3uwsKz2TM55vyfX eEWW4u6N5W1Qgvzqp3etC4LtZyhvQ5L8Zx0bEendQGMj4Dcx0O0x8hyHnedVBRYO zhMem2tziQ== Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11022100.outbound.protection.outlook.com [52.101.43.100]) by mx0a-0024c301.pphosted.com (PPS) with ESMTPS id 4aykqe47hk-3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 12 Dec 2025 10:13:27 -0600 (CST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GsREp/tRJgxma4CAiryv4KIa17QwZt5wDJwGpkQhQj33hsoT/DglqD89q9BWvsmfrxl3cIN6k3gQJbRt9ly6U41PgJHh65V+Iu0DZJ1+NBq/d7clR5rf0BdGlUs7Fe7VtT8NnF6W58aSF8VUA74sjOotPL3KcT194f93FkSK5UjMN0skwCRH3lnRTupkwXNrsqAxJTDbSb5RojCMGsZ7M2ggwH8Vs1xieS2TYUrcW/UVnXV96T3aILPfGn8x1WbxxaxdaKPkuPaYOAZoEuU9moIAKV17Qqt1bA+GWCpe5CJ4pK0az/dF6FYxnMO4DovAoVV5LT2ajdH4wyjRp5DYmQ== 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=2jn+5nmGVt6E6Ikdv2r4sjZR/pj+LV2ZAZRqtX6PhRY=; b=BEMkyqa0kExNjssZOu2q5YSWqpLqS0kU/dtCxMD/2ZM0UL7ZSo6sRm3MdSktIEdZ49vyTWxP8IvS8gJjyzn6Q1u7pZYqWYRLua3uJbAQHIgjumeVoASlHweY1DLea5C7KJ0Z3CqpRyYnmUhRfBA5YPUJKY4HP2i5QhX/bDCJhnh9zQOOYsNfuHrOoFEkwEEV/i18V5wnMJ3tsxUiDpujiMcBYxDQPZa2VHZsYDuSUgrIEbFydpZEaBGUZO1uz7m9tJYkhZEPsMDZO/bOAWrjTUIrPt4aOnjubamnnp7c/HyV9Io5FAHKk1xCJPnhkf0fU0bzs7pxbHKHTu7elo0aag== 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=2jn+5nmGVt6E6Ikdv2r4sjZR/pj+LV2ZAZRqtX6PhRY=; b=cuglqqfpQJ5ytC2bQeagG/IgxKzumuOPi/K4m2QxmYoWiE4zIlTpF3lQRhfwJDabhYwNf6iYB8h79d5KdQbSj86ERIhAzA3zWfG2pfY5EHBs6evE9L84MFVH/xThIvEFD5gVN05J0GQgFwj1jgrSip4yr9BjpmN1SFo9ZQPN83I= Received: from DS0PR11MB8205.namprd11.prod.outlook.com (2603:10b6:8:162::17) by DM3PPF7468F7991.namprd11.prod.outlook.com (2603:10b6:f:fc00::f2d) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.9; Fri, 12 Dec 2025 16:13:26 +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.9412.005; Fri, 12 Dec 2025 16:13:26 +0000 From: =?UTF-8?q?Damien=20Ri=C3=A9gel?= To: greybus-dev@lists.linaro.org Cc: linux-kernel@vger.kernel.org, Johan Hovold , Alex Elder , Greg Kroah-Hartman , Silicon Labs Kernel Team , =?UTF-8?q?Damien=20Ri=C3=A9gel?= Subject: [PATCH 06/14] greybus: cpc: introduce CPC header structure Date: Fri, 12 Dec 2025 11:13:00 -0500 Message-ID: <20251212161308.25678-7-damien.riegel@silabs.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20251212161308.25678-1-damien.riegel@silabs.com> References: <20251212161308.25678-1-damien.riegel@silabs.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: YQZPR01CA0176.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:8b::25) 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_|DM3PPF7468F7991:EE_ X-MS-Office365-Filtering-Correlation-Id: 2cab03d9-1726-4f62-39e1-08de39996150 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|52116014|376014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?WDdvKzRwUUFMelZsUVh3TVNmZVdibU5mdXIxNldHbnpFSzRmVXJodnpxSG1F?= =?utf-8?B?aGw4blIxK3FZTWYvZkNraWFvd3JjNHhyQktLdkRpdzlJR2tJaCs1cHRMRHU4?= =?utf-8?B?ajJUN1pJTkM5MDZkb2RDWlZ4WUdWeGhJUTdyQk0raUVVdGhhcW4xVDBWWmZM?= =?utf-8?B?amQ2UXpzZHJISjdtN3lsVjJycXZtQXdjUm5XWlhRYjFVeWN4UlpyTlhqWDdU?= =?utf-8?B?aXpxQlk2RjhqZzhnTXZiampmQWhrUStRMGFmQnBTVnYrU2JxTVhBelBPL2dC?= =?utf-8?B?RmwyWDlYOEdqNjE5blVnRGQ2cTNCOVJmWThHcmFjTkRjWXZ1aHZHNFAwWnhV?= =?utf-8?B?VXFheDM2R1pGclJJZnM5dmZ5bHgvMVNWbGdiYk9Pb2lpeTJsVU4rRUR2NHBH?= =?utf-8?B?MEdmYnlBdmxwc2gxazlBZnJLV2RQM204b2pXS3BIbFlPUnpVcmZ2YWtpTGFZ?= =?utf-8?B?cjhjNFJocGUydGhPZzZUbjJWaEV4MmwyVjQvTDRtWnhTOVB3UitXOVIrcVNp?= =?utf-8?B?dVVZdllaSkpOdjFEZUhFYnV3OHV4Ykl2M0hudEVZV3RBSWJxRlE3RzZHWjNV?= =?utf-8?B?WUdFWmlIK3RWQ3lWa0pzZnF6c2tqVGFQbzBPZUNiak5JMHlHQkphSERGOVlO?= =?utf-8?B?REoyTWVmTSswdFhKR3JxUElrSXhhRTRoc0dldWdmS2x1SDUwOXRsbUE3dHFK?= =?utf-8?B?YVM0emZFVkNTSHkyWFdVYkMrbUZFY1BEcTRzcGdDRmFaVlkwclhqUXR4SG54?= =?utf-8?B?bHJmUjFNbzFxS0FFQVNHeEx3N3dqTEVQNVk3WGVMQWo1YThHVWhSazZ4OVNT?= =?utf-8?B?bjJjSVJCc29zN29MRUY5MDdLS1pFUFVLazkwMzYvQWVnRXB5eXN4dkF6M3hP?= =?utf-8?B?NFlycFBLWWh5KzBOR0MwVE5hUzY1bXdEMDEwcnNDZVdCbkJ0ckpDeFVoTVhV?= =?utf-8?B?WUhRK0NFMFJ0OHNnZzFNNitMUDBMNzVZRWpBbk5HSUt3UUh3dXFEQ3dsY1Fx?= =?utf-8?B?K2pKNHRJeUVkZ1k0QjAwM3pxdHJSVFEzMTlhU3FwQXhldFZRV093WkpuczlC?= =?utf-8?B?R3hPRkZYazNmWUc0R3p5SSs4Zm9BL2FBU3hodHNkWHNhc09BZjZEVmlKZEpx?= =?utf-8?B?Wm8xbFhFa1hIaDdEc05HeEwvckh1SUttK012eDgzSktrY09PUnl3cWhVVVRi?= =?utf-8?B?ajBoNWQ0aXFneXFkUXJCdVVsN2M4NDV4U1RxTHk5MnYxM2VwNDYyWFIzRTN5?= =?utf-8?B?eHRkeDlwaytnL21QR2dldjBpekJXSkNwZzJNK2V6YlJ1Qmc3aGE2L3dRTysr?= =?utf-8?B?SUVRcnhjYUs3bmhYQTEzRUtoUDBxeE1mYVZJNnE0OXZ6aEtIS2dGcmdGazhl?= =?utf-8?B?L3hHdVk2UDh6MHo3Y1d5ekd0V0dDQy9NVjNsNEduT2c5U2VOYnVDZTFpV3BM?= =?utf-8?B?UDhDZ1hUYUwvMUNUb3JUZXpwVDUra3BBdlk5MUxLSWI5R1JhMHk4cjdRcDh5?= =?utf-8?B?djJKMkZuRXpmKzZDUnl4cFRGczhWWmJ3MHFzWlRnVkVPbGxxQ2pMQnV4VmdX?= =?utf-8?B?bmVoSENuOWwvTEY5ZlF6dkNMVG0yV3FSVEVhSit5cU5DNXpWa05HZ0Yyczcz?= =?utf-8?B?MUoyd3gwOEExL3ppRGZRQWNSUldKNXBDYUwwYzJjcUlkaVkwdWV5Yy8zamN3?= =?utf-8?B?NXV6TFVFeitYZlRNalIvYzZuTmNxbW1hdWNqMkRPVHpNOEZTTEZuVVJiSHZ1?= =?utf-8?B?UWtvYUdTdTRxK1prY2NaZDNwUktpNDBVSzJJL2drZmJDbllrSkJybW1KRTNE?= =?utf-8?B?eHBaMzRpTVp0ek14dDRDblF0d1lGNGYyeHFnZ2lKNitjWUNRbEFsYmtDR1Nw?= =?utf-8?B?R2dYdWp3SU5aOTZ4cDUzVWZJWHdnZUFrV0VlRGYyYlk0Y1pJM3RHTEV2cVFV?= =?utf-8?B?dVl3MWVidWU4eHU1UGxINzJKMDlxQTM5RFgrSlM2OG43TVMyeDBCemtQeUlq?= =?utf-8?B?alRaMEpoVlpScXlRYjQyR05ZRmhLRi94UUxvWDdvaHo4QTl3aTc5MkJXTDY5?= =?utf-8?Q?oNgGnv?= 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)(52116014)(376014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SVVPc21COGduNnFUSEc2ckNYSTFLbmZXenVUNXBVNHJvWjNmODZrYjJMc2Np?= =?utf-8?B?dW5rU3hrSlAvNml4VGZzZHdEcXFlT3k3UmlyVXpDMzg3b2ZuWFlaaDhqOEh0?= =?utf-8?B?eDdCbDk1cmUrSDI0U1Y5WWdFTTFXM3R4ZkZmTmhoRGpTYkNOcHZFSzJvc0NG?= =?utf-8?B?dDBrRUlhMDVCV2YzMVJadVdrQk9GSDVpSVNRazNEMEVkQ3pZcjRlei9mWTl4?= =?utf-8?B?QWFDVnVndXAxdUh1Z1B0bFJPb0V2aFpjdHI0NjFnREl5Tm0zeTE0UHZDbFlU?= =?utf-8?B?L1F3WEh1ek9iTkI1QU94Z2t2VEg5VWRjdDhoOUlkZnQvZU5pMWI4WjA4TmtW?= =?utf-8?B?aTNkdXV5RGVLdzBEZVJaLy9NVm5IV0hYU1VYWEMyT05LVERqZEFhVnJHZnYx?= =?utf-8?B?Yzg0THE3ZTdka01hb25aL2JESEtOckNieTNBd1BLVDdvZDhZNWpydUdpUWNm?= =?utf-8?B?UjIzNVE3d0JrRFF6QTBZaDVQVVpNcW5qMVRKeXk1UUduT0tKdEdxaW1IVko4?= =?utf-8?B?bEdHUU5tUVU4eHhpYXA4K0Q0UzArbzBmQUd6dzNOR2FQVFVNK0wyaVFZem95?= =?utf-8?B?M2s3WjhDNTh0TVhkS0tpa20vV3JiWTRJbGZtcTRabE8xaFVQMWtEVnlSWFlm?= =?utf-8?B?eXpjNERpNWtXU1d2Z3RCQ2tUbjMwTG81RXFXdHlJd2pNMGRIdlRhUHlYeUUv?= =?utf-8?B?cCtCSWNqaFdZK1V1ZXh1ZmtrOGgvVGljTXZzUkRXMzV6S3YwZlJDNGNGVnky?= =?utf-8?B?WDQ1ZXpjNHl6QktPNHhLYXkvWWVFZjR0RHQzZWRMT2VldTlxRWZablhrWDRt?= =?utf-8?B?RkNHdzdMZDRad0VrQjJQbm5Cc3pNcjQxL0VTa3V4Lzk3bVZmVXZsZWg1R0hY?= =?utf-8?B?OFpVZjVlUE9GQUQ3WEIzRnh1ZHB1d1VwRWdhelRjbUcyVGRjZ0RxR2tkS2Qx?= =?utf-8?B?bnlzWWQ5VDA2OUFPWUlmemlEN0NyUUR5Q0VmQ3dkVUJhdk5wUkRRL0dxc1B4?= =?utf-8?B?bmk0OTlrYXVEemNVZEJVMXhMejZNUExLUDg0a2ZFYXIxeGFTTTVaRWNyNEtq?= =?utf-8?B?NE5YTzBLTEFtdjM3VDAySW9NckozT2FGbUM2QmdIZWtCSTBiOTROLzRPRTk5?= =?utf-8?B?dHdSbWpuSG1FcEhpdDlJZGdjMmxhaUw3TlMvVHZaWVpyQnFVelN5Q0Viak4w?= =?utf-8?B?blF0WkVZL3Fzbys1WHM4RnhhMHZTU01sNUNTMTNRNERDTEtzenVwMmZmalhi?= =?utf-8?B?TEpUd1VKZkFlV2tUOWVnajZZTW9UYXJLVnEwMFpmWDBSOXRtdEpGMGQ5all6?= =?utf-8?B?KzljMXo3Z1pNMDdIVTgwdEtFeGF1ZWtQTGdwQU8wL0NJR3hRWDlEb3RCVURH?= =?utf-8?B?ZnZQMTVLNlZ5OE1yTU14RzIzZmdLMHhOUmVQcUtJL2xsWGtEdnBORlQyUkZW?= =?utf-8?B?NnlvU0RTMkNDKzNnTTBhbjNVVnNldld1dSsxUm52YTdXRk1KbjZXNEd2bWdX?= =?utf-8?B?YkIwOEdtcmw5aXpwZzFhTHZvc1JwcnpQOGoyRGphYmxvZWcyRWlWVHk2YnNs?= =?utf-8?B?bmlsSlVqSXVOQjVwMUVlSE9XZnpRNVArOWYxc0NtcG9FTnhQSkQ1ZEYxSjYr?= =?utf-8?B?ZmhkZU9kdStCS3dVS1BhczhLNjVyeENXTnpXQ0x5REpFbDZ0RVhHRFBxUE9v?= =?utf-8?B?R043MlBieGw2bG5RVnlZR1VhcE5BK1Z2ZVljSGxRTjZiazhPSFBEbG95MGJD?= =?utf-8?B?TVQ0dU40Yll3TkxZNCtMRTJNQlZTR1lwVktSZjc2U1ptYVlKL3NzSGI0OXBC?= =?utf-8?B?Qlg5Z2VBd0tRMWgvbHEzNlZBbE93RGJOTWxTbjNudTlLQm5zbWhJcG9qUC9x?= =?utf-8?B?RWZtcWg2dklnTzFid21GZHF4U0JZdS9aVzdsYXZRZ01FY2JDeHFuVnM1clNm?= =?utf-8?B?OG1DOGZ4dWl0bzR4dEh6aTZSSTFlOHhHaGM0UUtnR0dubTFmNjM2ZDFYVUh6?= =?utf-8?B?cFBTdFFuTFFzUGVLTHFXVWliWTUxTnZrL2dPcDc5WUVoN3BoUytCN3hHbUFP?= =?utf-8?B?RXlyRmJtY05wU1VLZ2dDNGYrdDBnT0loMlpzK0d0UnBqMm1keEJZZHZKbjUv?= =?utf-8?Q?dHnx5B68fVS+Do7CDFVrexQM1?= X-OriginatorOrg: silabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2cab03d9-1726-4f62-39e1-08de39996150 X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB8205.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2025 16:13:26.0099 (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: 6whJ+3HFxujk8A7gEmW45pXZ5SJz9i2lCVziFD+DEG7opAZbMXF3M9XWFaVqT+y4sBuAnqsXdc7TMeIgaiBBSQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PPF7468F7991 X-Proofpoint-ORIG-GUID: 4zoWbW1sIQxPO-Fxs9Ai81aEO94ZgXbQ X-Authority-Analysis: v=2.4 cv=brxBxUai c=1 sm=1 tr=0 ts=693c3f27 cx=c_pps a=Us7513DS1gT4knu3Fiol7g==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=M51BFTxLslgA:10 a=i1IsUcr2s-wA:10 a=VkNPw1HP01LnGYTKEx00:22 a=2AEO0YjSAAAA:8 a=YpAaIpsKrikDV0a6NQsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjEyMDEyOCBTYWx0ZWRfX20tFIjQ2zn2v OvENg+t6umLrzzn4ZKyyH9shUGhx1S2hcGC1y+pEGLeJREBgVAamAiuQBpPminPuKADqcRzsdRA JmvyBGM6CsaEEnObZ+ZIbMnGVl0ml/xRKIyWg7jABgZKfQ6qUuQPFOqFyaIsYFYRam3ATzv6hmM kihhKV/8OjjxXstny5rso/kc7kS3TzWIMlzJFPt82zUSbTaWKxGBAzlltSG6SGwcDJtq9td1OHw /0aQ/8JM3sohz9dWctG46PQ9apzEMJXPOQ4hClS60+055lY/R/MJ8v4BgCSbDEj20F0f11LWHTU fqz+o4DXZscCh+xe5vlSQ1WPvYxWg+qOAh1FJlC0if3bbT2T2rsLVP1IqkODyGQNRWvIHdwSi6o n0paV6o7eJiH4upU8JXUPt0/0rx63g== X-Proofpoint-GUID: 4zoWbW1sIQxPO-Fxs9Ai81aEO94ZgXbQ 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=2025-12-12_04,2025-12-11_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 adultscore=0 phishscore=0 spamscore=0 bulkscore=0 clxscore=1015 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2510240001 definitions=main-2512120128 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 --- 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..afccc941726 --- /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 hight-bit (0x80) of the control byte indicates if the frame targets= CPC or Greybus. If the + * bit is set, the frame should be interpreted as CPC control frames. 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.49.0