[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK=zhgo9X+mz3Cq1vxOuE+YB_GjsnRcmRvGLRVdFW3TUrq1fwA@mail.gmail.com>
Date: Thu, 3 Aug 2017 15:39:53 +0530
From: Sreekanth Reddy <sreekanth.reddy@...adcom.com>
To: Hannes Reinecke <hare@...e.de>
Cc: Suganath Prabu S <suganath-prabu.subramani@...adcom.com>,
"jejb@...nel.org" <jejb@...nel.org>,
Christoph Hellwig <hch@...radead.org>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
Sathya Prakash <Sathya.Prakash@...adcom.com>,
Kashyap Desai <kashyap.desai@...adcom.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Chaitra Basappa <chaitra.basappa@...adcom.com>,
linux-nvme@...ts.infradead.org
Subject: Re: [PATCH v2 02/13] mpt3sas: Add nvme device support in slave alloc,
target alloc and probe
On Thu, Aug 3, 2017 at 11:57 AM, Hannes Reinecke <hare@...e.de> wrote:
> On 07/14/2017 03:22 PM, Suganath Prabu S wrote:
>> 1) Added support for probing pcie device and adding NVMe drives to
>> SML and driver's internal list pcie_device_list.
>>
>> 2) Added support for determing NVMe as boot device.
>>
>> 3) Added nvme device support for call back functions scan_finished
>> target_alloc,slave_alloc,target destroy and slave destroy.
>>
>> a) During scan, pcie devices are probed and added to SML to drivers
>> internal list.
>>
>> b) target_alloc & slave alloc API's allocates resources for
>> (MPT3SAS_TARGET & MPT3SAS_DEVICE) private datas and holds
>> information like handle, target_id etc.
>>
>> c) slave_destroy & target_destroy are called when driver unregisters
>> or removes device. Also frees allocated resources and info.
>>
>> Signed-off-by: Chaitra P B <chaitra.basappa@...adcom.com>
>> Signed-off-by: Suganath Prabu S <suganath-prabu.subramani@...adcom.com>
>> ---
>> drivers/scsi/mpt3sas/mpt3sas_base.h | 110 ++++++++-
>> drivers/scsi/mpt3sas/mpt3sas_scsih.c | 431 +++++++++++++++++++++++++++++++---
>> 2 files changed, 507 insertions(+), 34 deletions(-)
>>
> Have you considered using 'scan_start()/scan_finished()' SCSI midlayer
> callbacks here?
> Seeing that you are enumerating the devices internally already that
> should give you better control about the scanning process.
Yes mpt3sas driver has defined scan_start() & scan_finished()
callbacks function. In the scan_start() callback function driver will
issue Port Enable request to the HBA Firmware to enable the HBA ports,
so the driver can start receiving drives (SAS/SATA/NVMe) discovery
events from firmware and add the discovered drives to the respective
drive type list. (e.g. SAS & SATA drives are added sas_device_list and
NVMe drives are added to pcie_device_list) . Once the driver receives
the Port Enable completion reply message from firmware then in the
scan_finished() callback function driver will register the SAS & SATA
devices added in the sas_device_list to SCSI Transport Layer by using
sas_rphy_add() API and NVMe devices added in the pcie_device_list are
directly added to SML by using scsi_add_device() API with channel
number set to two.
Thanks,
Sreekanth
>
> Cheers,
>
> Hannes
> --
> Dr. Hannes Reinecke Teamlead Storage & Networking
> hare@...e.de +49 911 74053 688
> SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
> GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
> HRB 21284 (AG Nürnberg)
Powered by blists - more mailing lists