Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3014085pxv; Mon, 12 Jul 2021 07:19:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwXWrRSIXopz51nX/Xka1TzPbksgyDyOFBvgUKD1X9T+PDBEs+fNsqHn6lYmSjVOaw753bi X-Received: by 2002:a5d:8b85:: with SMTP id p5mr38784591iol.43.1626099594665; Mon, 12 Jul 2021 07:19:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626099594; cv=none; d=google.com; s=arc-20160816; b=bjS0hVEC89NGfeuDyrTeizKocskbe7lNtIEAIE9n2kiWDDc5diuM0kozOFP3ScuB3h Jdfe+FKLy3sEzDOdru3z5M0mDizaskUvVmV63xP4RIDeiYI6NfFQgfOr0D8esa3kvW/O f7ErTRd5KrRQxkddNua0i/n7u8iFngAlV+ucH0QTmGnKQlomuiiwF32nHAnWJbpNjxH4 XYIYrr4qLgkEV7FRPSGenL9mQi2o/HRtP4jMKeg+g4a3rFfDU412TMO8NaAoImg8Sn7J kI2ienofinUQLr6+tGqwcgalrwjm0YquAOJgNMthfZzFVEakC3XynZ3oyFaJ+c4WhuYP 4Ofg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=HvSVNHh4ZU+6IGX5BagxMVGJPKgrleJWZDqevVIyXwc=; b=z4nEeWVw3IqW4ybYVYvMKayO7Y5CkYlj2XU8K4UexXoraVxaA5PW1ELHbvMODVL/wG ukk2c3eUFSrnxS7UGzbSHpXc/riC/iuwU8AqZ9d3Vxh+aSYF6mHQ4qRHZsChe7WJqQJc m/2sFNSBMiQMZ1BlGOOx/avvYqdCW1uTRiwg2cyZyd0g82f+0CxqU/yNwDW4MFe05i4k EBBiK7hjCZN2YETcK91nLPMhs0IqDoMACaeDqvE8Gnp08pKjtYh/GUhGzwXh5Z4BzXoP JjTYQlOzfW5g/4d48iEEbGedsldzjmOKZ7WilpDSDrX5hrndArUjAcXdFOotuKDsAPzc wDHg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n12si16979624ilq.134.2021.07.12.07.19.41; Mon, 12 Jul 2021 07:19:54 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234869AbhGLOVt (ORCPT + 99 others); Mon, 12 Jul 2021 10:21:49 -0400 Received: from foss.arm.com ([217.140.110.172]:55836 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234816AbhGLOVt (ORCPT ); Mon, 12 Jul 2021 10:21:49 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 820F931B; Mon, 12 Jul 2021 07:19:00 -0700 (PDT) Received: from e120937-lin.home (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2F5853F774; Mon, 12 Jul 2021 07:18:57 -0700 (PDT) From: Cristian Marussi To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, virtualization@lists.linux-foundation.org, virtio-dev@lists.oasis-open.org Cc: sudeep.holla@arm.com, james.quinlan@broadcom.com, Jonathan.Cameron@Huawei.com, f.fainelli@gmail.com, etienne.carriere@linaro.org, vincent.guittot@linaro.org, souvik.chakravarty@arm.com, cristian.marussi@arm.com, igor.skalkin@opensynergy.com, peter.hilber@opensynergy.com, alex.bennee@linaro.org, jean-philippe@linaro.org, mikhail.golubev@opensynergy.com, anton.yakovlev@opensynergy.com, Vasyl.Vavrychuk@opensynergy.com, Andriy.Tryshnivskyy@opensynergy.com Subject: [PATCH v6 01/17] firmware: arm_scmi: Avoid padding in sensor message structure Date: Mon, 12 Jul 2021 15:18:17 +0100 Message-Id: <20210712141833.6628-2-cristian.marussi@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210712141833.6628-1-cristian.marussi@arm.com> References: <20210712141833.6628-1-cristian.marussi@arm.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Structure scmi_resp_sensor_reading_complete is meant to represent an SCMI asynchronous reading complete message: representing the readings field with a 64bit type forces padding and breaks reads in scmi_sensor_reading_get. Split it in two adjacent 32bit readings_low/high subfields to avoid padding or the need to make it packed. Fixes: e2083d3673916 ("firmware: arm_scmi: Add SCMI v3.0 sensors timestamped reads") Signed-off-by: Cristian Marussi --- drivers/firmware/arm_scmi/sensors.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/arm_scmi/sensors.c b/drivers/firmware/arm_scmi/sensors.c index 2c88aa221559..308471586381 100644 --- a/drivers/firmware/arm_scmi/sensors.c +++ b/drivers/firmware/arm_scmi/sensors.c @@ -166,7 +166,8 @@ struct scmi_msg_sensor_reading_get { struct scmi_resp_sensor_reading_complete { __le32 id; - __le64 readings; + __le32 readings_low; + __le32 readings_high; }; struct scmi_sensor_reading_resp { @@ -717,7 +718,8 @@ static int scmi_sensor_reading_get(const struct scmi_protocol_handle *ph, resp = t->rx.buf; if (le32_to_cpu(resp->id) == sensor_id) - *value = get_unaligned_le64(&resp->readings); + *value = + get_unaligned_le64(&resp->readings_low); else ret = -EPROTO; } -- 2.17.1