<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/include/net/ncsi.h, branch dev-4.6</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.6</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-4.6'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2016-06-03T20:51:47+00:00</updated>
<entry>
<title>net/ncsi: Remove ncsi_stop_dev()</title>
<updated>2016-06-03T20:51:47+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2016-05-09T01:47:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=0198bab47b28e0f4e5d20be4b024a24083bf8cd7'/>
<id>urn:sha1:0198bab47b28e0f4e5d20be4b024a24083bf8cd7</id>
<content type='text'>
This drops API ncsi_stop_dev() as it does nothing.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Enumerate NCSI channels in advance</title>
<updated>2016-06-03T20:51:46+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2016-05-09T01:47:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=5fe79306771c7bb9886323670d441345dd5bbfda'/>
<id>urn:sha1:5fe79306771c7bb9886323670d441345dd5bbfda</id>
<content type='text'>
All NCSI packages and channels are enumerated when user brings up
the interface. The enumeration is heavy task and consumes lots of
time. We can just do it for once when considering the fact: NCSI
physical topology won't change.

This enumerates NCSI packages and channels when user activates the
interface for the first time, meaing the procedure won't be revisited
when user reactivates the interface. The time consumed by it will
be saved and the response time is improved. In order for it, we
replace ncsi_dev_config() with ncsi_dev_probe() that is triggered
on first call to ncsi_start_dev(). Similarly, the NCSI packages and
channels are not released in ncsi_stop_dev() which is triggered when
the interface is closed. It means the release is postponed until the
interface is unregistered.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Manage NCSI device</title>
<updated>2016-06-03T20:51:45+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2015-10-06T02:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=89afe7d19971024be888032b0642f5856ad2d6a2'/>
<id>urn:sha1:89afe7d19971024be888032b0642f5856ad2d6a2</id>
<content type='text'>
There are multiple packages and channels connecting to NCSI enabled
interface. The available packages and channels are probed with NCSI
packets when NCSI device is started. Among the available packages
and channels, only one channel should be selected to be active to
provide service. When the active channel enters to failure state,
we need choose another channel as active one to do failover.

This implements the state machine to support above tasks. Also, the
public interfaces are exposed for NIC driver to manage NCSI device.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Joel Stanley &lt;joel@jms.id.au&gt;
</content>
</entry>
<entry>
<title>net/ncsi: Resource management</title>
<updated>2016-06-03T20:51:43+00:00</updated>
<author>
<name>Gavin Shan</name>
<email>gwshan@linux.vnet.ibm.com</email>
</author>
<published>2015-10-06T02:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=43b0603eb4dbbda01825d20cd8b8265479791b0c'/>
<id>urn:sha1:43b0603eb4dbbda01825d20cd8b8265479791b0c</id>
<content type='text'>
According to NCSI spec (DSP0222), the NCSI enabled interface can
connected to multiple packages simultaneously, up to 8 packages.
Each package includes multiple channels, up to 32 channels. At
one moment, one channel is enabled to provide service to the NCSI
enabled interface. Besides, each channel comprises capabilities,
modes, filters, version and statistics etc. All of them are
resources to NCSI protocol stack.

At the meanwhile, the NCSI device seen from NIC driver is
represented by "struct ncsi_dev", which is expected to populated
and started by NIC driver before the NIC can work. All possible
NCSI packages and NCSI channels connected to the NCSI interface
are tracked from the NCSI device. Also, the NCSI device recognizes
active channel that is currently providing service to NCSI enabled
interface. Also, the NCSI requests (pairs of command and response)
are embedded in NCSI device.

This introduces the data structs to represents the NCSI resources
mentioned as above. Also, functions used by NCSI stack internally
are implemented. Besides, this introduces kernel config option
CONFIG_NET_NCSI to enable NCSI stack.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
</content>
</entry>
</feed>
