Linux MIPS Architecture development
 help / color / mirror / Atom feed
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

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox