Skip to contentSkip to conversation

MIPS changes for v5.7-rc1

GIT PULL Merged Thomas Bogendoerfer 3 participants 3 messages Mar 30, 2020 – Mar 31, 2020 MIPS

lore
Share & tools
lore

Thomas Bogendoerfer

author maintainer
#0 lore raw

Hi Linus,

I probably messed up my tree, when merging mips_fixes_5_6_1. My way to solve this was to merge v5.6 into mips-next to get a pull request with just the changes from mips-next. I hope this is still ok for you.

Thomas.

The following changes since commit 7111951b8d4973bda27ff663f2cf18b663d15b48:

Linux 5.6 (2020-03-29 15:25:41 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux tags/mips_5.7

for you to fetch changes up to ba15533275dd70238b523417d222d43fb40dac9d:

Merge tag 'v5.6' into mips-next (2020-03-30 13:31:37 +0200)

----------------------------------------------------------------
MIPS updates for v5.7:

- loongson64 irq rework
- dmi support for loongson
- replace setup_irq() by request_irq()
- jazz cleanups
- minor cleanups and fixes

----------------------------------------------------------------
Alex Smith (1):
MIPS: DTS: CI20: add DT node for IR sensor

Bartlomiej Zolnierkiewicz (3):
ide: remove no longer used au1xxx-ide driver
MIPS: Alchemy: remove no longer used au1xxx_ide.h header
docs: mips: remove no longer needed au1xxx_ide.rst documentation

Finn Thain (3):
fbdev/g364fb: Fix build failure
mips/jazz: Remove redundant settings and shrink jazz_defconfig mips/jazz: Update jazz_defconfig for MIPS Magnum

Geert Uytterhoeven (7):
MIPS: ath79: Replace <linux/clk-provider.h> by <linux/of_clk.h>
MIPS: BMIPS: Replace <linux/clk-provider.h> by <linux/of_clk.h>
MIPS: generic: Replace <linux/clk-provider.h> by <linux/of_clk.h>
MIPS: jz4740: Replace <linux/clk-provider.h> by <linux/of_clk.h>
MIPS: pic32mzda: Replace <linux/clk-provider.h> by <linux/of_clk.h>
MIPS: Pistachio: Replace <linux/clk-provider.h> by <linux/of_clk.h>
MIPS: ralink: Replace <linux/clk-provider.h> by <linux/of_clk.h>

Gustavo A. R. Silva (1):
MIPS: OCTEON: irq: Fix potential NULL pointer dereference

H. Nikolaus Schaller (2):
MIPS: DTS: CI20: multiple DTS improvements
MIPS: CI20: defconfig: multiple improvements

Huacai Chen (1):
MIPS/tlbex: Fix LDDIR usage in setup_pw() for Loongson-3

Jiaxun Yang (10):
irqchip: Add driver for Loongson I/O Local Interrupt Controller
irqchip: loongson-liointc: Workaround LPC IRQ Errata
dt-bindings: interrupt-controller: Add Loongson LIOINTC
irqchip: Add driver for Loongson-3 HyperTransport PIC controller
dt-bindings: interrupt-controller: Add Loongson-3 HTPIC
MIPS: Loongson64: Drop legacy IRQ code
dt-bindings: mips: Add loongson boards
MIPS: Loongson64: Add generic dts
MIPS: Loongson64: Load built-in dtbs
MAINTAINERS: Update Loongson64 entry

Kamal Dasu (1):
MIPS: c-r4k: Invalidate BMIPS5000 ZSCM prefetch lines

Krzysztof Kozlowski (1):
MIPS: configs: Cleanup old Kconfig options

Masahiro Yamada (1):
MIPS: do not compile generic functions for CONFIG_CAVIUM_OCTEON_SOC

Oleksij Rempel (1):
MIPS: reduce print level for cache information

Randy Dunlap (1):
arch/mips: change duplicated word in NUMA help text

Sergio Paracuellos (1):
MIPS: ralink: mt7621: introduce 'soc_device' initialization

Thomas Bogendoerfer (3):
Merge tag 'mips_fixes_5.6.1' into mips-next
MIPS: ralink: mt7621: Fix soc_device introduction Merge tag 'v5.6' into mips-next

Tiezhu Yang (3):
MIPS: Loongson: Do not initialise statics to 0
firmware: dmi: Add macro SMBIOS_ENTRY_POINT_SCAN_START
MIPS: Add support for Desktop Management Interface (DMI)

Yousong Zhou (1):
MIPS: Exclude more dsemul code when CONFIG_MIPS_FP_SUPPORT=n

YueHaibing (1):
MIPS: pic32mzda: Drop pointless static qualifier

YunQiang Su (1):
Use ELF_BASE_PLATFORM to pass ISA level

afzal mohammed (2):
MIPS: Replace setup_irq() by request_irq()
MIPS: pass non-NULL dev_id on shared request_irq()

bibo mao (1):
MIPS: Add header files reference with path prefix

 .../interrupt-controller/loongson,htpic.yaml       |  59 ++
 .../interrupt-controller/loongson,liointc.yaml     |  93 ++++
 .../devicetree/bindings/mips/loongson/devices.yaml |  27 +
 Documentation/mips/au1xxx_ide.rst                  | 130 -----
 Documentation/mips/index.rst                       |   2 -
 MAINTAINERS                                        |   1 +
 arch/mips/Kconfig                                  |  31 +-
 arch/mips/alchemy/common/time.c                    |  11 +-
 arch/mips/ar7/irq.c                                |  16 +-
 arch/mips/ath25/ar2315.c                           |   9 +-
 arch/mips/ath25/ar5312.c                           |   9 +-
 arch/mips/ath79/setup.c                            |   2 +-
 arch/mips/bcm63xx/irq.c                            |  41 +-
 arch/mips/bmips/setup.c                            |   2 +-
 arch/mips/boot/dts/Makefile                        |   1 +
 arch/mips/boot/dts/ingenic/ci20.dts                |  19 +
 arch/mips/boot/dts/loongson/Makefile               |   4 +
 arch/mips/boot/dts/loongson/loongson3-package.dtsi |  64 +++
 .../boot/dts/loongson/loongson3_4core_rs780e.dts   |  25 +
 .../boot/dts/loongson/loongson3_8core_rs780e.dts   |  25 +
 arch/mips/boot/dts/loongson/rs780e-pch.dtsi        |  26 +
 arch/mips/cavium-octeon/octeon-irq.c               |   3 +
 arch/mips/cobalt/irq.c                             |  18 +-
 arch/mips/configs/ar7_defconfig                    |   1 -
 arch/mips/configs/ath25_defconfig                  |   1 -
 arch/mips/configs/ath79_defconfig                  |   1 -
 arch/mips/configs/bcm63xx_defconfig                |   2 -
 arch/mips/configs/bmips_be_defconfig               |   2 -
 arch/mips/configs/bmips_stb_defconfig              |   2 -
 arch/mips/configs/ci20_defconfig                   |  21 +
 arch/mips/configs/db1xxx_defconfig                 |   1 -
 arch/mips/configs/generic/board-ni169445.config    |   1 -
 arch/mips/configs/jazz_defconfig                   | 267 +--------
 arch/mips/configs/lasat_defconfig                  |   2 -
 arch/mips/configs/lemote2f_defconfig               |   2 +-
 arch/mips/configs/loongson3_defconfig              |   5 +-
 arch/mips/configs/msp71xx_defconfig                |   2 -
 arch/mips/configs/pnx8335_stb225_defconfig         |   2 -
 arch/mips/configs/rb532_defconfig                  |   1 -
 arch/mips/configs/rt305x_defconfig                 |   1 -
 arch/mips/configs/xway_defconfig                   |   1 -
 arch/mips/dec/setup.c                              |  59 +-
 arch/mips/emma/markeins/irq.c                      |  21 +-
 arch/mips/fw/lib/cmdline.c                         |   2 +
 arch/mips/generic/init.c                           |   2 +-
 arch/mips/include/asm/dmi.h                        |  20 +
 arch/mips/include/asm/elf.h                        |   3 +
 arch/mips/include/asm/i8259.h                      |   1 +
 arch/mips/include/asm/mach-ar7/irq.h               |   2 +-
 arch/mips/include/asm/mach-ath79/irq.h             |   2 +-
 arch/mips/include/asm/mach-au1x00/au1xxx_ide.h     | 178 ------
 arch/mips/include/asm/mach-emma2rh/irq.h           |   2 +-
 arch/mips/include/asm/mach-ip27/irq.h              |   2 +-
 arch/mips/include/asm/mach-ip30/irq.h              |   2 +-
 arch/mips/include/asm/mach-lantiq/falcon/irq.h     |   2 +-
 arch/mips/include/asm/mach-lantiq/xway/irq.h       |   2 +-
 arch/mips/include/asm/mach-lasat/irq.h             |   2 +-
 arch/mips/include/asm/mach-loongson64/boot_param.h |   2 +
 .../include/asm/mach-loongson64/builtin_dtbs.h     |  13 +
 arch/mips/include/asm/mach-loongson64/irq.h        |  30 +-
 arch/mips/include/asm/mach-loongson64/loongson.h   |   1 +
 arch/mips/include/asm/mach-malta/irq.h             |   2 +-
 arch/mips/include/asm/mach-pic32/irq.h             |   2 +-
 arch/mips/include/asm/mach-pistachio/irq.h         |   2 +-
 arch/mips/include/asm/mach-ralink/irq.h            |   2 +-
 arch/mips/include/asm/mach-rm/mc146818rtc.h        |   2 +-
 arch/mips/include/asm/mach-vr41xx/irq.h            |   2 +-
 arch/mips/include/asm/mach-xilfpga/irq.h           |   2 +-
 arch/mips/include/asm/processor.h                  |  12 +-
 arch/mips/include/asm/sni.h                        |   4 +-
 arch/mips/jazz/irq.c                               |  12 +-
 arch/mips/jz4740/time.c                            |   2 +-
 arch/mips/kernel/cevt-bcm1480.c                    |  11 +-
 arch/mips/kernel/cevt-ds1287.c                     |   9 +-
 arch/mips/kernel/cevt-gt641xx.c                    |   9 +-
 arch/mips/kernel/cevt-r4k.c                        |   5 +-
 arch/mips/kernel/cevt-sb1250.c                     |  11 +-
 arch/mips/kernel/cevt-txx9.c                       |  11 +-
 arch/mips/kernel/cpu-probe.c                       |  18 +
 arch/mips/kernel/i8253.c                           |  11 +-
 arch/mips/kernel/process.c                         |  10 +-
 arch/mips/kernel/rtlx-mt.c                         |   8 +-
 arch/mips/kernel/setup.c                           |   2 +
 arch/mips/kernel/smp.c                             |  33 +-
 arch/mips/kernel/vdso.c                            |  26 +-
 arch/mips/lasat/interrupt.c                        |  10 +-
 arch/mips/lib/delay.c                              |   4 +
 arch/mips/lib/memcpy.S                             |   3 +
 arch/mips/loongson2ef/common/bonito-irq.c          |   9 +-
 arch/mips/loongson2ef/common/cs5536/cs5536_mfgpt.c |  10 +-
 arch/mips/loongson2ef/fuloong-2e/irq.c             |  16 +-
 arch/mips/loongson2ef/lemote-2f/irq.c              |  20 +-
 arch/mips/loongson32/common/irq.c                  |  21 +-
 arch/mips/loongson32/common/time.c                 |  12 +-
 arch/mips/loongson64/Makefile                      |   2 +-
 arch/mips/loongson64/env.c                         |  23 +
 arch/mips/loongson64/hpet.c                        |  10 +-
 arch/mips/loongson64/init.c                        |   6 +
 arch/mips/loongson64/irq.c                         | 162 ------
 arch/mips/loongson64/numa.c                        |   2 +-
 arch/mips/loongson64/setup.c                       |  16 +
 arch/mips/loongson64/smp.c                         |  28 +-
 arch/mips/mm/c-octeon.c                            |  18 +-
 arch/mips/mm/c-r3k.c                               |   4 +-
 arch/mips/mm/c-r4k.c                               |  47 +-
 arch/mips/mm/c-tx39.c                              |   4 +-
 arch/mips/mm/tlbex.c                               |   5 +-
 arch/mips/mti-malta/malta-int.c                    |  10 +-
 arch/mips/netlogic/xlr/fmn.c                       |  11 +-
 arch/mips/pic32/pic32mzda/time.c                   |   4 +-
 arch/mips/pistachio/time.c                         |   2 +-
 arch/mips/pmcs-msp71xx/msp_irq.c                   |  28 +-
 arch/mips/pmcs-msp71xx/msp_smp.c                   |  22 +-
 arch/mips/pmcs-msp71xx/msp_time.c                  |   8 +-
 arch/mips/ralink/Kconfig                           |   1 +
 arch/mips/ralink/cevt-rt3352.c                     |  18 +-
 arch/mips/ralink/mt7621.c                          |  30 ++
 arch/mips/ralink/timer-gic.c                       |   2 +-
 arch/mips/sgi-ip22/ip22-eisa.c                     |  10 +-
 arch/mips/sgi-ip22/ip22-int.c                      |  49 +-
 arch/mips/sgi-ip32/ip32-irq.c                      |  18 +-
 arch/mips/sni/a20r.c                               |   4 +-
 arch/mips/sni/irq.c                                |   8 +-
 arch/mips/sni/pcit.c                               |   8 +-
 arch/mips/sni/rm200.c                              |  23 +-
 arch/mips/sni/time.c                               |  12 +-
 arch/mips/vr41xx/common/irq.c                      |   9 +-
 drivers/firmware/dmi_scan.c                        |   6 +-
 drivers/ide/Kconfig                                |  20 +-
 drivers/ide/Makefile                               |   2 -
 drivers/ide/au1xxx-ide.c                           | 597 ---------------------
 drivers/irqchip/Kconfig                            |  19 +
 drivers/irqchip/Makefile                           |   2 +
 drivers/irqchip/irq-loongson-htpic.c               | 149 +++++
 drivers/irqchip/irq-loongson-liointc.c             | 271 ++++++++++
 drivers/video/fbdev/g364fb.c                       |  29 +-
 136 files changed, 1369 insertions(+), 1924 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/loongson,htpic.yaml
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/loongson,liointc.yaml
 create mode 100644 Documentation/devicetree/bindings/mips/loongson/devices.yaml
 delete mode 100644 Documentation/mips/au1xxx_ide.rst
 create mode 100644 arch/mips/boot/dts/loongson/Makefile
 create mode 100644 arch/mips/boot/dts/loongson/loongson3-package.dtsi
 create mode 100644 arch/mips/boot/dts/loongson/loongson3_4core_rs780e.dts
 create mode 100644 arch/mips/boot/dts/loongson/loongson3_8core_rs780e.dts
 create mode 100644 arch/mips/boot/dts/loongson/rs780e-pch.dtsi
 create mode 100644 arch/mips/include/asm/dmi.h
 delete mode 100644 arch/mips/include/asm/mach-au1x00/au1xxx_ide.h
 create mode 100644 arch/mips/include/asm/mach-loongson64/builtin_dtbs.h
 delete mode 100644 arch/mips/loongson64/irq.c
 delete mode 100644 drivers/ide/au1xxx-ide.c
 create mode 100644 drivers/irqchip/irq-loongson-htpic.c
 create mode 100644 drivers/irqchip/irq-loongson-liointc.c
Signature · 2 lines
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]
#1 lore raw
Quoted 4 lines · Thomas Bogendoerfer

I probably messed up my tree, when merging mips_fixes_5_6_1. My way to solve this was to merge v5.6 into mips-next to get a pull request with just the changes from mips-next. I hope this is still ok for you.

Please don't do this.

If you need to do a merge in order to get the right diffstat, do it as a local _test_ merge, and get the diffstat from that.

So what happened is that you merged in mips_fixes-5.6-1 into the branch, and that part is fine. That merge makes sense in the context of mips development, and the merge even has a proper commit message, not just the "Merge xyz" messages that I hate.

So far so good.

HOWEVER.

Now, _because_ you merged that other branch, your MIPS development branch has two different base commits - the base for the original development, and the base for the mips fixes.

And again, this is all fine. There's absolutely nothing wrong with having multiple bases. It happens normally any time you don't have entirely linear development. No problem.

But the one thing that having multiple base points of development means is that now you can't trivially do a diff for what has changed. A diff is by definition an operation that takes a beginning point and an end point, and shows the difference between those _two_ points.

But with two bases for development thanks to that fixes branch merge, you don't have two points. You have _three_ points - you have your two beginning points, and the end point of your branch, and as a result, you can't trivially generate a diff of "this is what my branch has done.

Your solution for this is technically correct: the way to get a "what have I changed" is to do a merge, in order to get the required two
points: after doing a merge, you can now basically just say "ok, now I can diff the state before merging my work, and after merging my work, and I now have the two required points to do a diff with".

BUT!

By all means do the merge, but don't _send_ me the merge. Do it as a temporary branch in your own repository that you then just throw away. The only reason for the merge was to generate the diff, there's no reason to then expose it in the git history.

See what I'm saying? The merge is the correct thing to do, but it doesn't make sense to anybody else than you as that "this is what I've done" final thing, so you shouldn't then ask me to pull the merge.

Now, why do I hate these kinds of merges?

(a) a lot of people end up merging my tip-of-tree during the merge
window, which is absolutely horrible and causes actual technical problems (in that they now get whatever buggy state my tree may be in during that unstable time).

You did *not* make that mistake. You merged v5.6, which is good. That's the supposedly stable state (ok, we have a nasty wireless driver bug in it, but that's not your fault, and you did the best thing you could do if you have to do a merge in the first place).

(b) the back-merges inevitably have completely sucky merge messages

This is fundamental. They have sucky merge messages, because they have no actual real reason, so you _cannot_ document the reason. The best you can do is "to get a clean diff" (which is _not_ a development reason) or "to fix up conflicts" (which is a *negative* reason, since I want to see them).

So your merge message has "Merge tag 'v5.6' into mips-next"

That's not useful. And as mentioned, it _cannot_ be useful. It's about as good as it ever gets in these situations. But it's not great, and it's not great for the reason I already mentioned: there simply _isn't_ a good reason for the merge. It only makes sense in your local context, not in the context of development activity.

