Path: csiph.com!news.redatomik.org!aioe.org!bofh.it!news.nic.it!robomod From: Suganath Prabu S Newsgroups: linux.kernel Subject: [PATCH 05/13] mpt3sas: Set NVMe device queue depth as 128 Date: Thu, 29 Jun 2017 16:30:02 +0200 Message-ID: References: X-Original-To: JBottomley@Parallels.com, jejb@kernel.org, hch@infradead.org Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=OCHuNVsexKiy7ttIlbnuQcORBjD7gj4Omj1ydqpWGuc=; b=hsapKMAlTAbpThgJlePBvMM+EIy2BWTKuEbaRbY0c5yxg2txZbavegM5z6HgHI2Wj0 b6i2VJuK1DwG3WueMSyfr4Y+mLK2Mf6u7BoY1bT1RUU5vOWp+0EpA7ejnjsAga/mH+zZ KVkFanu4Luz+rP5fliSAPR2JG8VlppIeaUFb4= X-Google-Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=OCHuNVsexKiy7ttIlbnuQcORBjD7gj4Omj1ydqpWGuc=; b=VnQ4uSOkHmJRY5ysEaDdANafYOTewmBGdcFidDERcC5lpldtIAYFlV4uPGAZ8iLk36 Qvq4jjWG7YgpsSbhNkgv5E+usdW5mB7VQQDEN5CMMPqAj3lDU04V0BVE/KhrB3sGNhRb V1+efgPDEhKan3x819biYrLQt+G+AmG+4Wb3H4ZkOCke+/PNlO+QRxPlRqYFtkCfde2C H7AhEhgZxBsKqGONoB7979fqVD66HGHm/U8MyM6TImQHeCLPywtioq+6386KHEkLlLUK 9kxj5NZwrJeWpeoloZotFy/d/eSsIJuwQf4ZX4TBx29/1GVyrv2DP933d2nIfCaz1KSG AMBw== X-Gm-Message-State: AKS2vOwRtZm8sCqHZgEWiCoyxHy/0DToEASd4syf01Yt0gWPBCOsxzeK lS7ERGVI5B3zb4iI X-Received: by 10.223.164.156 with SMTP id g28mr24383043wrb.105.1498746066989; Thu, 29 Jun 2017 07:21:06 -0700 (PDT) X-Mailer: git-send-email 2.0.2 Sender: robomod@news.nic.it List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Approved: robomod@news.nic.it Lines: 82 Organization: linux.* mail to news gateway X-Original-Cc: martin.petersen@oracle.com, linux-scsi@vger.kernel.org, Sathya.Prakash@broadcom.com, kashyap.desai@broadcom.com, krishnaraddi.mankani@broadcom.com, linux-kernel@vger.kernel.org, suganath-prabu.subramani@broadcom.com, chaitra.basappa@broadcom.com, sreekanth.reddy@broadcom.com X-Original-Date: Thu, 29 Jun 2017 19:49:06 +0530 X-Original-Message-ID: <1498745954-7907-6-git-send-email-suganath-prabu.subramani@broadcom.com> X-Original-References: <1498745954-7907-1-git-send-email-suganath-prabu.subramani@broadcom.com> X-Original-Sender: linux-kernel-owner@vger.kernel.org Xref: csiph.com linux.kernel:1677797 Sets nvme device queue depth, name and displays device capabilities. Signed-off-by: Chaitra P B Signed-off-by: Suganath Prabu S --- drivers/scsi/mpt3sas/mpt3sas_base.h | 2 +- drivers/scsi/mpt3sas/mpt3sas_scsih.c | 40 ++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h index 26239ec..0f07b16 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_base.h +++ b/drivers/scsi/mpt3sas/mpt3sas_base.h @@ -115,7 +115,7 @@ #define MPT3SAS_RAID_MAX_SECTORS 8192 #define MPT3SAS_HOST_PAGE_SIZE_4K 12 - +#define MPT3SAS_NVME_QUEUE_DEPTH 128 #define MPT_NAME_LENGTH 32 /* generic length of strings */ #define MPT_STRING_LENGTH 64 diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c index 2a6a8e6..e4e35c1 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c @@ -1962,6 +1962,7 @@ scsih_slave_configure(struct scsi_device *sdev) struct MPT3SAS_DEVICE *sas_device_priv_data; struct MPT3SAS_TARGET *sas_target_priv_data; struct _sas_device *sas_device; + struct _pcie_device *pcie_device; struct _raid_device *raid_device; unsigned long flags; int qdepth; @@ -2092,6 +2093,45 @@ scsih_slave_configure(struct scsi_device *sdev) } } + /* PCIe handling */ + if (sas_target_priv_data->flags & MPT_TARGET_FLAGS_PCIE_DEVICE) { + spin_lock_irqsave(&ioc->pcie_device_lock, flags); + pcie_device = __mpt3sas_get_pdev_by_wwid(ioc, + sas_device_priv_data->sas_target->sas_address); + if (!pcie_device) { + spin_unlock_irqrestore(&ioc->pcie_device_lock, flags); + dfailprintk(ioc, pr_warn(MPT3SAS_FMT + "failure at %s:%d/%s()!\n", ioc->name, __FILE__, + __LINE__, __func__)); + return 1; + } + + /*TODO-right Queue Depth?*/ + qdepth = MPT3SAS_NVME_QUEUE_DEPTH; + ds = "NVMe"; + /*TODO-Add device name when defined*/ + sdev_printk(KERN_INFO, sdev, + "%s: handle(0x%04x), wwid(0x%016llx), port(%d)\n", + ds, handle, (unsigned long long)pcie_device->wwid, + pcie_device->port_num); + if (pcie_device->enclosure_handle != 0) + sdev_printk(KERN_INFO, sdev, + "%s: enclosure logical id(0x%016llx), slot(%d)\n", + ds, + (unsigned long long)pcie_device->enclosure_logical_id, + pcie_device->slot); + if (pcie_device->connector_name[0] != '\0') + sdev_printk(KERN_INFO, sdev, + "%s: enclosure level(0x%04x)," + "connector name( %s)\n", ds, + pcie_device->enclosure_level, + pcie_device->connector_name); + pcie_device_put(pcie_device); + spin_unlock_irqrestore(&ioc->pcie_device_lock, flags); + scsih_change_queue_depth(sdev, qdepth); + return 0; + } + spin_lock_irqsave(&ioc->sas_device_lock, flags); sas_device = __mpt3sas_get_sdev_by_addr(ioc, sas_device_priv_data->sas_target->sas_address); -- 1.7.1