<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/ethernet/intel/ice/ice_flow.c, branch linux-6.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2022-03-15T00:22:58Z</updated>
<entry>
<title>ice: remove circular header dependencies on ice.h</title>
<updated>2022-03-15T00:22:58Z</updated>
<author>
<name>Jacob Keller</name>
<email>jacob.e.keller@intel.com</email>
</author>
<published>2022-02-23T00:26:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=649c87c6ff52efccf7832a690c0959e012ecce73'/>
<id>urn:sha1:649c87c6ff52efccf7832a690c0959e012ecce73</id>
<content type='text'>
Several headers in the ice driver include ice.h even though they are
themselves included by that header. The most notable of these is
ice_common.h, but several other headers also do this.

Such a recursive inclusion is problematic as it forces headers to be
included in a strict order, otherwise compilation errors can result. The
circular inclusions do not trigger an endless loop due to standard
header inclusion guards, however other errors can occur.

For example, ice_flow.h defines ice_rss_hash_cfg, which is used by
ice_sriov.h as part of the definition of ice_vf_hash_ip_ctx.

ice_flow.h includes ice_acl.h, which includes ice_common.h, and which
finally includes ice.h. Since ice.h itself includes ice_sriov.h, this
creates a circular dependency.

The definition in ice_sriov.h requires things from ice_flow.h, but
ice_flow.h itself will lead to trying to load ice_sriov.h as part of its
process for expanding ice.h. The current code avoids this issue by
having an implicit dependency without the include of ice_flow.h.

If we were to fix that so that ice_sriov.h explicitly depends on
ice_flow.h the following pattern would occur:

  ice_flow.h -&gt; ice_acl.h -&gt; ice_common.h -&gt; ice.h -&gt; ice_sriov.h

At this point, during the expansion of, the header guard for ice_flow.h
is already set, so when ice_sriov.h attempts to load the ice_flow.h
header it is skipped. Then, we go on to begin including the rest of
ice_sriov.h, including structure definitions which depend on
ice_rss_hash_cfg. This produces a compiler warning because
ice_rss_hash_cfg hasn't yet been included. Remember, we're just at the
start of ice_flow.h!

If the order of headers is incorrect (ice_flow.h is not implicitly
loaded first in all files which include ice_sriov.h) then we get the
same failure.

Removing this recursive inclusion requires fixing a few cases where some
headers depended on the header inclusions from ice.h. In addition, a few
other changes are also required.

Most notably, ice_hw_to_dev is implemented as a macro in ice_osdep.h,
which is the likely reason that ice_common.h includes ice.h at all. This
macro implementation requires the full definition of ice_pf in order to
properly compile.

Fix this by moving it to a function declared in ice_main.c, so that we
do not require all files to depend on the layout of the ice_pf
structure.

Note that this change only fixes circular dependencies, but it does not
fully resolve all implicit dependencies where one header may depend on
the inclusion of another. I tried to fix as many of the implicit
dependencies as I noticed, but fixing them all requires a somewhat
tedious analysis of each header and attempting to compile it separately.

