Re: [PATCH V15 03/12] MIPS: Loongson 3: Add Lemote-3A machtypes definition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, Jan 01, 2014 at 05:58:25PM +0800, Huacai Chen wrote:
> The 4 machtypes have different features, such as serial port clock in
> patch-7, and the next patchset will bring more differences.

I understand that part, it's actually a good idea to have a machine type
that is used to differentiate between the supported machine, and thus
having a common kernel.

> All Loongson-3 machines can use a same kernel, by export a different
> "machtype=" parameter via PMON.

This doesn't seems to be the case, at least on a LS3A/3B-RS780E-R1.03 
Lemote machine. Also if the machine type can be detected at runtime, why
this patch forces it to MACH_LEMOTE_A1101?

> UEFI-like interface cannot be detected, but all Loongson-3 machines will
> enable it.
 
> On Tue, Dec 31, 2013 at 5:43 AM, Aurelien Jarno <aurelien@xxxxxxxxxxx>wrote:
> 
> > On Sun, Dec 15, 2013 at 08:14:27PM +0800, Huacai Chen wrote:
> > > Add four Loongson-3 based machine types:
> > > MACH_LEMOTE_A1004/MACH_LEMOTE_A1201 are laptops;
> > > MACH_LEMOTE_A1101 is mini-itx;
> > > MACH_LEMOTE_A1205 is all-in-one machine.
> > >
> > > The most significant differrent between A1004/A1201 and A1101/A1205 is
> > > the laptops have EC but others don't.
> > >
> > > Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
> > > Signed-off-by: Hongliang Tao <taohl@xxxxxxxxxx>
> > > Signed-off-by: Hua Yan <yanh@xxxxxxxxxx>
> > > ---
> > >  arch/mips/include/asm/bootinfo.h              |   24
> > +++++++++++++++---------
> > >  arch/mips/include/asm/mach-loongson/machine.h |    6 ++++++
> > >  arch/mips/loongson/common/machtype.c          |    4 ++++
> > >  3 files changed, 25 insertions(+), 9 deletions(-)
> > >
> > > diff --git a/arch/mips/include/asm/bootinfo.h
> > b/arch/mips/include/asm/bootinfo.h
> > > index 4d2cdea..09956a0 100644
> > > --- a/arch/mips/include/asm/bootinfo.h
> > > +++ b/arch/mips/include/asm/bootinfo.h
> > > @@ -61,15 +61,21 @@
> > >  /*
> > >   * Valid machtype for Loongson family
> > >   */
> > > -#define MACH_LOONGSON_UNKNOWN  0
> > > -#define MACH_LEMOTE_FL2E       1
> > > -#define MACH_LEMOTE_FL2F       2
> > > -#define MACH_LEMOTE_ML2F7      3
> > > -#define MACH_LEMOTE_YL2F89     4
> > > -#define MACH_DEXXON_GDIUM2F10  5
> > > -#define MACH_LEMOTE_NAS             6
> > > -#define MACH_LEMOTE_LL2F       7
> > > -#define MACH_LOONGSON_END      8
> > > +enum loongson_machine_type {
> > > +     MACH_LOONGSON_UNKNOWN,
> > > +     MACH_LEMOTE_FL2E,
> > > +     MACH_LEMOTE_FL2F,
> > > +     MACH_LEMOTE_ML2F7,
> > > +     MACH_LEMOTE_YL2F89,
> > > +     MACH_DEXXON_GDIUM2F10,
> > > +     MACH_LEMOTE_NAS,
> > > +     MACH_LEMOTE_LL2F,
> > > +     MACH_LEMOTE_A1004,
> > > +     MACH_LEMOTE_A1101,
> > > +     MACH_LEMOTE_A1201,
> > > +     MACH_LEMOTE_A1205,
> > > +     MACH_LOONGSON_END
> > > +};
> > >
> > >  /*
> > >   * Valid machtype for group INGENIC
> > > diff --git a/arch/mips/include/asm/mach-loongson/machine.h
> > b/arch/mips/include/asm/mach-loongson/machine.h
> > > index 3810d5c..1b1f592 100644
> > > --- a/arch/mips/include/asm/mach-loongson/machine.h
> > > +++ b/arch/mips/include/asm/mach-loongson/machine.h
> > > @@ -24,4 +24,10 @@
> > >
> > >  #endif
> > >
> > > +#ifdef CONFIG_LEMOTE_MACH3A
> > > +
> > > +#define LOONGSON_MACHTYPE MACH_LEMOTE_A1101
> > > +
> > > +#endif /* CONFIG_LEMOTE_MACH3A */
> > > +
> > >  #endif /* __ASM_MACH_LOONGSON_MACHINE_H */
> >
> > This patch defines 4 machines, but in practice only one is activable.
> > Moreover it's only activable using a given Kconfig option, that is
> > supposed to be for "Lemote Loongson 3A family machines".
> >
> > Does it mean we won't be able to have a generic Loongson 3A kernel and
> > we will need one per machine? This doesn't seems a good idea for me.
> >
> > Couldn't it be detected using the UEFI-like interface? Or does it mean
> > that one machine type for all Loongson 3A is enough?
> >
> > > diff --git a/arch/mips/loongson/common/machtype.c
> > b/arch/mips/loongson/common/machtype.c
> > > index 4becd4f..1a47979 100644
> > > --- a/arch/mips/loongson/common/machtype.c
> > > +++ b/arch/mips/loongson/common/machtype.c
> > > @@ -27,6 +27,10 @@ static const char *system_types[] = {
> > >       [MACH_DEXXON_GDIUM2F10]         "dexxon-gdium-2f",
> > >       [MACH_LEMOTE_NAS]               "lemote-nas-2f",
> > >       [MACH_LEMOTE_LL2F]              "lemote-lynloong-2f",
> > > +     [MACH_LEMOTE_A1004]             "lemote-3a-notebook-a1004",
> > > +     [MACH_LEMOTE_A1101]             "lemote-3a-itx-a1101",
> > > +     [MACH_LEMOTE_A1201]             "lemote-2gq-notebook-a1201",
> > > +     [MACH_LEMOTE_A1205]             "lemote-2gq-aio-a1205",
> > >       [MACH_LOONGSON_END]             NULL,
> > >  };
> > >
> > > --
> > > 1.7.7.3
> > >
> > >
> > >
> >
> > --
> > Aurelien Jarno                          GPG: 1024D/F1BCDB73
> > aurelien@xxxxxxxxxxx                 http://www.aurel32.net
> >
> >

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@xxxxxxxxxxx                 http://www.aurel32.net


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux