All of lore.kernel.org
 help / color / mirror / Atom feed
* out of dma-memory when using usblp-module in driverdomain
@ 2007-03-25 14:29 Patrick Scharrenberg
  2007-03-26  7:23 ` Jan Beulich
  0 siblings, 1 reply; 3+ messages in thread
From: Patrick Scharrenberg @ 2007-03-25 14:29 UTC (permalink / raw)
  To: xen-devel

Hi!

I tried attaching an usb-printer to an usb-port of a driver-domain.
On loading the module usblp I get the following error:

    /usr/src/xen/xen-unstable.hg/linux-2.6.18-xen/drivers/usb/class/usblp.c:
    out of memory for write buf
    usblp: probe of 2-1:1.0 failed with error -5


I figured out, that reducing USBLP_BUF_SIZE (usb/class/usblp.c) form
8192 to some smaller value, e.g. 4096 it works fine, but that's just a
workaround.

USBLP_BUF_SIZE is used to "usb_buffer_alloc" (usb/core/usb.c) dma memory:

>From usb.c:
     usb_buffer_alloc - allocate dma-consistent buffer for
URB_NO_xxx_DMA_MAP

but here I'm out..


cheers
~patrick

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: out of dma-memory when using usblp-module in driverdomain
  2007-03-25 14:29 out of dma-memory when using usblp-module in driverdomain Patrick Scharrenberg
@ 2007-03-26  7:23 ` Jan Beulich
  2007-04-10 15:01   ` Patrick Scharrenberg
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Beulich @ 2007-03-26  7:23 UTC (permalink / raw)
  To: Patrick Scharrenberg; +Cc: xen-devel

>>> Patrick Scharrenberg <pittipatti@web.de> 25.03.07 16:29 >>>
>I tried attaching an usb-printer to an usb-port of a driver-domain.
>On loading the module usblp I get the following error:
>
>    /usr/src/xen/xen-unstable.hg/linux-2.6.18-xen/drivers/usb/class/usblp.c:
>    out of memory for write buf
>    usblp: probe of 2-1:1.0 failed with error -5
>
>I figured out, that reducing USBLP_BUF_SIZE (usb/class/usblp.c) form
>8192 to some smaller value, e.g. 4096 it works fine, but that's just a
>workaround.
>
>USBLP_BUF_SIZE is used to "usb_buffer_alloc" (usb/core/usb.c) dma memory:
>
>>From usb.c:
>     usb_buffer_alloc - allocate dma-consistent buffer for
>URB_NO_xxx_DMA_MAP
>
>but here I'm out..

Probably you're just suffering from domains without any I/O memory ranges
assigned not being permitted to have multi-page contiguous memory ranges
assigned? If not, do you force swiotlb on in the domain? And what resources
does the USB HC require?

Jan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: out of dma-memory when using usblp-module in driverdomain
  2007-03-26  7:23 ` Jan Beulich
@ 2007-04-10 15:01   ` Patrick Scharrenberg
  0 siblings, 0 replies; 3+ messages in thread
From: Patrick Scharrenberg @ 2007-04-10 15:01 UTC (permalink / raw)
  To: Jan Beulich; +Cc: xen-devel

[-- Attachment #1: Type: text/plain, Size: 1535 bytes --]

Hi Jan!

I'm sorry for not replying for such a long time after asking questions. :-)
>> I figured out, that reducing USBLP_BUF_SIZE (usb/class/usblp.c) form
>> 8192 to some smaller value, e.g. 4096 it works fine, but that's just a
>> workaround.
>>
>> USBLP_BUF_SIZE is used to "usb_buffer_alloc" (usb/core/usb.c) dma memory:
>>
>> >From usb.c:
>>     usb_buffer_alloc - allocate dma-consistent buffer for
>> URB_NO_xxx_DMA_MAP
>>
>> but here I'm out..
>>     
>
> Probably you're just suffering from domains without any I/O memory ranges
> assigned not being permitted to have multi-page contiguous memory ranges
> assigned? 
I added the usb-controllers as quirky devices, like xen told me to do:

    (usb
       (pci_ids
          ('1106:3038')
       )

       (pci_config_space_fields
          ('000000c0:2:00000000'
           '000000f0:2:00000000'
           '000000f8:2:00000000'
           '00000084:2:00000000')
         
       )
    )




> If not, do you force swiotlb on in the domain? And what resources
> does the USB HC require?
>   
Honestly I have no clue if I'm forcing it!
In the kernel-config I have "CONFIG_SWIOTLB=y"

Please see attaches "lspci"  for resource-view (or is there a better 
way, to see more information?)
I'm just using usb-controllers 0., 0.1 and 0.3 because 0.2 shares its 
irq with another device and is not working in domU.

I hope we can isolate the problem a bit more now.

Please contact me for more information. (I'm now online again and can 
answer much faster! :-) )


Thanks
Patrick



[-- Attachment #2: lspci.txt --]
[-- Type: text/plain, Size: 2429 bytes --]

lspci -vvvn

00:10.0 0c03: 1106:3038 (rev a0) (prog-if 00 [UHCI])
        Subsystem: 1462:7253
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin A routed to IRQ 20
        Region 4: I/O ports at f900 [disabled] [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:10.1 0c03: 1106:3038 (rev a0) (prog-if 00 [UHCI])
        Subsystem: 1462:7253
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin B routed to IRQ 19
        Region 4: I/O ports at f800 [disabled] [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:10.2 0c03: 1106:3038 (rev a0) (prog-if 00 [UHCI])
        Subsystem: 1462:7253
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 64, Cache Line Size: 32 bytes
        Interrupt: pin C routed to IRQ 21
        Region 4: I/O ports at f700 [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:10.3 0c03: 1106:3038 (rev a0) (prog-if 00 [UHCI])
        Subsystem: 1462:7253
        Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin D routed to IRQ 18
        Region 4: I/O ports at f600 [disabled] [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-


[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-04-10 15:01 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-25 14:29 out of dma-memory when using usblp-module in driverdomain Patrick Scharrenberg
2007-03-26  7:23 ` Jan Beulich
2007-04-10 15:01   ` Patrick Scharrenberg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.