]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
staging: vme_user: allow large read()/write()
authorDmitry Kalinkin <dmitry.kalinkin@gmail.com>
Fri, 26 Jun 2015 20:39:40 +0000 (23:39 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Jul 2015 05:50:15 +0000 (22:50 -0700)
commit8e4d138cc083bb960271e79832982e982c35d219
tree7c353dab52021dc57a20c876b8c5e7865249a5de
parent1f0622de0d1fb7de187c7cf729971d56def7814e
staging: vme_user: allow large read()/write()

This changes large master transfers to do shorter read/write rather than
return -EINVAL. User space will now be able to optimistically request a
large transfer and get at least some data.

This also removes comments suggesting on how to implement large
transfers. Current vme_master_* read and write implementations use CPU
copies that don't produce burst PCI accesses and subsequently no block
transfer on VME bus. In the end overall performance is quiet low and it
can't be fixed by doing direct copy to user space. Much easier solution
would be to just reuse kernel buffer.

Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vme/devices/vme_user.c