Hi Geert,
I guess it dies in register_framebuffer() - the next log entry is
missing:
fb_info(&fb_info, "frame buffer device, using %dK of video
memory\n",
screen_len >> 10);
And register_framebuffer() will write to the frame buffer, I think.
So info->screen_base may be incorrect.
Yep:
static void atafb_set_disp(struct fb_info *info)
{
atafb_get_var(&info->var, info);
atafb_get_fix(&info->fix, info);
info->screen_base = (void *)info->fix.smem_start;
}
Missing atari_stram_to_virt().
Should have had phys_to_virt() before I guess. Thanks.
Bingo!
Any other casts that indicate bugs? ;-)
Probably - I'll go over the source again. My port of atafb a few years
back was none too subtle.
Only a few more - in the external VGA adapter code, in the ioctl code
(copy tp/from user) and one in the atafb_imageblit() that I'm fairly
sure is dead code.
ARAnyM is happy - I'll have yet to see how this works on real hardware.
We might yet need a writethrough mapping for performance.
In the interest of minimizing casts, I'll rewrite the virt/phys
translation helpers and clean up the rest of the code a bit more. Saves
a bit of headache when I need to revisit this code in another decade or
so :-)
Thanks again for your help in tracking this down.
Cheers,
Michael
--
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