2009-03-17 20:56:48

by Krzysztof Helt

[permalink] [raw]
Subject: [PATCH] fb: hide hardware cursor in graphics mode (Mach64)

From: Krzysztof Helt <[email protected]>

A hardware cursor is left enabled in
the fb_set_par() which is called when
a new console is created. This is
inconsistent with software cursor's
behaviour.

Also, this makes a hardware cursor
always visible in the Xfbdev
(Xorg kdrive) server.

Signed-off-by: Krzysztof Helt <[email protected]>
CC: Risto Suominen
---
Finally, I acquired a Mach64GZ card and was able to
solve this puzzle.

Risto, please test the patch.

drivers/video/aty/mach64_accel.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/video/aty/mach64_accel.c b/drivers/video/aty/mach64_accel.c
index a8f60c3..0cc9724 100644
--- a/drivers/video/aty/mach64_accel.c
+++ b/drivers/video/aty/mach64_accel.c
@@ -39,7 +39,8 @@ void aty_reset_engine(const struct atyfb_par *par)
{
/* reset engine */
aty_st_le32(GEN_TEST_CNTL,
- aty_ld_le32(GEN_TEST_CNTL, par) & ~GUI_ENGINE_ENABLE, par);
+ aty_ld_le32(GEN_TEST_CNTL, par) &
+ ~(GUI_ENGINE_ENABLE | HWCURSOR_ENABLE), par);
/* enable engine */
aty_st_le32(GEN_TEST_CNTL,
aty_ld_le32(GEN_TEST_CNTL, par) | GUI_ENGINE_ENABLE, par);
--
1.5.2.2


----------------------------------------------------------------------
Szukasz pieniedzy? Wez podw?jny limit zad?u?enia w koncie direct.
>> http://link.interia.pl/f20a3


2009-03-21 22:01:22

by Risto Suominen

[permalink] [raw]
Subject: Re: [PATCH] fb: hide hardware cursor in graphics mode (Mach64)

From: Krzysztof Helt <[email protected]>

A hardware cursor is left enabled in
the fb_set_par() which is called when
a new console is created. This is
inconsistent with software cursor's
behaviour.

Also, this makes a hardware cursor
always visible in the Xfbdev
(Xorg kdrive) server.

Signed-off-by: Krzysztof Helt <[email protected]>
Tested-by: Risto Suominen <[email protected]>
---
Well done, Krzysztof. It solves the problem on my three computers
using the mach64 chip: PowerMac 5500, PowerMac G3 Beige, and a PC with
Mach64 GZ card.

drivers/video/aty/mach64_accel.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/video/aty/mach64_accel.c b/drivers/video/aty/mach64_accel.c
index a8f60c3..0cc9724 100644
--- a/drivers/video/aty/mach64_accel.c
+++ b/drivers/video/aty/mach64_accel.c
@@ -39,7 +39,8 @@ void aty_reset_engine(const struct atyfb_par *par)
{
/* reset engine */
aty_st_le32(GEN_TEST_CNTL,
- aty_ld_le32(GEN_TEST_CNTL, par) & ~GUI_ENGINE_ENABLE, par);
+ aty_ld_le32(GEN_TEST_CNTL, par) &
+ ~(GUI_ENGINE_ENABLE | HWCURSOR_ENABLE), par);
/* enable engine */
aty_st_le32(GEN_TEST_CNTL,
aty_ld_le32(GEN_TEST_CNTL, par) | GUI_ENGINE_ENABLE, par);
--
1.5.2.2