Re: Atafb failed to detect the video mode on ARAnyM after kexec

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Geert,

On Fri, Sep 13, 2013 at 9:34 AM, Geert Uytterhoeven
<geert@xxxxxxxxxxxxxx> wrote:
When doing a kexec (WIP) on ARAnyM while the screen was blanked, the
kexec'd kernel failed to initialize atafb. If the screen isn't
blanked, it works fine.

Difference between success and failure is:

 atafb_init: start
 atafb_init: initializing Falcon hw
-atafb: screen_base 0068c000 real_screen_base 0068c000 screen_len 311296
-Determined 640x480, depth 4
-   virtual 640x972
-Console: switching to colour frame buffer device 80x30
-fb0: frame buffer device, using 304K of video memory
+atafb: screen_base 0068c000 real_screen_base 0068c000 screen_len 4096

That's odd - the screen size has been lost completely.

falcon_blank() clears several videl registers, while falcon_detect()
reads them to detect the current video mode.

I suppose we can't just leave the cleared registers loaded when kexec
support is compiled in, and effect screen blanking in another way
(color map)?

Can the screen be blanked/unblanked from user space (fbset)?

Cheers,

  Michael



On Wed, Sep 18, 2013 at 1:36 PM, Geert Uytterhoeven
<geert@xxxxxxxxxxxxxx> wrote:
On Wed, Sep 18, 2013 at 10:50 AM, Michael Schmitz <schmitzmic@xxxxxxxxx> wrote:
On Fri, Sep 13, 2013 at 9:34 AM, Geert Uytterhoeven
<geert@xxxxxxxxxxxxxx> wrote:
When doing a kexec (WIP) on ARAnyM while the screen was blanked, the
kexec'd kernel failed to initialize atafb. If the screen isn't
blanked, it works fine.

Difference between success and failure is:

 atafb_init: start
 atafb_init: initializing Falcon hw
-atafb: screen_base 0068c000 real_screen_base 0068c000 screen_len 311296
-Determined 640x480, depth 4
-   virtual 640x972
-Console: switching to colour frame buffer device 80x30
-fb0: frame buffer device, using 304K of video memory
+atafb: screen_base 0068c000 real_screen_base 0068c000 screen_len 4096

That's odd - the screen size has been lost completely.

falcon_blank() clears several videl registers, while falcon_detect()
reads them to detect the current video mode.

I guess atafb should unblank on shutdown to restore the videl registers, so it
will detect the correct video mode on re-initialization?

That might be the best option (and would be helpful anyway).

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux