Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964886AbcCKIpp (ORCPT ); Fri, 11 Mar 2016 03:45:45 -0500 Received: from mx2.suse.de ([195.135.220.15]:48670 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934867AbcCKIph (ORCPT ); Fri, 11 Mar 2016 03:45:37 -0500 Subject: Re: [PATCH v7] scsi: ufs: add ioctl interface for query request To: "Martin K. Petersen" , Arnd Bergmann References: <1457532699-11487-1-git-send-email-ygardi@codeaurora.org> <046fc2d00e51f331a6bbc00553cc1f9c.squirrel@us.codeaurora.org> <201603101818.33826.arnd@arndb.de> <201603102019.32467.arnd@arndb.de> Cc: ygardi@codeaurora.org, Greg KH , james.bottomley@hansenpartnership.com, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-arm-msm@vger.kernel.org, santoshsy@gmail.com, linux-scsi-owner@vger.kernel.org, Dolev Raviv , Gilad Broner , Vinayak Holikatti , Michael Neuling , "Matthew R. Ochs" , Wen Xiong , Subhash Jadavani , "open list:ABI/API" From: Hannes Reinecke X-Enigmail-Draft-Status: N1110 Message-ID: <56E285AC.1030803@suse.de> Date: Fri, 11 Mar 2016 09:45:32 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2227 Lines: 54 On 03/11/2016 02:43 AM, Martin K. Petersen wrote: >>>>>> "Arnd" == Arnd Bergmann writes: > > Arnd> Looking through what other drivers do, I've found a couple of > Arnd> patterns now. n particular, most use the SG_IO ioctl to pass down > Arnd> commands from user space into a device specific command > Arnd> queue. Have you looked at that interface in the past to see if it > Arnd> would fit your use case? > > Arnd> There is also a 'bsg' API that some drivers implement, which I > Arnd> think would be another alternative. > > Arnd> Could any of the SCSI experts comment on what they expect a driver > Arnd> to use out of those three alternatives (if any): > > My preference is that if you want to expose any information that a user > or admin would care about, put it in sysfs where it is easily accessible > and can be scripted. > > For things that need to directly send commands to the hardware (to > configure vendor specific settings or inspect parameters for development > purposes) use the sg or bsg interfaces like we do for both ATA and > SCSI. bsg is newer and supports more features like bidirectional > commands. But for this particular use case I don't think it offers any > particular advantages over SG_IO. Both interfaces take the same > descriptors so it really doesn't matter much. > > See: > > http://sg.danny.cz/sg/ > And indeed I would expose this 'special' UFS RPMB as a 'generic' SCSI device and add the required fields in sysfs, much like Greg KH suggested. Plus adding a 'bsg' interface for sending 'raw' UFS commands sounds much more appealing; that's what we do for SAS and FC, too. But then, none of the above can be done if there is no hardware available. At the same time, you wouldn't be able to test any proposed fixes to the original ioctl patch. So I guess you'll have to retract this patch or get hold of the hardware to actually _test_ something there. Or send me some, I'll be happy to help out here :-) Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@suse.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)