From: Gerhard Sittig <gsi@denx.de>
To: linux-pci@vger.kernel.org, Jon Mason <jon.mason@intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>, Detlev Zundel <dzu@denx.de>,
Gerhard Sittig <gsi@denx.de>
Subject: [PATCH RFC v1 0/4] PCI NTB: prepare for more hardware support
Date: Wed, 6 Aug 2014 16:53:51 +0200 [thread overview]
Message-ID: <1407336835-30586-1-git-send-email-gsi@denx.de> (raw)
The current implementation of the PCI non-transparent bridge
support exclusively supports Intel hardware. This series
prepares for the introduction of other vendor's hardware support,
by separating the generic 'data transport' driver from the
specific 'hardware support' driver.
The current implementation has a circular dependency, where the
data transport uses hardware specific routines for its
communication, while the hardware driver calls into the data
transport layer to have the data link established upon probe. In
addition, existing documentation suggests that out-of-tree
drivers may use the hardware driver's routines, working in
parallel to the in-tree data transport and the network interface
on top if it.
This series "puts the data transport first", to provide routines
to register hardware drivers with the transport and to have the
transport become available as hardware is found. While several
hardware drivers may implement the common "hw" API, and one of
those drivers gets probed at runtime and then is used for the
data transport. The relation of exactly one hardware driver to
one transport instance is kept, as is the NTB driver's API within
the kernel. No new hardware support gets introduced by this
series. It's "mere refactoring".
Unfortunately I don't have Intel hardware to exercise runtime
tests for the series. It has only been compile-tested for
bisectability and with several combinations of the tristate
options, and the series is checkpatch clean including --strict.
Testers who have access to hardware are cordially invited. :)
BTW was I surprised to find the NTB driver under drivers/ntb/,
and not underneath the PCI subsystem. I hope I got the list of
recipients correct for the series.
Gerhard Sittig (4):
ntb: split Intel specifics out of the "NTB hardware" interface
ntb: header file nits (multiple inclusion, explicit entries)
ntb: prepare to build the 'data transport' as a separate module
ntb: de-couple data transport from hardware support
drivers/ntb/Kconfig | 45 ++++--
drivers/ntb/Makefile | 5 +-
drivers/ntb/ntb_hw.h | 101 +++++++------
drivers/ntb/{ntb_hw.c => ntb_hw_intel.c} | 83 +++++++----
drivers/ntb/ntb_hw_intel.h | 73 ++++++++++
drivers/ntb/{ntb_regs.h => ntb_regs_intel.h} | 0
drivers/ntb/ntb_transport.c | 196 ++++++++++++++++++++++++++
include/linux/ntb.h | 7 +
8 files changed, 426 insertions(+), 84 deletions(-)
rename drivers/ntb/{ntb_hw.c => ntb_hw_intel.c} (94%)
create mode 100644 drivers/ntb/ntb_hw_intel.h
rename drivers/ntb/{ntb_regs.h => ntb_regs_intel.h} (100%)
--
1.7.10.4
next reply other threads:[~2014-08-06 14:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-06 14:53 Gerhard Sittig [this message]
2014-08-06 14:53 ` [PATCH RFC v1 1/4] ntb: split Intel specifics out of the "NTB hardware" interface Gerhard Sittig
2014-08-06 14:53 ` [PATCH RFC v1 2/4] ntb: header file nits (multiple inclusion, explicit entries) Gerhard Sittig
2014-08-06 14:53 ` [PATCH RFC v1 3/4] ntb: prepare to build the 'data transport' as a separate module Gerhard Sittig
2014-08-06 14:53 ` [PATCH RFC v1 4/4] ntb: de-couple data transport from hardware support Gerhard Sittig
2014-08-06 15:01 ` [PATCH RFC v1 0/4] PCI NTB: prepare for more " Gerhard Sittig
2014-08-18 16:24 ` Gerhard Sittig
2014-08-06 20:23 ` Rajat Jain
2014-08-11 10:11 ` Gerhard Sittig
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=1407336835-30586-1-git-send-email-gsi@denx.de \
--to=gsi@denx.de \
--cc=bhelgaas@google.com \
--cc=dzu@denx.de \
--cc=jon.mason@intel.com \
--cc=linux-pci@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).