From: cov@codeaurora.org (Christopher Covington)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] tty: pl011: Work around QDF2400 E44 stuck BUSY bit
Date: Wed, 8 Feb 2017 16:57:35 -0500 [thread overview]
Message-ID: <bd59cc0d-fcd6-aa7e-409f-1e363599b1a1@codeaurora.org> (raw)
In-Reply-To: <f9504cde-a87a-ba99-2f72-fc3029ef5fe5@codeaurora.org>
Hi,
On 02/08/2017 08:27 AM, Timur Tabi wrote:
> Robin Murphy wrote:
>> Is there a reason anyone would ever want to turn this off? AFAICS you
>> save a few dozen bytes in return for a kernel image which you know won't
>> work properly on some hardware. That doesn't seem particularly
>> worthwhile, and it's not like the PL011 driver isn't already ripe with
>> unconditional vendor-specific data.
I'll make it unconditional in the next version.
>>> > +static bool qdf2400_e44(void) {
>>> > + u32 cpu_var_model = read_cpuid_id() & ~MIDR_REVISION_MASK;
>>> > +
>>> > + return (cpu_var_model == MIDR_QCOM_KRYO_V1 ||
>>> > + cpu_var_model == MIDR_QCOM_FALKOR_V1);
>
>> Are we to take it that every SoC now and always with any Kryo or Falkor
>> core which also has an SBSA UART will require this workaround?
I should have matched full 32 bit MIDR values, but I masked off the revision
number after careful investigation of current and future known MIDR values
and system pairings because MIDR_FOO isn't actually a 32 bit MIDR value as
the name would suggest but has variant and revision zeroed. The CPU in the
QDF2432 has a non-zero revision number and I didn't want to try to add an
unprecedented revision number to cputype.h after Will told me I wasn't
allowed to play with CPU toys for SoC games.
I'm going to stop using MIDR, but as an aside, there are two very different
CPUs, which may require different CPU errata workarounds, that (by accident)
only differ by the variant field. Robert Richter's recent MIDR_CPU_VAR_REV
is a welcome clarification.
> No, only Kryo and Falkor V1 based SOCs have this problem. Falkor V2
> will have this fixed.
A year ago, we were operating under the incorrect-in-hindsight assumption
that the QDF2400 v1 SoC with Falkor v1 CPU would have this fixed.
As for alternative means of identifying the errant hardware, I think that I
or a colleague will experiment with the approach used for ACPI PCI quirks:
checking the OEM ID, OEM Table ID, and OEM Revision. In this case, those
header fields would come from the Serial Port Console Redirection (SPCR)
table, rather than the PCI-specific MCFG table.
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=5b69b85ba1ddd36be01f5c57830b37a3c8256009
Regarding ongoing support, I don't see any disagreement that the code must
be supported and maintained for the life of the hardware, however many years
that ends up being.
Thanks,
Cov
--
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code
Aurora Forum, a Linux Foundation Collaborative Project.
prev parent reply other threads:[~2017-02-08 21:57 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-08 0:57 [PATCH 1/2] tty: pl011: Work around QDF2400 E44 stuck BUSY bit Christopher Covington
2017-02-08 0:57 ` [PATCH 2/2] tty: pl011: Work around QDF2400 E44 for earlycon Christopher Covington
2017-02-08 4:07 ` Timur Tabi
2017-02-08 4:31 ` Shanker Donthineni
2017-02-14 23:48 ` Christopher Covington
2017-02-08 4:05 ` [PATCH 1/2] tty: pl011: Work around QDF2400 E44 stuck BUSY bit Timur Tabi
2017-02-08 22:22 ` Christopher Covington
2017-02-08 23:04 ` Timur Tabi
2017-02-14 23:43 ` Christopher Covington
2017-02-08 12:26 ` Robin Murphy
2017-02-08 13:27 ` Timur Tabi
2017-02-08 13:33 ` Mark Rutland
2017-02-08 14:09 ` Timur Tabi
2017-02-08 15:35 ` Marc Zyngier
2017-02-08 16:07 ` Timur Tabi
2017-02-08 21:57 ` Christopher Covington [this message]
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=bd59cc0d-fcd6-aa7e-409f-1e363599b1a1@codeaurora.org \
--to=cov@codeaurora.org \
--cc=linux-arm-kernel@lists.infradead.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).