Signed-off-by: Jacob Keller &lt;jacob.e.keller@intel.com&gt;
Tested-by: Gurucharan G &lt;gurucharanx.g@intel.com&gt; (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
</content>
</entry>
<entry>
<title>ice: Add flow director support for channel mode</title>
<updated>2021-12-30T13:16:07Z</updated>
<author>
<name>Kiran Patil</name>
<email>kiran.patil@intel.com</email>
</author>
<published>2021-12-29T18:54:33Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=40319796b7321e25d23671e525e01a1f4d85f6b6'/>
<id>urn:sha1:40319796b7321e25d23671e525e01a1f4d85f6b6</id>
<content type='text'>
Add support to enable flow-director filter when multiple TCs are
configured. Flow director filter can be configured using ethtool
(--config-ntuple option). When multiple TCs are configured, each
TC is mapped to an unique HW VSI. So VSI corresponding to queue
used in filter is identified and flow director context is updated
with correct VSI while configuring ntuple filter in HW.

Signed-off-by: Kiran Patil &lt;kiran.patil@intel.com&gt;
Signed-off-by: Amritha Nambiar &lt;amritha.nambiar@intel.com&gt;
Signed-off-by: Sudheer Mogilappagari &lt;sudheer.mogilappagari@intel.com&gt;
Tested-by: Bharathi Sreenivas &lt;bharathi.sreenivas@intel.com&gt;
Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ice: Remove unused ICE_FLOW_SEG_HDRS_L2_MASK</title>
<updated>2021-12-14T18:19:14Z</updated>
<author>
<name>Tony Nguyen</name>
<email>anthony.l.nguyen@intel.com</email>
</author>
<published>2021-11-17T23:55:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f8a3bcceb4224494ac4fa2b7e9428ac1bbdd6d52'/>
<id>urn:sha1:f8a3bcceb4224494ac4fa2b7e9428ac1bbdd6d52</id>
<content type='text'>
Remove the unused define ICE_FLOW_SEG_HDRS_L2_MASK.

Reported-by: Jesse Brandeburg &lt;jesse.brandeburg@intel.com&gt;
Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
Acked-by: Paul Menzel &lt;pmenzel@molgen.mpg.de&gt;
Tested-by: Gurucharan G &lt;gurucharanx.g@intel.com&gt;
</content>
</entry>
<entry>
<title>ice: Cleanup after ice_status removal</title>
<updated>2021-12-14T18:19:13Z</updated>
<author>
<name>Tony Nguyen</name>
<email>anthony.l.nguyen@intel.com</email>
</author>
<published>2021-10-07T22:59:03Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5518ac2a64423f226e922b6719cf0eb62c31e141'/>
<id>urn:sha1:5518ac2a64423f226e922b6719cf0eb62c31e141</id>
<content type='text'>
Clean up code after changing ice_status to int. Rearrange to fix reverse
Christmas tree and pull lines up where applicable.

Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
Tested-by: Gurucharan G &lt;gurucharanx.g@intel.com&gt;
</content>
</entry>
<entry>
<title>ice: Remove enum ice_status</title>
<updated>2021-12-14T18:19:13Z</updated>
<author>
<name>Tony Nguyen</name>
<email>anthony.l.nguyen@intel.com</email>
</author>
<published>2021-10-07T22:58:01Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d54699e27d506fcf6a27b336c5d8510d9701c86b'/>
<id>urn:sha1:d54699e27d506fcf6a27b336c5d8510d9701c86b</id>
<content type='text'>
Replace uses of ice_status to, as equivalent as possible, error codes.
Remove enum ice_status and its helper conversion function as they are no
longer needed.

Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
Tested-by: Gurucharan G &lt;gurucharanx.g@intel.com&gt;
</content>
</entry>
<entry>
<title>ice: Use int for ice_status</title>
<updated>2021-12-14T18:19:13Z</updated>
<author>
<name>Tony Nguyen</name>
<email>anthony.l.nguyen@intel.com</email>
</author>
<published>2021-10-07T22:56:57Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5e24d5984c805c644de8bf5217a820e22e28318c'/>
<id>urn:sha1:5e24d5984c805c644de8bf5217a820e22e28318c</id>
<content type='text'>
To prepare for removal of ice_status, change the variables from
ice_status to int. This eases the transition when values are changed to
return standard int error codes over enum ice_status.

Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
Tested-by: Gurucharan G &lt;gurucharanx.g@intel.com&gt;
</content>
</entry>
<entry>
<title>ice: Support RSS configure removal for AVF</title>
<updated>2021-04-22T16:26:22Z</updated>
<author>
<name>Qi Zhang</name>
<email>qi.z.zhang@intel.com</email>
</author>
<published>2021-04-13T00:48:40Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ddd1f3cfed3f06906c25f917eb703d683c415e24'/>
<id>urn:sha1:ddd1f3cfed3f06906c25f917eb703d683c415e24</id>
<content type='text'>
Add the handler for virtchnl message VIRTCHNL_OP_DEL_RSS_CFG to remove
an existing RSS configuration with matching hashed fields.

Signed-off-by: Vignesh Sridhar &lt;vignesh.sridhar@intel.com&gt;
Co-developed-by: Jia Guo &lt;jia.guo@intel.com&gt;
Signed-off-by: Jia Guo &lt;jia.guo@intel.com&gt;
Signed-off-by: Qi Zhang &lt;qi.z.zhang@intel.com&gt;
Signed-off-by: Haiyue Wang &lt;haiyue.wang@intel.com&gt;
Tested-by: Bo Chen &lt;BoX.C.Chen@intel.com&gt;
Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
</content>
</entry>
<entry>
<title>ice: cleanup style issues</title>
<updated>2021-03-31T21:21:28Z</updated>
<author>
<name>Bruce Allan</name>
<email>bruce.w.allan@intel.com</email>
</author>
<published>2021-03-02T18:15:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0c3e94c247938b63218e661fcd1a935edb0db215'/>
<id>urn:sha1:0c3e94c247938b63218e661fcd1a935edb0db215</id>
<content type='text'>
A few style issues reported by checkpatch have snuck into the code; resolve
the style issues.

COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses

Signed-off-by: Bruce Allan &lt;bruce.w.allan@intel.com&gt;
Tested-by: Tony Brelinski &lt;tonyx.brelinski@intel.com&gt;
Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
</content>
</entry>
<entry>
<title>ice: rename ptype bitmap</title>
<updated>2021-03-31T21:21:28Z</updated>
<author>
<name>Qi Zhang</name>
<email>qi.z.zhang@intel.com</email>
</author>
<published>2021-03-02T18:12:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=94a936981a3eae3f1e9d1bf02c32d3f559a7aa95'/>
<id>urn:sha1:94a936981a3eae3f1e9d1bf02c32d3f559a7aa95</id>
<content type='text'>
Align all ptype bitmap to follow ice_ptypes_xxx prefix.

Signed-off-by: Qi Zhang &lt;qi.z.zhang@intel.com&gt;
Tested-by: Tony Brelinski &lt;tonyx.brelinski@intel.com&gt;
Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
</content>
</entry>
<entry>
<title>ice: Add non-IP Layer2 protocol FDIR filter for AVF</title>
<updated>2021-03-22T18:32:12Z</updated>
<author>
<name>Qi Zhang</name>
<email>qi.z.zhang@intel.com</email>
</author>
<published>2021-03-09T03:08:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=21606584f1bb4c76aeb5a113e0e8a72681a270e4'/>
<id>urn:sha1:21606584f1bb4c76aeb5a113e0e8a72681a270e4</id>
<content type='text'>
Add new filter type that allow forward non-IP Ethernet packets base on its
ethertype. The filter is only enabled when COMMS DDP package is loaded.

Signed-off-by: Yahui Cao &lt;yahui.cao@intel.com&gt;
Signed-off-by: Qi Zhang &lt;qi.z.zhang@intel.com&gt;
Tested-by: Chen Bo &lt;BoX.C.Chen@intel.com&gt;
Signed-off-by: Tony Nguyen &lt;anthony.l.nguyen@intel.com&gt;
</content>
</entry>
</feed>
