stmmac: Allow SOCs to use Store forward mode eventhough tx_coe is 0. (V2)

This patch adds new field 'force_sf_dma_mode' to plat_stmmacenet_data
struct to allow users to specify if they want to use force store forward
eventhough tx_coe is not available in hw.
without this flag stmmac driver will use cut-thru mode not use
store-forward mode.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@st.com>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Srinivas Kandagatla 2011-07-17 20:54:09 +00:00 committed by David S. Miller
parent eb0dc4bb2e
commit 61b8013a11
2 changed files with 6 additions and 3 deletions

View File

@ -557,9 +557,11 @@ static void free_dma_desc_resources(struct stmmac_priv *priv)
*/ */
static void stmmac_dma_operation_mode(struct stmmac_priv *priv) static void stmmac_dma_operation_mode(struct stmmac_priv *priv)
{ {
if (likely((priv->plat->tx_coe) && (!priv->no_csum_insertion))) { if (likely(priv->plat->force_sf_dma_mode ||
/* In case of GMAC, SF mode has to be enabled ((priv->plat->tx_coe) && (!priv->no_csum_insertion)))) {
* to perform the TX COE. This depends on: /*
* In case of GMAC, SF mode can be enabled
* to perform the TX COE in HW. This depends on:
* 1) TX COE if actually supported * 1) TX COE if actually supported
* 2) There is no bugged Jumbo frame support * 2) There is no bugged Jumbo frame support
* that needs to not insert csum in the TDES. * that needs to not insert csum in the TDES.

View File

@ -40,6 +40,7 @@ struct plat_stmmacenet_data {
int tx_coe; int tx_coe;
int bugged_jumbo; int bugged_jumbo;
int pmt; int pmt;
int force_sf_dma_mode;
void (*fix_mac_speed)(void *priv, unsigned int speed); void (*fix_mac_speed)(void *priv, unsigned int speed);
void (*bus_setup)(void __iomem *ioaddr); void (*bus_setup)(void __iomem *ioaddr);
int (*init)(struct platform_device *pdev); int (*init)(struct platform_device *pdev);