LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: laurentiu.tudor@nxp.com
To: hch@lst.de, stern@rowland.harvard.edu,
	gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
	marex@denx.de
Cc: leoyang.li@nxp.com, linux-kernel@vger.kernel.org,
	robin.murphy@arm.com, noring@nocrew.org, JuergenUrban@gmx.de,
	Laurentiu Tudor <laurentiu.tudor@nxp.com>
Subject: [PATCH v6 0/5] prerequisites for device reserved local mem rework
Date: Wed, 22 May 2019 17:27:43 +0300	[thread overview]
Message-ID: <20190522142748.10078-1-laurentiu.tudor@nxp.com> (raw)

From: Laurentiu Tudor <laurentiu.tudor@nxp.com>

For HCs that have local memory, replace the current DMA API usage
with a genalloc generic allocator to manage the mappings for these
devices.
This is in preparation for dropping the existing "coherent" dma
mem declaration APIs. Current implementation was relying on a short
circuit in the DMA API that in the end, was acting as an allocator
for these type of devices.

Only compiled tested, so any volunteers willing to test are most welcome.

Thank you!

For context, see thread here: https://lkml.org/lkml/2019/4/22/357

Changes in v6:
 - drop some unneeded initializations (Alan)
 - use device name for genpool instead of misleading "ohci-hcd" (Alan)
 - updated some comments (Alan, Fredrik)
 - added Tested-By tags

Changes in v5:
 - updated first patch to preserve bisectability (Christoph, Greg)
 - fixed a few more places where dma api was still being
   used (e.g. td_alloc, ed_alloc) (Fredrik)
 - included patch from Fredrik adding gen_pool_dma_zalloc() api
 - added patch that drops HCD_LOCAL_MEM altogether (Greg)
 - set td_cache / ed_cache to null for devices with local mem (Fredrik)
 - introduce usb_hcd_setup_local_mem() that sets up the genalloc
   pool for drivers and updated drivers to use it

Changes in v4:
 - created mapping for local mem
 - fix genalloc misuse

Changes in v3:
 - rearranged calls into genalloc simplifying the code a bit (Christoph)
 - dropped RFC prefix

Changes in v2:
 - use genalloc also in core usb (based on comment from Robin)
 - moved genpool decl to usb_hcd to be accesible from core usb

Fredrik Noring (1):
  lib/genalloc.c: Add gen_pool_dma_zalloc() for zeroed DMA allocations

Laurentiu Tudor (4):
  USB: use genalloc for USB HCs with local memory
  usb: host: ohci-sm501: init genalloc for local memory
  usb: host: ohci-tmio: init genalloc for local memory
  USB: drop HCD_LOCAL_MEM flag

 drivers/usb/core/buffer.c      | 17 ++++++++----
 drivers/usb/core/hcd.c         | 51 ++++++++++++++++++++++++++++------
 drivers/usb/host/ehci-hcd.c    |  2 +-
 drivers/usb/host/fotg210-hcd.c |  2 +-
 drivers/usb/host/ohci-hcd.c    | 25 +++++++++++++----
 drivers/usb/host/ohci-mem.c    | 35 ++++++++++++++++++++---
 drivers/usb/host/ohci-sm501.c  | 50 +++++++++++++++------------------
 drivers/usb/host/ohci-tmio.c   | 15 ++++------
 drivers/usb/host/ohci.h        |  2 ++
 drivers/usb/host/uhci-hcd.c    |  2 +-
 include/linux/genalloc.h       |  1 +
 include/linux/usb/hcd.h        |  6 +++-
 lib/genalloc.c                 | 29 ++++++++++++++++++-
 13 files changed, 171 insertions(+), 66 deletions(-)

-- 
2.17.1


             reply	other threads:[~2019-05-22 14:27 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-22 14:27 laurentiu.tudor [this message]
2019-05-22 14:27 ` [PATCH v6 1/5] lib/genalloc.c: Add gen_pool_dma_zalloc() for zeroed DMA allocations laurentiu.tudor
2019-05-22 14:27 ` [PATCH v6 2/5] USB: use genalloc for USB HCs with local memory laurentiu.tudor
2019-05-22 14:27 ` [PATCH v6 3/5] usb: host: ohci-sm501: init genalloc for " laurentiu.tudor
2019-05-22 14:27 ` [PATCH v6 4/5] usb: host: ohci-tmio: " laurentiu.tudor
2019-05-22 14:27 ` [PATCH v6 5/5] USB: drop HCD_LOCAL_MEM flag laurentiu.tudor
2019-05-23  6:56 ` [PATCH v6 0/5] prerequisites for device reserved local mem rework Christoph Hellwig
2019-05-23  7:07   ` Greg KH
2019-05-23  7:12     ` Christoph Hellwig
2019-05-28  5:58     ` Christoph Hellwig
2019-05-28  6:47       ` Greg KH
2019-05-28  6:52         ` Christoph Hellwig

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=20190522142748.10078-1-laurentiu.tudor@nxp.com \
    --to=laurentiu.tudor@nxp.com \
    --cc=JuergenUrban@gmx.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@lst.de \
    --cc=leoyang.li@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=noring@nocrew.org \
    --cc=robin.murphy@arm.com \
    --cc=stern@rowland.harvard.edu \
    --subject='Re: [PATCH v6 0/5] prerequisites for device reserved local mem rework' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).