From: Tejun Heo <tj@kernel.org>
To: Loc Ho <lho@apm.com>
Cc: olof@lixom.net, arnd@arndb.de, linux-scsi@vger.kernel.org,
linux-ide@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, ddutile@redhat.com,
jcm@redhat.com, patches@apm.com, Tuan Phan <tphan@apm.com>,
Suman Tripathi <stripathi@apm.com>
Subject: Re: [PATCH v13 2/3] ata: Add APM X-Gene SoC AHCI SATA host controller driver
Date: Mon, 24 Feb 2014 13:31:29 -0500 [thread overview]
Message-ID: <20140224183129.GA2522@htj.dyndns.org> (raw)
In-Reply-To: <1393221265-13057-3-git-send-email-lho@apm.com>
Hello, Loc.
Almost there. Just one more thing.
On Sun, Feb 23, 2014 at 10:54:24PM -0700, Loc Ho wrote:
....
> +static int xgene_ahci_init_memram(struct xgene_ahci_context *ctx)
> +{
> + void __iomem *diagcsr = ctx->csr_base + SATA_DIAG_OFFSET;
> + int try;
> + u32 val;
> +
> + val = readl(diagcsr + CFG_MEM_RAM_SHUTDOWN);
> + if (val == 0) {
> + dev_dbg(ctx->dev, "memory already released from shutdown\n");
> + return 0;
> + }
> + dev_dbg(ctx->dev, "Release memory from shutdown\n");
> + /* SATA controller memory in shutdown. Remove from shutdown. */
> + writel(0x0, diagcsr + CFG_MEM_RAM_SHUTDOWN);
> + readl(diagcsr + CFG_MEM_RAM_SHUTDOWN); /* Force a barrier */
> +
> + /* Check for at least ~1ms */
> + try = 1000;
> + do {
> + val = readl(diagcsr + BLOCK_MEM_RDY);
> + if (val != 0xFFFFFFFF)
> + usleep_range(1, 100);
> + } while (val != 0xFFFFFFFF && try-- > 0);
> + if (try <= 0) {
> + dev_err(ctx->dev, "failed to release memory from shutdown\n");
> + return -ENODEV;
> + }
> + return 0;
> +}
Hmm... ISTR raising this issue before but the above is way more
elaborate than necessary. This isn't in any sense a hot path and 1ms
is short enough to handle it simply. If the only thing being
addressed here is that the init may take upto 1ms, you might as well
just do
writel(0x0, diagcsr + CFG_MEM_RAM_SHUTDOWN);
readl(diagcsr + CFG_MEM_RAM_SHUTDOWN); /* Force a barrier */
msleep(1); /* reset may take upto 1ms */
if (readl(diagcsr + BLOCK_MEM_RDY) != 0xFFFFFFFF) {
dev_err(...);
return -ENODEV;
}
return 0;
Thanks.
--
tejun
next prev parent reply other threads:[~2014-02-24 18:31 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-24 5:54 [PATCH v13 0/3] ata: Add APM X-Gene SoC AHCI SATA host controller support Loc Ho
2014-02-24 5:54 ` [PATCH v13 1/3] Documentation: Add documentation for APM X-Gene SoC SATA host controller DTS binding Loc Ho
2014-02-24 5:54 ` [PATCH v13 2/3] ata: Add APM X-Gene SoC AHCI SATA host controller driver Loc Ho
2014-02-24 5:54 ` [PATCH v13 3/3] arm64: Add APM X-Gene SoC AHCI SATA host controller DTS entries Loc Ho
2014-02-24 18:32 ` Tejun Heo
[not found] ` <CAPw-ZT=CNdGn_iPp+jJbymvgBTNpXe1nCLeNwPWBdD3AAnHE6A@mail.gmail.com>
2014-02-25 5:54 ` Kishon Vijay Abraham I
2014-02-25 6:08 ` Loc Ho
2014-02-24 18:31 ` Tejun Heo [this message]
[not found] ` <CAPw-ZT=VHj+fO-7+G6Zdx+T+osJhXaR9AYHbx_TbWFWHBiDKYg@mail.gmail.com>
2014-02-25 1:40 ` [PATCH v13 2/3] ata: Add APM X-Gene SoC AHCI SATA host controller driver Tejun Heo
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=20140224183129.GA2522@htj.dyndns.org \
--to=tj@kernel.org \
--cc=arnd@arndb.de \
--cc=ddutile@redhat.com \
--cc=devicetree@vger.kernel.org \
--cc=jcm@redhat.com \
--cc=lho@apm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=olof@lixom.net \
--cc=patches@apm.com \
--cc=stripathi@apm.com \
--cc=tphan@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;
as well as URLs for NNTP newsgroup(s).