22 Mar, 2014
8 commits
-
This patch changes the driver use the new pin configuration method when
programming the periodic output signal.Signed-off-by: Richard Cochran
Signed-off-by: David S. Miller -
This patch changes the driver to use the new pin configuration method when
programming the external time stamp input signals.Signed-off-by: Richard Cochran
Signed-off-by: David S. Miller -
This patch adapts the dp83640 driver to allow reconfiguration of which
auxiliary function goes on which pin. The functions may be reassigned
freely with the one exception of the calibration function.Signed-off-by: Richard Cochran
Signed-off-by: David S. Miller -
The phyter driver incorrectly feeds the value of the period into what
is in fact a pulse width register, resulting in the actual period
being twice the dialed value. This patch fixes the issue and renames a
variable to make the code at bit more clear.Signed-off-by: Richard Cochran
Signed-off-by: David S. Miller -
This patch cleans up the input checking code on the external time stamp
function by using an unsigned rather than a signed channel index.Also, this patch corrects the author's email address. When this macro
was last changed, the top level domain part of the email address was
left behind.Signed-off-by: Richard Cochran
Signed-off-by: David S. Miller -
This patch updates the many PTP Hardware Clock drivers with the
newly introduced field that advertises the number of programmable
pins. Some of these devices do have programmable pins, but the
implementation will have to wait for follow on patches.Signed-off-by: Richard Cochran
Acked-by: Jeff Kirsher
Signed-off-by: David S. Miller -
This patch adds the sysfs hooks needed in order to get and set the
programmable pin settings.Signed-off-by: Richard Cochran
Signed-off-by: David S. Miller -
This patch adds a pair of new ioctls to the PTP Hardware Clock device
interface. Using the ioctls, user space programs can query each pin to
find out its current function and also reprogram a different function
if desired.Signed-off-by: Richard Cochran
Signed-off-by: David S. Miller
21 Mar, 2014
17 commits
-
Instead of always invoking netdev_get_tx_queue() in bcmgenet_xmit() and
bcmgenet_tx_reclaim(), just get the corresponding netdev_queue pointer
once and for all and manipulate it throughout bcmgenet_xmit() and
bcmgenet_tx_reclaim().Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
netdev_pick_tx already takes care of making sure that a given
skb->queue_mapping value will remain within the number of advertised
hardware queue number, there is no need to re-do this again in the
driver.Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
The BCMGENET driver was not TX timestamping the SKBs it queued for
transmission, do this in bcmgenet_xmit() right before kicking the
Transmit DMA engine.Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
The spinlock cookie in bcmgenet_priv is never used, get rid of it.
Signed-off-by: Florian Fainelli
Signed-off-by: David S. Miller -
"goto" is well accepted for error paths in the kernel but should not be
used unnecessarily. Return the correct value directly instead of using a
goto when possible.Signed-off-by: Laurent Pinchart
Acked-by: Geert Uytterhoeven
Signed-off-by: David S. Miller -
Network API functions that rely on the MDIO bus can be called as soon as
the driver calls register_netdev(). Register the MDIO bus before the
network device to avoid race conditions.Signed-off-by: Laurent Pinchart
Acked-by: Geert Uytterhoeven
Signed-off-by: David S. Miller -
The network device passed to the sh_mdio_init and sh_mdio_release
functions is only used to access the sh_eth_private instance. Pass it
directly to those functions.Signed-off-by: Laurent Pinchart
Acked-by: Geert Uytterhoeven
Signed-off-by: David S. Miller -
The MDIO bus parent is set to the network device. Beside not reflecting
the hardware topology, this prevents registering the MDIO bus before
initializing the network device. Fix it by setting the MDIO bus parent
to the platform device.Signed-off-by: Laurent Pinchart
Acked-by: Geert Uytterhoeven
Signed-off-by: David S. Miller -
Memory allocated for the MDIO bus with the devm_kzalloc() API is
associated with the network device. While this will cause memory to be
freed at the right time, it doesn't allow allocating memory before the
network device is initialized.Replace the network device with the parent platform device for memory
allocation to remove that dependency. This also improves consistency
with the other devm_* calls in the driver that all use the platform
device.Signed-off-by: Laurent Pinchart
Acked-by: Geert Uytterhoeven
Signed-off-by: David S. Miller -
This makes the generic of_mdiobus_register parse the DT compatible string for
the pattern ethernet-phy-idAAAA.BBBB. If present it should be a value that
matches the phy-id register normally readable through MDIO.When the ID is given the phy autoprobing is defeated and the phy is
created directly.This is necessary to support phy's that cannot be autoprobed when
of_mdiobus_register is called. Specifically, my case has the phy in reset at
of_mdiobus_register, the reset is only released once the ethernet driver
starts, before it attaches to the phy.Tested on ARM Kirkwood with phy id 0x01410e90 (Marvell 88E1318)
Signed-off-by: Jason Gunthorpe
Acked-by: Florian Fainelli
Acked-by: Rob Herring
Signed-off-by: David S. Miller -
According to "Universal Serial Bus Communications Class Subclass
Specification for Mobile Broadband Interface Model, Revision 1.0,
Errata-1" published by USB-IF, the wMTU field of the MBIM extended
functional descriptor indicates the operator preferred MTU for IP data
streams.This patch modifies cdc_ncm_setup to ensure that the MTU value set on
the usbnet device does not exceed the operator preferred MTU indicated
by wMTU if the MBIM device exposes a MBIM extended functional
descriptor.Signed-off-by: Ben Chan
Signed-off-by: David S. Miller -
A new syntax is added for the module parameters num_vfs and probe_vf.
num_vfs=p1,p2,p1+p2
probe_bf=p1,p2,p1+p2Where p1(2) is the number of VFs on / probed VFs for physical
port1(2) and p1+p2 is the number of dual port VFs.Single port VFs are currently supported only when the link type
for both ports of the device is Ethernet.Signed-off-by: Matan Barak
Signed-off-by: Or Gerlitz
Signed-off-by: David S. Miller -
Adds support for N-Port VFs, this includes:
1. Adding support in the wrapped FW command
In wrapped commands, we need to verify and convert
the slave's port into the real physical port.
Furthermore, when sending the response back to the slave,
a reverse conversion should be made.
2. Adjusting sqpn for QP1 para-virtualization
The slave assumes that sqpn is used for QP1 communication.
If the slave is assigned to a port != (first port), we need
to adjust the sqpn that will direct its QP1 packets into the
correct endpoint.
3. Adjusting gid[5] to modify the port for raw ethernet
In B0 steering, gid[5] contains the port. It needs
to be adjusted into the physical port.
4. Adjusting number of ports in the query / ports caps in the FW commands
When a slave queries the hardware, it needs to view only
the physical ports it's assigned to.
5. Adjusting the sched_qp according to the port number
The QP port is encoded in the sched_qp, thus in modify_qp we need
to encode the correct port in sched_qp.Signed-off-by: Matan Barak
Signed-off-by: Or Gerlitz
Signed-off-by: David S. Miller -
This patch adds the following utils:
1. Convert slave_id -> VF
2. Get the active ports by slave_id
3. Convert slave's port to real port
4. Get the slave's port from real port
5. Get all slaves that uses the i'th real port
6. Get all slaves that uses the i'th real port exclusivelySigned-off-by: Matan Barak
Signed-off-by: Or Gerlitz
Signed-off-by: David S. Miller -
Adds the required data structures to support VFs with N (1 or 2)
ports instead of always using the number of physical ports.Signed-off-by: Matan Barak
Signed-off-by: Or Gerlitz
Signed-off-by: David S. Miller -
Some code in the mlx4 IB driver stack assumed MLX4_MAX_PORTS ports.
Instead, we should only loop until the number of actual ports in i
the device, which is stored in dev->caps.num_ports.Signed-off-by: Matan Barak
Signed-off-by: Or Gerlitz
Signed-off-by: David S. Miller -
Since passing the clock is not mandatory, change the warning message to debug,
so that we avoid getting the following clock failure message on every boot:smsc911x: Driver version 2008-10-21
smsc911x smsc911x (unregistered net_device): couldn't get clock -2
libphy: smsc911x-mdio: probedSigned-off-by: Fabio Estevam
Signed-off-by: David S. Miller
20 Mar, 2014
15 commits
-
This patch moves the call to enable Tx queues after the link is established.
Previously there was a chance for aggressive start_ndo_xmit() callers to
sneak packets between enabling the Tx queues and the link coming up.In addition it replaces netif_tx_start_all_queues() with
netif_tx_wake_all_queues() to allow for flushing of the qdisc.CC: Arun Sharma
Signed-off-by: Emil Tantilov
Signed-off-by: Jeff Kirsher -
We use to cache whether the MNG FW was enabled, how since this isn't
static we really need to verify with each check. This patch makes that
change.CC: Arun Sharma
Signed-off-by: Don Skidmore
Tested-by: Phil Schmitt
Signed-off-by: Jeff Kirsher -
Rather than assign several parameters in a row, we should use a for
loop, which reduces code size.CC: Arun Sharma
Signed-off-by: Jacob Keller
Tested-by: Phil Schmitt
Signed-off-by: Jeff Kirsher -
This patch replaces some direct uses of pci_read_config_word with the
protected ixgbe_read_pci_cfg_word function, which checks for whether the
adapter is removed when LER is enabled. We shouldn't use the
pci_read_config_word calls directly because of these checks.This patch also cleans up an unnecessary save of a pointer to the mac
object, as our standard style is to just use the hw pointer.CC: Arun Sharma
Signed-off-by: Jacob Keller
Tested-by: Phil Schmitt
Signed-off-by: Jeff Kirsher -
This patch reverts the addition of the fiber_fixed type, which ended up
never being used. We don't have plans to support this type going
forward, and there is no reason to keep an unused type around polluting
the code.Reverts: 4e8e1bca6e2 ("ixgbe: add new media type")
CC: Arun Sharma
Signed-off-by: Jacob Keller
Tested-by: Phil Schmitt
Signed-off-by: Jeff Kirsher -
This patch fixes flow control autonegotiation for KR/KX/K4 interfaces.
When setting up MAC link, the cached autoc value and current autoc value
were being incorrectly used to determine whether link reset is required.
This resulted in the driver ignoring and discarding flow control
negotiation changes that occur since the caching happened, as well as
when the mac was being setup.This patch also splits the assignments for the 3 autoc variables into
their own block, and adds a comment explaining what each one means, in
order to help keep logic more straightforward while reading the code.CC: Arun Sharma
Reported-by: Sourav Chatterjee
Signed-off-by: Jacob Keller
Tested-by: Phil Schmitt
Signed-off-by: Jeff Kirsher -
Previously, we did a full check to see if MNG FW was running. Instead,
we should only check to see whether it could be enabled. Since it may
become active while down, we don't want to bring the link down.CC: Arun Sharma
Signed-off-by: Don Skidmore
Signed-off-by: Jacob Keller
Tested-by: Phil Schmitt
Signed-off-by: Jeff Kirsher -
This patch corrects the stop_mac_link_on_d3 function in ixgbe_82599 by
checking the Core Clock Disable bit before stopping link.CC: Arun Sharma
Reported-by: Chris Pavlas
Signed-off-by: Jacob Keller
Signed-off-by: Jeff Kirsher -
Found several incorrect conditionals after calling the prot_autoc_*
functions. Likewise we weren't always freeing the FWSW semaphore after
grabbing it. This would lead to DA cables being unable to link along with
possible other errors.CC: Arun Sharma
CC: Emil Tantilov
Signed-off-by: Don Skidmore
Tested-by: Phil Schmitt
Signed-off-by: Jeff Kirsher -
The use of __constant_ has been unnecessary for quite awhile now.
Make these uses consistent with the rest of the kernel.
Signed-off-by: Joe Perches
Tested-by: Phil Schmitt
Signed-off-by: Jeff Kirsher -
The use of __constant_ has been unnecessary for quite awhile now.
Make these uses consistent with the rest of the kernel.
Signed-off-by: Joe Perches
Tested-by: Phil Schmitt
Signed-off-by: Jeff Kirsher -
The use of __constant_ has been unnecessary for quite awhile now.
Make these uses consistent with the rest of the kernel.
Signed-off-by: Joe Perches
Tested-by: Aaron Brown
Signed-off-by: Jeff Kirsher -
The use of __constant_ has been unnecessary for quite awhile now.
Make these uses consistent with the rest of the kernel.
Signed-off-by: Joe Perches
Tested-by: Aaron Brown
Signed-off-by: Jeff Kirsher -
The use of __constant_ has been unnecessary for quite awhile now.
Make these uses consistent with the rest of the kernel.
Signed-off-by: Joe Perches
Tested-by: Aaron Brown
Signed-off-by: Jeff Kirsher -
For i350 VLAN stripping for VMs is not enabled in the VMOLR register but in
the DVMOLR register. Making the changes accordingly. It's not necessary to
unset the E1000_VMOLR_STRVLAN bit on i350 as the hardware will simply ignore
it.Without this change if a VLAN is configured for a VF assigned to a guest
via (i.e.)
ip link set p1p1 vf 0 vlan 10
the VLAN tag will not be stripped from packets going into the VM. Which they
should be because the VM itself is not aware of the VLAN at all.Signed-off-by: Stefan Assmann
Tested-by: Sibai Li
Signed-off-by: Jeff Kirsher