From: Ondrej Zary <linux@rainbow-software.org>
To: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>,
linux-fbdev@vger.kernel.org,
Kernel development list <linux-kernel@vger.kernel.org>
Subject: [PATCH 1/4] [resend #2] tridentfb: fix hang on Blade3D with CONFIG_CC_OPTIMIZE_FOR_SIZE
Date: Mon, 24 Aug 2015 19:37:25 +0000 [thread overview]
Message-ID: <1440445048-24694-1-git-send-email-linux@rainbow-software.org> (raw)
When the kernel is compiled with -Os (CONFIG_CC_OPTIMIZE_FOR_SIZE), tridentfb
hangs the machine upon load with Blade3D cards unless acceleration is disabled.
This is caused by memcpy() which copies data byte-by-byte (rep movsb) when
compiled with -Os. The card does not like that - it requires 32-bit access.
Use iowrite_32() instead.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
---
drivers/video/fbdev/tridentfb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/tridentfb.c b/drivers/video/fbdev/tridentfb.c
index 7ed9a22..7429713 100644
--- a/drivers/video/fbdev/tridentfb.c
+++ b/drivers/video/fbdev/tridentfb.c
@@ -226,7 +226,7 @@ static void blade_image_blit(struct tridentfb_par *par, const char *data,
writemmr(par, DST1, point(x, y));
writemmr(par, DST2, point(x + w - 1, y + h - 1));
- memcpy(par->io_virt + 0x10000, data, 4 * size);
+ iowrite32_rep(par->io_virt + 0x10000, data, size);
}
static void blade_copy_rect(struct tridentfb_par *par,
--
Ondrej Zary
WARNING: multiple messages have this Message-ID (diff)
From: Ondrej Zary <linux@rainbow-software.org>
To: Krzysztof Helt <krzysztof.h1@wp.pl>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>,
linux-fbdev@vger.kernel.org,
Kernel development list <linux-kernel@vger.kernel.org>
Subject: [PATCH 1/4] [resend #2] tridentfb: fix hang on Blade3D with CONFIG_CC_OPTIMIZE_FOR_SIZE
Date: Mon, 24 Aug 2015 21:37:25 +0200 [thread overview]
Message-ID: <1440445048-24694-1-git-send-email-linux@rainbow-software.org> (raw)
When the kernel is compiled with -Os (CONFIG_CC_OPTIMIZE_FOR_SIZE), tridentfb
hangs the machine upon load with Blade3D cards unless acceleration is disabled.
This is caused by memcpy() which copies data byte-by-byte (rep movsb) when
compiled with -Os. The card does not like that - it requires 32-bit access.
Use iowrite_32() instead.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>
---
drivers/video/fbdev/tridentfb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/tridentfb.c b/drivers/video/fbdev/tridentfb.c
index 7ed9a22..7429713 100644
--- a/drivers/video/fbdev/tridentfb.c
+++ b/drivers/video/fbdev/tridentfb.c
@@ -226,7 +226,7 @@ static void blade_image_blit(struct tridentfb_par *par, const char *data,
writemmr(par, DST1, point(x, y));
writemmr(par, DST2, point(x + w - 1, y + h - 1));
- memcpy(par->io_virt + 0x10000, data, 4 * size);
+ iowrite32_rep(par->io_virt + 0x10000, data, size);
}
static void blade_copy_rect(struct tridentfb_par *par,
--
Ondrej Zary
next reply other threads:[~2015-08-24 19:37 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-24 19:37 Ondrej Zary [this message]
2015-08-24 19:37 ` [PATCH 1/4] [resend #2] tridentfb: fix hang on Blade3D with CONFIG_CC_OPTIMIZE_FOR_SIZE Ondrej Zary
2015-08-24 19:37 ` [PATCH 2/4] [resend #2] tridentfb: Fix set_lwidth on TGUI9440 and CYBER9320 Ondrej Zary
2015-08-24 19:37 ` Ondrej Zary
2015-09-24 11:07 ` Tomi Valkeinen
2015-09-24 11:07 ` Tomi Valkeinen
2015-08-24 19:37 ` [PATCH 3/4] [resend #2] fb_ddc: Allow I2C adapters without SCL read capability Ondrej Zary
2015-08-24 19:37 ` Ondrej Zary
2015-09-02 11:33 ` Tomi Valkeinen
2015-09-02 11:33 ` Tomi Valkeinen
2015-09-02 12:04 ` Ondrej Zary
2015-09-02 12:04 ` Ondrej Zary
2015-09-24 11:04 ` Tomi Valkeinen
2015-09-24 11:04 ` Tomi Valkeinen
2015-08-24 19:37 ` [PATCH 4/4] [resend #2] tridentfb: Add DDC support Ondrej Zary
2015-08-24 19:37 ` Ondrej Zary
2015-09-02 11:30 ` Tomi Valkeinen
2015-09-02 11:30 ` Tomi Valkeinen
2015-09-02 12:04 ` Ondrej Zary
2015-09-02 12:04 ` Ondrej Zary
2015-09-24 11:00 ` Tomi Valkeinen
2015-09-24 11:00 ` Tomi Valkeinen
2015-09-24 11:06 ` [PATCH 1/4] [resend #2] tridentfb: fix hang on Blade3D with CONFIG_CC_OPTIMIZE_FOR_SIZE Tomi Valkeinen
2015-09-24 11:06 ` Tomi Valkeinen
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=1440445048-24694-1-git-send-email-linux@rainbow-software.org \
--to=linux@rainbow-software.org \
--cc=krzysztof.h1@wp.pl \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tomi.valkeinen@ti.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.