• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » Linux » Linux forum » Unsig DMA with USB interface
Share
Linux
  • Forum
Options
  • Subscribe via RSS
Resources
  • Keystone II MCSDK (A15 Linux) Download
  • Forums

    Unsig DMA with USB interface

    This question is not answered
    Joaquim Duran
    Posted by Joaquim Duran
    on Apr 04 2012 04:15 AM
    Prodigy140 points

    We’re developing an application under DM3730 Torpedo Module with the Linux
    3.0 kernel that reads data from a USB based board (class ACM) at a rate of
    200.000 bytes/second. We've observed that a 'kworker' thread consumes many
    CPU and we are looking which are the possibilities to optimize the code. One
    of the things we want to improve is communication process, so we’d like to
    ask you some questions:

    - Do you know if linux use DMA to receive/send data from/to a USB device? If
    so how can we activate it?

    - The memory reserved for DMA buffers could be increased using a linux
    parameter?

    - Any other suggestion to reduce the consume of CPU? Could be possible to
    make DSP to carry directly this task? Could you send us some information
    (some doc, example project, DSP driver, etc… ) that can help us?

    Thank you and best regards

     

    linux usb dma
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Ajay
      Posted by Ajay
      on Apr 04 2012 04:43 AM
      Genius9470 points

      DM3730 hsusb0 does have DMA and same is available at drivers/usb/musb/musbhsdma.c. You should enable this in kernel config.

      Ajay

      If my reply answers your question then please click on the green button "Verify Answer"

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Joaquim Duran
      Posted by Joaquim Duran
      on Apr 11 2012 06:05 AM
      Prodigy140 points

      Ajay,

      With hsusb0, are you referring to ISP1760? How I should enable? the current configuration is:

      CONFIG_NEED_DMA_MAP_STATE=y
      CONFIG_HAVE_DMA_API_DEBUG=y
      CONFIG_HAVE_GENERIC_DMA_COHERENT=y
      CONFIG_ARM_DMA_MEM_BUFFERABLE=y
      CONFIG_ZONE_DMA_FLAG=0
      CONFIG_SCSI_DMA=y
      CONFIG_VIDEOBUF_DMA_CONTIG=y
      CONFIG_USB_INVENTRA_DMA=y
      CONFIG_MUSB_USE_SYSTEM_DMA_WORKAROUND=y
      # CONFIG_USB_TI_CPPI_DMA is not set
      # CONFIG_DMADEVICES is not set
      # CONFIG_DMA_API_DEBUG is not set
      CONFIG_HAS_DMA=y

      Any help is appreciated.


      Joaquim Duran 


       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Ajay
      Posted by Ajay
      on Apr 13 2012 06:18 AM
      Genius9470 points

      Duran,

      The config is CONFIG_USB_INVENTRA_DMA which can be enabeld from Drivers->USB support-> Inventra and let "Disable DMA" to be not selected.

      Ajay

      If my reply answers your question then please click on the green button "Verify Answer"

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Joaquim Duran
      Posted by Joaquim Duran
      on Apr 17 2012 08:27 AM
      Prodigy140 points

      Ajay,

      I've tested in the kernel that the changes that you suggested ware already done:

      CONFIG_USB_MUSB_HDRC_HCD=y
      # CONFIG_MUSB_PIO_ONLY is not set
      # CONFIG_USB_UX500_DMA is not set
      CONFIG_USB_INVENTRA_DMA=y
      CONFIG_MUSB_USE_SYSTEM_DMA_WORKAROUND=y
      # CONFIG_USB_TI_CPPI_DMA is not set

      The problem here is that when I connect the acquisition board to the OMAP board, it is connected using a USB connector, no the mini-USB of the OTG, so the USB root is ISP1763 processor and not the MUSB. ISP1763 is the replacement to ISP1507 from OMAP reference board. The ISP1763 has no option about DMA in the linux kernel.

      I'll connect the acquisition board to the OTG and I'll test if it improves the performance.

      Joaquim Duran

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use