All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aurelien Jarno <aurelien@aurel32.net>
To: Huacai Chen <chenhc@lemote.com>
Cc: Alex Smith <alex.smith@imgtec.com>,
	Ralf Baechle <ralf@linux-mips.org>,
	John Crispin <john@phrozen.org>,
	"Steven J. Hill" <Steven.Hill@imgtec.com>,
	linux-mips@linux-mips.org, Fuxin Zhang <zhangfx@lemote.com>,
	Zhangjin Wu <wuzhangjin@gmail.com>,
	Hongliang Tao <taohl@lemote.com>, Hua Yan <yanh@lemote.com>
Subject: Re: [PATCH V16 09/12] MIPS: Loongson: Add Loongson-3 Kconfig options
Date: Mon, 13 Jan 2014 11:38:37 +0100	[thread overview]
Message-ID: <20140113103837.GA24361@hall.aurel32.net> (raw)
In-Reply-To: <CAAhV-H5cXM9-Mcu1=ojc=NRmD_z-u5AaTJNkUOYbXLUtPY9Xvg@mail.gmail.com>

On Mon, Jan 13, 2014 at 06:15:26PM +0800, Huacai Chen wrote:
> On Mon, Jan 13, 2014 at 12:30 PM, Aurelien Jarno <aurelien@aurel32.net> wrote:
> > On Mon, Jan 13, 2014 at 11:02:19AM +0800, Huacai Chen wrote:
> >> On Sat, Jan 11, 2014 at 11:24 PM, Aurelien Jarno <aurelien@aurel32.net> wrote:
> >> > On Thu, Jan 09, 2014 at 01:07:30PM +0000, Alex Smith wrote:
> >> >> On 08/01/14 02:44, Huacai Chen wrote:
> >> >> >Added Kconfig options include: Loongson-3 CPU and machine definition,
> >> >> >CPU cache features, UEFI-like firmware interface (LEFI), HT-linked PCI,
> >> >> >and big memory support.
> >> >> >
> >> >> >Signed-off-by: Huacai Chen <chenhc@lemote.com>
> >> >> >Signed-off-by: Hongliang Tao <taohl@lemote.com>
> >> >> >Signed-off-by: Hua Yan <yanh@lemote.com>
> >> >> >---
> >> >> >  arch/mips/Kconfig           |   29 +++++++++++++++++++++++++++-
> >> >> >  arch/mips/loongson/Kconfig  |   44 +++++++++++++++++++++++++++++++++++++++++++
> >> >> >  arch/mips/loongson/Platform |    1 +
> >> >> >  3 files changed, 73 insertions(+), 1 deletions(-)
> >> >> >
> >> >> >diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> >> >> >index 17cc7ff..513e941 100644
> >> >> >--- a/arch/mips/Kconfig
> >> >> >+++ b/arch/mips/Kconfig
> >> >> >@@ -1487,6 +1487,18 @@ config CPU_LOONGSON2
> >> >> >     select CPU_SUPPORTS_HIGHMEM
> >> >> >     select CPU_SUPPORTS_HUGEPAGES
> >> >> >
> >> >> >+config CPU_LOONGSON3
> >> >> >+    bool "Loongson 3 CPU"
> >> >> >+    depends on SYS_HAS_CPU_LOONGSON3
> >> >> >+    select CPU_SUPPORTS_64BIT_KERNEL
> >> >> >+    select CPU_SUPPORTS_HIGHMEM
> >> >> >+    select CPU_SUPPORTS_HUGEPAGES
> >> >> >+    select WEAK_ORDERING
> >> >> >+    select WEAK_REORDERING_BEYOND_LLSC
> >> >> >+    help
> >> >> >+            The Loongson 3 processor implements the MIPS III instruction set
> >> >> >+            with many extensions.
> >> >> >+
> >> >>
> >> >> This should be moved into the "CPU type" choice block. Currently
> >> >> this appears as an option outside of that choice, and so it is
> >> >> possible to build a kernel without any CPU type selected.
> >> >>
> >> >> Also, as Aurelien said on the previous version, shouldn't the
> >> >> comment be changed to MIPS64R2 rather than MIPS III even if you
> >> >> aren't selecting the MIPS64 CPU types for the time being? Note, if
> >> >> you replied to that comment I may not have seen it - I think the
> >> >> list is filtering your replies because they're HTML emails.
> >> >>
> >> >> >  config CPU_LOONGSON1
> >> >> >     bool
> >> >> >     select CPU_MIPS32
> >> >> >@@ -1513,6 +1526,10 @@ config SYS_HAS_CPU_LOONGSON2F
> >> >> >     select CPU_SUPPORTS_ADDRWINCFG if 64BIT
> >> >> >     select CPU_SUPPORTS_UNCACHED_ACCELERATED
> >> >> >
> >> >> >+config SYS_HAS_CPU_LOONGSON3
> >> >> >+    bool
> >> >> >+    select CPU_SUPPORTS_CPUFREQ
> >> >> >+
> >> >> >  config SYS_HAS_CPU_LOONGSON1B
> >> >> >     bool
> >> >> >
> >> >> >@@ -1703,7 +1720,7 @@ choice
> >> >> >
> >> >> >  config PAGE_SIZE_4KB
> >> >> >     bool "4kB"
> >> >> >-    depends on !CPU_LOONGSON2
> >> >> >+    depends on !CPU_LOONGSON2 && !CPU_LOONGSON3
> >> >> >     help
> >> >> >      This option select the standard 4kB Linux page size.  On some
> >> >> >      R3000-family processors this is the only available page size.  Using
> >> >> >@@ -2373,6 +2390,16 @@ config PCI
> >> >> >       your box. Other bus systems are ISA, EISA, or VESA. If you have PCI,
> >> >> >       say Y, otherwise N.
> >> >> >
> >> >> >+config HT_PCI
> >> >> >+    bool "Support for HT-linked PCI"
> >> >> >+    depends on CPU_LOONGSON3
> >> >> >+    select PCI_DOMAINS
> >> >> >+    help
> >> >> >+      Loongson family machines use Hyper-Transport bus for inter-core
> >> >> >+      connection and device connection. The PCI bus is a subordinate
> >> >> >+      linked at HT. Choose Y unless you are using Loongson 2E/2F based
> >> >> >+      machines.
> >> >> >+
> >> >>
> >> >> Should this default to y, given that it is selected in the
> >> >> defconfig? Also, the comment referring to 2E/2F is redundant given
> >> >> that it depends on CPU_LOONGSON3 and cannot be selected on those
> >> >> machines.
> >> >
> >> > I am still not sure we need such an option. This option only changes an
> >> > address in arch/mips/include/asm/mach-loongson/loongson.h:
> >> >
> >> > | #if defined(CONFIG_HT_PCI)
> >> > | #define LOONGSON_PCIIO_BASE     loongson_sysconf.pci_io_base
> >> > | #else
> >> > | #define LOONGSON_PCIIO_BASE     0x1fd00000
> >> > | #endif
> >> >
> >> > If both options are working on a Loongson 3 machine, it's definitely a
> >> > good idea to leave the choice to the user. That said if only the address
> >> > from loongson_sysconf.pci_io_base works on a Loongson 3 machine, this
> >> > option must always be selected and is therefore useless.
> >> HT_PCI is needed, because Loongson-3 device structure looks like this:
> >> Loongson3-Core -----       ---- MEM
> >>          |--- Cache ---|
> >> HT1-controller  -------       ---- PCI-Controller --- PCI-Devices (PATH-B)
> >>     |
> >>     |
> >>  PCI-Controller
> >>     |
> >>     |
> >>  PCI-Devices (PATH-A)
> >>
> >> If PCI devices are linked via PATH-A, we should select HT_PCI;
> >> otherwise we should unselected HT_PCI.
> >
> > Thanks for the explanation, it looks now more clear why we need this
> > option. Both cases are valid, it just depends on where the PCI
> > controller is connected.
> >
> > That said it means that we won't be able to use the same kernel on
> > machines using the PATH-A and on machines using the PATH-B. Is there
> > a way to determine this at runtime through LEFI?
> At present we can't determine PATH-A/B through LEFI, and LEFI is
> surely need to extend at some time. Most of machines use PATH-A, since
> in this way DMA coherency is maintained by hardware. If use PATH-B,
> both HT_PCI and LEFI should be disabled.

As far as I understand, the current patchset assumes DMA coherency in
all the patches. It means that even if this option is disabled to use
the PATH-B instead, it won't work correctly.

Therefore I think that this option should not be given to the user,
either LEMOTE_MACH3A should automatically select it, or it should simply
be removed. Of course it could be reintroduced in a later patchset
adding full support for machines having their PCI connected through
PATH-B.

Aurelien

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

  reply	other threads:[~2014-01-13 10:38 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-08  2:44 [PATCH V16 00/12] MIPS: Add Loongson-3 based machines support Huacai Chen
2014-01-08  2:44 ` [PATCH V16 01/12] MIPS: Loongson: Add basic Loongson-3 definition Huacai Chen
2014-01-08 19:58   ` Aurelien Jarno
2014-01-08  2:44 ` [PATCH V16 02/12] MIPS: Loongson: Add basic Loongson-3 CPU support Huacai Chen
2014-01-08 19:58   ` Aurelien Jarno
     [not found]     ` <CAAhV-H4tx=sCk=iUwuCfnCS+rbmtu5Y_UcpAn6JXDoobA+OGrQ@mail.gmail.com>
2014-01-09 21:36       ` Aurelien Jarno
2014-01-12  9:03         ` Huacai Chen
2014-01-12  9:57           ` Aurelien Jarno
2014-01-12 12:10             ` Aaro Koskinen
2014-01-18  1:54               ` John Crispin
2014-01-08  2:44 ` [PATCH V16 03/12] MIPS: Loongson 3: Add Lemote-3A machtypes definition Huacai Chen
2014-01-08 19:58   ` Aurelien Jarno
2014-01-08  2:44 ` [PATCH V16 04/12] MIPS: Loongson: Add UEFI-like firmware interface (LEFI) support Huacai Chen
2014-01-08 22:58   ` Aurelien Jarno
2014-01-09 12:43     ` Alex Smith
2014-01-09 12:43       ` Alex Smith
     [not found]     ` <CAAhV-H64BXsw5CBL-KW1eqXkYcadhHF2NeBH9YmWQz046Lpzzw@mail.gmail.com>
2014-01-09 21:37       ` Aurelien Jarno
2014-01-09 12:37   ` Alex Smith
2014-01-09 12:37     ` Alex Smith
2014-01-08  2:44 ` [PATCH V16 05/12] MIPS: Loongson 3: Add HT-linked PCI support Huacai Chen
2014-01-08 22:58   ` Aurelien Jarno
     [not found]     ` <CAAhV-H57tDmYByjVwhf3teFZkGowR4E9+OO1vO0kP3iAKTNJVw@mail.gmail.com>
2014-01-09 21:38       ` Aurelien Jarno
2014-01-08  2:44 ` [PATCH V16 06/12] MIPS: Loongson 3: Add IRQ init and dispatch support Huacai Chen
2014-01-08 22:58   ` Aurelien Jarno
2014-01-09 12:52   ` Alex Smith
2014-01-09 12:52     ` Alex Smith
2014-01-08  2:44 ` [PATCH V16 07/12] MIPS: Loongson 3: Add serial port support Huacai Chen
2014-01-08 22:58   ` Aurelien Jarno
2014-01-08  2:44 ` [PATCH V16 08/12] MIPS: Loongson: Add swiotlb to support big memory (>4GB) Huacai Chen
2014-01-08 22:58   ` Aurelien Jarno
     [not found]     ` <CAAhV-H4h43N2OR4znwVv3miVbGkWJLapdgr9Jou1j4R8-9TRyA@mail.gmail.com>
2014-01-09 22:08       ` Aurelien Jarno
     [not found]         ` <CAAhV-H7WFdt-4jYG5qPV36UWJQnSfkSa2J-3CAs2+QLqwHVhuA@mail.gmail.com>
2014-01-11 15:24           ` Aurelien Jarno
2014-01-09 12:56   ` Alex Smith
2014-01-09 12:56     ` Alex Smith
     [not found]     ` <CAAhV-H7ZO0gNzQ5wQ-yD=NiP2AJrc3-bWLXHo-HDngf27c9+gQ@mail.gmail.com>
2014-01-11 15:25       ` Aurelien Jarno
2014-01-12  9:12         ` Huacai Chen
2014-01-12  9:57           ` Aurelien Jarno
2014-01-08  2:44 ` [PATCH V16 09/12] MIPS: Loongson: Add Loongson-3 Kconfig options Huacai Chen
2014-01-09 13:07   ` Alex Smith
2014-01-09 13:07     ` Alex Smith
2014-01-11 15:24     ` Aurelien Jarno
2014-01-13  3:02       ` Huacai Chen
2014-01-13  4:30         ` Aurelien Jarno
2014-01-13 10:15           ` Huacai Chen
2014-01-13 10:38             ` Aurelien Jarno [this message]
2014-01-13 12:15               ` Huacai Chen
2014-01-08  2:44 ` [PATCH V16 10/12] MIPS: Loongson 3: Add Loongson-3 SMP support Huacai Chen
2014-01-09 13:19   ` Alex Smith
2014-01-09 13:19     ` Alex Smith
2014-01-08  2:44 ` [PATCH V16 11/12] MIPS: Loongson 3: Add CPU hotplug support Huacai Chen
2014-01-11 15:24   ` Aurelien Jarno
2014-01-08  2:44 ` [PATCH V16 12/12] MIPS: Loongson: Add a Loongson-3 default config file Huacai Chen
2014-01-08  7:26 ` [PATCH V16 00/12] MIPS: Add Loongson-3 based machines support John Crispin
2014-01-18  9:38 ` Andreas Barth
     [not found]   ` <0466fa9d60b91233d2157d5ce0b51333.squirrel@mail.lemote.com>
2014-02-06 23:27     ` Andreas Barth

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=20140113103837.GA24361@hall.aurel32.net \
    --to=aurelien@aurel32.net \
    --cc=Steven.Hill@imgtec.com \
    --cc=alex.smith@imgtec.com \
    --cc=chenhc@lemote.com \
    --cc=john@phrozen.org \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.org \
    --cc=taohl@lemote.com \
    --cc=wuzhangjin@gmail.com \
    --cc=yanh@lemote.com \
    --cc=zhangfx@lemote.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 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.