2015-11-04 04:07:36

by Jassi Brar

[permalink] [raw]
Subject: [PATCH] mailbox: mailbox-test: avoid reading iomem twice

From: Jassi Brar <[email protected]>

Don't pass mmio region as source to print_hex_dump() and then
again to memcpy_fromio(). Do it once and give print_hex_dump()
the buffer we just read the data in.

Signed-off-by: Jassi Brar <[email protected]>
---
drivers/mailbox/mailbox-test.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/mailbox/mailbox-test.c b/drivers/mailbox/mailbox-test.c
index f82dc89..684ae17 100644
--- a/drivers/mailbox/mailbox-test.c
+++ b/drivers/mailbox/mailbox-test.c
@@ -221,11 +221,10 @@ static void mbox_test_receive_message(struct mbox_client *client, void *message)

spin_lock_irqsave(&tdev->lock, flags);
if (tdev->mmio) {
+ memcpy_fromio(tdev->rx_buffer, tdev->mmio, MBOX_MAX_MSG_LEN);
print_hex_dump(KERN_INFO, "Client: Received [MMIO]: ",
DUMP_PREFIX_ADDRESS, MBOX_BYTES_PER_LINE, 1,
- __io_virt(tdev->mmio), MBOX_MAX_MSG_LEN, true);
- memcpy_fromio(tdev->rx_buffer, tdev->mmio, MBOX_MAX_MSG_LEN);
-
+ tdev->rx_buffer, MBOX_MAX_MSG_LEN, true);
} else if (message) {
print_hex_dump(KERN_INFO, "Client: Received [API]: ",
DUMP_PREFIX_ADDRESS, MBOX_BYTES_PER_LINE, 1,
--
1.9.1


2015-11-04 08:16:58

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH] mailbox: mailbox-test: avoid reading iomem twice

On Wed, 04 Nov 2015, [email protected] wrote:

> From: Jassi Brar <[email protected]>
>
> Don't pass mmio region as source to print_hex_dump() and then
> again to memcpy_fromio(). Do it once and give print_hex_dump()
> the buffer we just read the data in.
>
> Signed-off-by: Jassi Brar <[email protected]>
> ---
> drivers/mailbox/mailbox-test.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)

Nice fix Jassi.

Acked-by: Lee Jones <[email protected]>

> diff --git a/drivers/mailbox/mailbox-test.c b/drivers/mailbox/mailbox-test.c
> index f82dc89..684ae17 100644
> --- a/drivers/mailbox/mailbox-test.c
> +++ b/drivers/mailbox/mailbox-test.c
> @@ -221,11 +221,10 @@ static void mbox_test_receive_message(struct mbox_client *client, void *message)
>
> spin_lock_irqsave(&tdev->lock, flags);
> if (tdev->mmio) {
> + memcpy_fromio(tdev->rx_buffer, tdev->mmio, MBOX_MAX_MSG_LEN);
> print_hex_dump(KERN_INFO, "Client: Received [MMIO]: ",
> DUMP_PREFIX_ADDRESS, MBOX_BYTES_PER_LINE, 1,
> - __io_virt(tdev->mmio), MBOX_MAX_MSG_LEN, true);
> - memcpy_fromio(tdev->rx_buffer, tdev->mmio, MBOX_MAX_MSG_LEN);
> -
> + tdev->rx_buffer, MBOX_MAX_MSG_LEN, true);
> } else if (message) {
> print_hex_dump(KERN_INFO, "Client: Received [API]: ",
> DUMP_PREFIX_ADDRESS, MBOX_BYTES_PER_LINE, 1,

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog