From: Joshua Kinard <kumba@gentoo.org>
To: Matt Turner <mattst88@gmail.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
Linux MIPS List <linux-mips@linux-mips.org>
Subject: Re: [PATCH] MIPS: Add R16000 detection
Date: Mon, 19 Jan 2015 23:13:14 -0500 [thread overview]
Message-ID: <54BDD5DA.6070405@gentoo.org> (raw)
In-Reply-To: <CAEdQ38HrwAWmPEFd6V+yxL5pMV-0Wa24Ly_bDPM6qbQD=i5jOQ@mail.gmail.com>
On 01/19/2015 21:43, Matt Turner wrote:
> On Mon, Jan 19, 2015 at 4:56 PM, Joshua Kinard <kumba@gentoo.org> wrote:
>> On 01/19/2015 14:34, Matt Turner wrote:
>>> On Sun, Jan 18, 2015 at 5:30 PM, Joshua Kinard <kumba@gentoo.org> wrote:
>>>> diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c
>>>> index 5342674..3f334a8 100644
>>>> --- a/arch/mips/kernel/cpu-probe.c
>>>> +++ b/arch/mips/kernel/cpu-probe.c
>>>> @@ -833,8 +833,13 @@ static inline void cpu_probe_legacy(struct cpuinfo_mips *c, unsigned int cpu)
>>>> c->tlbsize = 64;
>>>> break;
>>>> case PRID_IMP_R14000:
>>>> - c->cputype = CPU_R14000;
>>>> - __cpu_name[cpu] = "R14000";
>>>> + if (((c->processor_id >> 4) & 0x0f) > 2) {
>>>> + c->cputype = CPU_R16000;
>>>> + __cpu_name[cpu] = "R16000";
>>>> + } else {
>>>> + c->cputype = CPU_R14000;
>>>> + __cpu_name[cpu] = "R14000";
>>>> + }
>>>
>>> It looks like this is the only hunk that has a functional change, and
>>> that is simply setting __cpu_name[cpu] to "R16000"
>>>
>>> You can do that without adding CPU_R16000 to the enumeration. I don't
>>> see that adding it accomplishes anything.
>>>
>>
>> It mirrors what CPU_R14000 and CPU_R12000 do. I won't rule out that, down the
>> road, something about the R16K might be different enough from the R14K to
>> require one of these other spots later on, so adding it now isn't going to
>> adversely affect things.
>
> That's justification for removing CPU_R14000 as well, not adding CPU_R16000.
>
> Otherwise it's just adding useless code.
R14000 has a different CPU PRId than R12000 or R10000, so the code that sets
the icache/scache linesz wouldn't know to apply to R14K, including the writing
the the FrameMask register in CP0. Octane and Origin2K/Onyx2 can both use
R14000 CPUs, so this is a bad suggestion, as removing R14000 detection would
render those systems inoperable with those CPUs. I know, cause I'm the one
that actually sent the R14K patch in 9 years ago w/ commit 44d921b2 .
I'm also for reducing code and all, but this isn't the case in which to do it.
You're quibbling over the addition of an one new enum item, one new if-else
statement, one extra logical-OR conditional to an existing if statement, and
nine new case statements, some of which only execute once during the CPU
probing portion of boot.
There are likely a lot of better places in the existing code that could use
some optimization or dead code removal.
--J
next prev parent reply other threads:[~2015-01-20 4:13 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-19 1:30 [PATCH] MIPS: Add R16000 detection Joshua Kinard
2015-01-19 19:34 ` Matt Turner
2015-01-20 0:56 ` Joshua Kinard
2015-01-20 2:43 ` Matt Turner
2015-01-20 4:13 ` Joshua Kinard [this message]
2015-01-20 5:11 ` Matt Turner
2015-01-20 5:32 ` Joshua Kinard
2015-01-20 13:51 ` Ralf Baechle
2015-01-21 12:56 ` Joshua Kinard
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=54BDD5DA.6070405@gentoo.org \
--to=kumba@gentoo.org \
--cc=linux-mips@linux-mips.org \
--cc=mattst88@gmail.com \
--cc=ralf@linux-mips.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.