From: Michael Tretter <m.tretter@pengutronix.de>
To: John Keeping <jkeeping@inmusicbrands.com>
Cc: linux-media@vger.kernel.org, Jacob Chen <jacob-chen@iotwrt.com>,
Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
linux-rockchip@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, kernel@pengutronix.de
Subject: Re: [PATCH] media: rockchip: rga: fix offset lookup
Date: Fri, 9 Aug 2024 16:31:43 +0200 [thread overview]
Message-ID: <ZrYoT7HmTc7OT2Y4@pengutronix.de> (raw)
In-Reply-To: <20240806094842.248775-1-jkeeping@inmusicbrands.com>
Hi John,
On Tue, 06 Aug 2024 10:48:41 +0100, John Keeping wrote:
> The rot_mir_point_matrix is arranged with the rotation values in rows
> and mirror settings in the columns. Fix the order of indexing to match
> this so that the correct values are used.
The table and indexing is correct. The rows (second index) contain the
mirror modes and the columns (first index) contain the rotation modes,
and the table and the indexing are correct. If you read the columns, the
corner moves clockwise, but if you read the rows, the corner moves in a
z or s form, indicating that these are the mirror modes.
It's probably worth documenting, how the table works.
However, there is a mixup of the arguments between the call to
rga_lookup_draw_pos() and the use in the function.
The function definition is
static struct rga_addr_offset *
rga_lookup_draw_pos(struct rga_corners_addr_offset * offsets,
u32 rotate_mode, u32 mirr_mode)
but it is called as
rga_lookup_draw_pos(&offsets, mir_mode, rot_mode);
I think, fixing the order of the arguments in the function call is the
correct fix to your observed bug.
Michael
>
> Signed-off-by: John Keeping <jkeeping@inmusicbrands.com>
> ---
> drivers/media/platform/rockchip/rga/rga-hw.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/rockchip/rga/rga-hw.c b/drivers/media/platform/rockchip/rga/rga-hw.c
> index 11c3d72347572..b7d51ddb10fa4 100644
> --- a/drivers/media/platform/rockchip/rga/rga-hw.c
> +++ b/drivers/media/platform/rockchip/rga/rga-hw.c
> @@ -97,7 +97,7 @@ static struct rga_addr_offset *rga_lookup_draw_pos(struct
> if (!offsets)
> return NULL;
>
> - switch (rot_mir_point_matrix[rotate_mode][mirr_mode]) {
> + switch (rot_mir_point_matrix[mirr_mode][rotate_mode]) {
> case LT:
> return &offsets->left_top;
> case LB:
> --
> 2.45.2
>
>
>
next prev parent reply other threads:[~2024-08-09 14:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-06 9:48 [PATCH] media: rockchip: rga: fix offset lookup John Keeping
2024-08-09 8:45 ` Hans Verkuil
2024-08-09 14:31 ` Michael Tretter [this message]
2024-08-10 13:00 ` John Keeping
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZrYoT7HmTc7OT2Y4@pengutronix.de \
--to=m.tretter@pengutronix.de \
--cc=ezequiel@vanguardiasur.com.ar \
--cc=heiko@sntech.de \
--cc=jacob-chen@iotwrt.com \
--cc=jkeeping@inmusicbrands.com \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=mchehab@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox