mbox series

[v2,0/3] Add basic support for Loongson 7A1000 bridge chip

Message ID 1584932355-3642-1-git-send-email-yangtiezhu@loongson.cn (mailing list archive)
Headers show
Series Add basic support for Loongson 7A1000 bridge chip | expand

Message

Tiezhu Yang March 23, 2020, 2:59 a.m. UTC
The Loongson 7A1000 bridge chip has been released for several years
since the second half of 2017, but it is not supported by the Linux
mainline kernel while it only works well with the Loongson internal
kernel version. When I update the latest version of Linux mainline
kernel on the Loongson 3A3000 CPU and 7A1000 bridge chip system,
the boot process failed and I feel depressed.

The 7A1000 bridge chip is used a lot with 3A3000 or 3A4000 CPU in
the most Loongson desktop and sever products, it is important to
support Loongson 7A1000 bridge chip by the Linux mainline kernel.

This patch series adds the basic support for the Loongson 7A1000
bridge chip, when apply these patches based on linux-5.6-rc7, the
boot process is successful and we can login normally used with the
latest firmware and discrete graphics card, the next work to do is
power management and some other controller device drivers.

Additionally, when I git clone mips code [1], the speed is too slow
and clone always failed, so this patch series is based on the latest
linux-5.6-rc7 [2].

If you have any questions and suggestions, please let me know.

Thanks,

Tiezhu Yang

v2:
  - The split patch series about Loongson vendor ID and SATA controller
    has been merged into the linux-block.git by Jens Axboe [3].

  - Think about using hierarchy IRQ domain in the patch of interrupt
    controller, and this maybe depend on the patch series by Jiaxun
    ("Modernize Loongson64 Machine"), so the patch about interrupt is
    not included in this v2 patch series.

[1] git clone https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git
[2] git clone https://github.com/torvalds/linux.git
[3] https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?h=for-next&id=9acb9fe18d86
    https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?h=for-next&id=e49bd683e00b

Tiezhu Yang (3):
  MIPS: Loongson: Get host bridge information
  MIPS: Loongson: Add DMA support for 7A1000
  MIPS: Loongson: Add PCI support for 7A1000

 arch/mips/include/asm/mach-loongson64/boot_param.h | 20 ++++++
 arch/mips/loongson64/dma.c                         |  9 ++-
 arch/mips/loongson64/env.c                         | 20 ++++++
 arch/mips/loongson64/init.c                        | 17 +++++
 arch/mips/pci/ops-loongson3.c                      | 72 ++++++++++++++++++++--
 5 files changed, 131 insertions(+), 7 deletions(-)

Comments

Jiaxun Yang March 24, 2020, 7:49 a.m. UTC | #1
于 2020年3月23日 GMT+08:00 上午10:59:12, Tiezhu Yang <yangtiezhu@loongson.cn> 写到:
>The Loongson 7A1000 bridge chip has been released for several years
>since the second half of 2017, but it is not supported by the Linux
>mainline kernel while it only works well with the Loongson internal
>kernel version. When I update the latest version of Linux mainline
>kernel on the Loongson 3A3000 CPU and 7A1000 bridge chip system,
>the boot process failed and I feel depressed.
>
>The 7A1000 bridge chip is used a lot with 3A3000 or 3A4000 CPU in
>the most Loongson desktop and sever products, it is important to
>support Loongson 7A1000 bridge chip by the Linux mainline kernel.
>
>This patch series adds the basic support for the Loongson 7A1000
>bridge chip, when apply these patches based on linux-5.6-rc7, the
>boot process is successful and we can login normally used with the

Is it still true without IRQ driver?

>latest firmware and discrete graphics card, the next work to do is
>power management and some other controller device drivers.
>
>Additionally, when I git clone mips code [1], the speed is too slow
>and clone always failed, so this patch series is based on the latest
>linux-5.6-rc7 [2].

You can clone stable tree from mirrors in China[1] at first,
then add mips tree as a remote and fetch from it.
In this way it will only download a minimal difference set from foreign server so won't spend a lot of time.


[1]: https://mirrors.tuna.tsinghua.edu.cn/git/linux-stable.git

>
>If you have any questions and suggestions, please let me know.
>
>Thanks,
>
>Tiezhu Yang
>
>v2:
>  - The split patch series about Loongson vendor ID and SATA controller
>    has been merged into the linux-block.git by Jens Axboe [3].
>
>  - Think about using hierarchy IRQ domain in the patch of interrupt
>    controller, and this maybe depend on the patch series by Jiaxun
>    ("Modernize Loongson64 Machine"), so the patch about interrupt is
>    not included in this v2 patch series.
>
>[1] git clone
>https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git
>[2] git clone https://github.com/torvalds/linux.git
>[3]
>https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?h=for-next&id=9acb9fe18d86
>https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?h=for-next&id=e49bd683e00b
>
>Tiezhu Yang (3):
>  MIPS: Loongson: Get host bridge information
>  MIPS: Loongson: Add DMA support for 7A1000
>  MIPS: Loongson: Add PCI support for 7A1000
>
> arch/mips/include/asm/mach-loongson64/boot_param.h | 20 ++++++
> arch/mips/loongson64/dma.c                         |  9 ++-
> arch/mips/loongson64/env.c                         | 20 ++++++
> arch/mips/loongson64/init.c                        | 17 +++++
>arch/mips/pci/ops-loongson3.c                      | 72
>++++++++++++++++++++--
> 5 files changed, 131 insertions(+), 7 deletions(-)
Qiujun Huang March 24, 2020, 8:12 a.m. UTC | #2
On Tue, Mar 24, 2020 at 3:53 PM Jiaxun Yang <jiaxun.yang@flygoat.com> wrote:
>
>
>
> 于 2020年3月23日 GMT+08:00 上午10:59:12, Tiezhu Yang <yangtiezhu@loongson.cn> 写到:
> >The Loongson 7A1000 bridge chip has been released for several years
> >since the second half of 2017, but it is not supported by the Linux
> >mainline kernel while it only works well with the Loongson internal
> >kernel version. When I update the latest version of Linux mainline
> >kernel on the Loongson 3A3000 CPU and 7A1000 bridge chip system,
> >the boot process failed and I feel depressed.
> >
> >The 7A1000 bridge chip is used a lot with 3A3000 or 3A4000 CPU in
> >the most Loongson desktop and sever products, it is important to
> >support Loongson 7A1000 bridge chip by the Linux mainline kernel.
> >
> >This patch series adds the basic support for the Loongson 7A1000
> >bridge chip, when apply these patches based on linux-5.6-rc7, the
> >boot process is successful and we can login normally used with the
>
> Is it still true without IRQ driver?
>
> >latest firmware and discrete graphics card, the next work to do is
> >power management and some other controller device drivers.
> >
> >Additionally, when I git clone mips code [1], the speed is too slow
> >and clone always failed, so this patch series is based on the latest
> >linux-5.6-rc7 [2].
>
> You can clone stable tree from mirrors in China[1] at first,
> then add mips tree as a remote and fetch from it.
> In this way it will only download a minimal difference set from foreign server so won't spend a lot of time.
>
>
> [1]: https://mirrors.tuna.tsinghua.edu.cn/git/linux-stable.git

Maybe the mirror is better
https://kernel.source.codeaurora.cn/pub/scm/linux/kernel/git//stable/linux.git

