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

Reply via email to