devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Viktorin <viktorin-MQpMGdXoZmMqDJ6do+/SaQ@public.gmane.org>
To: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Jan Viktorin <viktorin-MQpMGdXoZmMqDJ6do+/SaQ@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	Ian Campbell
	<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
	Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	"Hans J. Koch" <hjk-vqZO0P4V72/QD6PfKP4TzA@public.gmane.org>,
	Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
Subject: [PATCH 0/4] Fix and extend uio_dmem_genirq
Date: Tue, 17 May 2016 11:22:16 +0200	[thread overview]
Message-ID: <1463476940-26791-1-git-send-email-viktorin@rehivetech.com> (raw)

Hello,

as a part of my work related usually to FPGAs, I was playing with the
uio_dmem_genirq. First, I've discovered a (possible) bug in the
uio_dmem_genirq in exposing the dynamic regions to userspace (patch 0001).
When specifying a number of dynamic regions, one mapping is (due to
counting IORESOURCE_IRQ) skipped:

.../maps/map0/addr: 0xe000b000  <<< IORESOURCE_MEM from reg = <...>
.../maps/map0/size: 0x00001000
.../maps/map1/addr: 0xffffffff  <<< no mapping (skipped due to IORESOURCE_IRQ)
.../maps/map1/size: 0x00008000
.../maps/map2/addr: 0x1e210000  <<< the first dynamic mapping
.../maps/map2/size: 0x00008000
.../maps/map3/addr: 0x1e218000
.../maps/map3/size: 0x00008000
.../maps/map4/addr: 0x1e220000
.../maps/map4/size: 0x00008000

Next, I needed to do some DMA from userspace and I didn't like to change
the kernel at all. The uio_pdrv_genirq has a feature to specify of_id
when calling insmod to bind to a specific device. I've implemented this
(patches 0002-0004) for uio_dmem_genirq and added two OF properties to
specify memory allocations. The work is inspired by those commits (but
reworked):

* https://github.com/analogdevicesinc/linux/commit/757e2c54a613abed6145fcd572cf6c5d8b3fb7fc
* https://github.com/analogdevicesinc/linux/commit/45ec4148b290302c7de8e6a1de0d9f7b2833339b

Regards
Jan


Jan Viktorin (4):
  uio: fix dmem_region_start computation
  uio: UIO_IRQ_NONE is a valid option for uioinfo->irq
  uio: introduce devicetree bindings for uio_dmem_genirq
  uio: allow binding uio_pdrv_genirq.c to devices using command line
    option

 .../devicetree/bindings/uio/uio_dmem_genirq.txt    | 16 ++++
 drivers/uio/uio_dmem_genirq.c                      | 93 +++++++++++++++-------
 2 files changed, 81 insertions(+), 28 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/uio/uio_dmem_genirq.txt

-- 
2.8.0

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

             reply	other threads:[~2016-05-17  9:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-17  9:22 Jan Viktorin [this message]
2016-05-17  9:22 ` [PATCH 1/4] uio: fix dmem_region_start computation Jan Viktorin
     [not found] ` <1463476940-26791-1-git-send-email-viktorin-MQpMGdXoZmMqDJ6do+/SaQ@public.gmane.org>
2016-05-17  9:22   ` [PATCH 2/4] uio: UIO_IRQ_NONE is a valid option for uioinfo->irq Jan Viktorin
     [not found]     ` <1463476940-26791-3-git-send-email-viktorin-MQpMGdXoZmMqDJ6do+/SaQ@public.gmane.org>
2016-08-31 11:04       ` Greg Kroah-Hartman
2016-05-17  9:22   ` [PATCH 3/4] uio: introduce devicetree bindings for uio_dmem_genirq Jan Viktorin
     [not found]     ` <1463476940-26791-4-git-send-email-viktorin-MQpMGdXoZmMqDJ6do+/SaQ@public.gmane.org>
2016-05-18 17:01       ` Rob Herring
2016-05-19  8:45         ` Jan Viktorin
2016-05-23 20:36           ` Rob Herring
2016-06-23  8:31             ` Anup Patel
2016-05-17  9:22 ` [PATCH 4/4] uio: bind uio_pdrv_genirq via OF Jan Viktorin

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=1463476940-26791-1-git-send-email-viktorin@rehivetech.com \
    --to=viktorin-mqpmgdxozmmqdj6do+/saq@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
    --cc=hjk-vqZO0P4V72/QD6PfKP4TzA@public.gmane.org \
    --cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).