Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1395006ybz; Thu, 16 Apr 2020 08:25:19 -0700 (PDT) X-Google-Smtp-Source: APiQypLRJXh722ogz0wqJsuSmyERDmWIxuzTxEIRvcSlFeWA/1dF1ah5/U3FeZJ+F0/8dcb5Gd74 X-Received: by 2002:a05:6402:1496:: with SMTP id e22mr20312698edv.301.1587050719739; Thu, 16 Apr 2020 08:25:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587050719; cv=none; d=google.com; s=arc-20160816; b=zjY1ZthmAhN5Ru2KpRkR6CsbE0WmAMm8aFfu544LZEx4XBM8mhgCUPH16LRJFCvK/L CTPIafQBhxz9JbTrTf7rCvny4FfagN7dVPKX50g/GlNym4/XeQJF3JyzByQW0trhuk2O QVscMRo3WC7GD5qpJv7K3YG3HBhemJrUChogUca7hvdfi9b7VvvTOiGtS27HLhNGB1Y3 YSj7oYMSBnyLFR4qCDRcdT4esnr5a+wmMDrlGdb16SRnq4hVbkVKfXTGNj/Cdj5UaAcM kdo39ScKft42HrK7eGtTmN6PN9oUQw5u4i3EKPzL0FwyZj/PIcceCYmKO6NZxzEpCaF9 d+nQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=8NY6OoI984GFizh+kkZ5jAj3hnly4nFxm8o9f1TxCYY=; b=GIQ8V+jCal13D017ntscEC3Xbb+e4qneXqfeXvGXUcPwtsB/Je3d5jAffq5NkCXzKm RXjoDQ5wHm5mPChMq5xwE/K39bf2QnbwPX5K3Y2wk0TCDgR5lYi8olB56Vop/PDAmFPl xK0b8SmLbpu+8vNUE6OyunOZTbf0LJII08Bj09EpZKKO4Cn29CEc4XAx89OOGMW26INz FhyKxkh37idoAwPOLm+OAuqDh+x3HPkpbqy3j9IXs/abpAK3Tu33h44EZegYwXo35v+2 X0d6yjuKKbAZgTJgLNEOFn7prwvNWaDk0sNCed4z+/eBAVfz7ypeaP6F5Skys9ngMVVl 8loA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=CGncjACT; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a9si12088086edk.466.2020.04.16.08.24.50; Thu, 16 Apr 2020 08:25:19 -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; dkim=pass header.i=@kernel.org header.s=default header.b=CGncjACT; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2405666AbgDPPVr (ORCPT + 99 others); Thu, 16 Apr 2020 11:21:47 -0400 Received: from mail.kernel.org ([198.145.29.99]:60740 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2898606AbgDPNqh (ORCPT ); Thu, 16 Apr 2020 09:46:37 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 43784208E4; Thu, 16 Apr 2020 13:46:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587044796; bh=W2NX7RUrjeSGIxVbUNcuOSZnXLYhBIfIG0GMm8GFxD4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CGncjACT2BLWQWusMJ66/omnKwDE3tSKZPK6VjtaCG6zySy1d48kizrxb53TQW0OU O9YB7TiBJFQNtooayTAPFdKeIT+SQgNyI7BA7HBmVQ40h3Ka8ScumGOqUQhEnJVjg2 JYgG31+ofFN7uoRNV+4Hlvu9NYF2k6ShizC46Fgc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Andrzej Pietrasiewicz , Ezequiel Garcia , Hans Verkuil , Mauro Carvalho Chehab Subject: [PATCH 5.4 088/232] media: hantro: Read be32 words starting at every fourth byte Date: Thu, 16 Apr 2020 15:23:02 +0200 Message-Id: <20200416131326.002278291@linuxfoundation.org> X-Mailer: git-send-email 2.26.1 In-Reply-To: <20200416131316.640996080@linuxfoundation.org> References: <20200416131316.640996080@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andrzej Pietrasiewicz commit e34bca49e4953e5c2afc0425303199a5fd515f82 upstream. Since (luma/chroma)_qtable is an array of unsigned char, indexing it returns consecutive byte locations, but we are supposed to read the arrays in four-byte words. Consequently, we should be pointing get_unaligned_be32() at consecutive word locations instead. Signed-off-by: Andrzej Pietrasiewicz Reviewed-by: Ezequiel Garcia Tested-by: Ezequiel Garcia Cc: stable@vger.kernel.org Fixes: 00c30f42c7595f "media: rockchip vpu: remove some unused vars" Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Greg Kroah-Hartman --- drivers/staging/media/hantro/hantro_h1_jpeg_enc.c | 9 +++++++-- drivers/staging/media/hantro/rk3399_vpu_hw_jpeg_enc.c | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) --- a/drivers/staging/media/hantro/hantro_h1_jpeg_enc.c +++ b/drivers/staging/media/hantro/hantro_h1_jpeg_enc.c @@ -67,12 +67,17 @@ hantro_h1_jpeg_enc_set_qtable(struct han unsigned char *chroma_qtable) { u32 reg, i; + __be32 *luma_qtable_p; + __be32 *chroma_qtable_p; + + luma_qtable_p = (__be32 *)luma_qtable; + chroma_qtable_p = (__be32 *)chroma_qtable; for (i = 0; i < H1_JPEG_QUANT_TABLE_COUNT; i++) { - reg = get_unaligned_be32(&luma_qtable[i]); + reg = get_unaligned_be32(&luma_qtable_p[i]); vepu_write_relaxed(vpu, reg, H1_REG_JPEG_LUMA_QUAT(i)); - reg = get_unaligned_be32(&chroma_qtable[i]); + reg = get_unaligned_be32(&chroma_qtable_p[i]); vepu_write_relaxed(vpu, reg, H1_REG_JPEG_CHROMA_QUAT(i)); } } --- a/drivers/staging/media/hantro/rk3399_vpu_hw_jpeg_enc.c +++ b/drivers/staging/media/hantro/rk3399_vpu_hw_jpeg_enc.c @@ -98,12 +98,17 @@ rk3399_vpu_jpeg_enc_set_qtable(struct ha unsigned char *chroma_qtable) { u32 reg, i; + __be32 *luma_qtable_p; + __be32 *chroma_qtable_p; + + luma_qtable_p = (__be32 *)luma_qtable; + chroma_qtable_p = (__be32 *)chroma_qtable; for (i = 0; i < VEPU_JPEG_QUANT_TABLE_COUNT; i++) { - reg = get_unaligned_be32(&luma_qtable[i]); + reg = get_unaligned_be32(&luma_qtable_p[i]); vepu_write_relaxed(vpu, reg, VEPU_REG_JPEG_LUMA_QUAT(i)); - reg = get_unaligned_be32(&chroma_qtable[i]); + reg = get_unaligned_be32(&chroma_qtable_p[i]); vepu_write_relaxed(vpu, reg, VEPU_REG_JPEG_CHROMA_QUAT(i)); } }