linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Gwendal Grignou <gwendal@google.com>
To: Tejun Heo <tj@kernel.org>
Cc: jeff@garzik.org, nicolas@jungers.net, linux-ide@vger.kernel.org
Subject: Re: [PATCH] libata-sff: Reenable Port Multiplier after libata-sff remodeling.
Date: Tue, 31 Aug 2010 16:17:36 -0700	[thread overview]
Message-ID: <AANLkTimhfcJ-OkZ3wcnuTeXF_bJRQP8uUzOpkMsOSnTE@mail.gmail.com> (raw)
In-Reply-To: <4C7CB7A0.3000003@kernel.org>

On Tue, Aug 31, 2010 at 1:04 AM, Tejun Heo <tj@kernel.org> wrote:
> Hello,
>
> On 08/30/2010 07:17 PM, Gwendal Grignou wrote:
>> Keep track of the link on the which the current request is in progress.
>> It allows support of links behind port multiplier.
>>
>> Not all libata-sff is PMP compliant. Code for native BMDMA controller
>> does not take in accound PMP.
>
> Can you please elaborate a bit more on what broke and how this patch
> fixes the problem?
Before this patch, all libata-sff assumes the qc in progess is tied to
ap->link, the host port link.
That's fine as long as the controllers do not support port multiplier,
which is the case of all controller inheriting ata_sff_port_ops except
some controllers managed by sata_mv.
Also, before the libata-ssf reorg, it did not matter, qc was given the
sff task directly.

However, sata_mv supports port multiplier and use part of libata-sff
to hanlde PIO commands to disks. qc sent to disk behind port
multiplier are tight to one of element pmp_link array.
Therefore, the part of libata-sff sata_mv exercises must be retrieve
qc from the provided link instead of ap->link.

>
>> -void ata_sff_queue_pio_task(struct ata_port *ap, unsigned long delay)
>> +void ata_sff_queue_pio_task(struct ata_link *link, unsigned long delay)
>>  {
>> +     struct ata_port *ap = link->ap;
>
> New line here, please.
Done
>
>> +     ap->sff_pio_task_link = link;
>
> It would also be useful to have WARN/BUG_ON() to make sure no two
> links try to use pio_task at the same time.  ie. Set
> ap->sff_pio_task_link here and clear it with NULL when done and make
> sure it's NULL before setting it.
Add some WARN/BUG. I set link to NULL very early, I believe it is
cleaner than setting it in hsm_move() itself.
Patch after the break.

Gwendal.
>
> Otherwise, looks good to me.
>
> Thanks!
>
> --
> tejun
>

  reply	other threads:[~2010-08-31 23:17 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4C702070.5020809@jungers.net>
2010-08-21 19:13 ` possible esata regression in 2.6.35 Mark Lord
2010-08-21 19:59   ` Nicolas Jungers
2010-08-22 19:54 ` Jeff Garzik
2010-08-22 19:57   ` Jeff Garzik
2010-08-27  8:19     ` Gwendal Grignou
     [not found]       ` <AANLkTi=deJbndavPJmFzEoy6kZQX8LdoAdE+QQN5if0=@mail.gmail.com>
2010-08-27 22:56         ` Gwendal Grignou
2010-08-29  0:31           ` [PATCH] libata-sff: Reenable Port Multiplier after libata-sff remodeling Gwendal Grignou
2010-08-29  9:05             ` Tejun Heo
2010-08-30 17:17               ` Gwendal Grignou
2010-08-31  8:04                 ` Tejun Heo
2010-08-31 23:17                   ` Gwendal Grignou [this message]
2010-09-01  8:21                     ` Tejun Heo
2010-08-31 23:20                   ` Gwendal Grignou
2010-08-31 23:32                     ` Jeff Garzik
2010-09-01  5:57                       ` Gwendal Grignou
2010-08-30 17:19               ` Gwendal Grignou
2010-08-29  0:40           ` possible esata regression in 2.6.35 Gwendal Grignou
2010-09-01 16:33 [PATCH] libata-sff: Reenable Port Multiplier after libata-sff remodeling Kalra Ashish-B00888

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=AANLkTimhfcJ-OkZ3wcnuTeXF_bJRQP8uUzOpkMsOSnTE@mail.gmail.com \
    --to=gwendal@google.com \
    --cc=jeff@garzik.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=nicolas@jungers.net \
    --cc=tj@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;
as well as URLs for NNTP newsgroup(s).