From owner-svn-src-user@FreeBSD.ORG Thu Apr 22 21:03:15 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3EC27106566C; Thu, 22 Apr 2010 21:03:15 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2D1BA8FC1D; Thu, 22 Apr 2010 21:03:15 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o3ML3FQG091149; Thu, 22 Apr 2010 21:03:15 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o3ML3FeC091147; Thu, 22 Apr 2010 21:03:15 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201004222103.o3ML3FeC091147@svn.freebsd.org> From: Juli Mallett Date: Thu, 22 Apr 2010 21:03:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r207074 - user/jmallett/octeon/sys/mips/cavium/octe X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Apr 2010 21:03:15 -0000 Author: jmallett Date: Thu Apr 22 21:03:14 2010 New Revision: 207074 URL: http://svn.freebsd.org/changeset/base/207074 Log: Correct locking, but make compile by commenting out nearly everything until I add our MII infrastructure to this driver. Modified: user/jmallett/octeon/sys/mips/cavium/octe/ethernet-mdio.c Modified: user/jmallett/octeon/sys/mips/cavium/octe/ethernet-mdio.c ============================================================================== --- user/jmallett/octeon/sys/mips/cavium/octe/ethernet-mdio.c Thu Apr 22 20:54:32 2010 (r207073) +++ user/jmallett/octeon/sys/mips/cavium/octe/ethernet-mdio.c Thu Apr 22 21:03:14 2010 (r207074) @@ -34,18 +34,22 @@ AND WITH ALL FAULTS AND CAVIUM NETWORKS #include #include #include +#include #include #include #include -#include "cvmx-sysinfo.h" #include "wrapper-cvmx-includes.h" #include "ethernet-headers.h" -DECLARE_MUTEX(mdio_sem); +static struct mtx mdio_mtx; +MTX_SYSINIT(cvm_oct_mdio, &mdio_mtx, "MDIO", MTX_DEF); +#define MDIO_LOCK() mtx_lock(&mdio_mtx) +#define MDIO_UNLOCK() mtx_unlock(&mdio_mtx) +#if 0 /** * Perform an MII read. Called by the generic MII routines * @@ -131,9 +135,9 @@ static int cvm_oct_get_settings(struct i cvm_oct_private_t *priv = (cvm_oct_private_t *)ifp->if_softc; int ret; - down(&mdio_sem); + MDIO_LOCK(); ret = mii_ethtool_gset(&priv->mii_info, cmd); - up(&mdio_sem); + MDIO_UNLOCK(); return ret; } @@ -144,9 +148,9 @@ static int cvm_oct_set_settings(struct i cvm_oct_private_t *priv = (cvm_oct_private_t *)ifp->if_softc; int ret; - down(&mdio_sem); + MDIO_LOCK(); ret = mii_ethtool_sset(&priv->mii_info, cmd); - up(&mdio_sem); + MDIO_UNLOCK(); return ret; } @@ -157,9 +161,9 @@ static int cvm_oct_nway_reset(struct ifn cvm_oct_private_t *priv = (cvm_oct_private_t *)ifp->if_softc; int ret; - down(&mdio_sem); + MDIO_LOCK(); ret = mii_nway_restart(&priv->mii_info); - up(&mdio_sem); + MDIO_UNLOCK(); return ret; } @@ -170,9 +174,9 @@ static u32 cvm_oct_get_link(struct ifnet cvm_oct_private_t *priv = (cvm_oct_private_t *)ifp->if_softc; u32 ret; - down(&mdio_sem); + MDIO_LOCK(); ret = mii_link_ok(&priv->mii_info); - up(&mdio_sem); + MDIO_UNLOCK(); return ret; } @@ -187,6 +191,7 @@ struct ethtool_ops cvm_oct_ethtool_ops = .get_sg = ethtool_op_get_sg, .get_tx_csum = ethtool_op_get_tx_csum, }; +#endif /** @@ -199,16 +204,20 @@ struct ethtool_ops cvm_oct_ethtool_ops = */ int cvm_oct_ioctl(struct ifnet *ifp, struct ifreq *rq, int cmd) { +#if 0 cvm_oct_private_t *priv = (cvm_oct_private_t *)ifp->if_softc; struct mii_ioctl_data *data = if_mii(rq); unsigned int duplex_chg; int ret; - down(&mdio_sem); + MDIO_LOCK(); ret = generic_mii_ioctl(&priv->mii_info, data, cmd, &duplex_chg); - up(&mdio_sem); + MDIO_UNLOCK(); return ret; +#else + panic("%s: not yet implemented.", __func__); +#endif } @@ -224,6 +233,7 @@ int cvm_oct_mdio_setup_device(struct ifn cvm_oct_private_t *priv = (cvm_oct_private_t *)ifp->if_softc; int phy_id = cvmx_helper_board_get_mii_address(priv->port); if (phy_id != -1) { +#if 0 priv->mii_info.dev = dev; priv->mii_info.phy_id = phy_id; priv->mii_info.phy_id_mask = 0xff; @@ -231,11 +241,9 @@ int cvm_oct_mdio_setup_device(struct ifn priv->mii_info.reg_num_mask = 0x1f; priv->mii_info.mdio_read = cvm_oct_mdio_read; priv->mii_info.mdio_write = cvm_oct_mdio_write; - } else { - /* Supply dummy MDIO routines so the kernel won't crash - if the user tries to read them */ - priv->mii_info.mdio_read = cvm_oct_mdio_dummy_read; - priv->mii_info.mdio_write = cvm_oct_mdio_dummy_write; +#else + panic("%s: need add MII hooks.", __func__); +#endif } return 0; }