Finally got busybox shell on LCD but keyboard stalls..

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

 




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

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux