01 Dec, 2012

1 commit

  • Based on earlier discussions[1] we attempted to find a suitable
    location for the omap DMA header in commit 2b6c4e73 (ARM: OMAP:
    DMA: Move plat/dma.h to plat-omap/dma-omap.h) until the conversion
    to dmaengine is complete.

    Unfortunately that was before I was able to try to test compile
    of the ARM multiplatform builds for omap2+, and the end result
    was not very good.

    So I'm creating yet another all over the place patch to cut the
    last dependency for building omap2+ for ARM multiplatform. After
    this, we have finally removed the driver dependencies to the
    arch/arm code, except for few drivers that are being worked on.

    The other option was to make the path
    to work, but we'd have to add some new header directory to for
    multiplatform builds.

    Or we would have to manually include arch/arm/plat-omap/include
    again from arch/arm/Makefile for omap2+.

    Neither of these alternatives sound appealing as they will
    likely lead addition of various other headers exposed to the
    drivers, which we want to avoid for the multiplatform kernels.

    Since we already have a minimal include/linux/omap-dma.h,
    let's just use that instead and add a note to it to not
    use the custom omap DMA functions any longer where possible.

    Note that converting omap DMA to dmaengine depends on
    dmaengine supporting automatically incrementing the FIFO
    address at the device end, and converting all the remaining
    legacy drivers. So it's going to be few more merge windows.

    [1] https://patchwork.kernel.org/patch/1519591/#

    cc: Russell King
    cc: Kevin Hilman
    cc: "Benoît Cousson"
    cc: Herbert Xu
    cc: "David S. Miller"
    cc: Vinod Koul
    cc: Dan Williams
    cc: Mauro Carvalho Chehab
    cc: Laurent Pinchart
    cc: Guennadi Liakhovetski
    cc: David Woodhouse
    cc: Kyungmin Park
    cc: Greg Kroah-Hartman
    cc: Tomi Valkeinen
    cc: Florian Tobias Schandinat
    cc: Hans Verkuil
    cc: Vaibhav Hiremath
    cc: Lokesh Vutla
    cc: Rusty Russell
    cc: Artem Bityutskiy
    cc: Afzal Mohammed
    cc: linux-crypto@vger.kernel.org
    cc: linux-media@vger.kernel.org
    cc: linux-mtd@lists.infradead.org
    cc: linux-usb@vger.kernel.org
    cc: linux-fbdev@vger.kernel.org
    Acked-by: Felipe Balbi
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

18 Oct, 2012

1 commit


16 Oct, 2012

2 commits

  • Drivers should not use cpu_is_omap or cpu_class_is_omap macros,
    they should be private to the platform init code. And we'll be
    removing plat/cpu.h and only have a private soc.h for the
    arch/arm/*omap* code.

    This patch is intended as preparation for the core omap changes
    and removes the need to include plat/cpu.h from several drivers.
    This is needed for the ARM common zImage support.

    These changes are OK to do because:

    - omap-rng.c does not need plat/cpu.h

    - omap-aes.c and omap-sham.c get the proper platform_data
    passed to them so they don't need extra checks in the driver

    - omap-dma.c and omap-pcm.c can test the arch locally as
    omap1 and omap2 cannot be compiled together because of
    conflicting compiler flags

    Cc: Deepak Saxena
    Cc: Matt Mackall
    Cc: Herbert Xu
    Cc: David S. Miller
    Cc: Venkatraman S
    Cc: Chris Ball
    Cc: Vinod Koul
    Cc: Dan Williams
    Acked-by: Peter Ujfalusi
    Acked-by: Jarkko Nikula
    Cc: Liam Girdwood
    Cc: Mark Brown
    Cc: linux-crypto@vger.kernel.org
    Cc: linux-mmc@vger.kernel.org
    Cc: alsa-devel@alsa-project.org
    Cc: linux-kernel@vger.kernel.org
    [tony@atomide.com: mmc changes folded in to an earlier patch]
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • Move plat/dma.h to plat-omap/dma-omap.h as part of single
    zImage work

    Signed-off-by: Lokesh Vutla
    Signed-off-by: Tony Lindgren

    Lokesh Vutla
     

13 Jan, 2012

1 commit


30 Jun, 2011

11 commits


26 Apr, 2011

4 commits


29 Jan, 2011

1 commit

  • clk_get() returns a struct clk cookie to the driver and some platforms
    may return NULL if they only support a single clock. clk_get() has only
    failed if it returns a ERR_PTR() encoded pointer.

    Signed-off-by: Jamie Iles
    Reviewed-by: Aaro Koskinen
    Reviewed-by: Dmitry Kasatkin
    Signed-off-by: Herbert Xu

    Jamie Iles
     

29 Dec, 2010

1 commit

  • Previous commit "removed redundant locking" introduced
    a bug in handling backlog.
    In certain cases, when async request complete callback will
    call complete() on -EINPROGRESS code, it will cause uncompleted requests.
    It does not happen in implementation similar to crypto test manager,
    but it will happen in implementation similar to dm-crypt.
    Backlog needs to be checked before dequeuing next request.

    Signed-off-by: Dmitry Kasatkin
    Signed-off-by: Herbert Xu

    Dmitry Kasatkin
     

27 Nov, 2010

8 commits


03 Sep, 2010

1 commit

  • DMA is set to use burst mode also for source channel. It should
    descrease memory bandwidth needs.

    DMA synchronization is set to use prefetch mechanism. SHAM block is behind
    L4 bus and it doesn't have fifo. SHAM block is stalling as long as the new
    data is available. It takes time to fetch data from memory and transfer it
    via L4 bus. With prefetch enabled, data is waiting in DMA fifo and SHAM block
    receives new data block faster.
    This increases SHA processing speed up to 30 percent depending on the
    bus / memory load.

    Signed-off-by: Samu Onkalo
    Signed-off-by: Dmitry Kasatkin
    Signed-off-by: Herbert Xu

    Samu Onkalo
     

26 May, 2010

1 commit


03 May, 2010

1 commit

  • Earlier kernel contained omap sha1 and md5 driver, which was not maintained,
    was not ported to new crypto APIs and removed from the source tree.

    - implements async crypto API using dma and cpu.
    - supports multiple sham instances if available
    - hmac
    - concurrent requests

    Signed-off-by: Dmitry Kasatkin
    Signed-off-by: Herbert Xu

    Dmitry Kasatkin