31 Aug, 2013

1 commit


05 Jul, 2013

1 commit

  • This patch adds phy reset callback support for stmmac driver via device
    trees. It adds three new properties to gmac device tree bindings to
    define the reset signal via gpio.

    With this patch users can conveniently pass reset gpio number with pre,
    pulse and post delay in micro secs via DTs.

    active low:
    _________ ____________
    | |
    | |
    |_______________|

    active high:
    ________________
    | |
    | |
    ________| |___________

    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: David S. Miller

    Srinivas Kandagatla
     

14 Dec, 2012

1 commit

  • Pull trivial branch from Jiri Kosina:
    "Usual stuff -- comment/printk typo fixes, documentation updates, dead
    code elimination."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    HOWTO: fix double words typo
    x86 mtrr: fix comment typo in mtrr_bp_init
    propagate name change to comments in kernel source
    doc: Update the name of profiling based on sysfs
    treewide: Fix typos in various drivers
    treewide: Fix typos in various Kconfig
    wireless: mwifiex: Fix typo in wireless/mwifiex driver
    messages: i2o: Fix typo in messages/i2o
    scripts/kernel-doc: check that non-void fcts describe their return value
    Kernel-doc: Convention: Use a "Return" section to describe return values
    radeon: Fix typo and copy/paste error in comments
    doc: Remove unnecessary declarations from Documentation/accounting/getdelays.c
    various: Fix spelling of "asynchronous" in comments.
    Fix misspellings of "whether" in comments.
    eisa: Fix spelling of "asynchronous".
    various: Fix spelling of "registered" in comments.
    doc: fix quite a few typos within Documentation
    target: iscsi: fix comment typos in target/iscsi drivers
    treewide: fix typo of "suport" in various comments and Kconfig
    treewide: fix typo of "suppport" in various comments
    ...

    Linus Torvalds
     

27 Nov, 2012

1 commit

  • GMAC devices newer than databook 3.40 has an embedded timer
    that can be used for mitigating the number of interrupts.
    So this patch adds this optimizations.

    At any rate, the Rx watchdog can be disable (on bugged HW) by
    passing from the platform the riwt_off field.

    In this implementation the rx timer stored in the Reg9 is fixed
    to the max value. This will be tuned by using ethtool.

    V2: added a platform parameter to force to disable the rx-watchdog
    for example on new core where it is bugged.

    V3: do not disable NAPI when Rx watchdog is used.

    V4: a new extra statistic field has been added to show the early
    receive status in the interrupt handler.
    This patch also adds an extra check to avoid to call
    napi_schedule when the DMA_INTR_ENA_RIE bit is disabled in the
    Interrupt Mask register.

    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     

19 Nov, 2012

1 commit


01 Sep, 2012

1 commit

  • This patch removes bus_id from mdio platform data, The reason to remove
    bus_id is, stmmac mdio bus_id is always same as stmmac bus-id, so there
    is no point in passing this in different variable.
    Also stmmac ethernet driver connects to phy with bus_id passed its
    platform data.
    So, having single bus-id is much simpler.

    Signed-off-by: Srinivas Kandagatla
    Signed-off-by: David S. Miller

    Srinivas Kandagatla
     

15 May, 2012

1 commit

  • In mixed burst (MB) mode, the AHB master always initiates
    the bursts with fixed-size when the DMA requests transfers
    of size less than or equal to 16 beats.
    This patch adds the MB support and the flag that can be
    passed from the platform to select it.
    MB mode can also give some benefits in terms of performances
    on some platforms.

    v2: fixed Coding Style

    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     

20 Apr, 2012

1 commit

  • Freeze and restore can call the custom init/exit functions.
    Also the patch adds a custom data field that can be used
    for storing platform data useful on restore the embedded
    setup (e.g. GPIO, SYSCFG).

    Signed-off-by: Francesco Virlinzi
    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Francesco Virlinzi
     

05 Apr, 2012

