Hi there!

This mail is mainly directed to the couple of guys developing a driver
for the isp1362 or isp1162 philips chips. I am one of them now :)

I am a colleague of torsten and we both are desperately (:-)) trying the
here and private exchanged patches vor the mentioned chips into a
2.6.10-rc2 kernel tree.
Especially I mean the stuff Olav send to Torsten regarding isp116x
incorporation with a dozen of #ifdefs :)
As you know, the usb changes between 2.6.9 and 2.6.10 are quite huge,
hc_start and hc_reset are gone now :( Sadly I need other features of
this new kernel tree, so we have to go for it. We are know at the stage
where the kernel tries to get info out of the HC when a USB device is
plugged into it.

I wonder mos about two things: What is a reasonable setup for

dev->istl0_queue.num_bufs = dev->istl1_queue.num_bufs = 0;      //4;
dev->intl_queue.num_bufs = 0;

?

dev->istl0_queue.num_bufs = dev->istl1_queue.num_bufs = 2;      //4;
dev->intl_queue.num_bufs = 4;

gives:

isp1362-ohci isp1362-ohci0: ISP116x Memory usage:
isp1362-ohci isp1362-ohci0:   ISTL:  2 *  512: 1024
isp1362-ohci isp1362-ohci0:   INTL:  4 *   64:  288
isp1362-ohci isp1362-ohci0:   ATL : 28 *   64: 2016
isp1362-ohci isp1362-ohci0:   USED/FREE: 3328   768
isp1362_mem_config: Allocated buffer for 36 PTDs   
isp1362_mem_config: Initializing ITL0 buffer of 512 bytes @ c0342764
isp1362_mem_config: Initializing ITL1 buffer of 512 bytes @ c0342784
isp1362_mem_config: Initializing ATL buffer of 2016 bytes @ c03427c4
itl0_virt c0342470, itl0_dma 0                                      
itl1_virt c0342470, itl1_dma 0
atl0_virt c033b040, atl0_dma 0

Is that reasonable or complete BS? I really don't know, because
c0342784 and c0342764 seems bogus to me because shouldn't there be a
space of 512 bytes between the values?

This one is for you, who are experienced in the driver, you should
recocnize your own debug output (torsten and me had printk's every
second line until today :/):

hub 1-0:1.0: port 1, status 0101, change 0001, 12 Mb/s                          
     
isp1362-ohci isp1362-ohci0: GetStatus roothub.portstatus [0] = 0x00000101 PPS 
CCS
isp1362-ohci isp1362-ohci0: GetStatus roothub.portstatus [0] = 0x00000101 PPS 
CCS
isp1362-ohci isp1362-ohci0: GetStatus roothub.portstatus [0] = 0x00000101 PPS 
CCS
isp1362-ohci isp1362-ohci0: GetStatus roothub.portstatus [0] = 0x00000101 PPS 
CCS
isp1362-ohci isp1362-ohci0: GetStatus roothub.portstatus [0] = 0x00000101 PPS 
CCS
hub 1-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101            
 
isp1362-ohci isp1362-ohci0: GetStatus roothub.portstatus [0] = 0x00100103 PRSC 
PPS PES CCS
usb 1-1: new full speed USB device using isp1362-ohci and address 2             
          
ohci_write_control: HCCONTROL 00000083->00000093                   
ohci_write_cmdstatus: HCCMDSTAT 00000000->00000002
ohci_write_cmdstatus: Enabling SOF interrupts     
HCREVISION  [00]: 00000010                   
HCCONTROL   [01]: 00000080
HCCMDSTAT   [02]: 00000000
HCINTSTAT   [03]: 00000044
HCINTENB    [04]: 80000018
HCFMINTVL   [0d]: 00002edf
HCFMREM     [0e]: 00002ea0
HCFMNUM     [0f]: 00000568
HCLSTHRESH  [11]: 00000628
HCRHDESCA   [12]: 05001202
HCRHDESCB   [13]: 00000000
HCRHSTATUS  [14]: 00008000
HCRHPORT1   [15]: 00000103
HCRHPORT2   [16]: 00000100
HCHWCFG     [20]:     1029
HCDMACFG    [21]:     0000
HCXFERCTR   [22]:     0000
HCuPINT     [24]:     0045
HCuPINTENB  [25]:     0031
HCCHIPID    [27]:     6123
HCSCRATCH   [28]:     1ad5
HCBUFSTAT   [2c]:     0000
HCITLBUFLEN [2a]:     0200
HCATLBUFLEN [2b]:     07e0
HCRDITL0LEN [2d]:     0000
HCRDITL1LEN [2e]:     0e00
HCISTL0PORT [40]:     0000
HCATLPORT_ISP116x[41]:     0000
ohci_isp1362_interrupt: Acknowledging 0001
process_ctrl_bulk_lists: Processing CTRL list @ 08280000
process_ed_list: Processing ED @ 08280000 #05a0         
process_ed_list: Processing TD ffc04000        
process_ed_list: found TD: 08015000    
alloc_ptd: Trying to find PTD for 8 byte of type 0
alloc_ptd: Set bit 00000001 in bufmap @ c03427c8: 00000001
buf_curlen(old) = 0                                       
buf_curlen(new) = 16, xfer_size 8, xfer_size_real 8
process_td: alloc_ptd returned 0                   
isp1362-ohci isp1362-ohci0: Processing TD 08015000 ED 08280000 PTD[0] 0000 #05a0
process_td: dir=0 ed->hwINFO=00400000(0), td->hwINFO=f2c00000(0)                
td  a2c00000 08c90d74 08015040 08c90d7b                         
process_td: MPS=64 FA=0 DIR=0 EP=0 SPD=0 LEN=8 CNT=0
process_td: f800 0040 0008 0000                     
--out-> <3>80 <3>06 <3>00 <3>01 <3>00 <3>00 <3>40 <3>00 <3>
S-                                                         
num 5dc, rem 1df5
num 5e1, rem a11 
HCREVISION  [00]: 00000010
HCCONTROL   [01]: 00000080
HCCMDSTAT   [02]: 00000000
HCINTSTAT   [03]: 000000c4
HCINTENB    [04]: 80000018
HCFMINTVL   [0d]: 00002edf
HCFMREM     [0e]: 000024e4
HCFMNUM     [0f]: 000005f6
HCLSTHRESH  [11]: 00000628
HCRHDESCA   [12]: 05001202
HCRHDESCB   [13]: 00000000
HCRHSTATUS  [14]: 00008000
HCRHPORT1   [15]: 00000103
HCRHPORT2   [16]: 00000100
HCHWCFG     [20]:     1029
HCDMACFG    [21]:     0000
HCXFERCTR   [22]:     0010
HCuPINT     [24]:     0047
HCuPINTENB  [25]:     0033
HCCHIPID    [27]:     6123
HCSCRATCH   [28]:     1ad5
HCBUFSTAT   [2c]:     0024
HCITLBUFLEN [2a]:     0200
HCATLBUFLEN [2b]:     07e0
HCRDITL0LEN [2d]:     0000
HCRDITL1LEN [2e]:     0e00
HCISTL0PORT [40]:     f800
HCATLPORT_ISP116x[41]:     0008
ohci_isp1362_interrupt: Acknowledging 0003
isp116x_recv_queue: MPS=256 FA=64 DIR=0 EP=0 SPD=0 LEN=0 CNT=640
isp116x_recv_queue: 0680 0100 0000 0040                         
Badness in isp116x_recv_queue at drivers/usb/host/ohci-isp116x-emu.c:594
Function entered at [<c015aa20>] from [<c015ca78>]                      
Function entered at [<c015ca4c>] from [<c015cdf0>]
 r7 = 000005A0  r6 = 00000001  r5 = C034267C  r4 = 00000047
Function entered at [<c015cae8>] from [<c001a94c>]         
Function entered at [<c001a894>] from [<c001ab50>]
Function entered at [<c001aaa0>] from [<c0026680>]
 r7 = C02CFC74  r6 = 00000001  r5 = 00000042  r4 = C020225C
Function entered at [<c0026638>] from [<c001ae50>]         
 r7 = 0000000B  r6 = C02CE000  r5 = C01F1148  r4 = C02CFCA8
Function entered at [<c001ad74>] from [<c00194a0>]         
Function entered at [<c003f844>] from [<c00194a0>]
 r8 = 20000013  r7 = C015651C  r6 = 00000001  r5 = 0000FFFF
 r4 = C02CFD14                                             
Function entered at [<c015606c>] from [<c01471b8>]
Function entered at [<c0146f28>] from [<c01482d8>]
Function entered at [<c0148018>] from [<c0148784>]
 r8 = C02CFE70  r7 = C02CFE28  r6 = 00000064  r5 = C034994C
 r4 = 00000000                                             
Function entered at [<c0148700>] from [<c0148940>]
 r8 = 80000080  r7 = 80000080  r6 = C0CE0920  r5 = C037E5A4
 r4 = C0C90D74                                             
Function entered at [<c01488b0>] from [<c0148a24>]
 r7 = 00000006  r6 = 00000080  r5 = C0C90D74  r4 = FFFFFFF4
Function entered at [<c0148960>] from [<c0143c60>]         
Function entered at [<c01439c4>] from [<c0144300>]
Function entered at [<c01440f4>] from [<c0144c8c>]
Function entered at [<c01447b0>] from [<c0144e14>]
Function entered at [<c0144dec>] from [<c003ca60>]
 r7 = 00000000  r6 = 00000000  r5 = 00000000  r4 = 00000000
R-                                                         
finish_xfer: finished TD 08015000 #05a0
update_cbp: chunk_size=00000280, len=00000280, CBP=08c90d74 BE=08c90d7b, 
buf_len=00000008
update_cbp: chunk_size=00000280, len=00000280, CBP=08c90d74 BE=08c90d7b, 
buf_len=00000008
isp1362-ohci isp1362-ohci0: Retiring TD 08015000 ED 08280000 info 00400000 with 
CC=0 #05a0
done_td: Linking TD 08015000 from ED 08280000 (HeadP 08015000 TailP 080150c0 
NextTD 08015040) to DoneHead
update_td_status: Reactivating Control Queue: 08280000
update_td_status: returning 1                         
finish_xfer: Releasing PTD 0 in queue @ c03427c4
release_ptd: Clearing bit 00000001 in bufmap @ c03427c8: 00000001
ohci_isp1362_interrupt: Asserting WDH interrupt #a000            
process_ctrl_bulk_lists: Processing CTRL list @ 08280000
process_ed_list: Processing ED @ 08280000 #a000         
process_ed_list: Processing TD ffc04040        
process_ed_list: found TD: 08015040    
alloc_ptd: Trying to find PTD for 64 byte of type 0
BUFSTAT 1004, HCuPINT 3000                         
process_td: alloc_ptd returned -16
process_ctrl_bulk_lists: 0 CTRL/BULK EDs processed 1 skipped
process_ed_lists: CTRL/BULK lists finished with -16         
ohci_isp1362_interrupt: Calling OHCI interrupt handler: 
00000002(00000002):8000001a
ohci_write_intrdisable: Disabling OHCI Interrupts: 00000002                     
   
ohci_write_intrenable: Enabling OHCI Interrupts: 00000002  
ohci_isp1362_interrupt: leaving after 2 loops with status 2080:40000090
ohci_write_control: HCCONTROL 00000093->00000083                       
ohci_write_intrenable: Enabling OHCI Interrupts: 00000004
Connection closed by foreign host.                       


This shows our 1161a1 when an usb-storage stick is plugged in.

The Badness
Badness in isp116x_recv_queue at drivers/usb/host/ohci-isp116x-emu.c:594
is:

WARN_ON((!(__isp1362_read_reg16(dev, HCuPINT) &
HCuPINT_ISP116x_AIIEOT)));

May be someone knows what is going wrong there. I am trying to
understand myself until then :)

May be someone sees an obvious bug we triggered or incorporated into the port to
2.6.10. If not, don't waste your time, we have to bite through it and
understand more from this usb driver stuff.


Kind Regards, Konsti

-- 
GPG KeyID EF62FCEF
Fingerprint: 13C9 B16B 9844 EC15 CC2E  A080 1E69 3FDA EF62 FCEF


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to