From patchwork Tue Feb 2 13:57:59 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 577181 X-Patchwork-Delegate: bmeng.cn@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 5E471140AD9 for ; Wed, 3 Feb 2016 00:55:21 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=OQOd9vV1; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 8C145A74BA; Tue, 2 Feb 2016 14:55:16 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id n-bAIDCW7_vA; Tue, 2 Feb 2016 14:55:16 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 2270CA74FF; Tue, 2 Feb 2016 14:55:16 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 1B5CEA74BA for ; Tue, 2 Feb 2016 14:55:13 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NX0LQsEE5oAR for ; Tue, 2 Feb 2016 14:55:12 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-pa0-f48.google.com (mail-pa0-f48.google.com [209.85.220.48]) by theia.denx.de (Postfix) with ESMTPS id 8D13F4BAEA for ; Tue, 2 Feb 2016 14:55:09 +0100 (CET) Received: by mail-pa0-f48.google.com with SMTP id cy9so99607120pac.0 for ; Tue, 02 Feb 2016 05:55:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=8QggXfmcPPHW8Dqd9Ik49X04vdPn9iahdS6C5QKjuzU=; b=OQOd9vV1k32hpbP/1oLSUHT8gYBhtCGgJgxeJR8rDs/hwoMexT4Pddonq7QS3O6MwU sYMr5uEtOAZC2PdRz//KODrBHLozf+q9u9ZpZdkRIDye6Y+py1qY5O6n1fjnG/kHskBO G8Ah5ZrD/vGHseXsuKznMbZ9q8wMnL4R4PWYyYky4Qew6qd4Su6R8XIMGFlzAVIzE+Zi QsjlIatLmms4LM/PwkHlU3+OABp+WEvE8SwF5JWGuSqMUJJGeJ8R/iYIfKhWyrRfd8zC oZXZ/sUr7qzPrBTLl5+xQz4Nmmf32rjvTEFHJwJF+mO5rRxVb8OZFmRJ46lXyR1dAIKi Z2cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=8QggXfmcPPHW8Dqd9Ik49X04vdPn9iahdS6C5QKjuzU=; b=hgDzC3kVyup8IXY/S5Z+zrYfVuQHYkGx41XcC13Idf24j5MBg1ebCYCy14aG828Sgi e1BKu3PUc1RYh9zcfHczB0ssUYfeh5xTHERSftYsmLm1k7cDA3kUSx185dd6f/uFzejC +9/a8Zu+VuHxlGtIktA7NPcQvta9UU4kj1qm7DZmjS14v3EoSwME6/YblR0hWIbslCnh ajzzEJ9WsoiFXB6YhBCiIPEu9WjG4ygGKXxhXXW0fsZXFlkQ0fojT50+m2ZvnY51HgVF rrKPFn6BYcdHJpaXEMoWfkmDz4Q91as3T1gMA1ZXoC046VoUCb6i+Z1KDaezI9p9ZBIy ++/Q== X-Gm-Message-State: AG10YOR+3mVYv7bKPTp3hpICIwbPjbEL7rCM3Bd2xqa5iL0pp5xAt7IewPmTiYnt2Uw1Dw== X-Received: by 10.66.62.195 with SMTP id a3mr47758807pas.8.1454421307673; Tue, 02 Feb 2016 05:55:07 -0800 (PST) Received: from ala-d2121-lx1.wrs.com (unknown-157-139.windriver.com. [147.11.157.139]) by smtp.gmail.com with ESMTPSA id v29sm3013212pfa.31.2016.02.02.05.55.06 (version=TLS1_1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 02 Feb 2016 05:55:06 -0800 (PST) From: Bin Meng To: Simon Glass , U-Boot Mailing List Date: Tue, 2 Feb 2016 05:57:59 -0800 Message-Id: <1454421490-11037-2-git-send-email-bmeng.cn@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1454421490-11037-1-git-send-email-bmeng.cn@gmail.com> References: <1454421490-11037-1-git-send-email-bmeng.cn@gmail.com> Cc: Joe Hershberger Subject: [U-Boot] [PATCH 01/11] net: pch_gbe: Convert to use DM PCI API X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Use native DM PCI APIs instead of legacy compatible ones. Signed-off-by: Bin Meng Reviewed-by: Simon Glass --- drivers/net/pch_gbe.c | 27 ++++++++++++--------------- drivers/net/pch_gbe.h | 2 +- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/drivers/net/pch_gbe.c b/drivers/net/pch_gbe.c index 56d29d4..137818b 100644 --- a/drivers/net/pch_gbe.c +++ b/drivers/net/pch_gbe.c @@ -117,15 +117,15 @@ static void pch_gbe_rx_descs_init(struct udevice *dev) memset(rx_desc, 0, sizeof(struct pch_gbe_rx_desc) * PCH_GBE_DESC_NUM); for (i = 0; i < PCH_GBE_DESC_NUM; i++) - rx_desc->buffer_addr = pci_phys_to_mem(priv->bdf, + rx_desc->buffer_addr = dm_pci_phys_to_mem(priv->dev, (u32)(priv->rx_buff[i])); - writel(pci_phys_to_mem(priv->bdf, (u32)rx_desc), + writel(dm_pci_phys_to_mem(priv->dev, (u32)rx_desc), &mac_regs->rx_dsc_base); writel(sizeof(struct pch_gbe_rx_desc) * (PCH_GBE_DESC_NUM - 1), &mac_regs->rx_dsc_size); - writel(pci_phys_to_mem(priv->bdf, (u32)(rx_desc + 1)), + writel(dm_pci_phys_to_mem(priv->dev, (u32)(rx_desc + 1)), &mac_regs->rx_dsc_sw_p); } @@ -137,11 +137,11 @@ static void pch_gbe_tx_descs_init(struct udevice *dev) memset(tx_desc, 0, sizeof(struct pch_gbe_tx_desc) * PCH_GBE_DESC_NUM); - writel(pci_phys_to_mem(priv->bdf, (u32)tx_desc), + writel(dm_pci_phys_to_mem(priv->dev, (u32)tx_desc), &mac_regs->tx_dsc_base); writel(sizeof(struct pch_gbe_tx_desc) * (PCH_GBE_DESC_NUM - 1), &mac_regs->tx_dsc_size); - writel(pci_phys_to_mem(priv->bdf, (u32)(tx_desc + 1)), + writel(dm_pci_phys_to_mem(priv->dev, (u32)(tx_desc + 1)), &mac_regs->tx_dsc_sw_p); } @@ -251,7 +251,7 @@ static int pch_gbe_send(struct udevice *dev, void *packet, int length) if (length < 64) frame_ctrl |= PCH_GBE_TXD_CTRL_APAD; - tx_desc->buffer_addr = pci_phys_to_mem(priv->bdf, (u32)packet); + tx_desc->buffer_addr = dm_pci_phys_to_mem(priv->dev, (u32)packet); tx_desc->length = length; tx_desc->tx_words_eob = length + 3; tx_desc->tx_frame_ctrl = frame_ctrl; @@ -262,7 +262,7 @@ static int pch_gbe_send(struct udevice *dev, void *packet, int length) if (++priv->tx_idx >= PCH_GBE_DESC_NUM) priv->tx_idx = 0; - writel(pci_phys_to_mem(priv->bdf, (u32)(tx_head + priv->tx_idx)), + writel(dm_pci_phys_to_mem(priv->dev, (u32)(tx_head + priv->tx_idx)), &mac_regs->tx_dsc_sw_p); start = get_timer(0); @@ -294,7 +294,7 @@ static int pch_gbe_recv(struct udevice *dev, int flags, uchar **packetp) if ((u32)rx_desc == hw_desc) return -EAGAIN; - buffer_addr = pci_mem_to_phys(priv->bdf, rx_desc->buffer_addr); + buffer_addr = dm_pci_mem_to_phys(priv->dev, rx_desc->buffer_addr); *packetp = (uchar *)buffer_addr; length = rx_desc->rx_words_eob - 3 - ETH_FCS_LEN; @@ -315,7 +315,7 @@ static int pch_gbe_free_pkt(struct udevice *dev, uchar *packet, int length) if (++rx_swp >= PCH_GBE_DESC_NUM) rx_swp = 0; - writel(pci_phys_to_mem(priv->bdf, (u32)(rx_head + rx_swp)), + writel(dm_pci_phys_to_mem(priv->dev, (u32)(rx_head + rx_swp)), &mac_regs->rx_dsc_sw_p); return 0; @@ -421,11 +421,8 @@ int pch_gbe_probe(struct udevice *dev) { struct pch_gbe_priv *priv; struct eth_pdata *plat = dev_get_platdata(dev); - pci_dev_t devno; u32 iobase; - devno = dm_pci_get_bdf(dev); - /* * The priv structure contains the descriptors and frame buffers which * need a strict buswidth alignment (64 bytes). This is guaranteed by @@ -433,11 +430,11 @@ int pch_gbe_probe(struct udevice *dev) */ priv = dev_get_priv(dev); - priv->bdf = devno; + priv->dev = dev; - pci_read_config_dword(devno, PCI_BASE_ADDRESS_1, &iobase); + dm_pci_read_config32(dev, PCI_BASE_ADDRESS_1, &iobase); iobase &= PCI_BASE_ADDRESS_MEM_MASK; - iobase = pci_mem_to_phys(devno, iobase); + iobase = dm_pci_mem_to_phys(dev, iobase); plat->iobase = iobase; priv->mac_regs = (struct pch_gbe_regs *)iobase; diff --git a/drivers/net/pch_gbe.h b/drivers/net/pch_gbe.h index afcb03d..0ea0c73 100644 --- a/drivers/net/pch_gbe.h +++ b/drivers/net/pch_gbe.h @@ -290,7 +290,7 @@ struct pch_gbe_priv { struct phy_device *phydev; struct mii_dev *bus; struct pch_gbe_regs *mac_regs; - pci_dev_t bdf; + struct udevice *dev; int rx_idx; int tx_idx; };