5 commits

  • The CSR Clock Range has been reworked and new macros has
    been added in the platform header to allow the CSR Clock
    Range selection in the GMII Address Register.
    The previous work didn't add the other fields
    that can be used to achieve MDC clock of frequency
    higher than the IEEE 802.3 specified frequency limit
    of 2.5 MHz and program a clock divider of lower value.
    On such platforms, these are used indeed so this patch
    adds them.

    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     
  • This patch re-works the internal GMAC DMA parameters
    passed from the platform.
    In the past, we only passed the pbl but, with new core,
    other parameters can be passed and are mandatory on some
    platforms.

    New parameters are documented in stmmac.txt because this
    patch has an impact for many platforms.

    Signed-off-by: Shiraz Hashim
    Signed-off-by: Vikas Manocha
    Signed-off-by: Deepak Sikri
    Hacked-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Deepak SIKRI
     
  • The patch adds the macros to be used for MDC clock selection. The MDC clock
    frequency is based on scaled system clock, and has to be confined to a range
    of 1-2.5 MHz. Based on the input CSR clock, the scaling factor has to be
    selected.
    The platform specific code will provide the default value of this scaling
    factor, based on the input CSR clock.
    There is an option to set MDC clock higher than the IEEE 802.3 specified
    frequency limit of 2.5 MHz. This applies for the interfacing chips that
    support higher MDC clocks. The resultant higher clock of 12.5 MHz requires
    additional Macros to be defined for the clock divider corresponding to the
    to the following selection.
    -----------------------------------------
    Selection MDC Clock
    -----------------------------------------
    1000 clk_csr_i/4
    1001 clk_csr_i/6
    1010 clk_csr_i/8
    1011 clk_csr_i/10
    1100 clk_csr_i/12
    1101 clk_csr_i/14
    1110 clk_csr_i/16
    1111 clk_csr_i/18

    This support has to be added both in the include file, as well as driver. The
    driver need to program the registers based on the interfacing chips. This would
    be more board specific information and needs to be passed through the platform
    code to the driver. This work would be carried out in the future patch set
    release.

    Signed-off-by: Deepak Sikri
    Acked-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Deepak SIKRI
     
  • This patch explicitly defines the CSUM offload engine type which need
    (not mandatory) to be passed from the platform code.
    STMMAC core supports two check sum offload engine types- Type-1 & Type-2.
    Also, there are STMMAC cores that do not have the check sum offload
    capabilities.

    The behaviour of Type-1 & Type-2 cores related to provision of checksum
    increases the packet length for Type-1 cores by 2, as the checksum is appended
    at the end of data packet and the same is made accountable in the DMA status.
    The STMMAC cores beyond Version-3.5 provide HW interface registers which allows
    the user to read the HW capabilities, while to support the previous cores the
    information related to HW capabilities has to be provided from the platform
    code.

    The Type-1 cores which do not have the HW register interface need this
    information.

    This patch also updates the driver's doc.

    Signed-off-by: Deepak Sikri
    Hacked-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Deepak SIKRI
     
  • As stmmac mdio bus name prefix is hardcoded in the driver, this allows
    only phys on stmmac mdio buses to connect, however stmmac should allow
    phys on other mdio buses too.

    This patch adds new variable phy_bus_name to plat_stmmacenet_data
    struct to let the BSP decide which phy bus to be used by stmmac driver.
    A typical use-case is to have generic MDIO buses like mdio-gpio on top
    of stmmac.

    Signed-off-by: Srinivas Kandagatla
    Acked-by: Florian Fainelli
    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Srinivas Kandagatla
     

22 Jul, 2011

1 commit

  • Prior to this change, most PHY configuration parameters were passed
    into the STMMAC device as a separate PHY device. As well as being
    unusual, this made it difficult to make changes to the MAC/PHY
    relationship.

    This patch moves all the PHY parameters into the MAC configuration
    structure, mainly as a separate structure. This allows us to completely
    ignore the MDIO bus attached to a stmmac if desired, and not create
    the PHY bus. It also allows the stmmac driver to use a different PHY
    from the one it is connected to, for example a fixed PHY or bit banging
    PHY.

    Also derive the stmmac/PHY connection type (MII/RMII etc) from the
    mode can be passed into _configure_ethernet.
    STLinux kernel at git://git.stlinux.com/stm/linux-sh4-2.6.32.y.git
    provides several examples how to use this new infrastructure (that
    actually is easier to maintain and clearer).

    Signed-off-by: Stuart Menefy
    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     

19 Jul, 2011

1 commit


04 May, 2011

1 commit

  • stmmac.h uses struct platform_device and doesn't include
    . Whereas drivers/net/stmmac/stmmac.h includes it, but
    doesn't directly use it. And so we get following compilation warning while using
    this file:
    warning: ‘struct platform_device’ declared inside parameter list

    This patch includes in linux/stmmac.h and removes it
    from drivers/net/stmmac/stmmac.h

    Signed-off-by: Viresh Kumar
    Acked-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Viresh KUMAR
     

31 Mar, 2011

1 commit


25 Nov, 2010

1 commit

  • This patch adds in the plat_stmmacenet_data
    the init and exit callbacks that can be used
    for invoking specific platform functions.
    For example, on ST targets, these call the
    PAD manager functions to set PIO lines and
    syscfg registers.
    The patch removes the stmmac_claim_resource
    only used on STM Kernels as well.

    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     

25 Sep, 2010

1 commit


18 Sep, 2010

2 commits

  • The first version of the driver had hard-coded the logic
    for handling the checksum offloading.
    This was designed according to the chips included in
    the STM platforms where:
    o MAC10/100 supports no COE at all.
    o GMAC fully supports RX/TX COE.

    This is not good for other chip configurations where,
    for example, the mac10/100 supports the tx csum in HW
    or when the GMAC has no IPC.

    Thanks to Johannes Stezenbach; he provided me a first
    draft of this patch that only reviewed the IPC for the
    GMAC devices.

    This patch also helps on SPEAr platforms where the
    MAC10/100 can perform the TX csum in HW.
    Thanks to Deepak SIKRI for his support on this.

    In the end, GMAC devices for STM platforms have
    a bugged Jumbo frame support that needs to have
    the Tx COE disabled for oversized frames (due to
    limited buffer sizes). This information is also
    passed through the driver's platform structure.

    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: Johannes Stezenbach
    Signed-off-by: Deepak SIKRI
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     
  • This patch adds the CSR Clock range selection.

    Original patch from Johannes Stezenbach fixed the CSR
    in the stmmac_mdio. We agreed to provide this through
    the platform instead of.
    Also thanks to Johannes for having tested it on ARM.

    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: Johannes Stezenbach
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     

26 Aug, 2010

1 commit


14 Apr, 2010

1 commit

  • The new enh_desc is used for selecting the enhanced descriptors
    structure. There are several scenarios; some chips (mac10/100
    or gmac) want to use the enhanced descriptors; others want the normal
    ones.
    For example, on ST platforms: MAC10/100 uses the normal desc structure
    and the GMAC uses the enhanced one.
    It can be useful to get this information from the platform.
    This could also be decided at run-time looking at the chip's ID number;
    but it could happen that chips with the same ID want to use different
    descriptor structure.

    Signed-off-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     

08 Jan, 2010

1 commit