LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: robert corley <rdcorle@yahoo.com>
To: "David H. Lynch Jr." <dhlii@dlasys.net>
Cc: linux linuxppc-embedded <linuxppc-embedded@ozlabs.org>
Subject: xapp902 with 2.6.17 -- uartlite IRQ  problems
Date: Thu, 26 Oct 2006 07:51:39 -0700 (PDT)	[thread overview]
Message-ID: <20061026145139.18900.qmail@web56302.mail.re3.yahoo.com> (raw)

(original msg below)=0A=0ADavid;=0A=0AThe RS232 interrupt is currently usin=
g IRQ #1.=0A=0AI did a couple of things to verify interrupt generation and =
servicing:=0A1.    Modified the uartlite isr to print a message every 128 i=
nterrupts (using the mod operator, etc.), and=0A2.    Modified the xilinx d=
esign to push three signals out the ports for examination via an o-scope:=
=0A    a.    the RS232 interrupt to the PIC,=0A    b.    the PIC interrupt =
to the PPC405, and=0A    c.    the RS232 xmit output=0A=0AOn startup, I see=
 a message from the uarlite ISR just once, as follows:=0A=0A---------------=
------------=0A[   66.063011] ulite_startup: irq 1 allocated (int. counter =
=3D 0), resetting buffers...=0A[   68.111531] ulite_startup: enabling inter=
rupts...=0A=0ABusyBox v1.00-pre9 (2004.04.18-19-[   69.386364] Int. counter=
 =3D 0=0A#=0A---------------------------=0A=0ABut no more after that...=0A=
=0AOddly enough, there weren't any interrupt signals from the PIC or UARTLI=
TE at any time.=0A=0AI will modify the isr to dump the PIC and UARTLITE reg=
isters.  In addition, I will monitor =0Athe uartlite memory registers using=
 XMD and see what I find.=0A=0AWhere is the code that enables the interrupt=
s on the Xilinx PIC?=0A=0A-cy=0A=0A----- Original Message ----=0AFrom: Davi=
d H. Lynch Jr. <dhlii@dlasys.net>=0ATo: robert corley <rdcorle@yahoo.com>=
=0ASent: Thursday, October 26, 2006 1:15:13 AM=0ASubject: Re: xapp902 with =
2.6.17 -- uartlite & ramdisk problems=0A=0Arobert corley wrote:=0A> David e=
t al;=0A>=0A> In my seemingly neverending effort to get linux up on the ML4=
03, I went the route David B. did and worked with the xapp902 reference des=
ing.  I have met with a little success and appeal for some assistance...=0A=
>=0A> 1.    The uart is dog slow.  I suspect it has to do with interrupts  =
(note the console dump below).  I see this line:=0A>=0A>     [    2.637345]=
 uartlite.0: ttyUL0 at MMIO 0xa0000000 (irq =3D =0A>=0A>     and I think th=
at the interrupt isn't properly registered with the PIC.  What do you think=
?=0A>=0A> 2.    Can you look below and comment on the ram disk size?  I am =
not sure what this value should be.  My ramdisk=0A>     image is 4658942 by=
tes.  I recall reading somewhere that the value for the initrd ram disk sho=
uld be about 10k larger =0A>     than the ramdisk size to allow for decompr=
ession.  The # of pages and page size is throwing me off.  Comments?=0A>=0A=
> -corley=0A>   =0A    I do not want to profess to be expert on the David B=
./Peter version =0Aof the UartLite driver. But I would guess UartLite inter=
rupts are not =0Aworking at all. What IRQ are you using ?=0A    If it is IR=
Q 0 it is possible that it is being ignored =3D I had to =0Ajigger the code=
 a bit because IRQ 0 is frequently used by Linux as no =0Airq, and on Xilin=
x (an possibly many ppc's) it is valid.=0A    I made irq -1 the invalid irq=
 and if you set the irq to -1 I use the =0Atimer.=0A=0A    Adding timer dri=
ver I/O was fairly trivial - I am trying to put =0Atogether a patch for Dav=
id B./Peter's driver that does that.=0A    The timer stuff is trivial. The =
problem is that Peters =0Atransmit/receive assume that they are only called=
 when it is safe to =0Asend/receive - normal if driven by interrupts.=0A=0A=
    But the advantage to polled serial ports is they pretty much always =0A=
work. I currently have some minor interrupt issues on my driver (of =0Acour=
se Peter's fails in the same way on my system), but=0A    I do not have to =
sweat it because  I can just ignore uartlite =0Ainterrupts and things work =
fine.=0A=0A    Peter claims to be getting 1M xfers, that is probably not fe=
asible  =0Awith polled IO.=0A=0A=0A   =0A=0A=0A>=0A>=0A>=0A> =3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D   console dump  =3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0A=
> [    0.000000] Linux version 2.6.17.1 (rdcorle@athena) (gcc version 3.4.2=
) #2 Mon Oct 23 17:58:11 UTC 2006                          =0A> [    0.0000=
00] Xilinx ML403 Reference System (Virtex-4 FX)                            =
                              =0A> [    0.000000] Built 1 zonelists        =
                        =0A> [    0.000000] Kernel command line: console=3D=
ttyUL0 single ip=3Doff root=3D/dev/ram rw =0A> [    0.000000] Xilinx INTC #=
0 at 0xD1000FC0 mapped to 0xFDFFFFC0                                       =
                         =0A> [    0.000000] PID hash table entries: 512 (o=
rder: 9, 2048 bytes)                                                       =
          =0A> [    0.000151] Console: colour dummy device 80x25           =
                                      =0A> [    0.000560] Dentry cache hash=
 table entries: 8192                                                    =0A=
> [    0.001271] Inode-cache hash table entries: 4096 (order: 2, 16384 byte=
s)                                                                         =
  =0A> [    0.013924] Memory: 58572k available (1348k kernel code, 344k dat=
a, 80k init, 0k highmem)            =0A> [    0.200435] Mount-cache hash ta=
ble entries: 512                                                  =0A> [   =
 0.203108] checking if image is initramfs...it isn't (no cpio magic); looks=
 like an initrd              =0A> [    2.504612] Freeing initrd memory: 454=
9k freed                                                 =0A> [    2.508719=
] NET: Registered protocol family 16                                       =
          =0A> [    2.518260] NET: Registered protocol family 2            =
                                    =0A> [    2.583989] IP route cache hash=
 table entries: 51                                                  =0A> [ =
   2.584467] TCP established hash table entries: 2048 (order: 3, 32768 byte=
s)                                                                         =
      =0A> [    2.584936] TCP bind hash table entries: 1024 (order: 2, 2048=
0 bytes)                                                                   =
     =0A> [    2.585222] TCP: Hash tables configured (established 2048 bind=
 1024)                                                                     =
  =0A> [    2.585257] TCP reno registered                                  =
=0A> [    2.591657] io scheduler noop registered                           =
                =0A> [    2.591817] io scheduler anticipatory registered (d=
efault)                                                             =0A> [ =
   2.591912] io scheduler deadline registered                              =
                 =0A> [    2.592049] io scheduler cfq registered           =
                               =0A> [    2.637345] uartlite.0: ttyUL0 at MM=
IO 0xa0000000 (irq =3D                                                     =
     =0A> [   40.942337] RAMDISK driver initialized: 16 RAM disks of 4096K =
size 1024 block size    =0A> [   42.944862] eth%d: XTemac using sgDMA mode.=
                                              =0A> [   44.072738] eth%d: XT=
emac buffer_descriptor_space: phy: 0xbb8000, virt: 0xff1 00000, size: 0x500=
0                   =0A> [   46.424830] eth0: Xilinx TEMAC #0 at 0x60000000=
 mapped to 0xC5008000, irq=3D0                                             =
                                 =0A> [   48.289878] mice: PS/2 mouse devic=
e common for all mice                                                      =
    =0A> [   49.694042] TCP bic registered                                 =
=0A> [   50.524157] RAMDISK: Compressed image found at block 0             =
                                            =0A> [   52.672304] RAMDISK: in=
complete write (-28 !=3D 3276                                              =
     =0A> [   56.000551] VFS: Mounted root (ext2 filesystem).              =
                                     =0A> [   57.243671] Freeing unused ker=
nel memory: 80k init                                                     =
=0A> [   58.579050] attempt to access beyond end of device                 =
                                    =0A> [   59.867968] ram0: rw=3D0, want=
=3D10018, limit=3D8192                                                 =0A>=
 [   61.064912] Buffer I/O error on device ram0, logical block 5008        =
                                                          =0A> [   62.65314=
9] attempt to access beyond end of device                                  =
                   =0A> [   63.942154] ram0: rw=3D0, want=3D10020, limit=3D=
8192                                                 =0A> [   65.139082] Bu=
ffer I/O error on device ram0, logical block 5009                          =
                                        =0A> [   66.727305] attempt to acce=
ss beyond end of device                                                    =
 =0A> [   68.016306] ram0: rw=3D0, want=3D10022, limit=3D8192              =
                                   =0A> [   69.212688] BUG: soft lockup det=
ected on CPU#0!                                                  =0A> [   6=
9.212711] Call Trace:                          =0A> [   69.212733] [C024F78=
0] [C000906C] show_stack+0x48/0x194 (unreliable)                           =
                                            =0A> [   69.212808] [C024F7C0] =
[C0031874] softlockup_tick+0xb4/0xd0                                       =
                       =0A> [   69.212853] [C024F7E0] [C001DDE8] run_local_=
timers+0x18/0x28                                                           =
    =0A> [   69.212905] [C024F7F0] [C001DE70] update_process_times+0x78/0xb=
4                                                                   =0A> [ =
  69.212956] [C024F810] [C00045B4] timer_interrupt+0xd4/0x204              =
                                                 =0A> [   69.213000] [C024F=
850] [C000351C] ret_from_except+0x0/                                       =
                 =0A> [   69.213043] [C024F910] [C0015A9C] release_console_=
sem+0xe0/0x284                                                             =
      =0A> [   69.213105] [C024F950] [C0015DF4] vprintk+0x1b4/0x384        =
                                                =0A> [   69.213149] [C024F9=
F0] [C0016014] printk+0x50/0x60                                            =
         =0A> [   69.213189] [C024FA70] [C00B98DC] generic_make_request+0xc=
0/0x20c                                                                    =
=0A> [   69.213252] [C024FAB0] [C00B9AA8] submit_bio+0x80/0xd8             =
                                            =0A> [   69.213294] [C024FAF0] =
[C005602C] submit_bh+0x14c/0x1a0                                           =
               =0A> [   69.213342] [C024FB10] [C005854C] block_read_full_pa=
ge+0x310/0x328                                                             =
        =0A> [   69.213391] [C024FB80] [C007D4FC] do_mpage_readpage+0x38c/0=
x538                                                                  =0A> =
[   69.213437] [C024FC00] [C007D880] mpage_readpage+0x50/0x78              =
                                               =0A> [   69.213477] [C024FC5=
0] [C00B0120] ext2_readpage+0x1c/0x2c                                      =
                      =0A> [   69.213516] [C024FC60] [C0034824] read_cache_=
page+0xf8/0x208                                                            =
   =0A> [   69.213562] [C024FC90] [C00AD490] ext2_get_page+0x24/0x308      =
                                                       =0A> [   69.213623] =
[C024FCC0] [C00ADAE8] ext2_find_entry+0x7c/0x17c                 =0A> [   6=
9.213663] [C024FD10] [C00ADC78] ext2_inode_by_name+0x18/0x58=0A> [   69.213=
704] [C024FD30] [C00B191C] ext2_lookup+0x54/0xd8=0A> [   69.213744] [C024FD=
50] [C0062E4C] do_lookup+0x138/0x19c=0A> [   69.213793] [C024FD80] [C006391=
8] __link_path_walk+0x8f4/0x1014=0A> [   69.213837] [C024FDD0] [C00640C0] l=
ink_path_walk+0x88/0x150=0A> [   69.213879] [C024FE40] [C006432C] do_path_l=
ookup+0x1a4/0x2b8=0A> [   69.213924] [C024FE70] [C006452C] __path_lookup_in=
tent_open+0x58/0xb8=0A> [   69.213971] [C024FEA0] [C0064F14] open_namei+0x7=
0/0x6dc=0A> [   69.214015] [C024FEE0] [C00519E4] do_filp_open+0x30/0x78=0A>=
 [   69.214056] [C024FF50] [C0051E04] do_sys_open+0x70/0x10c=0A> [   69.214=
095] [C024FF80] [C0002618] init+0x274/0x2e0=0A> [   69.214137] [C024FFF0] [=
C00051FC] kernel_thread+0x44/0x60=0A> [  117.445261] Buffer I/O error on de=
vice ram0, logical block 5010=0A> [  119.033233] attempt to access beyond e=
nd of device=0A> [  120.322015] ram0: rw=3D0, want=3D10018, limit=3D8192=0A=
> [  121.518738] Buffer I/O error on device ram0, logical block 5008=0A> [ =
 123.106686] attempt to access beyond end of device=0A> [  124.395468] ram0=
: rw=3D0, want=3D10020, limit=3D8192=0A> [  125.592200] Buffer I/O error on=
 device ram0, logical block 5009=0A> [  127.180152] attempt to access beyon=
d end of device=0A> [  128.468929] ram0: rw=3D0, want=3D10022, limit=3D8192=
=0A> [  129.665650] Buffer I/O error on device ram0, logical block 5010=0A>=
 [  131.253675] attempt to access beyond end of device=0A> [  132.542475] r=
am0: rw=3D0, want=3D100=0A>=0A>=0A> _______________________________________=
________=0A> Linuxppc-embedded mailing list=0A> Linuxppc-embedded@ozlabs.or=
g=0A> https://ozlabs.org/mailman/listinfo/linuxppc-embedded=0A>   =0A=0A=0A=
-- =0ADave Lynch                               DLA Systems=0ASoftware Devel=
opment:                           Embedded Linux=0A717.627.3770            =
dhlii@dlasys.net       http://www.dlasys.net=0Afax: 1.253.369.9244         =
               Cell: 1.717.587.7774=0AOver 25 years' experience in platform=
s, languages, and technologies too numerous to list.=0A=0A"Any intelligent =
fool can make things bigger and more complex... It takes a touch of genius =
- and a lot of courage to move in the opposite direction."=0AAlbert Einstei=
n=0A=0A=0A=0A

                 reply	other threads:[~2006-10-26 14:51 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061026145139.18900.qmail@web56302.mail.re3.yahoo.com \
    --to=rdcorle@yahoo.com \
    --cc=dhlii@dlasys.net \
    --cc=linuxppc-embedded@ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox