From nobody Fri Oct 3 16:44:18 2025 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 551733AC15 for ; Fri, 3 Oct 2025 00:20:50 +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=1759450855; cv=none; b=Q2TQtgcEu4oA+VmPP4A4axP8YhdoxQiTvV+cGiU91UXVW0L5f4Lg8UB8a4643hNc+JpTI+kr7YxpeRqHSic6PwI4TsT95Ib+c8009tzRv4JIeoqvfo3nrOYKyovpnR+zOsr+Ggpw9X7EzJSRncQx7+e7ADkXuiU+Gi4NTh0+yiM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759450855; c=relaxed/simple; bh=A52ROh/Md8E/l7pDVKt3JwMJSU6DehcWufqvmQgZXsc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=UvWQp7+YvapdiCBcP4Ic4H0f016ik4tblNkywQ4jz+dYaT8Sm/he78zKmbgpIQ5C+jh7I60l4LqtyInI33sf8dkCEklo8PLM/0pru6CoOJZwiGsbJlNZ4RpEcJQE9LeGR9p0imMPZRPNm6HMSnviGdrv2BXUGZfr3k7L1NqPmv0= 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=Dng5Vfrz; 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="Dng5Vfrz" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 592HJx3m007817 for ; Fri, 3 Oct 2025 00:20:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=uBL+fRZoVJd 0EnYHl7fL+1Rjn/9hbw2Gf19pU1BpfeA=; b=Dng5Vfrz494jZHTgR8f/P3BkXuk V6z0Jk+XTkJLBboZyRBFVyu+/RfRHFt7hT3hXLYRQ3xE9s8eUJ2gXuheRmu7fIz1 p7FtZtpFdlmeIRGBBlQj4avXVIuqz5fKIlQ6thdmnlQQGRRYTYL41VrLjo7eVNmb Y8EyN0C5Zx1k42oo8dSzVYHFD+EpNBxOe0RdoqNmz4gCceKNMmiggvbmqfVRB8vQ 7MM1e2JVz0eG0uYqUti8lXDpqs04lLr54ogep9zow3/2xyC9fyWsOv527J/x0oY3 fAIU4GGg5LRHacKraNByNLER8LFS/Z+r6XL9EjZ9Y24zOwBRDSq++efEh8w== Received: from mail-pf1-f198.google.com (mail-pf1-f198.google.com [209.85.210.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49hkhh2hh1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 03 Oct 2025 00:20:49 +0000 (GMT) Received: by mail-pf1-f198.google.com with SMTP id d2e1a72fcca58-7810e5a22f3so2802853b3a.1 for ; Thu, 02 Oct 2025 17:20:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759450848; x=1760055648; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uBL+fRZoVJd0EnYHl7fL+1Rjn/9hbw2Gf19pU1BpfeA=; b=cljm5FxcuQ4o+XUrqtY+feX5sOUg3x4aUg2pFkeoKo9RQ50oqqSS9Tv/zgfje92zWc tlEfMQmCtO5lN9aT8rcFyh7teM3G1hsDMY0jFJx4AlK1bZ4vFFkIkHqxwFPgKxLWd8fU V0mOE29+TpB7QpEsn+fRUHyRKFxyjG4bUSGw/tVl795vj5MkkwVQsRFkeEx/Ms03g3X4 QXzN+5an34EOVWqWX78ZEUkpxDMziNS0/V2LPREMr+Xm7WuV8zBb4cWSZd4Oiv3a77ge eHMCdvfTNf1pzqwYiZi31AqxLe6L5Gp999cDAEUwIq9Lwvu6rSIy6Rvy5ev0kpSFsIZ6 2itw== X-Forwarded-Encrypted: i=1; AJvYcCWZJi/IF0fhkAj9NAYU5+caaYQKiwmRw6egovnVRKn67tYr5Dc9QnILEQK2vvnSBKCjRL9AYba5hva53ac=@vger.kernel.org X-Gm-Message-State: AOJu0YxYRi0JCJ4ONH0E53jfzaqI+WVYIxHmwzHBAP0+XQMCqhfUlcSW kP2ZwQiRpXZZVdtXGV/vathyGg7Fp4DqOgU3D5CCHttVYFhXueggDKYTNXktF7UBLOsb66r3wYe uqqUNeeEqEBWYhzkEV7MvncuqPiJTnD2z5hX+6PNWqeFYeqt9L9bU9NDLvfXNxTkDpLpI5GKcAQ 8= X-Gm-Gg: ASbGnctCfKqtb/TplmEmvoi5d1MSsdx23MQQzz1sPykeY6sE4ZEiL/lGNDdOvMyDbMs 6fyhF6aYgZmmsGjZXHlQGmv1qC1CmkrTmzVMnHXzwJwXj7CJeuPQQhREzTfxb6vySG6SbSgiXUI OcI3hPSD+THu1VF25MfUpedSfcX1VWQaQ263AHE0/WchlZe9MuEOvp3bp39WgD7UpYqcYKTdLcT h1IK5Q6errnjMA/iXJthmT4AvK8OqsS9K9K08z9VApIY9mosFQlXjoGXD6F24PZICVSf7fhLUi8 nH12JwY0GxtfWCwQ1o6QH+11snIqhiFvmsjnTy2ScuJwbhuNWZU+Kyktz0AlYsuNqXoe6zxuvlJ IfeIrxxax1m1HoCWoT8PGDMrtoVjeSpxt X-Received: by 2002:a05:6a00:3991:b0:781:2290:e7e7 with SMTP id d2e1a72fcca58-78c98cad84bmr1743833b3a.18.1759450847709; Thu, 02 Oct 2025 17:20:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFzrJ1TUQnXO5ZzMDLySuam5se1Et+TpMerKKnyr5XaAUqjom5zSs4tikKzGJr9VdCSccGBpA== X-Received: by 2002:a05:6a00:3991:b0:781:2290:e7e7 with SMTP id d2e1a72fcca58-78c98cad84bmr1743803b3a.18.1759450847258; Thu, 02 Oct 2025 17:20:47 -0700 (PDT) Received: from hu-amelende-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-78b01f9a3f1sm3128632b3a.12.2025.10.02.17.20.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Oct 2025 17:20:46 -0700 (PDT) From: Anjelique Melendez To: heikki.krogerus@linux.intel.com, gregkh@linuxfoundation.org Cc: lumag@kernel.org, neil.armstrong@linaro.org, johan+linaro@kernel.org, quic_bjorande@quicinc.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org Subject: [PATCH v5 1/2] usb: typec: ucsi_glink: Update request/response buffers to be packed Date: Thu, 2 Oct 2025 17:20:43 -0700 Message-Id: <20251003002044.2944497-2-anjelique.melendez@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251003002044.2944497-1-anjelique.melendez@oss.qualcomm.com> References: <20251003002044.2944497-1-anjelique.melendez@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: LuUvZLzf7LAmhdG7-6eATRpziRYrg2CC X-Authority-Analysis: v=2.4 cv=cILtc1eN c=1 sm=1 tr=0 ts=68df16e1 cx=c_pps a=m5Vt/hrsBiPMCU0y4gIsQw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=x6icFKpwvdMA:10 a=EUspDBNiAAAA:8 a=QyXUC8HyAAAA:8 a=OI1EoHIFZYFGuZb9aTAA:9 a=IoOABgeZipijB_acs4fv:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDAyMDA0NyBTYWx0ZWRfX43cW1fbaoy7G iVv2m2OLQFQzeXa0uFEAH82eKEtAN1d3j8rIK+s3pAh6z2QPM9X35tD2sxJ2yXzZOV2FX6YS9w1 YqVkRqfl3Fr47xZDOKLNlVBt5mEhbJUil/498M9KQDy5rhivUCk3nr3xqS7Hl/kD+B16963WGQ2 24vzlb2z/sdiprDNZQUl81eWClMgqAkiHnGSmChCxoQ2L0Lm7m11Y2MjguXKa/ObWS4kOCB8Tzh 9K1E6zvbKjOzJdl/F166UsBFK0OxMqxYPdUtlL+NZS1yOtIhpv2I/VFnzSW5+dCRCxK+Imb0HLy /8CVQFPelSjCGP6knc00vm1tX+SYpeRuImzFJldz/4o2BLOuMe2VnjStLlxMxIJC2RGdNaAp4KR LDVmfjZUvWyXIsHCXqDCKZPd+pX1og== X-Proofpoint-ORIG-GUID: LuUvZLzf7LAmhdG7-6eATRpziRYrg2CC X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-02_09,2025-10-02_03,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 lowpriorityscore=0 priorityscore=1501 impostorscore=0 bulkscore=0 clxscore=1015 malwarescore=0 adultscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2510020047 Content-Type: text/plain; charset="utf-8" Update the ucsi request/response buffers to be packed to ensure there are no "holes" in memory while we read/write these structs. Signed-off-by: Anjelique Melendez Reviewed-by: Heikki Krogerus --- drivers/usb/typec/ucsi/ucsi_glink.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/u= csi_glink.c index 8af79101a2fc..1f9f0d942c1a 100644 --- a/drivers/usb/typec/ucsi/ucsi_glink.c +++ b/drivers/usb/typec/ucsi/ucsi_glink.c @@ -30,24 +30,24 @@ struct ucsi_read_buf_req_msg { struct pmic_glink_hdr hdr; }; =20 -struct ucsi_read_buf_resp_msg { +struct __packed ucsi_read_buf_resp_msg { struct pmic_glink_hdr hdr; u8 buf[UCSI_BUF_SIZE]; u32 ret_code; }; =20 -struct ucsi_write_buf_req_msg { +struct __packed ucsi_write_buf_req_msg { struct pmic_glink_hdr hdr; u8 buf[UCSI_BUF_SIZE]; u32 reserved; }; =20 -struct ucsi_write_buf_resp_msg { +struct __packed ucsi_write_buf_resp_msg { struct pmic_glink_hdr hdr; u32 ret_code; }; =20 -struct ucsi_notify_ind_msg { +struct __packed ucsi_notify_ind_msg { struct pmic_glink_hdr hdr; u32 notification; u32 receiver; --=20 2.34.1 From nobody Fri Oct 3 16:44:18 2025 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 3911A3BB5A for ; Fri, 3 Oct 2025 00:20:50 +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=1759450856; cv=none; b=kUnhJdvvWqEXeqGGAiYTHOmZ+/j1xzjww1WcuMUXvYquj9kH6cPkECmK0+AzMnpUFXxw3927EiCtDz7rwqrjJesJFSAL6z8xMpZ19qei3I7yKV6x08FnQmqcD4aj4l1duI5Q0IkKMCa/t9+WZQ5GBDwSPxiOXZqvwh9q9ZIi9YA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759450856; c=relaxed/simple; bh=3cyjRiL4lcUmndU7o/wfFQ0HYsbwM9Aydw3J2N8yu/s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=AGb6S/crCiA015MvfacNZLrNdOJMXrK9GsvbdSVV0kyYwvXUNRHeJNSHI0aac4EiKSD/Web1AOTGgTVjlrjmdhG2j2+R5kAeXmMpc0pHQlgybC4lxPFhOXIZ2PlWDj8c8C/LbCoZxAReMd7jLLKajFIhyodc1alu6GsqixX3VUw= 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=MmGW/2GY; 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="MmGW/2GY" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 592M0470022972 for ; Fri, 3 Oct 2025 00:20:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=QoLaMgeORBf SIAcGQOIMWfUaR1zLHwTW+Dns9so/XPY=; b=MmGW/2GYt1ar2ymIaZ88SxhBtKj t+TdL5Pi3Z/GbZ6ddoObgL0PS8XbaiFtKUhh/NhZLv/PTPzhESJOvPQgzdKtziqK oAwhPxBVPBbYYXdv2j/rM2KRHycLSFwrp9qhWQispPqggImVg7w4yIN3yP8OhePT mwWED7WKUulLnnUE4oCvBQLbX0PPXfmc2qdICVq+E78PpnbewaTwPwbDU5ik4cdb jhAskZavb6Eup1OGUXRhdlzGtMS4keTFN6SZlW4gbLsZpKORB1AcUEeZ1EETaSI8 7o/W3ZM9VWS2KJNWihGBKv/bBDFpO8+qByfXGXkxN3CsXDu0JMTE8acuIng== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49e59n9r1s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Fri, 03 Oct 2025 00:20:50 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-b5a013bc46dso1181637a12.1 for ; Thu, 02 Oct 2025 17:20:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759450849; x=1760055649; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QoLaMgeORBfSIAcGQOIMWfUaR1zLHwTW+Dns9so/XPY=; b=F1vy2t2Lyq04lUpjsN1OU2Y0C/i+3pZnLVfXW8b4FS0vm03ej9TWNcGWRjoGqtxAJC 6GtU5v+DMYrxxKs5EObC8aPPWhmj3ErErkaExPoB9g7OG0UAhS7gGTL0EONG+BVJGBNL qghZdwzy/DL1hFZb18HRpkbq0X4sQqKGXIss5SDkOECyIhAWGIAOLbnoOcGR7ZFNiqoz n9sydsz4vYLUD92854vnrvVOK5hgA5B1ZR6pqzt8qnF5tBoVsz0MIFd4jA8elExXJdqP 5nnEw+3RemUKdBxnxmHI+ZtsVIIOiI3iqEvYjTZ14Hazt+FcqUr3v+4RH/3jpt8ID90e XkMg== X-Forwarded-Encrypted: i=1; AJvYcCVt1sHJhWguKwOWhS3oyxhw5dCS6m3ghzQhAuWrO6EpVV961EnU9tS0w3cdTmHT4Zu8bYbSDcjTcBgTroA=@vger.kernel.org X-Gm-Message-State: AOJu0YwLRxO16xpnUNA4Cc6YxPAu9Zx69KhRFmQybCKl2Xlnd0fxrou3 MHqddIjawMliC6HpHihTzn2c19WuYsjL45rLU0eJw4Pd1gH/bQU1q+fiFBqt48iggQZk8zZPG1z XWm4VM55aEQDFO7Hh5uJiUk89rtMnH+Jk9r08uxDQLW1WLs+N9LbIH3PXs+OwO2Olu1c= X-Gm-Gg: ASbGnctVvVgcs568Zyo5g1ivcAsnZmc+hQ8y+V4tmmh0cyvIyskjNWdDNXIEhr0ko6z JTHvPOHVpyKS2ckxNwRlFlCjVlgwr3bCBRZHWDyKnkZ1UzyhxwVgiatGlWUFwXu4LV2dsMxFEoH zDF3CRLyvbVrjVmJ7XjWnIDIGfttZqAuYVH7xtv2Tr+t03UIDxYMyq5q8gaS+a+zd9FzR0QF1O4 jrPxIGXadiHtRo8CtrcJ7bt6lGg750qxcJsslipnyl18db6PVXMFak5xum0238zRgyIPBYgNk3o hJ3T6vtc/i+3EycxVouDBzoNp96w4R+5zbQ79aUpt8XaCKsd8MOBfh7PIYyqlPXWMI0r8dVX18S B3uU8KtcPme2jluugIEVLnvziBqrjFvAh X-Received: by 2002:a05:6a20:7d9c:b0:2c5:f4a:8839 with SMTP id adf61e73a8af0-32b6213ef51mr1369051637.60.1759450848693; Thu, 02 Oct 2025 17:20:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHhVZuqJXzaWO1w4N5q8KAOpGa6PrhujnxtMK9xFie0UJw2QokcxvzbXUoAjFLCXAyjh9SGVA== X-Received: by 2002:a05:6a20:7d9c:b0:2c5:f4a:8839 with SMTP id adf61e73a8af0-32b6213ef51mr1369025637.60.1759450848202; Thu, 02 Oct 2025 17:20:48 -0700 (PDT) Received: from hu-amelende-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-78b01f9a3f1sm3128632b3a.12.2025.10.02.17.20.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Oct 2025 17:20:47 -0700 (PDT) From: Anjelique Melendez To: heikki.krogerus@linux.intel.com, gregkh@linuxfoundation.org Cc: lumag@kernel.org, neil.armstrong@linaro.org, johan+linaro@kernel.org, quic_bjorande@quicinc.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org Subject: [PATCH v5 2/2] usb: typec: ucsi_glink: Increase buffer size to support UCSI v2 Date: Thu, 2 Oct 2025 17:20:44 -0700 Message-Id: <20251003002044.2944497-3-anjelique.melendez@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251003002044.2944497-1-anjelique.melendez@oss.qualcomm.com> References: <20251003002044.2944497-1-anjelique.melendez@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: xoy-sICoeCQN_0Ult3XN4ikEJqnttzNm X-Authority-Analysis: v=2.4 cv=O4g0fR9W c=1 sm=1 tr=0 ts=68df16e2 cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=x6icFKpwvdMA:10 a=EUspDBNiAAAA:8 a=bL7WY3GH-9A0ZCLeatoA:9 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-ORIG-GUID: xoy-sICoeCQN_0Ult3XN4ikEJqnttzNm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTI3MDAwMSBTYWx0ZWRfX69zCAWSn1sqk w/6XkJD2LXSONKtcBh42iKI9ueHMgwYQTpQ05yWxTmuRgKhW44ia4BR++x7W20HtsdrtsIar9pP /+GFSCzN/d3X4WJqrWg+7tlXdQATVmBqT0Nm3VFXo8IR3Ilhxl97kAb/iEUaxXaK67fClw1l1y7 zQUlpkKM/emW4oaCQ5yOxa2HrEeg+Kj68Z4OLMMBW16v8ybldhh82lraTWdTBnjV6oPn5FEwdjp fsB+c3WaRN9liYU4aTWBQbea9amNPvp6wSsxo5axhX1dELh8q8YcMYe3c7kcE2esjFkABBWvH1P ZXMkI7rasVB630OHvz1h44px5zcCnse5Dtik50vgmWCrun4ct4FfozQ69X2Mac63MdwssrrXvUC M7Cu47LqZdiu2DMRA4TxnYYC9zSpow== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-02_09,2025-10-02_03,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 phishscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 spamscore=0 impostorscore=0 bulkscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2509150000 definitions=main-2509270001 Content-Type: text/plain; charset="utf-8" UCSI v2 specification has increased the MSG_IN and MSG_OUT size from 16 bytes to 256 bytes each for the message exchange between OPM and PPM This makes the total buffer size increase from 48 bytes to 528 bytes. Update the buffer size to support this increase. Signed-off-by: Anjelique Melendez --- drivers/usb/typec/ucsi/ucsi_glink.c | 76 +++++++++++++++++++++++++---- 1 file changed, 66 insertions(+), 10 deletions(-) diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/u= csi_glink.c index 1f9f0d942c1a..a324fadb4e11 100644 --- a/drivers/usb/typec/ucsi/ucsi_glink.c +++ b/drivers/usb/typec/ucsi/ucsi_glink.c @@ -16,10 +16,10 @@ =20 #define PMIC_GLINK_MAX_PORTS 3 =20 -#define UCSI_BUF_SIZE 48 +#define UCSI_BUF_V1_SIZE (UCSI_MESSAGE_OUT + (UCSI_MESSAGE_OUT - UCSI_MES= SAGE_IN)) +#define UCSI_BUF_V2_SIZE (UCSIv2_MESSAGE_OUT + (UCSIv2_MESSAGE_OUT - UCSI= _MESSAGE_IN)) =20 #define MSG_TYPE_REQ_RESP 1 -#define UCSI_BUF_SIZE 48 =20 #define UC_NOTIFY_RECEIVER_UCSI 0x0 #define UC_UCSI_READ_BUF_REQ 0x11 @@ -32,13 +32,19 @@ struct ucsi_read_buf_req_msg { =20 struct __packed ucsi_read_buf_resp_msg { struct pmic_glink_hdr hdr; - u8 buf[UCSI_BUF_SIZE]; + union { + u8 v2_buf[UCSI_BUF_V2_SIZE]; + u8 v1_buf[UCSI_BUF_V1_SIZE]; + } buf; u32 ret_code; }; =20 struct __packed ucsi_write_buf_req_msg { struct pmic_glink_hdr hdr; - u8 buf[UCSI_BUF_SIZE]; + union { + u8 v2_buf[UCSI_BUF_V2_SIZE]; + u8 v1_buf[UCSI_BUF_V1_SIZE]; + } buf; u32 reserved; }; =20 @@ -72,7 +78,7 @@ struct pmic_glink_ucsi { bool ucsi_registered; bool pd_running; =20 - u8 read_buf[UCSI_BUF_SIZE]; + u8 read_buf[UCSI_BUF_V2_SIZE]; }; =20 static int pmic_glink_ucsi_read(struct ucsi *__ucsi, unsigned int offset, @@ -132,17 +138,35 @@ static int pmic_glink_ucsi_locked_write(struct pmic_g= link_ucsi *ucsi, unsigned i const void *val, size_t val_len) { struct ucsi_write_buf_req_msg req =3D {}; + size_t req_len, buf_len; unsigned long left; int ret; + u8 *buf; =20 req.hdr.owner =3D PMIC_GLINK_OWNER_USBC; req.hdr.type =3D MSG_TYPE_REQ_RESP; req.hdr.opcode =3D UC_UCSI_WRITE_BUF_REQ; - memcpy(&req.buf[offset], val, val_len); + + if (ucsi->ucsi->version >=3D UCSI_VERSION_2_0) { + buf_len =3D UCSI_BUF_V2_SIZE; + buf =3D req.buf.v2_buf; + } else if (ucsi->ucsi->version) { + buf_len =3D UCSI_BUF_V1_SIZE; + buf =3D req.buf.v1_buf; + } else { + dev_err(ucsi->dev, "UCSI version unknown\n"); + return -EINVAL; + } + req_len =3D sizeof(struct pmic_glink_hdr) + buf_len + sizeof(u32); + + if (offset + val_len > buf_len) + return -EINVAL; + + memcpy(&buf[offset], val, val_len); =20 reinit_completion(&ucsi->write_ack); =20 - ret =3D pmic_glink_send(ucsi->client, &req, sizeof(req)); + ret =3D pmic_glink_send(ucsi->client, &req, req_len); if (ret < 0) { dev_err(ucsi->dev, "failed to send UCSI write request: %d\n", ret); return ret; @@ -216,12 +240,44 @@ static const struct ucsi_operations pmic_glink_ucsi_o= ps =3D { =20 static void pmic_glink_ucsi_read_ack(struct pmic_glink_ucsi *ucsi, const v= oid *data, int len) { - const struct ucsi_read_buf_resp_msg *resp =3D data; + u32 ret_code, resp_len, buf_len =3D 0; + u8 *buf; + + if (ucsi->ucsi->version) { + if (ucsi->ucsi->version >=3D UCSI_VERSION_2_0) { + buf =3D ((struct ucsi_read_buf_resp_msg *)data)->buf.v2_buf; + buf_len =3D UCSI_BUF_V2_SIZE; + } else { + buf =3D ((struct ucsi_read_buf_resp_msg *)data)->buf.v1_buf; + buf_len =3D UCSI_BUF_V1_SIZE; + } + } else if (!ucsi->ucsi_registered) { + /* + * If UCSI version is not known yet because device is not registered, ch= oose buffer + * size which best fits incoming data + */ + if (len > sizeof(struct pmic_glink_hdr) + UCSI_BUF_V2_SIZE) { + buf =3D ((struct ucsi_read_buf_resp_msg *)data)->buf.v2_buf; + buf_len =3D UCSI_BUF_V2_SIZE; + } else { + buf =3D ((struct ucsi_read_buf_resp_msg *)data)->buf.v1_buf; + buf_len =3D UCSI_BUF_V1_SIZE; + } + } + resp_len =3D sizeof(struct pmic_glink_hdr) + buf_len + sizeof(u32); =20 - if (resp->ret_code) + if (len > resp_len) + return; + + /* Ensure that buffer_len leaves space for ret_code to be read back from = memory */ + if (buf_len > len - sizeof(struct pmic_glink_hdr) - sizeof(u32)) + buf_len =3D len - sizeof(struct pmic_glink_hdr) - sizeof(u32); + + memcpy(&ret_code, buf + buf_len, sizeof(u32)); + if (ret_code) return; =20 - memcpy(ucsi->read_buf, resp->buf, UCSI_BUF_SIZE); + memcpy(ucsi->read_buf, buf, buf_len); complete(&ucsi->read_ack); } =20 --=20 2.34.1