From: Tejun Heo <tj@kernel.org>
To: Kevin Hao <haokexin@gmail.com>
Cc: linux-ide@vger.kernel.org, Dan Williams <dan.j.williams@intel.com>
Subject: Re: [PATCH 4/5] libata: support the ata host which implements a queue depth less than 32
Date: Thu, 3 Jul 2014 09:47:17 -0400 [thread overview]
Message-ID: <20140703134717.GA16191@htj.dyndns.org> (raw)
In-Reply-To: <1404389382-27298-5-git-send-email-haokexin@gmail.com>
On Thu, Jul 03, 2014 at 08:09:41PM +0800, Kevin Hao wrote:
> The sata on fsl mpc8315e is broken after the commit 8a4aeec8d2d6
> ("libata/ahci: accommodate tag ordered controllers"). The reason is
> that the ata controller on this SoC only implement a queue depth of
> 16. When issuing the commands in tag order, all the commands in tag
> 16 ~ 17 are mapped to tag 0 unconditionally and then causes the sata
> malfunction. It makes no senses to use a 32 queue in software while
> the hardware has less queue depth. This patch provides the function
> for libata to adjust the queue depth for a host controller.
ATA_TAG_INTERNAL is an internal way of marking an EH command and
doesn't actually get used as a command tag. After all, EH doesn't
issue any tagged command. We can use tag 32 for it but have been
using 31 for it for historical reasons, so the only necessary part is
updating the tag allocator to wrap according to the max number of tags
supported by the controller.
Thanks.
--
tejun
next prev parent reply other threads:[~2014-07-03 13:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-03 12:09 [PATCH 0/5] libata: support the ata host which implements a queue depth less than 32 Kevin Hao
2014-07-03 12:09 ` [PATCH 1/5] libata: using ata_tag_internal() instead of open-coding Kevin Hao
2014-07-03 12:09 ` [PATCH 2/5] libata: introduce ata_get_internal_tag() Kevin Hao
2014-07-03 12:09 ` [PATCH 3/5] libata: add a 'struct ata_port *' argument for the ata tag help functions Kevin Hao
2014-07-03 12:09 ` [PATCH 4/5] libata: support the ata host which implements a queue depth less than 32 Kevin Hao
2014-07-03 13:47 ` Tejun Heo [this message]
2014-07-04 6:46 ` Kevin Hao
2014-07-04 15:30 ` Tejun Heo
2014-07-05 13:21 ` Kevin Hao
2014-07-05 20:00 ` Tejun Heo
2014-07-06 4:16 ` Kevin Hao
2014-07-03 13:50 ` Tejun Heo
2014-07-04 6:50 ` Kevin Hao
2014-07-03 12:09 ` [PATCH 5/5] sata_fsl: set the correct queue depth for the host controller Kevin Hao
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=20140703134717.GA16191@htj.dyndns.org \
--to=tj@kernel.org \
--cc=dan.j.williams@intel.com \
--cc=haokexin@gmail.com \
--cc=linux-ide@vger.kernel.org \
/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