Hi all,
I managed to make the busybox shell appear on the LCD. I changed the frame
buffer allocation method :
from (method 1)
fb->fb.screen_base = dma_alloc_writecombine(&pdev->dev, framesize,
&fbpaddr, GFP_KERNEL);
to (method 2)
fb->fb.screen_base = alloc_pages_exact(framesize, GFP_KERNEL |
__GFP_ZERO);
fbpaddr = virt_to_phys(fb->fb.screen_base);
framesize = PAGE_ALIGN(framesize);
When the texts scroll up, it's somewhat bleared. like bit lines are not drawn
hurridly..When the scroll is slow, it maintains the character form. Of course
when it's not moving everything is clean..
After the first 'enter' key, it stops. At this state, interrupt masks are all
on.(all interrupts blocked)
I have some questions.
Q1 : what's the difference of method 1 and 2? I understand in method 1, it
tells the kernel that 'this region is for using DMA. so don't use cache.' and
method 2 is telling 'just allocate this page aligned region'. Having written
it, I reallize the new frame buffer area is using cache. That's maybe causing
the blur. Anybody who can clear things a bit more? using method 1, the page
fault handler fails.(probably due to not being able to expand stack?? I'm not
sure what it's doing in do_sparc_fault function.)
Q2 : After the 'enter a key to activate this console' message, when I (first
time very excitedly..) enter the Enter key, it stops. The interrupts are all
masked. In what case does linux masks all the interupts? I had similar
experience twice before (when there was cpu read/write timing error for a chip,
and after dma_alloc_writecombine). This time it seems it's related to
poke_blanked_console function..
Any hint will be deeply appreciated.
Thanks,
Chan
_______________________________________________
Kernelnewbies mailing list
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies