linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Dolev Raviv" <draviv@codeaurora.org>
To: 'vinayak holikatti' <vinholikatti@gmail.com>,
	'Akinobu Mita' <mita@fixstars.com>
Cc: linux-scsi@vger.kernel.org,
	'Subhash Jadavani' <subhashj@codeaurora.org>,
	'Santosh Y' <santoshsy@gmail.com>,
	"'James E.J. Bottomley'" <JBottomley@parallels.com>
Subject: RE: [PATCH v2] ufs: adjust queue settings to PRDT limitations
Date: Tue, 1 Jul 2014 11:53:46 +0300	[thread overview]
Message-ID: <007101cf9509$fa19e8c0$ee4dba40$@codeaurora.org> (raw)
In-Reply-To: <CAKVbJB842FuzH28mt+mXG7DaAx-OLz5sh3X758=SYN+uOzkpmQ@mail.gmail.com>

Hi,
I couldn't find this patch in scsi-misc branch. Was it merged somewhere
else?

Thanks,
Dolev
-- 
QUALCOMM ISRAEL, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation


-----Original Message-----
From: linux-scsi-owner@vger.kernel.org
[mailto:linux-scsi-owner@vger.kernel.org] On Behalf Of vinayak holikatti
Sent: Friday, October 11, 2013 8:05 AM
To: Akinobu Mita
Cc: linux-scsi@vger.kernel.org; Subhash Jadavani; Santosh Y; James E.J.
Bottomley
Subject: Re: [PATCH v2] ufs: adjust queue settings to PRDT limitations

On Wed, Sep 25, 2013 at 7:17 PM, Akinobu Mita <mita@fixstars.com> wrote:
> The data byte count field of PRDT indicates the length of data block 
> which is a segment of data transfer for SCSI commands.  The value of 
> this field shall have Dword granularity and the the maximum of length 
> is 256KB.
>
> This adjusts dma pad mask and max segment size to the above-mentioned 
> PRDT limitations.
>
> Signed-off-by: Akinobu Mita <mita@fixstars.com>
> Cc: Subhash Jadavani <subhashj@codeaurora.org>
> Cc: Vinayak Holikatti <vinholikatti@gmail.com>
> Cc: Santosh Y <santoshsy@gmail.com>
> Cc: "James E.J. Bottomley" <JBottomley@parallels.com>
> Cc: linux-scsi@vger.kernel.org
> ---
> * Change from v1
> - Add comments for PRDT limitations as suggested by Subhash Jadavani
>
>  drivers/scsi/ufs/ufshcd.c | 15 +++++++++++++++  
> drivers/scsi/ufs/ufshci.h |  5 +++++
>  2 files changed, 20 insertions(+)
>
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c 
> index a2abe9a..660792e 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -1918,6 +1918,20 @@ static int ufshcd_slave_alloc(struct 
> scsi_device *sdev)  }
>
>  /**
> + * ufshcd_slave_configure - adjust SCSI device configurations
> + * @sdev: pointer to SCSI device
> + */
> +static int ufshcd_slave_configure(struct scsi_device *sdev) {
> +       struct request_queue *q = sdev->request_queue;
> +
> +       blk_queue_update_dma_pad(q, PRDT_DATA_BYTE_COUNT_PAD - 1);
> +       blk_queue_max_segment_size(q, PRDT_DATA_BYTE_COUNT_MAX);
> +
> +       return 0;
> +}
> +
> +/**
>   * ufshcd_slave_destroy - remove SCSI device configurations
>   * @sdev: pointer to SCSI device
>   */
> @@ -2748,6 +2762,7 @@ static struct scsi_host_template
ufshcd_driver_template = {
>         .proc_name              = UFSHCD,
>         .queuecommand           = ufshcd_queuecommand,
>         .slave_alloc            = ufshcd_slave_alloc,
> +       .slave_configure        = ufshcd_slave_configure,
>         .slave_destroy          = ufshcd_slave_destroy,
>         .eh_abort_handler       = ufshcd_abort,
>         .eh_device_reset_handler = ufshcd_device_reset, diff --git 
> a/drivers/scsi/ufs/ufshci.h b/drivers/scsi/ufs/ufshci.h index 
> 0475c66..b2b7004 100644
> --- a/drivers/scsi/ufs/ufshci.h
> +++ b/drivers/scsi/ufs/ufshci.h
> @@ -296,6 +296,11 @@ enum {
>         MASK_OCS                        = 0x0F,
>  };
>
> +/* The maximum length of the data byte count field in the PRDT is 256KB
*/
> +#define PRDT_DATA_BYTE_COUNT_MAX       (256 * 1024)
> +/* The granularity of the data byte count field in the PRDT is 32-bit */
> +#define PRDT_DATA_BYTE_COUNT_PAD       4
> +
>  /**
>   * struct ufshcd_sg_entry - UFSHCI PRD Entry
>   * @base_addr: Lower 32bit physical address DW-0

Acked-by: Vinayak Holikatti <vinholikatti@gmail.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the
body of a message to majordomo@vger.kernel.org More majordomo info at
http://vger.kernel.org/majordomo-info.html


  reply	other threads:[~2014-07-01  8:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-25 13:47 [PATCH v2] ufs: adjust queue settings to PRDT limitations Akinobu Mita
2013-09-26  6:59 ` Subhash Jadavani
2013-09-29 10:18   ` Dolev Raviv
2013-10-11  5:05 ` vinayak holikatti
2014-07-01  8:53   ` Dolev Raviv [this message]
2014-07-01 14:05     ` Akinobu Mita

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='007101cf9509$fa19e8c0$ee4dba40$@codeaurora.org' \
    --to=draviv@codeaurora.org \
    --cc=JBottomley@parallels.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mita@fixstars.com \
    --cc=santoshsy@gmail.com \
    --cc=subhashj@codeaurora.org \
    --cc=vinholikatti@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).