(c) it makes it harder to figure out the development line.

This is to me the big reason not to do back-merges. It makes the commit graph ugly and harder to follow. It very much shows up in "gitk" when you start looking visually at development, and it makes our development history even harder to visualize than it should normally be. It can also make for nastier bisection because now your development is more intertwined with upstream development, but _usually_ that ends up not being a huge deal.

Anyway, because you merged a real tagged release, many of the fundamental problems with back-merges are much less of an issue. Merging a tagged release makes all of (a)-(c) better. So this isn't a disaster by any means, but this is still a "please don't do this".

Now, I have two choices:

- I can merge your merge

- I can just merge your commit _before_ you did the merge (because
you didn't do anything else after doing the merge).

In this case, I've taken your merge. It's not the worst kind of merge because it took that tagged release, and by taking your merge I also end up getting your tag (and thus your signature) in my merge commit. So in this case, I have two non-optimal choices, and I'll just take the one with your signature.

But I would have been much happier, and not have had to write this message (for the n'th time) if you simply hadn't done this.

Yes, by all means do the merge locally into a "test-merge" branch. If you do it into a test branch, you can just merge my random state of the day (because it doesn't _matter_ - it's just for your own testing), and that way you can also see if there are conflicts and report them as part of the pull request. And you get the diff I would get, and see the whole "this is what my branch really ends up changing".

But then throw that test branch away, and tag and send me the pre-merge state - your real development.

So for next time, please keep this in mind.

Linus

merge bot Merged
#2 lore raw
In reply to Thomas Bogendoerfer
The pull request you sent on Mon, 30 Mar 2020 14:03:15 +0200:

The pull request you sent on Mon, 30 Mar 2020 14:03:15 +0200:

Quoted 1 line

git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux tags/mips_5.7

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/d71e064449a704a026fa032ec852d532f08aefa1

Thank you!

Signature · 2 lines
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker