<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/qed, branch v4.10.16</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.10.16</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.10.16'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2016-12-02T17:44:37Z</updated>
<entry>
<title>qed: Add support for hardware offloaded iSCSI.</title>
<updated>2016-12-02T17:44:37Z</updated>
<author>
<name>Yuval Mintz</name>
<email>yuval.mintz@cavium.com</email>
</author>
<published>2016-12-01T08:21:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=fc831825f99eb3a2f1bf3fe7307b392513b642a5'/>
<id>urn:sha1:fc831825f99eb3a2f1bf3fe7307b392513b642a5</id>
<content type='text'>
This adds the backbone required for the various HW initalizations
which are necessary for the iSCSI driver (qedi) for QLogic FastLinQ
4xxxx line of adapters - FW notification, resource initializations, etc.

Signed-off-by: Arun Easi &lt;arun.easi@cavium.com&gt;
Signed-off-by: Yuval Mintz &lt;yuval.mintz@cavium.com&gt;
Reviewed-by: Johannes Thumshirn &lt;jthumshirn@suse.de&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>qed*: Handle-based L2-queues.</title>
<updated>2016-11-30T19:32:04Z</updated>
<author>
<name>Mintz, Yuval</name>
<email>Yuval.Mintz@cavium.com</email>
</author>
<published>2016-11-29T14:47:06Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3da7a37ae6886cfba9ef35428eb976fc2ef561fa'/>
<id>urn:sha1:3da7a37ae6886cfba9ef35428eb976fc2ef561fa</id>
<content type='text'>
The driver needs to maintain several FW/HW-indices for each one of
its queues. Currently, that mapping is done by the QED where it uses
an rx/tx array of so-called hw-cids, populating them whenever a new
queue is opened and clearing them upon destruction of said queues.

This maintenance is far from ideal - there's no real reason why
QED needs to maintain such a data-structure. It becomes even worse
when considering the fact that the PF's queues and its child VFs' queues
are all mapped into the same data-structure.
As a by-product, the set of parameters an interface needs to supply for
queue APIs is non-trivial, and some of the variables in the API
structures have different meaning depending on their exact place
in the configuration flow.

This patch re-organizes the way L2 queues are configured and maintained.
In short:
  - Required parameters for queue init are now well-defined.
  - Qed would allocate a queue-cid based on parameters.
    Upon initialization success, it would return a handle to caller.
  - Queue-handle would be maintained by entity requesting queue-init,
    not necessarily qed.
  - All further queue-APIs [update, destroy] would use the opaque
    handle as reference for the queue instead of various indices.

The possible owners of such handles:
  - PF queues [qede] - complete handles based on provided configuration.
  - VF queues [qede] - fw-context-less handles, containing only relative
    information; Only the PF-side would need the absolute indices
    for configuration, so they're omitted here.
  - VF queues [qed, PF-side] - complete handles based on VF initialization.

Signed-off-by: Yuval Mintz &lt;Yuval.Mintz@cavium.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>qed: Optimize qed_chain datapath usage</title>
<updated>2016-11-30T19:32:02Z</updated>
<author>
<name>Mintz, Yuval</name>
<email>Yuval.Mintz@cavium.com</email>
</author>
<published>2016-11-29T14:47:01Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6d937acfb3f166f6e10abd978fafafa120d6f0d7'/>
<id>urn:sha1:6d937acfb3f166f6e10abd978fafafa120d6f0d7</id>
<content type='text'>
The chain structure and functions are widely used by the qed* modules,
both for configuration and datapath.
E.g., qede's Tx has one such chain and its Rx has two.

Currently, the strucutre's fields which are required for datapath
related functions [produce/consume] are intertwined with fields which
are required only for configuration purposes [init/destroy/etc.].

This patch re-arranges the chain structure so that all the fields which
are required for datapath usage could reside in a single cacheline instead
of the two which are required today.

Signed-off-by: Yuval Mintz &lt;Yuval.Mintz@cavium.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>qed: Learn resources from management firmware</title>
<updated>2016-10-31T19:52:36Z</updated>
<author>
<name>Tomer Tayar</name>
<email>Tomer.Tayar@cavium.com</email>
</author>
<published>2016-10-31T05:14:27Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2edbff8dcb5da324fd4c4fe953629e4f6ca73c99'/>
<id>urn:sha1:2edbff8dcb5da324fd4c4fe953629e4f6ca73c99</id>
<content type='text'>
Currently, each interfaces assumes it receives an equal portion
of HW/FW resources, but this is wasteful - different partitions
[and specifically, parititions exposing different protocol support]
might require different resources.

Implement a new resource learning scheme where the information is
received directly from the management firmware [which has knowledge
of all of the functions and can serve as arbiter].

Signed-off-by: Tomer Tayar &lt;Tomer.Tayar@cavium.com&gt;
Signed-off-by: Yuval Mintz &lt;Yuval.Mintz@cavium.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>qed*: Add support for WoL</title>
<updated>2016-10-31T19:52:35Z</updated>
<author>
<name>Mintz, Yuval</name>
<email>Yuval.Mintz@cavium.com</email>
</author>
<published>2016-10-31T05:14:23Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=14d39648cbfc6289e3f873d30f282b9517ebe860'/>
<id>urn:sha1:14d39648cbfc6289e3f873d30f282b9517ebe860</id>
<content type='text'>
Signed-off-by: Yuval Mintz &lt;Yuval.Mintz@cavium.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>qed: Add nvram selftest</title>
<updated>2016-10-31T19:52:35Z</updated>
<author>
<name>Mintz, Yuval</name>
<email>Yuval.Mintz@cavium.com</email>
</author>
<published>2016-10-31T05:14:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=7a4b21b7d1f0644456501e33d3917c9aaee76a75'/>
<id>urn:sha1:7a4b21b7d1f0644456501e33d3917c9aaee76a75</id>
<content type='text'>
Signed-off-by: Yuval Mintz &lt;Yuval.Mintz@cavium.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>qed*: Management firmware - notifications and defaults</title>
<updated>2016-10-31T19:52:35Z</updated>
<author>
<name>Sudarsana Kalluru</name>
<email>Sudarsana.Kalluru@cavium.com</email>
</author>
<published>2016-10-31T05:14:21Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=0fefbfbaad298162737d5418eb85065879f99b3e'/>
<id>urn:sha1:0fefbfbaad298162737d5418eb85065879f99b3e</id>
<content type='text'>
Management firmware is interested in various tidbits about
the driver - including the driver state &amp; several configuration
related fields [MTU, primtary MAC, etc.].
This adds the necessray logic to update MFW with such configurations,
some of which are passed directly via qed while for others APIs
are provide so that qede would be able to later configure if needed.

This also introduces a new default configuration for MTU which would
replace the default inherited by being an ethernet device.

Signed-off-by: Sudarsana Kalluru &lt;Sudarsana.Kalluru@cavium.com&gt;
Signed-off-by: Yuval Mintz &lt;Yuval.Mintz@cavium.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2016-10-30T16:42:58Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2016-10-30T16:42:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=27058af401e49d88a905df000dd26f443fcfa8ce'/>
<id>urn:sha1:27058af401e49d88a905df000dd26f443fcfa8ce</id>
<content type='text'>
Mostly simple overlapping changes.

For example, David Ahern's adjacency list revamp in 'net-next'
conflicted with an adjacency list traversal bug fix in 'net'.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>qed*: Reduce the memory footprint for Rx path</title>
<updated>2016-10-22T21:08:07Z</updated>
<author>
<name>Sudarsana Reddy Kalluru</name>
<email>sudarsana.kalluru@cavium.com</email>
</author>
<published>2016-10-21T08:43:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=0e191827383a6503a3bc547e63c74ff093f450f5'/>
<id>urn:sha1:0e191827383a6503a3bc547e63c74ff093f450f5</id>
<content type='text'>
With the current default values for Rx path i.e., 8 queues of 8Kb entries
each with 4Kb size, interface will consume 256Mb for Rx. The default values
causing the driver probe to fail when the system memory is low. Based on
the perforamnce results, rx-ring count value of 1Kb gives the comparable
performance with Rx coalesce timeout of 12 seconds. Updating the default
values.

Signed-off-by: Sudarsana Reddy Kalluru &lt;Sudarsana.Kalluru@cavium.com&gt;
Signed-off-by: Yuval Mintz &lt;Yuval.Mintz@cavium.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>qed*: Allow unicast filtering</title>
<updated>2016-10-14T15:59:58Z</updated>
<author>
<name>Yuval Mintz</name>
<email>Yuval.Mintz@caviumnetworks.com</email>
</author>
<published>2016-10-14T09:19:20Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=7b7e70f979e34ed84d725eab8ea42921ab6f42e3'/>
<id>urn:sha1:7b7e70f979e34ed84d725eab8ea42921ab6f42e3</id>
<content type='text'>
Apparently qede fails to set IFF_UNICAST_FLT, and as a result is not
actually performing unicast MAC filtering.
While we're at it - relax a hard-coded limitation that limits each
interface into using at most 15 unicast MAC addresses before turning
promiscuous. Instead utilize the HW resources to their limit.

Signed-off-by: Yuval Mintz &lt;Yuval.Mintz@caviumnetworks.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
