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);
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 Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies