Message ID | 20240520112724.139945-1-angelogioacchino.delregno@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | remoteproc: mediatek: Zero out only remaining bytes of IPI buffer | expand |
On 5/20/2024 4:57 PM, AngeloGioacchino Del Regno wrote: > In scp_ipi_handler(), instead of zeroing out the entire shared > buffer, which may be as large as 600 bytes, overwrite it with the > received data, then zero out only the remaining bytes. > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > --- > drivers/remoteproc/mtk_scp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/remoteproc/mtk_scp.c b/drivers/remoteproc/mtk_scp.c > index e5214d43181e..dc70cf7db44d 100644 > --- a/drivers/remoteproc/mtk_scp.c > +++ b/drivers/remoteproc/mtk_scp.c > @@ -117,8 +117,8 @@ static void scp_ipi_handler(struct mtk_scp *scp) > return; > } > > - memset(scp->share_buf, 0, scp_sizes->ipi_share_buffer_size); > memcpy_fromio(scp->share_buf, &rcv_obj->share_buf, len); > + memset(&scp->share_buf[len], 0, scp_sizes->ipi_share_buffer_size - len); Although, it does not make any difference apart from a write of len bytes, still a good improvement to do .. Acked-by: Mukesh Ojha <quic_mojha@quicinc.com> -Mukesh > handler(scp->share_buf, len, ipi_desc[id].priv); > scp_ipi_unlock(scp, id); >
On Mon, May 20, 2024 at 01:27:24PM +0200, AngeloGioacchino Del Regno wrote: > In scp_ipi_handler(), instead of zeroing out the entire shared > buffer, which may be as large as 600 bytes, overwrite it with the > received data, then zero out only the remaining bytes. > > Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> > --- > drivers/remoteproc/mtk_scp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/remoteproc/mtk_scp.c b/drivers/remoteproc/mtk_scp.c > index e5214d43181e..dc70cf7db44d 100644 > --- a/drivers/remoteproc/mtk_scp.c > +++ b/drivers/remoteproc/mtk_scp.c > @@ -117,8 +117,8 @@ static void scp_ipi_handler(struct mtk_scp *scp) > return; > } > > - memset(scp->share_buf, 0, scp_sizes->ipi_share_buffer_size); > memcpy_fromio(scp->share_buf, &rcv_obj->share_buf, len); > + memset(&scp->share_buf[len], 0, scp_sizes->ipi_share_buffer_size - len); I will apply this patch when rc1 comes out next week. Thanks, Mathieu > handler(scp->share_buf, len, ipi_desc[id].priv); > scp_ipi_unlock(scp, id); > > -- > 2.45.1 >
diff --git a/drivers/remoteproc/mtk_scp.c b/drivers/remoteproc/mtk_scp.c index e5214d43181e..dc70cf7db44d 100644 --- a/drivers/remoteproc/mtk_scp.c +++ b/drivers/remoteproc/mtk_scp.c @@ -117,8 +117,8 @@ static void scp_ipi_handler(struct mtk_scp *scp) return; } - memset(scp->share_buf, 0, scp_sizes->ipi_share_buffer_size); memcpy_fromio(scp->share_buf, &rcv_obj->share_buf, len); + memset(&scp->share_buf[len], 0, scp_sizes->ipi_share_buffer_size - len); handler(scp->share_buf, len, ipi_desc[id].priv); scp_ipi_unlock(scp, id);
In scp_ipi_handler(), instead of zeroing out the entire shared buffer, which may be as large as 600 bytes, overwrite it with the received data, then zero out only the remaining bytes. Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> --- drivers/remoteproc/mtk_scp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)