From: Tejun Heo <tj@kernel.org>
To: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
stripathi@apm.com
Subject: Re: SATA link power management issues
Date: Fri, 24 Apr 2015 17:44:54 -0400 [thread overview]
Message-ID: <20150424214214.GD27034@htj.duckdns.org> (raw)
In-Reply-To: <23060306.XvNh4Q3UlK@xps13>
Hello, Gabriele.
On Tue, Apr 21, 2015 at 11:44:28PM +0200, Gabriele Mazzotta wrote:
> I haven't considered that possibility. Something like the following then?
Yeah, looks great. Some minor comments below.
> --- a/drivers/ata/libahci.c
> +++ b/drivers/ata/libahci.c
> @@ -1700,6 +1700,8 @@ static void ahci_handle_port_interrupt(struct ata_port *ap,
> struct ahci_port_priv *pp = ap->private_data;
> struct ahci_host_priv *hpriv = ap->host->private_data;
> int resetting = !!(ap->pflags & ATA_PFLAG_RESETTING);
> + unsigned long lpm_timeout = ap->link.last_lpm_change + 10 * HZ;
We prolly want to define the timeout as a constant symbol in libata.h
and explain what this is about.
> + int ignore_event = 0;
Use bool?
> @@ -1707,8 +1709,13 @@ static void ahci_handle_port_interrupt(struct ata_port *ap,
> if (unlikely(resetting))
> status &= ~PORT_IRQ_BAD_PMP;
>
> + if (time_before(jiffies, lpm_timeout) &&
> + (ap->link.flags & ATA_LFLAG_CHANGED))
> + ignore_event = 1;
Nothing major but testing LFLAG first would prolly be a better style
given that timeout value is relevant only while the flag is asserted
and some comment would be nice too.
> @@ -788,6 +789,8 @@ struct ata_link {
> struct ata_eh_context eh_context;
>
> struct ata_device device[ATA_MAX_DEVICES];
> +
> + unsigned long last_lpm_change;
A brief explanation would be nice.
Thanks.
--
tejun
next prev parent reply other threads:[~2015-04-24 21:45 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-08 19:37 Gabriele Mazzotta
2015-01-09 22:00 ` Tejun Heo
2015-01-09 22:02 ` Tejun Heo
2015-01-09 22:05 ` Tejun Heo
2015-01-09 22:50 ` Gabriele Mazzotta
2015-01-12 13:16 ` Tejun Heo
2015-01-12 17:03 ` Gabriele Mazzotta
2015-01-12 17:07 ` Tejun Heo
2015-01-12 17:15 ` Gabriele Mazzotta
2015-01-09 22:40 ` Gabriele Mazzotta
[not found] ` <CAOHikRDTgVWL7_WUS3Yvce01GyP5TcyRm8ojfAyTHLTZ7xiR7A@mail.gmail.com>
2015-01-12 17:16 ` Suman Tripathi
2015-01-12 20:26 ` Gabriele Mazzotta
[not found] ` <CAOHikRCp=m6tgKEmdg2pLj=XB2ugCGhj0rkeqCzF2+DPR8O9sw@mail.gmail.com>
2015-01-12 20:36 ` Gabriele Mazzotta
[not found] ` <CAOHikRC43JBMwCahBqT1znJLBnbr3Ui+szKhVQoK8cpfapTQyg@mail.gmail.com>
2015-01-12 20:54 ` Gabriele Mazzotta
2015-01-12 23:05 ` Gabriele Mazzotta
2015-02-22 20:53 ` Gabriele Mazzotta
2015-04-20 20:02 ` Gabriele Mazzotta
2015-04-21 15:31 ` Tejun Heo
2015-04-21 20:29 ` Gabriele Mazzotta
2015-04-21 20:56 ` Tejun Heo
2015-04-21 21:44 ` Gabriele Mazzotta
2015-04-24 21:44 ` Tejun Heo [this message]
2015-04-25 9:34 ` [PATCH] libata: Ignore spurious PHY events on LPM policy change Gabriele Mazzotta
2015-04-25 15:37 ` Tejun Heo
2015-04-25 17:57 ` Gabriele Mazzotta
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=20150424214214.GD27034@htj.duckdns.org \
--to=tj@kernel.org \
--cc=gabriele.mzt@gmail.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stripathi@apm.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
all inboxes | Powered by JetHome®