From patchwork Mon Jan 17 02:09:44 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Dillow X-Patchwork-Id: 482861 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p0H29oOS030461 for ; Mon, 17 Jan 2011 02:09:51 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752178Ab1AQCJu (ORCPT ); Sun, 16 Jan 2011 21:09:50 -0500 Received: from amavis-outgoing2.knology.net ([24.214.64.231]:41987 "EHLO amavis-outgoing2.knology.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751798Ab1AQCJt (ORCPT ); Sun, 16 Jan 2011 21:09:49 -0500 Received: from localhost (amavis-outbound2 [127.0.0.1]) by amavis-outgoing2.knology.net (Postfix) with ESMTP id 31F1D11C017; Sun, 16 Jan 2011 21:09:49 -0500 (EST) Received: from smtp4.knology.net ([192.168.200.213]) by localhost (amavis-outgoing2.knology.net [192.168.200.231]) (amavisd-new, port 10024) with LMTP id pZLqdUSzEAXl; Sun, 16 Jan 2011 21:09:48 -0500 (EST) Received: from shed.thedillows.org (unknown [207.98.218.89]) by smtp4.knology.net (Postfix) with ESMTP id F0CAEB8054; Sun, 16 Jan 2011 21:09:47 -0500 (EST) Received: from [192.168.0.10] (obelisk.thedillows.org [192.168.0.10]) by shed.thedillows.org (8.14.4/8.14.4) with ESMTP id p0H29jTw013975; Sun, 16 Jan 2011 21:09:46 -0500 Subject: IB: increase DMA max_segment_size on Mellanox hardware From: David Dillow To: linux-rdma@vger.kernel.org Cc: Roland Dreier , Eli Cohen Date: Sun, 16 Jan 2011 21:09:44 -0500 Message-ID: <1295230184.2574.26.camel@obelisk.thedillows.org> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 (2.30.3-1.fc13) Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Mon, 17 Jan 2011 02:09:51 +0000 (UTC) diff --git a/drivers/infiniband/hw/mthca/mthca_main.c b/drivers/infiniband/hw/mthca/mthca_main.c index 5eee666..deb79d4 100644 --- a/drivers/infiniband/hw/mthca/mthca_main.c +++ b/drivers/infiniband/hw/mthca/mthca_main.c @@ -1043,6 +1043,9 @@ static int __mthca_init_one(struct pci_dev *pdev, int hca_type) } } + /* not a HW limit, but no way to say infinity */ + dma_set_max_seg_size(&pdev->dev, 2 * 1024 * 1024 * 1024); + mdev = (struct mthca_dev *) ib_alloc_device(sizeof *mdev); if (!mdev) { dev_err(&pdev->dev, "Device struct alloc failed, " diff --git a/drivers/net/mlx4/main.c b/drivers/net/mlx4/main.c index 782f11d..699852e 100644 --- a/drivers/net/mlx4/main.c +++ b/drivers/net/mlx4/main.c @@ -1109,6 +1109,9 @@ static int __mlx4_init_one(struct pci_dev *pdev, const struct pci_device_id *id) } } + /* not a HW limit, but no way to say infinity */ + dma_set_max_seg_size(&pdev->dev, 2 * 1024 * 1024 * 1024); + priv = kzalloc(sizeof *priv, GFP_KERNEL); if (!priv) { dev_err(&pdev->dev, "Device struct alloc failed, "