/* * hdmi-audio.c -- OMAP4+ DSS HDMI audio support library * * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com * * Author: Jyri Sarha <jsarha@ti.com> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * */ #ifndef __OMAP_HDMI_AUDIO_H__ #define __OMAP_HDMI_AUDIO_H__ #include <linux/platform_data/omapdss.h> struct omap_dss_audio { struct snd_aes_iec958 *iec; struct snd_cea_861_aud_if *cea; }; struct omap_hdmi_audio_ops { int (*audio_startup)(struct device *dev, void (*abort_cb)(struct device *dev)); int (*audio_shutdown)(struct device *dev); int (*audio_start)(struct device *dev); void (*audio_stop)(struct device *dev); int (*audio_config)(struct device *dev, struct omap_dss_audio *dss_audio); }; /* HDMI audio initalization data */ struct omap_hdmi_audio_pdata { struct device *dev; enum omapdss_version dss_version; phys_addr_t audio_dma_addr; const struct omap_hdmi_audio_ops *ops; }; #endif /* __OMAP_HDMI_AUDIO_H__ */ ></td></tr> <tr><td class='sub'>net-next plumbings</td><td class='sub right'>Tobias Klauser</td></tr></table> <table class='tabs'><tr><td> <a href='/cgit.cgi/linux/net-next.git/?h=nds-private-remove'>summary</a><a href='/cgit.cgi/linux/net-next.git/refs/?h=nds-private-remove&id=3b1137fe74829e021f483756a648cbb87c8a1b4a'>refs</a><a class='active' href='/cgit.cgi/linux/net-next.git/log/?h=nds-private-remove&showmsg=1'>log</a><a href='/cgit.cgi/linux/net-next.git/tree/?h=nds-private-remove&id=3b1137fe74829e021f483756a648cbb87c8a1b4a'>tree</a><a href='/cgit.cgi/linux/net-next.git/commit/?h=nds-private-remove&id=3b1137fe74829e021f483756a648cbb87c8a1b4a'>commit</a><a href='/cgit.cgi/linux/net-next.git/diff/?h=nds-private-remove&id=3b1137fe74829e021f483756a648cbb87c8a1b4a'>diff</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/linux/net-next.git/log/'> <input type='hidden' name='h' value='nds-private-remove'/><input type='hidden' name='id' value='3b1137fe74829e021f483756a648cbb87c8a1b4a'/><input type='hidden' name='showmsg' value='1'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/cgit.cgi/linux/net-next.git/log/?h=nds-private-remove&id=3b1137fe74829e021f483756a648cbb87c8a1b4a'>Collapse</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr> <tr class='logheader'><td><span title='2017-02-04 19:58:14 -0500'>2017-02-04</span></td><td class='logsubject'><a href='/cgit.cgi/linux/net-next.git/commit/?h=nds-private-remove&id=3b1137fe74829e021f483756a648cbb87c8a1b4a'>net: ipv6: Change notifications for multipath add to RTA_MULTIPATH</a></td><td>David Ahern</td><td>3</td><td><span class='deletions'>-3</span>/<span class='insertions'>+54</span></td></tr> <tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'> Change ip6_route_multipath_add to send one notifciation with the full route encoded with RTA_MULTIPATH instead of a series of individual routes. This is done by adding a skip_notify flag to the nl_info struct. The flag is used to skip sending of the notification in the fib code that actually inserts the route. Once the full route has been added, a notification is generated with all nexthops. ip6_route_multipath_add handles 3 use cases: new routes, route replace, and route append. The multipath notification generated needs to be consistent with the order of the nexthops and it should be consistent with the order in a FIB dump which means the route with the first nexthop needs to be used as the route reference. For the first 2 cases (new and replace), a reference to the route used to send the notification is obtained by saving the first route added. For the append case, the last route added is used to loop back to its first sibling route which is the first nexthop in the multipath route. Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net> </td></tr> <tr class='logheader'><td><span title='2017-02-04 19:58:14 -0500'>2017-02-04</span></td><td class='logsubject'><a href='/cgit.cgi/linux/net-next.git/commit/?h=nds-private-remove&id=beb1afac518dec5a15dc92ba8f0ca016dcf457b4'>net: ipv6: Add support to dump multipath routes via RTA_MULTIPATH attribute</a></td><td>David Ahern</td><td>2</td><td><span class='deletions'>-17</span>/<span class='insertions'>+105</span></td></tr> <tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'> IPv6 returns multipath routes as a series of individual routes making their display and handling by userspace different and more complicated than IPv4, putting the burden on the user to see that a route is part of a multipath route and internally creating a multipath route if desired (e.g., libnl does this as of commit 29b71371e764). This patch addresses this difference, allowing multipath routes to be returned using the RTA_MULTIPATH attribute. The end result is that IPv6 multipath routes can be treated and displayed in a format similar to IPv4: $ ip -6 ro ls vrf red 2001:db8:1::/120 dev eth1 proto kernel metric 256 pref medium 2001:db8:2::/120 dev eth2 proto kernel metric 256 pref medium 2001:db8:200::/120 metric 1024 nexthop via 2001:db8:1::2 dev eth1 weight 1 nexthop via 2001:db8:2::2 dev eth2 weight 1 Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net> </td></tr> <tr class='logheader'><td><span title='2017-02-04 19:58:14 -0500'>2017-02-04</span></td><td class='logsubject'><a href='/cgit.cgi/linux/net-next.git/commit/?h=nds-private-remove&id=0ae8133586ad1c9be894411aaf8b17bb58c8efe5'>net: ipv6: Allow shorthand delete of all nexthops in multipath route</a></td><td>David Ahern</td><td>2</td><td><span class='deletions'>-3</span>/<span class='insertions'>+39</span></td></tr> <tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'> IPv4 allows multipath routes to be deleted using just the prefix and length. For example: $ ip ro ls vrf red unreachable default metric 8192 1.1.1.0/24 nexthop via 10.100.1.254 dev eth1 weight 1 nexthop via 10.11.200.2 dev eth11.200 weight 1 10.11.200.0/24 dev eth11.200 proto kernel scope link src 10.11.200.3 10.100.1.0/24 dev eth1 proto kernel scope link src 10.100.1.3 $ ip ro del 1.1.1.0/24 vrf red $ ip ro ls vrf red unreachable default metric 8192 10.11.200.0/24 dev eth11.200 proto kernel scope link src 10.11.200.3 10.100.1.0/24 dev eth1 proto kernel scope link src 10.100.1.3 The same notation does not work with IPv6 because of how multipath routes are implemented for IPv6. For IPv6 only the first nexthop of a multipath route is deleted if the request contains only a prefix and length. This leads to unnecessary complexity in userspace dealing with IPv6 multipath routes. This patch allows all nexthops to be deleted without specifying each one in the delete request. Internally, this is done by walking the sibling list of the route matching the specifications given (prefix, length, metric, protocol, etc). $ ip -6 ro ls vrf red 2001:db8:1::/120 dev eth1 proto kernel metric 256 pref medium 2001:db8:2::/120 dev eth2 proto kernel metric 256 pref medium 2001:db8:200::/120 via 2001:db8:1::2 dev eth1 metric 1024 pref medium 2001:db8:200::/120 via 2001:db8:2::2 dev eth2 metric 1024 pref medium ... $ ip -6 ro del vrf red 2001:db8:200::/120 $ ip -6 ro ls vrf red 2001:db8:1::/120 dev eth1 proto kernel metric 256 pref medium 2001:db8:2::/120 dev eth2 proto kernel metric 256 pref medium ... Because IPv6 allows individual nexthops to be deleted without deleting the entire route, the ip6_route_multipath_del and non-multipath code path (ip6_route_del) have to be discriminated so that all nexthops are only deleted for the latter case. This is done by making the existing fc_type in fib6_config a u16 and then adding a new u16 field with fc_delete_all_nh as the first bit. Suggested-by: Dinesh Dutt <ddutt@cumulusnetworks.com> Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net> </td></tr> <tr class='logheader'><td><span title='2017-02-04 19:38:28 -0500'>2017-02-04</span></td><td class='logsubject'><a href='/cgit.cgi/linux/net-next.git/commit/?h=nds-private-remove&id=4d6308aac3258ecad8444811a16951a919adc131'>virtio_net: exploit napi_complete_done() return value</a></td><td>Eric Dumazet</td><td>1</td><td><span class='deletions'>-5</span>/<span class='insertions'>+6</span></td></tr> <tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'> Since commit 364b6055738b ("net: busy-poll: return busypolling status to drivers"), napi_complete_done() returns a boolean that can be used by drivers to conditionally rearm interrupts. This patch changes virtio_net to use this boolean to avoid a bit of overhead for busy-poll users. Jason reports about 1.1% improvement for 1 byte TCP_RR (burst 100). Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Jason Wang <jasowang@redhat.com> Cc: Michael S. Tsirkin <mst@redhat.com> Cc: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> </td></tr> <tr class='logheader'><td><span title='2017-02-04 12:13:27 -0500'>2017-02-04</span></td><td class='logsubject'><a href='/cgit.cgi/linux/net-next.git/commit/?h=nds-private-remove&id=a076d1bdc678a2b9157660af8bd691322c0ba3dd'>Merge branch '40GbE' of ↵</a></td><td>David S. Miller