linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "David H. Lynch Jr." <dhlii@comcast.net>
To: linux-fsdevel@vger.kernel.org
Subject: Design question
Date: Mon, 04 Jun 2007 03:54:39 -0400	[thread overview]
Message-ID: <4663C53F.6030803@comcast.net> (raw)


    I am not sure there really is a best list for this, but this is the
closest I can think of.
    I am working on host software, for a series of cards
(www.picocomputing.com)
    All of these cards have an FPGA, most have a processor, memory,
flash and other resources.
    They have different flavor FPGA, CPU's and busses (compact Flash,
PCI, CardBus, Express Bus, ....)
    The cards can run standalone, and they can run uCLinux, Linux, or
GreenHills, or ...
   
    But when they are inserted into a Linux Host (there is already
windows host software)
    From the host side there are several major tasks that might be
performed,
    Reading writing target memory, IO space, preprogramming the FPGA,
Flash,
    or reading/writing to the hardware implemented in the FPGA - which
may or may not require interaction with
    the target OS. The performance and bandwidth requirements of
data-transfers varies greatly,
    most being fairly mellow, but occasionally either the bandwidth or
latency requirements can be high.
    Some of the above is vague - We are not developing a specific peice
of hardware for a specific use.
    We are working on a product and development environment that has
nearly infinite uses.

    We have evolved a virtual channel architecture that is to allow
creating IP that goes into the FPGA, and can be
    accessed by applications on the host. There can be multiple cards in
the same host (in some applications large numbers)
    despite all of the above things are not all that complex, just
incredibly flexible.
    Anyway that is the BIG picture.

    Our/my original implementation of  a driver(s) for this was a
character driver for each card specific to its bus type,
    with minor device numbers for reading writing different regions, and
a large collection of ioctl's to handle special functions.

    But the vast majority of actions consist of read/write.

    I have been trying to decide if it make sense to rewrite the driver
as a VFS driver, with special file names for each channel or
    functional unit.

    I have also been trying to digest enough information on sysfs to
determine if that is an appropriate approach.

    Basically I am trying to decide what kind of driver provides the
best potential solution.


      





   


   

                 reply	other threads:[~2007-06-04  7:59 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=4663C53F.6030803@comcast.net \
    --to=dhlii@comcast.net \
    --cc=linux-fsdevel@vger.kernel.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).