Commit Graph

226 Commits

Author SHA1 Message Date
joerg d40a88a875 sizeof doesn't evaluate the expression, so increment of rxd doesn't
happen. Move it out.
2015-01-11 22:59:57 +00:00
christos 6ca6d5d665 centralize the dialout/call unit macros. 2014-11-15 19:18:18 +00:00
christos a568d0213e this is not python (add braces) 2014-09-21 17:00:35 +00:00
tls ea6af427bd Merge tls-earlyentropy branch into HEAD. 2014-08-10 16:44:32 +00:00
dholland f9228f4225 Add d_discard to all struct cdevsw instances I could find.
All have been set to "nodiscard"; some should get a real implementation.
2014-07-25 08:10:31 +00:00
christos 5bdbb846e0 provide a buffer for pci_intr_string() 2014-03-30 23:25:20 +00:00
htodd 85550bc7a9 Fix typo. 2014-03-30 22:39:29 +00:00
christos 070dd9a4c8 catch up with pci_intr_string changes 2014-03-30 01:17:51 +00:00
dholland a68f9396b6 Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.
2014-03-16 05:20:22 +00:00
kiyohara c51a6569f3 Support Armada 370 and DDR3 tags. 2014-03-15 13:33:48 +00:00
kiyohara 5e965d38d2 Add tags to marvell_attach_args. 2014-03-15 11:47:43 +00:00
kiyohara 1fc9bc43dd Add some Armada 370 IDs.
And fix comment-out-ed ID for Discovery VI.  (from Marvell USP)
2014-03-15 10:40:39 +00:00
pooka 4f6fb3bf35 Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
the sysctl link sets are processed, and remove redundancy.

Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.
2014-02-25 18:30:08 +00:00
kiyohara a676b54c95 Add MARVELL_TAG_DDR3_CS[0-3] for latest SoC. 2014-02-17 04:52:44 +00:00
msaitoh 3443d04260 Carefully set IFF_OACTIVE in mvgbe_start(). Even if mvgbe_encap()
returns other than 0, the TX ring might not full. Check whether
the TX ring has one or more packets. If the ring is empty,
dont' set IFF_OACTIVE because an TX complete interrupt never
occur and IFF_OACTIVE flags is left. The interface's timer
isn't reset, so a device timeout desn't occur.

 Fixes a bug that IFF_OACTIVE flag is left on heavy load.
Part of PR#48568.
2014-02-03 05:56:23 +00:00
kiyohara 9745ea1238 Support Basic Mode for Armada XP. 2013-12-23 02:23:25 +00:00
mrg 387c0717d0 move some variables inside their #ifdef use. 2013-11-06 06:20:12 +00:00
kiyohara b1b7c6a2ff Revirt 'Move the Marvell extension to com_mv.c' at Sun Sep 1 04:51:24 UTC 2013.
build test only.
2013-10-03 13:23:03 +00:00
kiyohara 19eccf3fb5 Change address/size of CESA Registers. 2013-09-28 05:46:51 +00:00
kiyohara b1438b0a3a Add ARMADAXP IDs. 2013-09-28 05:39:06 +00:00
kiyohara 5c651e5b37 Add ARMADAXP MV78{13,16,23,26}0. 2013-09-28 05:37:31 +00:00
kiyohara 1730fa1769 Fix size of EHCI register space. 2013-09-08 04:10:23 +00:00
matt 33c1c5753b Make gttswi MI and usuable from non-Marvell SoCs.
(should rename to mvi2c but ...)
2013-09-06 00:56:12 +00:00
matt 31f2dd87c7 Make sc_started bool and true/false instead of 1/0 2013-09-05 22:28:57 +00:00
kiyohara b5773b7ae3 Move the Marvell extension to com_mv.c. 2013-09-01 04:51:24 +00:00
kiyohara 8bb6eda9b2 Fix build failed with ofppc.
Move 'attach mvspi at mvsoc' to arch/arm/marvell/files.marvell.
2013-08-29 09:46:04 +00:00
kiyohara 866b7671df Move mvspi defines into sys/dev/marvell/files.discovery. 2013-08-25 07:08:37 +00:00
kiyohara c353b58b7a Issue the STOP-bit if needed.
And remove #ifdef ARMADAXP.
2013-08-03 07:39:31 +00:00
christos 2432e2b578 There is no opt_mvsoc.h; the #ifdef ARMADAXP should be changed to some
inherited device property.
2013-05-13 15:47:18 +00:00
khorben 706bb852e6 Removed an unused variable.
"go ahead" rkujawa@
2013-05-06 23:09:34 +00:00
rkujawa 648f6a20d2 Support Marvell Armada XP.
Obtained from Marvell, Semihalf.
2013-05-01 12:30:02 +00:00
rkujawa a6a9912488 TWSI controller on Armada XP is a bit different. Support that.
Obtained from Marvell, Semihalf.
2013-05-01 12:25:31 +00:00
rkujawa e97aea6084 Add IDs for Marvell Armada XP and ATTR_SDRAM registers used with IO cache coherency.
Obtained from Marvell, Semihalf.
2013-05-01 12:23:24 +00:00
rkujawa f60821d1be Avoid configuring root complex on MV78460.
Obtained from Marvell, Semihalf.
2013-05-01 12:21:47 +00:00
rkujawa 055ac78ac4 Support SATA on Marvell Armada XP.
Obtained from Marvell, Semihalf.
2013-05-01 12:19:49 +00:00
rkujawa 1ed09d9cf0 Add support for Marvell's SPI controller as found on Armada XP.
Obtained from Semihalf.
2013-05-01 12:17:17 +00:00
msaitoh c73456fec2 Fix a bug that a multicast filter entry is incorrectly overrode
on some cases.
2012-12-28 08:16:53 +00:00
msaitoh a23ec4c8a4 Check wheter an MII PHY is really connected or not.
This change privents panic if MII PHY port is not used.
2012-12-20 10:01:28 +00:00
msaitoh af1c5c02a9 Add MVGBE_EVENT_COUNTERS for debugging. Count rxoverrrun and wdogsoft. 2012-11-09 09:04:19 +00:00
msaitoh 04c8bb64f2 Fix a bug that MVGBE_JLEN is miscalculated. 2012-11-08 15:39:29 +00:00
msaitoh c9fb3a9800 When an interrput is link change, notify link change to mii layer using
mii_pollstat().
2012-11-08 14:37:47 +00:00
msaitoh 4d1a9736e4 Don't use M_HASFCS flag. 2012-11-08 14:32:01 +00:00
msaitoh 5c86b9383c No functional change.
- Change style a bit.
- use "csc" for the variable name of struct mvgbec_softc in mvgbec_attach()
  for consistency.
2012-11-01 02:46:41 +00:00
chs cbab9cadce split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
2012-10-27 17:17:22 +00:00
msaitoh 68c182ec5d Add missing mii_tick() call. 2012-10-26 21:03:26 +00:00
msaitoh e8d66652c1 Fix a bug that kernel panics when the system get a packet while calling
mvgbe_stop (via ifconfig down).
2012-10-17 18:12:59 +00:00
msaitoh 1bf68f95d9 Add code to modify interrupt coalescing with sysctl.
- both TX side an RX side.
 - different setting for each port
 - TX side is hw.mvgbe.mvgbe*.ipginttx
 - RX side is hw.mvgbe.mvgbe*.ipgintrx
 - The default value is 768.
 - The lowest value is 0
 - For highest value, 0x3777 is used for V1, and 0xffff is used for V2.
2012-10-16 19:49:41 +00:00
msaitoh 3f974a9659 Add Interrupt Coalescing setting by Robert Swindells. 2012-10-14 19:17:08 +00:00
msaitoh cfbd580d96 - The MVGBE_RX_MAX_FRAME_LEN_ERROR bit is used to check whether a packet
is fragmented or not, so define new MVGBE_RX_IP_FRAGMENT with the same
  value and use it.
- Remove the checking whether a packet length is lower than 72 octet.
  This check is not used in Linux and FreeBSD. Tested with me (for Kirkwood)
  and Kiyohara (for DiscoveryII).
2012-10-12 10:38:06 +00:00
msaitoh 05a67a38f2 Fix udpcsum-rx bug on fragmented case this time.
- Fix the usage of a local variable for csum_flags.
  - It seemd that sometimes MVGBE_RX_L4_CHECKSUM_OK bit were set to 0
    even if the checksum is correct and the packet was not fragmented.
    So we don't set M_CSUM_TCP_UDP_BAD even if csum bit is 0.
2012-10-04 14:21:00 +00:00