lkml.org 
[lkml]   [2015]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCHv3 00/16] vme DMA and user space driver improvements
On Thu, May 28, 2015 at 03:06:57PM +0300, Dmitry Kalinkin wrote:
> The first item in this submission documents previously introduced
> vme_master_mmap() call. Following, there are three fixes for the tsi148
> driver's DMA. There was one bug that rendered it imposible to use DMA
> lists with more than one item. The other was related to the place where
> dma_map_single was called on the first DMA descriptor in the DMA list. The
> last bug was about DMA transfer not stopping at interruption by signal,
> which is a possible DoS attack vector. I also made an attempt to fix the
> same issue in the ca91cx42 driver. I don't have access to this hardware to
> test, so this is based only on my understanding of the datasheet (checked
> ca91c042's errata as well).
>
> A new /sys/bus/vme/dma0 device with a new ioctl for making DMA transfers
> was introduced in vme_user driver. The logic of the function is similar to
> the one found in existing drivers.
>
> One question that I had while implementing this feature was whether we
> should keep vme_dma_attr objects until vme_dma_list_exec() call. API
> doesn't specify this, the existing vme bridge drivers copy all information
> from attributes during vme_dma_list_add(). So for simplicity this
> implementation frees vme_dma_attr's before vme_dma_list_exec() is done.
>
> A simple test against AVM16 board displays speeds around 45 MiB/s for
> A32/D32 reads for both BLT and MBLT (with MBLT being slightly faster).
>
> Changes in v2 [patches 1-6, now 1-5 and 8]:
> * vme_addr check for vme_user DMA
> * limit on DMA operation length in vme_user
> * reorder dma_op ioctl struct to omit __packed attribute
> * change dma_op->write into dma_op->dir
> * use vme_check_window assure DMA operation correctness
>
> New changes include vme_user code cleanup, a couple of ca91cx42 fixes
> (again, tested for compilation only).
>
> I also propose a change to export some of VME subsytem related constants
> to the user space. These can be useful if vme_user is to go into the kernel.
> Also, email
> http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2012-July/029084.html
> mentions that we probably can now get rid of this comment:
> > /* XXX We do not want to push aspace, cycle and width
> > * to userspace as they are
> > */
>
> v3 adresses code style problems

I need an ack from the VME maintainer before I can take these...

thanks,

greg k-h


\
 
 \ /
  Last update: 2015-05-31 05:41    [W:0.170 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site