* Re: [1/3] ath10k: remove multiple defines of DIAG_TRANSFER_LIMIT
From: Kalle Valo @ 2017-01-27 18:04 UTC (permalink / raw)
To: Srinivas Kandagatla
Cc: linux-wireless, netdev, Srinivas Kandagatla, linux-kernel, ath10k
In-Reply-To: <1485183876-27080-1-git-send-email-srinivas.kandagatla@linaro.org>
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> wrote:
> DIAG_TRANSFER_LIMIT is redefined with same value and comments
> just below this entry, remove this duplicate entry.
>
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
3 patches applied to ath-next branch of ath.git, thanks.
dd51fa3d8a1d ath10k: remove multiple defines of DIAG_TRANSFER_LIMIT
0de4df5ba2ad ath10k: use dma_zalloc_coherent()
1ad38fd719da ath10k: fix typo in addr calculation
--
https://patchwork.kernel.org/patch/9532691/
Documentation about submitting wireless patches and checking status
from patchwork:
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
^ permalink raw reply
* RE: [PATCH net-next] net: adjust skb->truesize in pskb_expand_head()
From: David Laight @ 2017-01-27 17:24 UTC (permalink / raw)
To: 'Eric Dumazet'; +Cc: David Miller, netdev, Slava Shwartsman
In-Reply-To: <1485528261.6360.38.camel@edumazet-glaptop3.roam.corp.google.com>
From: Eric Dumazet
> Sent: 27 January 2017 14:44
...
> > I'm also guessing that extra headroom can be generated by stealing unused tailroom.
>
> This is already done.
>
> Quoting
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=87fb4b7b533073eeeaed0b6bf7c
> 2328995f6c075
>
> At skb alloc phase, we put skb_shared_info struct at the exact end of
> skb head, to allow a better use of memory (lowering number of
> reallocations), since kmalloc() gives us power-of-two memory blocks.
Does that actually have the expected effect?
Allocate an skb for 512 bytes, copy in some data with 64 bytes of headroom.
This is (probably) a 1k memory block with skb_shared_info at the end.
Some code needs to add a header that doesn't fit, calls pskb_expand_head()
to get another 4 bytes.
Since the existing amount of 'tailroom' must be kept kmalloc(1024+4) is called.
This allocates a 2k memory block, again skb_shared_info is put at the end.
So the headroom has been increased by 4 bytes and the tailroom by 1020.
Another layer needs to add another header.
The memory block becomes 4k large.
What have I missed?
David
^ permalink raw reply
* Re: [PATCH net-next 1/4] mlx5: Make building eswitch configurable
From: Tom Herbert @ 2017-01-27 17:50 UTC (permalink / raw)
To: Saeed Mahameed
Cc: Or Gerlitz, Saeed Mahameed, David Miller, Linux Netdev List,
Kernel Team
In-Reply-To: <CALzJLG_v2HxsdPdX5H=T51RGmaMMnXVxzihuPN66a9RxDadEcw@mail.gmail.com>
On Fri, Jan 27, 2017 at 9:38 AM, Saeed Mahameed
<saeedm@dev.mellanox.co.il> wrote:
> On Fri, Jan 27, 2017 at 7:34 AM, Or Gerlitz <gerlitz.or@gmail.com> wrote:
>> On Fri, Jan 27, 2017 at 1:32 AM, Tom Herbert <tom@herbertland.com> wrote:
>>> Add a configuration option (CONFIG_MLX5_CORE_ESWITCH) for controlling
>>> whether the eswitch code is built. Change Kconfig and Makefile
>>> accordingly.
>>
>> Tom, FWIW, please note that the basic e-switch functionality is needed
>> also when SRIOV isn't of use, this is for a multi host configuration.
>>
>
> Right, set_l2_table_entry@eswitch.c need to be called by PF for any UC
> MAC address wanted by VF or PF.
> To keep one flow in the code, the implementation is done as part of eswitch.
>
> so in multi-host configuration (where there are 4 PFs) each PF should
> invoke set_l2_table_entry_cmd for each one of its own UC MACs.
>
> populating the l2 table is done using the whole eswitch event driven
> mechanisms, it is not easy and IMH not right to separate eswitch
> tables from l2 table (same management logic, different tables).
>
> Anyways as Or stated this is just an FYI, eswitch needs to be enabled
> on Multi-host configuration.
>
What indicate a multi-host configuration?
>> Or.
>>
>> My WW (and same for the rest of the IL team..) has ended so I will be
>> able to further look on this series and comment on Sunday.
^ permalink raw reply
* Re: [PATCH net-next 1/4] mlx5: Make building eswitch configurable
From: Saeed Mahameed @ 2017-01-27 17:38 UTC (permalink / raw)
To: Or Gerlitz
Cc: Tom Herbert, Saeed Mahameed, David Miller, Linux Netdev List,
Kernel Team
In-Reply-To: <CAJ3xEMhaQ4zsBxkWzs8qCv5KT-gAmdD9dNkSS+KDwB+VGw5SEw@mail.gmail.com>
On Fri, Jan 27, 2017 at 7:34 AM, Or Gerlitz <gerlitz.or@gmail.com> wrote:
> On Fri, Jan 27, 2017 at 1:32 AM, Tom Herbert <tom@herbertland.com> wrote:
>> Add a configuration option (CONFIG_MLX5_CORE_ESWITCH) for controlling
>> whether the eswitch code is built. Change Kconfig and Makefile
>> accordingly.
>
> Tom, FWIW, please note that the basic e-switch functionality is needed
> also when SRIOV isn't of use, this is for a multi host configuration.
>
Right, set_l2_table_entry@eswitch.c need to be called by PF for any UC
MAC address wanted by VF or PF.
To keep one flow in the code, the implementation is done as part of eswitch.
so in multi-host configuration (where there are 4 PFs) each PF should
invoke set_l2_table_entry_cmd for each one of its own UC MACs.
populating the l2 table is done using the whole eswitch event driven
mechanisms, it is not easy and IMH not right to separate eswitch
tables from l2 table (same management logic, different tables).
Anyways as Or stated this is just an FYI, eswitch needs to be enabled
on Multi-host configuration.
> Or.
>
> My WW (and same for the rest of the IL team..) has ended so I will be
> able to further look on this series and comment on Sunday.
^ permalink raw reply
* Re: [PATCH net-next 0/2] Work around missing PHY prodcut ID in mv88e6390
From: Gregory CLEMENT @ 2017-01-27 17:12 UTC (permalink / raw)
To: Andrew Lunn; +Cc: David Miller, netdev, vivien.didelot
In-Reply-To: <20170125.132509.1614793375095964218.davem@davemloft.net>
Hi Andrew,
On mer., janv. 25 2017, David Miller <davem@davemloft.net> wrote:
> From: Andrew Lunn <andrew@lunn.ch>
> Date: Wed, 25 Jan 2017 02:55:12 +0100
>
>> The internal PHYs of the MV88E6390 have a Marvell OUI, but the product
>> ID is zero. Work around this by trapping reads to the ID, and if it is
>> zero, return the MV88E6390 family ID.
>
> Because of the ID masking issue, I am expecting a respin of this.
Do you think you will send a new version soon?
It is the last missing part to send my v7 for the Topaz support on the
EspressoBin.
Thanks,
Gregory
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply
* Re: [PATCH net-next 1/2] ravb: Add tx and rx clock internal delays mode of APSR
From: Sergei Shtylyov @ 2017-01-27 16:55 UTC (permalink / raw)
To: Simon Horman
Cc: David Miller, Magnus Damm, netdev, linux-renesas-soc,
Kazuya Mizuguchi
In-Reply-To: <20170127164921.GB7336@verge.net.au>
On 01/27/2017 07:49 PM, Simon Horman wrote:
>>> From: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
>>>
>>> This patch enables tx and rx clock internal delay modes (TDM and RDM).
>>>
>>> This is to address a failure in the case of 1Gbps communication using the
>>> by salvator-x board with the KSZ9031RNX phy. This has been reported to
>>> occur with both the r8a7795 (H3) and r8a7796 (M3-W) SoCs.
>>>
>>> With this change APSR internal delay modes are enabled for
>>> "rgmii-id", "rgmii-rxid" and "rgmii-txid" phy modes as follows:
>>>
>>> phy mode | ASPR delay mode
>>> -----------+----------------
>>> rgmii-id | TDM and RDM
>>> rgmii-rxid | RDM
>>> rgmii-txid | TDM
>>>
>>> Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
>>> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
>>>
>>> ---
>>> v1 [Simon Horman]
>>> - Combined patches
>>> - Reworded changelog
>>>
>>> v0 [Kazuya Mizuguchi]
>>> ---
>>> drivers/net/ethernet/renesas/ravb.h | 10 ++++++++++
>>> drivers/net/ethernet/renesas/ravb_main.c | 29 +++++++++++++++++++++++++++++
>>> 2 files changed, 39 insertions(+)
>>>
>>> diff --git a/drivers/net/ethernet/renesas/ravb.h b/drivers/net/ethernet/renesas/ravb.h
>>> index f1109661a533..d7c91d48cc48 100644
>>> --- a/drivers/net/ethernet/renesas/ravb.h
>>> +++ b/drivers/net/ethernet/renesas/ravb.h
>> [...]
>>> @@ -248,6 +249,15 @@ enum ESR_BIT {
>>> ESR_EIL = 0x00001000,
>>> };
>>>
>>> +/* APSR */
>>> +enum APSR_BIT {
>>> + APSR_MEMS = 0x00000002,
>>
>> Not documented in the revision 0.5 of the gen3 manual...
>
> It is in version 0.53 of the documentation but I think it can be dropped
> from this patch as its unused.
No need to drop, let it be. :-)
>>> + APSR_CMSW = 0x00000010,
>
> I think the above can also be dropped as it is unused.
No need.
>>> + APSR_DM = 0x00006000,
>>
>> ... and neither this field. Are these documented in the latter revs?
>
> This one is not. I can ask Mizuguchi-san to confirm it exists (with himself).
The whole patch depends on it! If it's not documented, I'd like a comment
added, like I did for the other undocumented things in this driver...
[...]
>>> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
>>> index 89ac1e3f6175..9fb4c04c5885 100644
>>> --- a/drivers/net/ethernet/renesas/ravb_main.c
>>> +++ b/drivers/net/ethernet/renesas/ravb_main.c
>>> @@ -1904,6 +1904,29 @@ static void ravb_set_config_mode(struct net_device *ndev)
>>> }
>>> }
>>>
>>> +static void ravb_set_delay_mode(struct net_device *ndev)
>>> +{
>>> + struct ravb_private *priv = netdev_priv(ndev);
>>> +
>>> + if (priv->chip_id != RCAR_GEN2) {
>>> + switch (priv->phy_interface) {
>>> + case PHY_INTERFACE_MODE_RGMII_ID:
>>> + ravb_modify(ndev, APSR, APSR_DM, APSR_DM_RDM |
>>> + APSR_DM_TDM);
>>> + break;
>>> + case PHY_INTERFACE_MODE_RGMII_RXID:
>>> + ravb_modify(ndev, APSR, APSR_DM, APSR_DM_RDM);
>>> + break;
>>> + case PHY_INTERFACE_MODE_RGMII_TXID:
>>> + ravb_modify(ndev, APSR, APSR_DM, APSR_DM_TDM);
>>> + break;
>>> + default:
>>> + ravb_modify(ndev, APSR, APSR_DM, 0);
>>> + break;
>>> + }
>>
>> How about doing ravb_modify() only once?
>
> Something like this?
>
> int set = 0;
>
> if (priv->phy_interface == PHY_INTERFACE_MODE_RGMII_ID ||
> priv->phy_interface == PHY_INTERFACE_MODE_RGMII_RXID)
> set |= APSR_DM_RDM;
>
> if (priv->phy_interface == PHY_INTERFACE_MODE_RGMII_ID ||
> priv->phy_interface == PHY_INTERFACE_MODE_RGMII_TXID)
> set |= APSR_DM_TDM;
>
> ravb_modify(ndev, APSR, APSR_DM, set);
>
> I don't really see any advantage to it but I can change things around
> however you like.
I didn't mean to replace *switch*, actually -- just to move ravb_modify()
out of it.
MBR, Sergei
^ permalink raw reply
* Re: [PATCH] net: wan: Remove unused stats member from struct frad_local
From: David Miller @ 2017-01-27 16:32 UTC (permalink / raw)
To: tklauser; +Cc: netdev
In-Reply-To: <20170127142632.29332-1-tklauser@distanz.ch>
From: Tobias Klauser <tklauser@distanz.ch>
Date: Fri, 27 Jan 2017 15:26:32 +0100
> The stats member of struct frad_locl is used neither by the dlci nor the
> sdla driver, so it might as well be removed.
>
> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Applied, thanks.
^ permalink raw reply
* [GIT] Networking
From: David Miller @ 2017-01-27 17:25 UTC (permalink / raw)
To: torvalds; +Cc: akpm, netdev, netdev, linux-kernel
1) GTP fixes from Andreas Schultz (missing genl module alias, clear IP
DF on transmit).
2) Netfilter needs to reflect the fwmark when sending resets, from
Pau Espin Pedrol.
3) nftable dump OOPS fix from Liping Zhang.
4) Fix erroneous setting of VIRTIO_NET_HDR_F_DATA_VALID on transmit,
from Rolf Neugebauer.
5) Fix build error of ipt_CLUSTERIP when procfs is disabled, from Arnd
Bergmann.
6) Fix regression in handling of NETIF_F_SG in harmonize_features(),
from Eric Dumazet.
7) Fix RTNL deadlock wrt. lwtunnel module loading, from David Ahern.
8) tcp_fastopen_create_child() needs to setup tp->max_window, from
Alexey Kodanev.
9) Missing kmemdup() failure check in ipv6 segment routing code, from
Eric Dumazet.
10) Don't execute unix_bind() under the bindlock, otherwise we deadlock
with splice. From WANG Cong.
11) ip6_tnl_parse_tlv_enc_lim() potentially reallocates the skb buffer,
therefore callers must reload cached header pointers into that
skb. Fix from Eric Dumazet.
12) Fix various bugs in legacy IRQ fallback handling in alx driver,
from Tobias Regnery.
13) Do not allow lwtunnel drivers to be unloaded while they are
referenced by active instances, from Robert Shearman.
14) Fix truncated PHY LED trigger names, from Geert Uytterhoeven.
15) Fix a few regressions from virtio_net XDP support, from John
Fastabend and Jakub Kicinski.
Please pull, thanks a lot!
The following changes since commit 4b19a9e20bf99d62e1c47554f8eb2d9f520642ba:
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (2017-01-17 09:33:10 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
for you to fetch changes up to 950eabbd6ddedc1b08350b9169a6a51b130ebaaf:
ISDN: eicon: silence misleading array-bounds warning (2017-01-27 11:27:34 -0500)
----------------------------------------------------------------
Alexander Alemayhu (1):
netfilter: nf_tables: fix spelling mistakes
Alexey Kodanev (1):
tcp: initialize max window for a new fastopen socket
Alvaro G. M (1):
net: phy: dp83848: add DP83620 PHY support
Andreas Schultz (3):
gtp: add genl family modules alias
gtp: clear DF bit on GTP packet tx
gtp: fix cross netns recv on gtp socket
Arnd Bergmann (5):
netfilter: ipt_CLUSTERIP: fix build error without procfs
net/mlx5e: Remove unused variable
qed: avoid possible stack overflow in qed_ll2_acquire_connection
bcm63xx_enet: avoid uninitialized variable warning
ISDN: eicon: silence misleading array-bounds warning
Balakrishnan Raman (1):
vxlan: do not age static remote mac entries
Bjørn Mork (1):
qmi_wwan/cdc_ether: add device ID for HP lt2523 (Novatel E371) WWAN card
Colin Ian King (1):
net: sctp: fix array overrun read on sctp_timer_tbl
Daniel Borkmann (1):
bpf: don't trigger OOM killer under pressure with map alloc
Daniel Gonzalez Cabanelas (1):
net: phy: bcm63xx: Utilize correct config_intr function
David Ahern (2):
lwtunnel: fix autoload of lwt modules
net: mpls: Fix multipath selection for LSR use case
David S. Miller (17):
Merge tag 'linux-can-fixes-for-4.10-20170118' of git://git.kernel.org/.../mkl/linux-can
Merge branch 'ethtool-set-channels-fix'
Merge branch 'xen-netback-leaks'
Revert "net: sctp: fix array overrun read on sctp_timer_tbl"
Merge branch 'amd-xgbe-fixes'
Merge tag 'mac80211-for-davem-2017-01-24' of git://git.kernel.org/.../jberg/mac80211
Merge branch 'ip6_tnl_parse_tlv_enc_lim-fixes'
Merge branch 'vxlan-fdb-fixes'
Merge branch 'alx-mq-fixes'
Merge branch 'tipc-topology-fixes'
Merge branch 'lwt-module-unload'
Merge branch 'bnxt_en-rtnl-fixes'
Merge branch 'phy-truncated-led-names'
Merge branch 'r8152-napi-fixes'
Merge tag 'batadv-net-for-davem-20170125' of git://git.open-mesh.org/linux-merge
Merge git://git.kernel.org/.../pablo/nf
Merge branch 'gtp-fixes'
Einar Jón (1):
can: c_can_pci: fix null-pointer-deref in c_can_start() - set device pointer
Eran Ben Elisha (3):
net: ethtool: Initialize buffer when querying device channel settings
net/mlx4_en: Remove unnecessary checks when setting num channels
net/mlx5e: Remove unnecessary checks when setting num channels
Eric Dumazet (6):
net: fix harmonize_features() vs NETIF_F_HIGHDMA
gianfar: Do not reuse pages from emergency reserve
ipv6: seg6_genl_set_tunsrc() must check kmemdup() return value
net/mlx5e: Do not recycle pages from emergency reserve
ip6_tunnel: must reload ipv6h in ip6ip6_tnl_xmit()
ipv6: fix ip6_tnl_parse_tlv_enc_lim()
Florian Fainelli (3):
net: phy: Avoid deadlock during phy_error()
net: dsa: Check return value of phy_connect_direct()
net: dsa: Bring back device detaching in dsa_slave_suspend()
Florian Westphal (2):
netfilter: conntrack: remove GC_MAX_EVICTS break
netfilter: conntrack: refine gc worker heuristics, redux
Geert Uytterhoeven (3):
net: phy: leds: Clear phy_num_led_triggers on failure to avoid crash
net: phy: leds: Break dependency of phy.h on phy_led_triggers.h
net: phy: leds: Fix truncated LED trigger names
Hariprasad Shenai (1):
MAINTAINERS: update cxgb4 maintainer
Ido Schimmel (1):
mlxsw: spectrum_router: Correctly reallocate adjacency entries
Igor Druzhinin (2):
xen-netback: fix memory leaks on XenBus disconnect
xen-netback: protect resource cleaning on XenBus disconnect
Ivan Vecera (1):
bridge: netlink: call br_changelink() during br_dev_newlink()
Jakub Kicinski (1):
virtio_net: reject XDP programs using header adjustment
Jason Baron (1):
tcp: correct memory barrier usage in tcp_check_space()
Jason Wang (1):
virtio-net: restore VIRTIO_HDR_F_DATA_VALID on receiving
Jesper Dangaard Brouer (1):
bpf: fix samples xdp_tx_iptunnel and tc_l2_redirect with fake KBUILD_MODNAME
Jingju Hou (1):
net: phy: marvell: Add Wake from LAN support for 88E1510 PHY
Johannes Berg (1):
mac80211: don't try to sleep in rate_control_rate_init()
John Crispin (2):
Documentation: devicetree: change the mediatek ethernet compatible string
net-next: ethernet: mediatek: change the compatible string
John Fastabend (1):
virtio_net: use dev_kfree_skb for small buffer XDP receive
Julia Lawall (1):
stmmac: add missing of_node_put
Kazuya Mizuguchi (1):
ravb: unmap descriptors when freeing rings
Kefeng Wang (1):
ipv6: addrconf: Avoid addrconf_disable_change() using RCU read-side lock
Lance Richardson (1):
vxlan: fix byte order of vxlan-gpe port number
Lendacky, Thomas (2):
amd-xgbe: Add a hardware quirk for register definitions
amd-xgbe: Check xgbe_init() return code
Liping Zhang (4):
netfilter: rpfilter: fix incorrect loopback packet judgment
netfilter: nf_tables: fix possible oops when dumping stateful objects
netfilter: nf_tables: validate the name size when possible
netfilter: nft_log: restrict the log prefix length to 127
Martin Blumenstingl (1):
Documentation: net: phy: improve explanation when to specify the PHY ID
Martin KaFai Lau (1):
bpf: Fix test_lru_sanity5() in test_lru_map.c
Michael Chan (4):
bnxt_en: Fix "uninitialized variable" bug in TPA code path.
bnxt_en: Fix bnxt_reset() in the slow path task.
bnxt_en: Fix RTNL lock usage on bnxt_update_link().
bnxt_en: Fix RTNL lock usage on bnxt_get_port_module_status().
Michael S. Tsirkin (1):
virtio_net: fix PAGE_SIZE > 64k
Pablo Neira (1):
tcp: don't annotate mark on control socket from tcp_v6_send_response()
Pablo Neira Ayuso (3):
netfilter: nf_tables: fix set->nelems counting with no NLM_F_EXCL
netfilter: nf_tables: deconstify walk callback function
netfilter: nf_tables: bump set->ndeact on set flush
Parthasarathy Bhuvaragan (6):
tipc: fix nametbl_lock soft lockup at node/link events
tipc: add subscription refcount to avoid invalid delete
tipc: fix connection refcount error
tipc: fix nametbl_lock soft lockup at module exit
tipc: ignore requests when the connection state is not CONNECTED
tipc: fix cleanup at module unload
Pau Espin Pedrol (2):
netfilter: use fwmark_reflect in nf_send_reset
tcp: fix mark propagation with fwmark_reflect enabled
Robert Shearman (2):
net: Specify the owning module for lwtunnel ops
lwtunnel: Fix oops on state free after encap module unload
Rolf Neugebauer (1):
virtio: don't set VIRTIO_NET_HDR_F_DATA_VALID on xmit
Roopa Prabhu (1):
vxlan: don't flush static fdb entries on admin down
Sean Nyekjaer (1):
net: phy: micrel: add support for KSZ8795
Sven Eckelmann (1):
batman-adv: Decrease hardif refcnt on fragmentation send error
Thomas Huth (1):
ibmveth: Add a proper check for the availability of the checksum features
Tobias Regnery (3):
alx: fix wrong condition to free descriptor memory
alx: fix fallback to msi or legacy interrupts
alx: work around hardware bug in interrupt fallback path
Vineeth Remanan Pillai (1):
xen-netfront: Fix Rx stall during network stress and OOM
WANG Cong (1):
af_unix: move unix_mknod() out of bindlock
William Breathitt Gray (1):
netfilter: Fix typo in NF_CONNTRACK Kconfig option description
Xin Long (2):
sctp: sctp_addr_id2transport should verify the addr before looking up assoc
sctp: sctp gso should set feature with NETIF_F_SG when calling skb_segment
Yegor Yefremov (1):
can: ti_hecc: add missing prepare and unprepare of the clock
hayeswang (6):
r8152: fix rtl8152_post_reset function
r8152: don't execute runtime suspend if the tx is not empty
r8152: avoid start_xmit to call napi_schedule during autosuspend
r8152: avoid start_xmit to schedule napi when napi is disabled
r8152: re-schedule napi for tx
r8152: check rx after napi is enabled
Documentation/devicetree/bindings/net/mediatek-net.txt | 2 +-
Documentation/devicetree/bindings/net/phy.txt | 5 +++--
MAINTAINERS | 2 +-
drivers/isdn/hardware/eicon/message.c | 3 ++-
drivers/net/can/c_can/c_can_pci.c | 1 +
drivers/net/can/ti_hecc.c | 16 +++++++++++----
drivers/net/ethernet/amd/xgbe/xgbe-common.h | 2 ++
drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 8 +++++---
drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 4 +++-
drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 15 +++++++++++++-
drivers/net/ethernet/amd/xgbe/xgbe.h | 2 ++
drivers/net/ethernet/atheros/alx/main.c | 11 +++++++---
drivers/net/ethernet/broadcom/bcm63xx_enet.c | 6 ++++--
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 80 +++++++++++++++++++++++++++++++++++++++++------------------------------
drivers/net/ethernet/freescale/gianfar.c | 2 +-
drivers/net/ethernet/ibm/ibmveth.c | 7 +++++--
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 2 +-
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c | 7 +------
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 11 ----------
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 3 +++
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 10 +++++----
drivers/net/ethernet/qlogic/qed/qed_ll2.c | 88 ++++++++++++++++++++++++++++++++++---------------------------------------------
drivers/net/ethernet/qlogic/qed/qed_ll2.h | 24 +++++++++++++---------
drivers/net/ethernet/qlogic/qed/qed_roce.c | 2 +-
drivers/net/ethernet/renesas/ravb_main.c | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 1 +
drivers/net/gtp.c | 13 ++++++------
drivers/net/macvtap.c | 2 +-
drivers/net/phy/bcm63xx.c | 21 +++++++++++++++++--
drivers/net/phy/dp83848.c | 3 +++
drivers/net/phy/marvell.c | 2 ++
drivers/net/phy/micrel.c | 14 +++++++++++++
drivers/net/phy/phy.c | 15 +++++++++-----
drivers/net/phy/phy_led_triggers.c | 9 ++++++--
drivers/net/tun.c | 2 +-
drivers/net/usb/cdc_ether.c | 8 ++++++++
drivers/net/usb/qmi_wwan.c | 7 +++++++
drivers/net/usb/r8152.c | 34 +++++++++++++++++++++++++------
drivers/net/virtio_net.c | 25 +++++++++++++++++++----
drivers/net/vxlan.c | 12 +++++++----
drivers/net/xen-netback/interface.c | 6 ++++--
drivers/net/xen-netback/xenbus.c | 13 ++++++++++++
drivers/net/xen-netfront.c | 2 +-
include/linux/bpf.h | 2 ++
include/linux/micrel_phy.h | 2 ++
include/linux/phy.h | 1 -
include/linux/phy_led_triggers.h | 4 ++--
include/linux/virtio_net.h | 6 ++++--
include/net/ipv6.h | 2 +-
include/net/lwtunnel.h | 13 ++++++++++++
include/net/netfilter/nf_tables.h | 6 +++---
include/net/netfilter/nft_fib.h | 6 ++++++
include/uapi/linux/netfilter/nf_log.h | 2 ++
include/uapi/linux/netfilter/nf_tables.h | 4 ++--
kernel/bpf/arraymap.c | 18 +++++++---------
kernel/bpf/hashtab.c | 22 ++++++++------------
kernel/bpf/stackmap.c | 20 ++++++++----------
kernel/bpf/syscall.c | 26 ++++++++++++++++++++++++
net/batman-adv/fragmentation.c | 10 ++++-----
net/bridge/br_netlink.c | 33 +++++++++++++++++-------------
net/core/dev.c | 4 ++--
net/core/ethtool.c | 2 +-
net/core/lwt_bpf.c | 1 +
net/core/lwtunnel.c | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
net/dccp/ipv6.c | 4 ++--
net/dsa/slave.c | 8 ++++----
net/ipv4/fib_frontend.c | 8 ++++++++
net/ipv4/ip_output.c | 1 +
net/ipv4/ip_tunnel_core.c | 2 ++
net/ipv4/netfilter/ipt_CLUSTERIP.c | 7 ++++++-
net/ipv4/netfilter/ipt_rpfilter.c | 8 ++++----
net/ipv4/netfilter/nf_reject_ipv4.c | 2 ++
net/ipv4/netfilter/nft_fib_ipv4.c | 15 +++++---------
net/ipv4/tcp_fastopen.c | 1 +
net/ipv4/tcp_input.c | 2 +-
net/ipv6/addrconf.c | 4 +---
net/ipv6/ila/ila_lwt.c | 1 +
net/ipv6/inet6_connection_sock.c | 2 +-
net/ipv6/ip6_gre.c | 3 +++
net/ipv6/ip6_output.c | 4 ++--
net/ipv6/ip6_tunnel.c | 36 +++++++++++++++++++++-----------
net/ipv6/netfilter/ip6t_rpfilter.c | 8 ++++----
net/ipv6/netfilter/nf_reject_ipv6.c | 3 +++
net/ipv6/netfilter/nft_fib_ipv6.c | 13 ++++--------
net/ipv6/route.c | 12 ++++++++++-
net/ipv6/seg6.c | 2 ++
net/ipv6/seg6_iptunnel.c | 1 +
net/ipv6/tcp_ipv6.c | 4 ++--
net/mac80211/rate.c | 2 --
net/mpls/af_mpls.c | 48 ++++++++++++++++++++++---------------------
net/mpls/mpls_iptunnel.c | 1 +
net/netfilter/Kconfig | 2 +-
net/netfilter/nf_conntrack_core.c | 44 +++++++++++++++++++---------------------
net/netfilter/nf_log.c | 1 -
net/netfilter/nf_tables_api.c | 67 +++++++++++++++++++++++++++++++++++-------------------------
net/netfilter/nft_dynset.c | 3 ++-
net/netfilter/nft_log.c | 3 ++-
net/netfilter/nft_lookup.c | 3 ++-
net/netfilter/nft_objref.c | 6 ++++--
net/netfilter/nft_set_hash.c | 2 +-
net/netfilter/nft_set_rbtree.c | 2 +-
net/packet/af_packet.c | 4 ++--
net/sctp/ipv6.c | 3 ++-
net/sctp/offload.c | 2 +-
net/sctp/socket.c | 6 +++++-
net/tipc/node.c | 9 ++++++--
net/tipc/server.c | 48 +++++++++++++++++++------------------------
net/tipc/subscr.c | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------
net/tipc/subscr.h | 1 +
net/unix/af_unix.c | 27 ++++++++++++++----------
samples/bpf/tc_l2_redirect_kern.c | 1 +
samples/bpf/xdp_tx_iptunnel_kern.c | 1 +
tools/testing/selftests/bpf/test_lru_map.c | 53 ++++++++++++++++++++++++------------------------
113 files changed, 916 insertions(+), 562 deletions(-)
^ permalink raw reply
* Re: [PATCH net-next 1/2] ravb: Add tx and rx clock internal delays mode of APSR
From: Sergei Shtylyov @ 2017-01-27 17:13 UTC (permalink / raw)
To: Simon Horman
Cc: David Miller, Magnus Damm, netdev, linux-renesas-soc,
Kazuya Mizuguchi
In-Reply-To: <20170127165123.GC7336@verge.net.au>
On 01/27/2017 07:51 PM, Simon Horman wrote:
>>> From: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
>>>
>>> This patch enables tx and rx clock internal delay modes (TDM and RDM).
>>>
>>> This is to address a failure in the case of 1Gbps communication using the
>>> by salvator-x board with the KSZ9031RNX phy. This has been reported to
>>> occur with both the r8a7795 (H3) and r8a7796 (M3-W) SoCs.
>>>
>>> With this change APSR internal delay modes are enabled for
>>> "rgmii-id", "rgmii-rxid" and "rgmii-txid" phy modes as follows:
>>>
>>> phy mode | ASPR delay mode
>>> -----------+----------------
>>> rgmii-id | TDM and RDM
>>> rgmii-rxid | RDM
>>> rgmii-txid | TDM
>>>
>>> Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
>>> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
>>>
>>> ---
>>> v1 [Simon Horman]
>>> - Combined patches
>>> - Reworded changelog
>>>
>>> v0 [Kazuya Mizuguchi]
>> [...]
>>> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
>>> index 89ac1e3f6175..9fb4c04c5885 100644
>>> --- a/drivers/net/ethernet/renesas/ravb_main.c
>>> +++ b/drivers/net/ethernet/renesas/ravb_main.c
[...]
>>> @@ -2016,6 +2039,9 @@ static int ravb_probe(struct platform_device *pdev)
>>> /* Request GTI loading */
>>> ravb_modify(ndev, GCCR, GCCR_LTI, GCCR_LTI);
>>>
>>> + /* Set APSR */
>>> + ravb_set_delay_mode(ndev);
>>> +
>>> /* Allocate descriptor base address table */
>>> priv->desc_bat_size = sizeof(struct ravb_desc) * DBAT_ENTRY_NUM;
>>> priv->desc_bat = dma_alloc_coherent(ndev->dev.parent, priv->desc_bat_size,
>>> @@ -2152,6 +2178,9 @@ static int __maybe_unused ravb_resume(struct device *dev)
>>> /* Request GTI loading */
>>> ravb_modify(ndev, GCCR, GCCR_LTI, GCCR_LTI);
>>>
>>> + /* Set APSR */
>>> + ravb_set_delay_mode(ndev);
>>> +
>>
>> So far the pattern was to first check if gen != 2, then calling a gen3
>> specific function. I'd like to keep it, rather than checking in the function
>> itself.
>
> So you would like something like?
>
> /* Set APSR */
> if (priv->chip_id != RCAR_GEN2)
> ravb_set_delay_mode(ndev);
Yes (except the comment).
>
> That does not seem better to me but I can make it so if that is your
> preference.
Yes, not better code-wise but more consistent.
MBR, Sergei
^ permalink raw reply
* Re: [PATCH v2 net-next 0/4] sfc: encapsulated filters
From: David Miller @ 2017-01-27 16:59 UTC (permalink / raw)
To: ecree; +Cc: linux-net-drivers, netdev
In-Reply-To: <9baa375c-b3b1-f640-04fb-e234c85a4e93@solarflare.com>
From: Edward Cree <ecree@solarflare.com>
Date: Fri, 27 Jan 2017 15:00:45 +0000
> This series adds support for setting up filters for encapsulated traffic on
> SFC 8000-series adapters, which recognise VXLAN, GENEVE and NVGRE packets by
> parsing packet headers. (VXLAN and GENEVE will only be recognised if the
> driver on the primary PF has notified the firmware of relevant UDP ports,
> which this driver does not yet do.)
> While the driver currently has no way of using these filters for flow
> steering, it is nonetheless necessary to insert catch-all (aka 'default')
> filters to direct this traffic, similar to the existing unencapsulated uni-
> and multi-cast catch-all filters, as otherwise the traffic will be dropped
> by the NIC - implementation details of the hardware filtering mean that the
> traffic will not get matched on outer MAC address to unencapsulated catch-
> all filters. (Yes, this is a mess.)
> Although this is, therefore, fixing a bug in the existing driver, it's a bug
> which has existed since 8000 series support was added, and the fix involves
> quite a big patch with an 'adding features' flavour to it, hence why this is
> for net-next rather than net and stable.
>
> v2: move netif_cond_dbg into netdevice.h and its own patch
Yes, this looks better, series applied.
Thanks!
^ permalink raw reply
* Re: pull-request: can-next 2017-01-24,pull-request: can-next 2017-01-24
From: David Miller @ 2017-01-27 16:24 UTC (permalink / raw)
To: mkl; +Cc: netdev, kernel, linux-can
In-Reply-To: <37eedb82-54d7-c7a9-0cd6-ed26738efff7@pengutronix.de>
From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Fri, 27 Jan 2017 10:02:09 +0100
> this is a pull request of 4 patches for net-next/master.
>
> The first patch by Oliver Hartkopp adds a netlink API to configure the
> interface termination of a CAN card. The next two patches are by me and
> add a netlink API to query and configure CAN interfaces that only
> support fixed bitrates. The last patch by Colin Ian King simplifies the
> return path in the softing_cs driver's softingcs_probe() function.
Pulled, thanks.
^ permalink raw reply
* Re: [PATCH v2 net-next] net: adjust skb->truesize in pskb_expand_head()
From: David Miller @ 2017-01-27 17:03 UTC (permalink / raw)
To: eric.dumazet; +Cc: netdev, slavash
In-Reply-To: <1485529887.6360.50.camel@edumazet-glaptop3.roam.corp.google.com>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 27 Jan 2017 07:11:27 -0800
> From: Eric Dumazet <edumazet@google.com>
>
> Slava Shwartsman reported a warning in skb_try_coalesce(), when we
> detect skb->truesize is completely wrong.
>
> In his case, issue came from IPv6 reassembly coping with malicious
> datagrams, that forced various pskb_may_pull() to reallocate a bigger
> skb->head than the one allocated by NIC driver before entering GRO
> layer.
>
> Current code does not change skb->truesize, leaving this burden to
> callers if they care enough.
>
> Blindly changing skb->truesize in pskb_expand_head() is not
> easy, as some producers might track skb->truesize, for example
> in xmit path for back pressure feedback (sk->sk_wmem_alloc)
>
> We can detect the cases where it should be safe to change
> skb->truesize :
>
> 1) skb is not attached to a socket.
> 2) If it is attached to a socket, destructor is sock_edemux()
>
> My audit gave only two callers doing their own skb->truesize
> manipulation.
>
> I had to remove skb parameter in sock_edemux macro when
> CONFIG_INET is not set to avoid a compile error.
>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Reported-by: Slava Shwartsman <slavash@mellanox.com>
Looks good, applied, thanks Eric.
^ permalink raw reply
* Re: [PATCH RFC net-next] packet: always ensure that we pass hard_header_len bytes in skb_headlen() to the driver
From: Sowmini Varadhan @ 2017-01-27 17:03 UTC (permalink / raw)
To: Willem de Bruijn; +Cc: David Miller, Network Development
In-Reply-To: <CAF=yD-+LS6g572Uo5oErq7uazxxPwXXo0w2p4zcHDbXxkuah6Q@mail.gmail.com>
On (01/27/17 10:28), Willem de Bruijn wrote:
> > Would it make sense to only do the CAP_SYS_RAWIO branch if the
> > driver declares itself to have variable length L2 headers, via, e.g.,
> > some priv flag?
>
> At the time, the comments were not specific to AX25. Again, we should
> probably put that bypass behind a flag, enabling validating in the common case.
Just to make sure I'm on the same page as you (since you have more
history with this one..) we are going to have a priv_flags like
IFF_VAR_L2HDR which (today) would only be set for ax25, and
we would only take the CAP_SYS_RAWIO branch for IFF_VAR_L2HDR, right?
--Sowmini
^ permalink raw reply
* Re: [PATCH 09/14] netfilter: conntrack: refine gc worker heuristics, redux
From: Nicolas Dichtel @ 2017-01-27 16:51 UTC (permalink / raw)
To: Pablo Neira Ayuso, netfilter-devel; +Cc: davem, netdev
In-Reply-To: <1485448687-6072-10-git-send-email-pablo@netfilter.org>
Le 26/01/2017 à 17:38, Pablo Neira Ayuso a écrit :
> From: Florian Westphal <fw@strlen.de>
>
> This further refines the changes made to conntrack gc_worker in
> commit e0df8cae6c16 ("netfilter: conntrack: refine gc worker heuristics").
>
> The main idea of that change was to reduce the scan interval when evictions
> take place.
>
> However, on the reporters' setup, there are 1-2 million conntrack entries
> in total and roughly 8k new (and closing) connections per second.
>
> In this case we'll always evict at least one entry per gc cycle and scan
> interval is always at 1 jiffy because of this test:
>
> } else if (expired_count) {
> gc_work->next_gc_run /= 2U;
> next_run = msecs_to_jiffies(1);
>
> being true almost all the time.
>
> Given we scan ~10k entries per run its clearly wrong to reduce interval
> based on nonzero eviction count, it will only waste cpu cycles since a vast
> majorities of conntracks are not timed out.
>
> Thus only look at the ratio (scanned entries vs. evicted entries) to make
> a decision on whether to reduce or not.
>
> Because evictor is supposed to only kick in when system turns idle after
> a busy period, pick a high ratio -- this makes it 50%. We thus keep
> the idea of increasing scan rate when its likely that table contains many
> expired entries.
>
> In order to not let timed-out entries hang around for too long
> (important when using event logging, in which case we want to timely
> destroy events), we now scan the full table within at most
> GC_MAX_SCAN_JIFFIES (16 seconds) even in worst-case scenario where all
> timed-out entries sit in same slot.
>
> I tested this with a vm under synflood (with
> sysctl net.netfilter.nf_conntrack_tcp_timeout_syn_recv=3).
>
> While flood is ongoing, interval now stays at its max rate
> (GC_MAX_SCAN_JIFFIES / GC_MAX_BUCKETS_DIV -> 125ms).
>
> With feedback from Nicolas Dichtel.
>
> Reported-by: Denys Fedoryshchenko <nuclearcat@nuclearcat.com>
> Cc: Nicolas Dichtel <nicolas.dichtel@6wind.com>
> Fixes: b87a2f9199ea82eaadc ("netfilter: conntrack: add gc worker to remove timed-out entries")
> Signed-off-by: Florian Westphal <fw@strlen.de>
> Tested-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
> Acked-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
> Tested-by: Denys Fedoryshchenko <nuclearcat@nuclearcat.com>
> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Pablo, is it possible to queue this patch (and the previous: 08/14) for the 4.9
stable?
Thank you,
Nicolas
^ permalink raw reply
* Re: [PATCH net-next 1/2] ravb: Add tx and rx clock internal delays mode of APSR
From: Simon Horman @ 2017-01-27 16:51 UTC (permalink / raw)
To: Sergei Shtylyov
Cc: David Miller, Magnus Damm, netdev, linux-renesas-soc,
Kazuya Mizuguchi
In-Reply-To: <57812c3f-3130-7141-c479-6beefb237907@cogentembedded.com>
On Fri, Jan 27, 2017 at 04:00:27PM +0300, Sergei Shtylyov wrote:
> On 01/27/2017 02:04 PM, Simon Horman wrote:
>
> >From: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
> >
> >This patch enables tx and rx clock internal delay modes (TDM and RDM).
> >
> >This is to address a failure in the case of 1Gbps communication using the
> >by salvator-x board with the KSZ9031RNX phy. This has been reported to
> >occur with both the r8a7795 (H3) and r8a7796 (M3-W) SoCs.
> >
> >With this change APSR internal delay modes are enabled for
> >"rgmii-id", "rgmii-rxid" and "rgmii-txid" phy modes as follows:
> >
> >phy mode | ASPR delay mode
> >-----------+----------------
> >rgmii-id | TDM and RDM
> >rgmii-rxid | RDM
> >rgmii-txid | TDM
> >
> >Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
> >Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
> >
> >---
> >v1 [Simon Horman]
> >- Combined patches
> >- Reworded changelog
> >
> >v0 [Kazuya Mizuguchi]
> [...]
> >diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
> >index 89ac1e3f6175..9fb4c04c5885 100644
> >--- a/drivers/net/ethernet/renesas/ravb_main.c
> >+++ b/drivers/net/ethernet/renesas/ravb_main.c
> >@@ -1904,6 +1904,29 @@ static void ravb_set_config_mode(struct net_device *ndev)
> > }
> > }
> >
> >+static void ravb_set_delay_mode(struct net_device *ndev)
> >+{
> >+ struct ravb_private *priv = netdev_priv(ndev);
> >+
> >+ if (priv->chip_id != RCAR_GEN2) {
> >+ switch (priv->phy_interface) {
> >+ case PHY_INTERFACE_MODE_RGMII_ID:
> >+ ravb_modify(ndev, APSR, APSR_DM, APSR_DM_RDM |
> >+ APSR_DM_TDM);
> >+ break;
> >+ case PHY_INTERFACE_MODE_RGMII_RXID:
> >+ ravb_modify(ndev, APSR, APSR_DM, APSR_DM_RDM);
> >+ break;
> >+ case PHY_INTERFACE_MODE_RGMII_TXID:
> >+ ravb_modify(ndev, APSR, APSR_DM, APSR_DM_TDM);
> >+ break;
> >+ default:
> >+ ravb_modify(ndev, APSR, APSR_DM, 0);
> >+ break;
> >+ }
> >+ }
> >+}
> >+
> > static int ravb_probe(struct platform_device *pdev)
> > {
> > struct device_node *np = pdev->dev.of_node;
> >@@ -2016,6 +2039,9 @@ static int ravb_probe(struct platform_device *pdev)
> > /* Request GTI loading */
> > ravb_modify(ndev, GCCR, GCCR_LTI, GCCR_LTI);
> >
> >+ /* Set APSR */
> >+ ravb_set_delay_mode(ndev);
> >+
> > /* Allocate descriptor base address table */
> > priv->desc_bat_size = sizeof(struct ravb_desc) * DBAT_ENTRY_NUM;
> > priv->desc_bat = dma_alloc_coherent(ndev->dev.parent, priv->desc_bat_size,
> >@@ -2152,6 +2178,9 @@ static int __maybe_unused ravb_resume(struct device *dev)
> > /* Request GTI loading */
> > ravb_modify(ndev, GCCR, GCCR_LTI, GCCR_LTI);
> >
> >+ /* Set APSR */
> >+ ravb_set_delay_mode(ndev);
> >+
>
> So far the pattern was to first check if gen != 2, then calling a gen3
> specific function. I'd like to keep it, rather than checking in the function
> itself.
So you would like something like?
/* Set APSR */
if (priv->chip_id != RCAR_GEN2)
ravb_set_delay_mode(ndev);
That does not seem better to me but I can make it so if that is your
preference.
^ permalink raw reply
* Re: [PATCH net-next 1/2] ravb: Add tx and rx clock internal delays mode of APSR
From: Simon Horman @ 2017-01-27 16:49 UTC (permalink / raw)
To: Sergei Shtylyov
Cc: David Miller, Magnus Damm, netdev, linux-renesas-soc,
Kazuya Mizuguchi
In-Reply-To: <813af981-9a1b-8e45-1fed-788047ab26b5@cogentembedded.com>
On Fri, Jan 27, 2017 at 03:42:05PM +0300, Sergei Shtylyov wrote:
> Hello!
>
> On 01/27/2017 02:04 PM, Simon Horman wrote:
>
> >From: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
> >
> >This patch enables tx and rx clock internal delay modes (TDM and RDM).
> >
> >This is to address a failure in the case of 1Gbps communication using the
> >by salvator-x board with the KSZ9031RNX phy. This has been reported to
> >occur with both the r8a7795 (H3) and r8a7796 (M3-W) SoCs.
> >
> >With this change APSR internal delay modes are enabled for
> >"rgmii-id", "rgmii-rxid" and "rgmii-txid" phy modes as follows:
> >
> >phy mode | ASPR delay mode
> >-----------+----------------
> >rgmii-id | TDM and RDM
> >rgmii-rxid | RDM
> >rgmii-txid | TDM
> >
> >Signed-off-by: Kazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
> >Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
> >
> >---
> >v1 [Simon Horman]
> >- Combined patches
> >- Reworded changelog
> >
> >v0 [Kazuya Mizuguchi]
> >---
> > drivers/net/ethernet/renesas/ravb.h | 10 ++++++++++
> > drivers/net/ethernet/renesas/ravb_main.c | 29 +++++++++++++++++++++++++++++
> > 2 files changed, 39 insertions(+)
> >
> >diff --git a/drivers/net/ethernet/renesas/ravb.h b/drivers/net/ethernet/renesas/ravb.h
> >index f1109661a533..d7c91d48cc48 100644
> >--- a/drivers/net/ethernet/renesas/ravb.h
> >+++ b/drivers/net/ethernet/renesas/ravb.h
> [...]
> >@@ -248,6 +249,15 @@ enum ESR_BIT {
> > ESR_EIL = 0x00001000,
> > };
> >
> >+/* APSR */
> >+enum APSR_BIT {
> >+ APSR_MEMS = 0x00000002,
>
> Not documented in the revision 0.5 of the gen3 manual...
It is in version 0.53 of the documentation but I think it can be dropped
from this patch as its unused.
> >+ APSR_CMSW = 0x00000010,
I think the above can also be dropped as it is unused.
> >+ APSR_DM = 0x00006000,
>
> ... and neither this field. Are these documented in the latter revs?
This one is not. I can ask Mizuguchi-san to confirm it exists (with himself).
> >+ APSR_DM_RDM = 0x00002000,
> >+ APSR_DM_TDM = 0x00004000,
> >+};
> >+
> > /* RCR */
> > enum RCR_BIT {
> > RCR_EFFS = 0x00000001,
> >diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
> >index 89ac1e3f6175..9fb4c04c5885 100644
> >--- a/drivers/net/ethernet/renesas/ravb_main.c
> >+++ b/drivers/net/ethernet/renesas/ravb_main.c
> >@@ -1904,6 +1904,29 @@ static void ravb_set_config_mode(struct net_device *ndev)
> > }
> > }
> >
> >+static void ravb_set_delay_mode(struct net_device *ndev)
> >+{
> >+ struct ravb_private *priv = netdev_priv(ndev);
> >+
> >+ if (priv->chip_id != RCAR_GEN2) {
> >+ switch (priv->phy_interface) {
> >+ case PHY_INTERFACE_MODE_RGMII_ID:
> >+ ravb_modify(ndev, APSR, APSR_DM, APSR_DM_RDM |
> >+ APSR_DM_TDM);
> >+ break;
> >+ case PHY_INTERFACE_MODE_RGMII_RXID:
> >+ ravb_modify(ndev, APSR, APSR_DM, APSR_DM_RDM);
> >+ break;
> >+ case PHY_INTERFACE_MODE_RGMII_TXID:
> >+ ravb_modify(ndev, APSR, APSR_DM, APSR_DM_TDM);
> >+ break;
> >+ default:
> >+ ravb_modify(ndev, APSR, APSR_DM, 0);
> >+ break;
> >+ }
>
> How about doing ravb_modify() only once?
Something like this?
int set = 0;
if (priv->phy_interface == PHY_INTERFACE_MODE_RGMII_ID ||
priv->phy_interface == PHY_INTERFACE_MODE_RGMII_RXID)
set |= APSR_DM_RDM;
if (priv->phy_interface == PHY_INTERFACE_MODE_RGMII_ID ||
priv->phy_interface == PHY_INTERFACE_MODE_RGMII_TXID)
set |= APSR_DM_TDM;
ravb_modify(ndev, APSR, APSR_DM, set);
I don't really see any advantage to it but I can change things around
however you like.
^ permalink raw reply
* Re: [PATCH net-next v2 0/2] net: ipv6: Improve user experience with multipath routes
From: Nicolas Dichtel @ 2017-01-27 16:45 UTC (permalink / raw)
To: David Ahern, David Miller; +Cc: netdev, roopa
In-Reply-To: <582674ce-ed9e-9c9d-d88c-a7bfe6691d89@cumulusnetworks.com>
Le 27/01/2017 à 17:36, David Ahern a écrit :
> On 1/27/17 9:29 AM, Nicolas Dichtel wrote:
>> Le 26/01/2017 à 19:00, David Miller a écrit :
>>> From: David Ahern <dsa@cumulusnetworks.com>
>> [snip]
>>>> Quagga does not properly handle IPv6 multipath routes received from
>>>> the kernel. I checked this with debian/jessie version and our
>>>> version, and Donald reviewed the source. It is broken.
>>>
>>> If this is true, quagga is asbolutely not an argument for this "breaking"
>>> something. It doesn't break anything.
>> Ok, my tests also shows that quagga is buggy.
>> Let's change the way to advertise these routes.
>>
>> It would be great to also use RTA_MULTIPATH when a route is deleted (like in
>> your patch 1/2).
>
> I have updated notifications to use RTA_MULTIPATH. Working on the multipath add/delete/replace permutations now and what the notification looks like. Add/replace is easy and the notifications use RTA_MULTIPATH. Notifications for the delete path are complicated given that a delete could remove only a subset of nexthops. Given that, we might have to settle for a notification for each nexthop delete.
Ok, I give it a quick look and I agree it seems not so easy.
>
>>
>> Note that there is still a difference between ipv4 and ipv6: in ipv4 when a
>> nexthop is added/updated/removed, the whole route must be deleted and added
>> again. In IPv6, nexthop can be managed one by one.
>> It means that in ipv4, the full route is always dumped, which is not the case in
>> ipv6.
>>
>
> Yes. I have been working on how to delete a nexthop within an IPv4 route. It is much more complicated given how the route is stored compared to IPv6.
>
Ok.
^ permalink raw reply
* Re: [PATCH net-next] net: adjust skb->truesize in pskb_expand_head()
From: Eric Dumazet @ 2017-01-27 16:14 UTC (permalink / raw)
To: David Laight; +Cc: David Miller, netdev, Slava Shwartsman
In-Reply-To: <063D6719AE5E284EB5DD2968C1650D6DB0270D8B@AcuExch.aculab.com>
On Fri, 2017-01-27 at 15:46 +0000, David Laight wrote:
> Reads code ...
> My confusion is that the call is specifying the number of EXTRA bytes of head/tail
> room rather than the number of bytes needed.
And the fact that @size is changed in existing code (so not visible in
patch diff) to
size = SKB_WITH_OVERHEAD(ksize(data));
> I was thinking that pskb_expand_head(skb, 16, -16, ...) could be implemented
> (mostly) with memmove().
Yes, might worth doing that if one day a caller tries that ;)
In the meantime, not worth adding code that wont be reached.
Thanks.
^ permalink raw reply
* Re: [PATCH net-next v2 0/2] net: ipv6: Improve user experience with multipath routes
From: David Ahern @ 2017-01-27 16:36 UTC (permalink / raw)
To: nicolas.dichtel, David Miller; +Cc: netdev, roopa
In-Reply-To: <f30ab203-47f9-e333-3552-bf5e2dbeaaf9@6wind.com>
On 1/27/17 9:29 AM, Nicolas Dichtel wrote:
> Le 26/01/2017 à 19:00, David Miller a écrit :
>> From: David Ahern <dsa@cumulusnetworks.com>
> [snip]
>>> Quagga does not properly handle IPv6 multipath routes received from
>>> the kernel. I checked this with debian/jessie version and our
>>> version, and Donald reviewed the source. It is broken.
>>
>> If this is true, quagga is asbolutely not an argument for this "breaking"
>> something. It doesn't break anything.
> Ok, my tests also shows that quagga is buggy.
> Let's change the way to advertise these routes.
>
> It would be great to also use RTA_MULTIPATH when a route is deleted (like in
> your patch 1/2).
I have updated notifications to use RTA_MULTIPATH. Working on the multipath add/delete/replace permutations now and what the notification looks like. Add/replace is easy and the notifications use RTA_MULTIPATH. Notifications for the delete path are complicated given that a delete could remove only a subset of nexthops. Given that, we might have to settle for a notification for each nexthop delete.
>
> Note that there is still a difference between ipv4 and ipv6: in ipv4 when a
> nexthop is added/updated/removed, the whole route must be deleted and added
> again. In IPv6, nexthop can be managed one by one.
> It means that in ipv4, the full route is always dumped, which is not the case in
> ipv6.
>
Yes. I have been working on how to delete a nexthop within an IPv4 route. It is much more complicated given how the route is stored compared to IPv6.
^ permalink raw reply
* Re: [PATCH net-next 0/2] ravb: Support 1Gbps on R-Car H3 ES1.1+ and R-Car M3-W
From: Simon Horman @ 2017-01-27 16:34 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: David Miller, Sergei Shtylyov, Magnus Damm,
netdev@vger.kernel.org, Linux-Renesas
In-Reply-To: <CAMuHMdUdHVcFpQyqtngps__Z99vWBYbs1vVvVSLvKBWSEkOrgw@mail.gmail.com>
On Fri, Jan 27, 2017 at 01:16:43PM +0100, Geert Uytterhoeven wrote:
> Hi Simon,
>
> On Fri, Jan 27, 2017 at 12:04 PM, Simon Horman
> <horms+renesas@verge.net.au> wrote:
> > The path from Mizuguchi-san is to address timing problems observed with
> > gigabit transfers. I would like it considered although my own testing on
> > M3-W did not show any timing problems.
>
> Is there any relation with the *-skew-ps properties in the DTS in the BSP?
Yes, I believe they are also intended to address timeouts.
I plan to post them too.
^ permalink raw reply
* Re: [PATCH V2 net-next] net: phy: broadcom: add support for BCM54210E
From: David Miller @ 2017-01-27 16:29 UTC (permalink / raw)
To: zajec5; +Cc: f.fainelli, xow, joel, jon.mason, jaedon.shin, netdev, rafal
In-Reply-To: <20170127130701.4191-1-zajec5@gmail.com>
From: Rafał Miłecki <zajec5@gmail.com>
Date: Fri, 27 Jan 2017 14:07:01 +0100
> From: Rafał Miłecki <rafal@milecki.pl>
>
> It's Broadcom PHY simply described as single-port
> RGMII 10/100/1000BASE-T PHY. It requires disabling delay skew and GTXCLK
> bits.
>
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> ---
> V2: Include include/linux/brcmphy.h change I forgot to commit
Applied, thanks.
^ permalink raw reply
* Re: [PATCH net-next v2 0/2] net: ipv6: Improve user experience with multipath routes
From: Nicolas Dichtel @ 2017-01-27 16:29 UTC (permalink / raw)
To: David Miller, dsa; +Cc: netdev
In-Reply-To: <20170126.130054.2221154789287701062.davem@davemloft.net>
Le 26/01/2017 à 19:00, David Miller a écrit :
> From: David Ahern <dsa@cumulusnetworks.com>
[snip]
>> Quagga does not properly handle IPv6 multipath routes received from
>> the kernel. I checked this with debian/jessie version and our
>> version, and Donald reviewed the source. It is broken.
>
> If this is true, quagga is asbolutely not an argument for this "breaking"
> something. It doesn't break anything.
Ok, my tests also shows that quagga is buggy.
Let's change the way to advertise these routes.
It would be great to also use RTA_MULTIPATH when a route is deleted (like in
your patch 1/2).
Note that there is still a difference between ipv4 and ipv6: in ipv4 when a
nexthop is added/updated/removed, the whole route must be deleted and added
again. In IPv6, nexthop can be managed one by one.
It means that in ipv4, the full route is always dumped, which is not the case in
ipv6.
^ permalink raw reply
* Re: [PATCH] [net] ISDN: eicon: silence misleading array-bounds warning
From: David Miller @ 2017-01-27 16:28 UTC (permalink / raw)
To: arnd
Cc: mac, isdn, der.herr, kernel-build-reports, stable, netdev,
linux-kernel
In-Reply-To: <20170127123225.3728707-1-arnd@arndb.de>
From: Arnd Bergmann <arnd@arndb.de>
Date: Fri, 27 Jan 2017 13:32:14 +0100
> With some gcc versions, we get a warning about the eicon driver,
> and that currently shows up as the only remaining warning in one
> of the build bots:
>
> In file included from ../drivers/isdn/hardware/eicon/message.c:30:0:
> eicon/message.c: In function 'mixer_notify_update':
> eicon/platform.h:333:18: warning: array subscript is above array bounds [-Warray-bounds]
>
> The code is easily changed to open-code the unusual PUT_WORD() line
> causing this to avoid the warning.
>
> Cc: stable@vger.kernel.org
> Link: http://arm-soc.lixom.net/buildlogs/stable-rc/v4.4.45/
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Ok, applied, thanks Arnd.
^ permalink raw reply
* Re: [PATCH 1/3] net: bgmac: allocate struct bgmac just once & don't copy it
From: David Miller @ 2017-01-27 16:14 UTC (permalink / raw)
To: nbd; +Cc: zajec5, jon.mason, f.fainelli, nbd, netdev, rafal
In-Reply-To: <8bb6614b-a4af-d435-7db8-616cb1c1a56d@nbd.name>
From: Felix Fietkau <nbd@nbd.name>
Date: Fri, 27 Jan 2017 17:02:33 +0100
> On 2017-01-27 10:20, Rafał Miłecki wrote:
>> From: Rafał Miłecki <rafal@milecki.pl>
>>
>> To share as much code as possible in bgmac we call alloc_etherdev from
>> bgmac.c which is used by both: platform and bcma code. The easiest
>> solution was to use it for allocating whole struct bgmac but it doesn't
>> work well as we already get early-filled struct bgmac as an argument.
>>
>> So far we were solving this by copying received struct into newly
>> allocated one. The problem is it means storing 2 allocated structs,
>> using only 1 of them and non-shared code not having access to it.
>>
>> This patch solves it by using alloc_etherdev to allocate *pointer* for
>> the already allocated struct. The only downside of this is we have to be
>> careful when using netdev_priv.
>>
>> Another solution was to call alloc_etherdev in platform/bcma specific
>> code but Jon advised against it due to sharing less code that way.
> How does that lead to sharing less code?
> I find this pointer indirection rather ugly and uncommon, and I think it
> would be much cleaner to split the probe into bgmac_enet_alloc and
> bgmac_enet_probe (with bgmac_enet_alloc calling alloc_etherdev and doing
> basic setup).
I agree, it would be so much better if bgmac_probe() and friends
initialized a real bgmac object which was the private of a netdev
struct, then passed that down into bgmac_enet_probe().
^ permalink raw reply
* Re: [PATCH] Net: ethernet: mediatek - Fix possible NULL derefrence.
From: David Miller @ 2017-01-27 16:26 UTC (permalink / raw)
To: clabbe.montjoie
Cc: nbd, ashish.kalra, netdev, linux-kernel, p.shailesh,
linux-mediatek, shailendra.v, matthias.bgg, shailendra.capricorn,
linux-arm-kernel, blogic
In-Reply-To: <20170127124449.GB13611@Red>
From: Corentin Labbe <clabbe.montjoie@gmail.com>
Date: Fri, 27 Jan 2017 13:44:49 +0100
> On Fri, Jan 27, 2017 at 04:49:40PM +0530, Shailendra Verma wrote:
>> of_match_device could return NULL, and so can cause a NULL
>> pointer dereference later.
>>
>> Signed-off-by: Shailendra Verma <shailendra.v@samsung.com>
>> ---
>> drivers/net/ethernet/mediatek/mtk_eth_soc.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
>> index 4a62ffd..4495b7b 100644
>> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
>> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
>> @@ -2369,6 +2369,10 @@ static int mtk_probe(struct platform_device *pdev)
>> int i;
>>
>> match = of_match_device(of_mtk_match, &pdev->dev);
>> + if (!match) {
>> + dev_err(&pdev->dev, "Error: No device match found\n");
>> + return -ENODEV;
>> + }
>> soc = (struct mtk_soc_data *)match->data;
>>
>> eth = devm_kzalloc(&pdev->dev, sizeof(*eth), GFP_KERNEL);
>> --
>
> Hello
>
> You could use of_device_get_match_data() and simplifiy code
Agreed.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox