- 09 5月, 2022 28 次提交
-
-
由 Guangbin Huang 提交于
The argument rss_ind_tbl_size is type u16 in function definition of hclge_comm_get_rss_indir_tbl(), but it is set to type __le16 in function declaration by mistake, so fix it. Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Guangbin Huang 提交于
This patch adds a new mailbox opcode to query map relation between vf ring and vector. Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Jie Wang 提交于
This patch uses __le16/__32 to define mailbox data structures. Then byte order conversion are added for mailbox messages from VF to PF. Signed-off-by: NJie Wang <wangjie125@huawei.com> Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Jie Wang 提交于
Currently, hns3 mailbox processing between PF and VF missed to convert message byte order and use data type u16 instead of __le16 for mailbox data process. These processes may cause problems between different architectures. So this patch uses __le16/__le32 data type to define mailbox data structures. To be compatible with old hns3 driver, these structures use one-byte alignment. Then byte order conversions are added to mailbox messages from PF to VF. Signed-off-by: NJie Wang <wangjie125@huawei.com> Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Yufeng Mo 提交于
Vector0 is used for common interrupt control events and is irrelevant to performance. Currently, the driver sets the default affinity of vector0 to NUMA nodes, which is unnecessary. Therefore, the default setting is removed, and the driver does not set the affinity for vector0. Signed-off-by: NYufeng Mo <moyufeng@huawei.com> Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Hao Chen 提交于
When set tx-buf-size as 0 by ethtool, hns3_init_tx_spare_buffer() will return directly and priv->ring->tx_spare->len is uninitialized, then print function access priv->ring->tx_spare->len will cause this issue. When set tx-buf-size as 0 by ethtool, the print function will print 0 directly and not access priv->ring->tx_spare->len. Fixes: 2373b35c ("net: hns3: add log for setting tx spare buf size") Signed-off-by: NHao Chen <chenhao288@hisilicon.com> Signed-off-by: NGuangbin Huang <huangguangbin2@huawei.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Yuiko Oshino 提交于
The current phy IDs on the available hardware. LAN8742 0x0007C130, 0x0007C131 Signed-off-by: NYuiko Oshino <yuiko.oshino@microchip.com> Reviewed-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Yuiko Oshino 提交于
update LAN88xx phy ID and phy ID mask because the existing code conflicts with the LAN8742 phy. The current phy IDs on the available hardware. LAN8742 0x0007C130, 0x0007C131 LAN88xx 0x0007C132 Signed-off-by: NYuiko Oshino <yuiko.oshino@microchip.com> Reviewed-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Oleksij Rempel 提交于
The DP83TD510E is an ultra-low power Ethernet physical layer transceiver that supports 10M single pair cable. This driver was tested with NXP SJA1105, STMMAC and ASIX AX88772B USB Ethernet controller. Signed-off-by: NOleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Oleksij Rempel 提交于
Export genphy_c45_baset1_read_status() to make it reusable by PHY drivers. Signed-off-by: NOleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Oleksij Rempel 提交于
Since MDIO_PMA_PMD_BT1_CTRL register shows actual configuration (and forced state configuration is equal to the state), we should show this configuration for ethtool. Signed-off-by: NOleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Oleksij Rempel 提交于
Move baset1 specific part of genphy_c45_read_pma() code to separate function to make it reusable by PHY drivers. Signed-off-by: NOleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Oleksij Rempel 提交于
Do not change default master/slave forced configuration if no changes was requested. Signed-off-by: NOleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Oleksij Rempel 提交于
Move baset1 specific part of genphy_c45_pma_setup_forced() code to separate function to make it reusable by PHY drivers. Signed-off-by: NOleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Oleksij Rempel 提交于
Do not change default master/slave autoneg configuration if no changes was requested. Fixes: 3da8ffd8 ("net: phy: Add 10BASE-T1L support in phy-c45") Signed-off-by: NOleksij Rempel <o.rempel@pengutronix.de> Reviewed-by: NAndrew Lunn <andrew@lunn.ch> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Alaa Mohamed 提交于
This patch adds extack msg support to vxlan_fdb_delete and vxlan_fdb_parse. extack is used to propagate meaningful error msgs to the user of vxlan fdb netlink api Signed-off-by: NAlaa Mohamed <eng.alaamohamedsoliman.am@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Alaa Mohamed 提交于
Add extack support to .ndo_fdb_del in netdevice.h and all related methods. Signed-off-by: NAlaa Mohamed <eng.alaamohamedsoliman.am@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Haijun Liu 提交于
Introduce the mechanism to lock/unlock the device 'deep sleep' mode. When the PCIe link state is L1.2 or L2, the host side still can keep the device is in D0 state from the host side point of view. At the same time, if the device's 'deep sleep' mode is unlocked, the device will go to 'deep sleep' while it is still in D0 state on the host side. Signed-off-by: NHaijun Liu <haijun.liu@mediatek.com> Signed-off-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Signed-off-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: NIlpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Haijun Liu 提交于
Enables runtime power management callbacks including runtime_suspend and runtime_resume. Autosuspend is used to prevent overhead by frequent wake-ups. Signed-off-by: NHaijun Liu <haijun.liu@mediatek.com> Signed-off-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: NEliot Lee <eliot.lee@intel.com> Signed-off-by: NEliot Lee <eliot.lee@intel.com> Signed-off-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: NIlpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Haijun Liu 提交于
Implements suspend, resumes, freeze, thaw, poweroff, and restore `dev_pm_ops` callbacks. From the host point of view, the t7xx driver is one entity. But, the device has several modules that need to be addressed in different ways during power management (PM) flows. The driver uses the term 'PM entities' to refer to the 2 DPMA and 2 CLDMA HW blocks that need to be managed during PM flows. When a dev_pm_ops function is called, the PM entities list is iterated and the matching function is called for each entry in the list. Signed-off-by: NHaijun Liu <haijun.liu@mediatek.com> Signed-off-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Signed-off-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: NIlpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Haijun Liu 提交于
Creates the Cross Core Modem Network Interface (CCMNI) which implements the wwan_ops for registration with the WWAN framework, CCMNI also implements the net_device_ops functions used by the network device. Network device operations include open, close, start transmission, TX timeout and change MTU. Signed-off-by: NHaijun Liu <haijun.liu@mediatek.com> Co-developed-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Signed-off-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Signed-off-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: NLoic Poulain <loic.poulain@linaro.org> Reviewed-by: NIlpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: NSergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Haijun Liu 提交于
Data Path Modem AP Interface (DPMAIF) HIF layer provides methods for initialization, ISR, control and event handling of TX/RX flows. DPMAIF TX Exposes the 'dmpaif_tx_send_skb' function which can be used by the network device to transmit packets. The uplink data management uses a Descriptor Ring Buffer (DRB). First DRB entry is a message type that will be followed by 1 or more normal DRB entries. Message type DRB will hold the skb information and each normal DRB entry holds a pointer to the skb payload. DPMAIF RX The downlink buffer management uses Buffer Address Table (BAT) and Packet Information Table (PIT) rings. The BAT ring holds the address of skb data buffer for the HW to use, while the PIT contains metadata about a whole network packet including a reference to the BAT entry holding the data buffer address. The driver reads the PIT and BAT entries written by the modem, when reaching a threshold, the driver will reload the PIT and BAT rings. Signed-off-by: NHaijun Liu <haijun.liu@mediatek.com> Signed-off-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Signed-off-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: NLoic Poulain <loic.poulain@linaro.org> Reviewed-by: NSergey Ryazanov <ryazanov.s.a@gmail.com> Reviewed-by: NIlpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Haijun Liu 提交于
Data Path Modem AP Interface (DPMAIF) HW layer provides HW abstraction for the upper layer (DPMAIF HIF). It implements functions to do the HW configuration, TX/RX control and interrupt handling. Signed-off-by: NHaijun Liu <haijun.liu@mediatek.com> Signed-off-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Signed-off-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: NLoic Poulain <loic.poulain@linaro.org> Reviewed-by: NIlpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: NSergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Chandrashekar Devegowda 提交于
Adds AT and MBIM ports to the port proxy infrastructure. The initialization method is responsible for creating the corresponding ports using the WWAN framework infrastructure. The implemented WWAN port operations are start, stop, and TX. Signed-off-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Signed-off-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: NLoic Poulain <loic.poulain@linaro.org> Reviewed-by: NSergey Ryazanov <ryazanov.s.a@gmail.com> Reviewed-by: NIlpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Haijun Liu 提交于
Control Port implements driver control messages such as modem-host handshaking, controls port enumeration, and handles exception messages. The handshaking process between the driver and the modem happens during the init sequence. The process involves the exchange of a list of supported runtime features to make sure that modem and host are ready to provide proper feature lists including port enumeration. Further features can be enabled and controlled in this handshaking process. Signed-off-by: NHaijun Liu <haijun.liu@mediatek.com> Signed-off-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Signed-off-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: NLoic Poulain <loic.poulain@linaro.org> Reviewed-by: NIlpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: NSergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Haijun Liu 提交于
Port-proxy provides a common interface to interact with different types of ports. Ports export their configuration via `struct t7xx_port` and operate as defined by `struct port_ops`. Signed-off-by: NHaijun Liu <haijun.liu@mediatek.com> Co-developed-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Signed-off-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Signed-off-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: NLoic Poulain <loic.poulain@linaro.org> Reviewed-by: NIlpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: NSergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Haijun Liu 提交于
Registers the t7xx device driver with the kernel. Setup all the core components: PCIe layer, Modem Host Cross Core Interface (MHCCIF), modem control operations, modem state machine, and build infrastructure. * PCIe layer code implements driver probe and removal. * MHCCIF provides interrupt channels to communicate events such as handshake, PM and port enumeration. * Modem control implements the entry point for modem init, reset and exit. * The modem status monitor is a state machine used by modem control to complete initialization and stop. It is used also to propagate exception events reported by other components. Signed-off-by: NHaijun Liu <haijun.liu@mediatek.com> Signed-off-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Signed-off-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: NLoic Poulain <loic.poulain@linaro.org> Reviewed-by: NIlpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: NSergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Haijun Liu 提交于
Cross Layer DMA (CLDMA) Hardware interface (HIF) enables the control path of Host-Modem data transfers. CLDMA HIF layer provides a common interface to the Port Layer. CLDMA manages 8 independent RX/TX physical channels with data flow control in HW queues. CLDMA uses ring buffers of General Packet Descriptors (GPD) for TX/RX. GPDs can represent multiple or single data buffers (DB). CLDMA HIF initializes GPD rings, registers ISR handlers for CLDMA interrupts, and initializes CLDMA HW registers. CLDMA TX flow: 1. Port Layer write 2. Get DB address 3. Configure GPD 4. Triggering processing via HW register write CLDMA RX flow: 1. CLDMA HW sends a RX "done" to host 2. Driver starts thread to safely read GPD 3. DB is sent to Port layer 4. Create a new buffer for GPD ring Note: This patch does not enable compilation since it has dependencies such as t7xx_pcie_mac_clear_int()/t7xx_pcie_mac_set_int() and struct t7xx_pci_dev which are added by the core patch. Signed-off-by: NHaijun Liu <haijun.liu@mediatek.com> Signed-off-by: NChandrashekar Devegowda <chandrashekar.devegowda@intel.com> Co-developed-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Signed-off-by: NRicardo Martinez <ricardo.martinez@linux.intel.com> Reviewed-by: NLoic Poulain <loic.poulain@linaro.org> Reviewed-by: NIlpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: NSergey Ryazanov <ryazanov.s.a@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 08 5月, 2022 12 次提交
-
-
由 Petr Machata 提交于
For notifications that the router needs to handle, router lock is taken. Further, at least to determine whether an event is related to a tunnel underlay, router lock also needs to be taken. Due to this, the router lock is always taken for each unhandled event, and also for some handled events, even if they are not related to underlay. Thus each event implies at least one router lock, sometimes two. Instead of deferring the locking to the leaf handlers, take the lock in the router notifier handler always. This simplifies thinking about the locking state, and in some cases saves one lock cycle. Signed-off-by: NPetr Machata <petrm@nvidia.com> Signed-off-by: NIdo Schimmel <idosch@nvidia.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Petr Machata 提交于
The position of netdevice notifier registration no longer depends on the router initialization, because the event handler no longer dispatches to the router code. Update the comment at the registration to that effect. Signed-off-by: NPetr Machata <petrm@nvidia.com> Signed-off-by: NIdo Schimmel <idosch@nvidia.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Petr Machata 提交于
The events related to IPIP tunnels are handled by the router code. Move the handling from the central dispatcher in spectrum.c to the new notifier handler in the router module. Signed-off-by: NPetr Machata <petrm@nvidia.com> Signed-off-by: NIdo Schimmel <idosch@nvidia.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Petr Machata 提交于
The events NETDEV_PRE_CHANGEADDR, NETDEV_CHANGEADDR and NETDEV_CHANGEMTU have implications for in-ASIC router interface objects, and as such are handled in the router module. Move the handling from the central dispatcher in spectrum.c to the new notifier handler in the router module. Signed-off-by: NPetr Machata <petrm@nvidia.com> Signed-off-by: NIdo Schimmel <idosch@nvidia.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Petr Machata 提交于
L3 HW stats are implemented in mlxsw as RIF counters, and therefore the code resides in spectrum_router. Exclude the offload xstats events from the mlxsw_sp_netdevice_event_is_router() predicate, and instead recreate the glue code in the router module. Previously, the order of dispatch was that for events on tunnels, a dedicated handler was called, which however did not handle HW stats events. But there is nothing special about tunnel devices as far as HW stats: there is a RIF associated with the tunnel netdevice, and that RIF is where the counter should be installed. Therefore now, HW stats events are tested first, independent of netdevice type. The upshot is that as of this commit, mlxsw supports L3 HW stats work on GRE tunnels. Signed-off-by: NPetr Machata <petrm@nvidia.com> Signed-off-by: NIdo Schimmel <idosch@nvidia.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Petr Machata 提交于
Events involving VRF, as L3 concern, are handled in the router code, by the helper mlxsw_sp_netdevice_vrf_event(). The handler is currently invoked from the centralized dispatcher in spectrum.c. Instead, move the call to the newly-introduced router-specific notifier handler. Signed-off-by: NPetr Machata <petrm@nvidia.com> Signed-off-by: NIdo Schimmel <idosch@nvidia.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Petr Machata 提交于
Currently all netdevice events are handled in the centralized notifier handler maintained by spectrum.c. Since a number of events are involving router code, spectrum.c needs to dispatch them to spectrum_router.c. The spectrum module therefore needs to know more about the router code than it should have, and there is are several API points through which the two modules communicate. To simplify the notifier handlers, introduce a new notifier into the router module. Signed-off-by: NPetr Machata <petrm@nvidia.com> Signed-off-by: NIdo Schimmel <idosch@nvidia.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Petr Machata 提交于
Enslaving netdevices to VRF is currently handled through an mlxsw_sp_is_vrf_event() conditional in mlxsw_sp_netdevice_event(). In the following patch sets, VRF enslavement will be handled purely in the router code. Therefore make handlers of NETDEV_PRECHANGEUPPER tolerant of enslaving to VRF, so that they do not bounce the change. For NETDEV_CHANGEUPPER, drop the WARN_ON(1) and bounce from mlxsw_sp_netdevice_port_vlan_event(). This is the only handler that warned and bounces even in the CHANGEUPPER code, other handler quietly do nothing when they encounter an unfamiliar upper. Signed-off-by: NPetr Machata <petrm@nvidia.com> Signed-off-by: NIdo Schimmel <idosch@nvidia.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Jakub Kicinski 提交于
A handful of WAN drivers use custom napi weights, switch them to the new API. Signed-off-by: NJakub Kicinski <kuba@kernel.org> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Jakub Kicinski 提交于
virtio netdev driver uses a custom napi weight, switch to the new API for setting custom weight. Signed-off-by: NJakub Kicinski <kuba@kernel.org> Reviewed-by: NXuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: NJason Wang <jasowang@redhat.com> Acked-by: NMichael S. Tsirkin <mst@redhat.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Jakub Kicinski 提交于
r8152 uses a custom napi weight, switch to the new API for setting custom weight. Signed-off-by: NJakub Kicinski <kuba@kernel.org> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Jakub Kicinski 提交于
Switch all Ethernet drivers which use custom napi weights to the new API. Signed-off-by: NJakub Kicinski <kuba@kernel.org> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-