>
> >
> >If you have any questions and suggestions, please let me know.
> >
> >Thanks,
> >
> >Tiezhu Yang
> >
> >v2:
> >  - The split patch series about Loongson vendor ID and SATA controller
> >    has been merged into the linux-block.git by Jens Axboe [3].
> >
> >  - Think about using hierarchy IRQ domain in the patch of interrupt
> >    controller, and this maybe depend on the patch series by Jiaxun
> >    ("Modernize Loongson64 Machine"), so the patch about interrupt is
> >    not included in this v2 patch series.
> >
> >[1] git clone
> >https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git
> >[2] git clone https://github.com/torvalds/linux.git
> >[3]
> >https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?h=for-next&id=9acb9fe18d86
> >https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?h=for-next&id=e49bd683e00b
> >
> >Tiezhu Yang (3):
> >  MIPS: Loongson: Get host bridge information
> >  MIPS: Loongson: Add DMA support for 7A1000
> >  MIPS: Loongson: Add PCI support for 7A1000
> >
> > arch/mips/include/asm/mach-loongson64/boot_param.h | 20 ++++++
> > arch/mips/loongson64/dma.c                         |  9 ++-
> > arch/mips/loongson64/env.c                         | 20 ++++++
> > arch/mips/loongson64/init.c                        | 17 +++++
> >arch/mips/pci/ops-loongson3.c                      | 72
> >++++++++++++++++++++--
> > 5 files changed, 131 insertions(+), 7 deletions(-)
>
> --
> Jiaxun Yang
Tiezhu Yang March 24, 2020, 9:31 a.m. UTC | #3
On 03/24/2020 03:49 PM, Jiaxun Yang wrote:
>
> 于 2020年3月23日 GMT+08:00 上午10:59:12, Tiezhu Yang <yangtiezhu@loongson.cn> 写到:
>> The Loongson 7A1000 bridge chip has been released for several years
>> since the second half of 2017, but it is not supported by the Linux
>> mainline kernel while it only works well with the Loongson internal
>> kernel version. When I update the latest version of Linux mainline
>> kernel on the Loongson 3A3000 CPU and 7A1000 bridge chip system,
>> the boot process failed and I feel depressed.
>>
>> The 7A1000 bridge chip is used a lot with 3A3000 or 3A4000 CPU in
>> the most Loongson desktop and sever products, it is important to
>> support Loongson 7A1000 bridge chip by the Linux mainline kernel.
>>
>> This patch series adds the basic support for the Loongson 7A1000
>> bridge chip, when apply these patches based on linux-5.6-rc7, the
>> boot process is successful and we can login normally used with the
> Is it still true without IRQ driver?

No, I will modify the description.

>
>> latest firmware and discrete graphics card, the next work to do is
>> power management and some other controller device drivers.
>>
>> Additionally, when I git clone mips code [1], the speed is too slow
>> and clone always failed, so this patch series is based on the latest
>> linux-5.6-rc7 [2].
> You can clone stable tree from mirrors in China[1] at first,
> then add mips tree as a remote and fetch from it.
> In this way it will only download a minimal difference set from foreign server so won't spend a lot of time.

Thanks for your suggestion.

>
>
> [1]: https://mirrors.tuna.tsinghua.edu.cn/git/linux-stable.git
>
>> If you have any questions and suggestions, please let me know.
>>
>> Thanks,
>>
>> Tiezhu Yang
>>
>> v2:
>>   - The split patch series about Loongson vendor ID and SATA controller
>>     has been merged into the linux-block.git by Jens Axboe [3].
>>
>>   - Think about using hierarchy IRQ domain in the patch of interrupt
>>     controller, and this maybe depend on the patch series by Jiaxun
>>     ("Modernize Loongson64 Machine"), so the patch about interrupt is
>>     not included in this v2 patch series.
>>
>> [1] git clone
>> https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git
>> [2] git clone https://github.com/torvalds/linux.git
>> [3]
>> https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?h=for-next&id=9acb9fe18d86
>> https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git/commit/?h=for-next&id=e49bd683e00b
>>
>> Tiezhu Yang (3):
>>   MIPS: Loongson: Get host bridge information
>>   MIPS: Loongson: Add DMA support for 7A1000
>>   MIPS: Loongson: Add PCI support for 7A1000
>>
>> arch/mips/include/asm/mach-loongson64/boot_param.h | 20 ++++++
>> arch/mips/loongson64/dma.c                         |  9 ++-
>> arch/mips/loongson64/env.c                         | 20 ++++++
>> arch/mips/loongson64/init.c                        | 17 +++++
>> arch/mips/pci/ops-loongson3.c                      | 72
>> ++++++++++++++++++++--
>> 5 files changed, 131 insertions(+), 7 deletions(-)