Skip to content

Commit 47f3f4e

Browse files
committed
Merge tag 'mips_fixes_4.21_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
Pull MIPS fixes from Paul Burton: "A few early MIPS fixes for 4.21: - The Broadcom BCM63xx platform sees a fix for resetting the BCM6368 ethernet switch, and the removal of a platform device we've never had a driver for. - The Alchemy platform sees a few fixes for bitrot that occurred within the past few cycles. - We now enable vectored interrupt support for the MediaTek MT7620 SoC, which makes sense since they're supported by the SoC but in this case also works around a bug relating to the location of exception vectors when using a recent version of U-Boot. - The atomic64_fetch_*_relaxed() family of functions see a fix for a regression in MIPS64 kernels since v4.19. - Cavium Octeon III CN7xxx systems will now disable their RGMII interfaces rather than attempt to enable them & warn about the lack of support for doing so, as they did since initial CN7xxx ethernet support was added in v4.7. - The Microsemi/Microchip MSCC SoCs gain a MAINTAINERS entry. - .mailmap now provides consistency for Dengcheng Zhu's name & current email address" * tag 'mips_fixes_4.21_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: MIPS: OCTEON: mark RGMII interface disabled on OCTEON III MIPS: Fix a R10000_LLSC_WAR logic in atomic.h MIPS: BCM63XX: drop unused and broken DSP platform device mailmap: Update name spelling and email for Dengcheng Zhu MIPS: ralink: Select CONFIG_CPU_MIPSR2_IRQ_VI on MT7620/8 MAINTAINERS: Add a maintainer for MSCC MIPS SoCs MIPS: Alchemy: update dma masks for devboard devices MIPS: Alchemy: update cpu-feature-overrides MIPS: Alchemy: drop DB1000 IrDA support bits MIPS: alchemy: cpu_all_mask is forbidden for clock event devices MIPS: BCM63XX: fix switch core reset on BCM6368
2 parents f1c2f88 + edefae9 commit 47f3f4e

File tree

17 files changed

+70
-188
lines changed

17 files changed

+70
-188
lines changed

.mailmap

+4-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ Corey Minyard <[email protected]>
4848
Damian Hobson-Garcia <[email protected]>
4949
David Brownell <[email protected]>
5050
David Woodhouse <[email protected]>
51-
51+
52+
53+
54+
5255
Dmitry Eremin-Solenikov <[email protected]>
5356
Domen Puncer <[email protected]>
5457
Douglas Gilbert <[email protected]>

MAINTAINERS

+2-1
Original file line numberDiff line numberDiff line change
@@ -10016,8 +10016,9 @@ F: drivers/dma/at_xdmac.c
1001610016

1001710017
MICROSEMI MIPS SOCS
1001810018
M: Alexandre Belloni <[email protected]>
10019+
M: Microchip Linux Driver Support <[email protected]>
1001910020
10020-
S: Maintained
10021+
S: Supported
1002110022
F: arch/mips/generic/board-ocelot.c
1002210023
F: arch/mips/configs/generic/board-ocelot.config
1002310024
F: arch/mips/boot/dts/mscc/

arch/mips/alchemy/common/time.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ static struct clock_event_device au1x_rtcmatch2_clockdev = {
8181
.features = CLOCK_EVT_FEAT_ONESHOT,
8282
.rating = 1500,
8383
.set_next_event = au1x_rtcmatch2_set_next_event,
84-
.cpumask = cpu_all_mask,
84+
.cpumask = cpu_possible_mask,
8585
};
8686

8787
static struct irqaction au1x_rtcmatch2_irqaction = {

arch/mips/alchemy/devboards/db1000.c

+11-65
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ static int db1500_map_pci_irq(const struct pci_dev *d, u8 slot, u8 pin)
8282
return -1;
8383
}
8484

85+
static u64 au1xxx_all_dmamask = DMA_BIT_MASK(32);
86+
8587
static struct resource alchemy_pci_host_res[] = {
8688
[0] = {
8789
.start = AU1500_PCI_PHYS_ADDR,
@@ -120,13 +122,11 @@ static struct resource au1100_lcd_resources[] = {
120122
}
121123
};
122124

123-
static u64 au1100_lcd_dmamask = DMA_BIT_MASK(32);
124-
125125
static struct platform_device au1100_lcd_device = {
126126
.name = "au1100-lcd",
127127
.id = 0,
128128
.dev = {
129-
.dma_mask = &au1100_lcd_dmamask,
129+
.dma_mask = &au1xxx_all_dmamask,
130130
.coherent_dma_mask = DMA_BIT_MASK(32),
131131
},
132132
.num_resources = ARRAY_SIZE(au1100_lcd_resources),
@@ -170,6 +170,10 @@ static struct platform_device db1x00_codec_dev = {
170170

171171
static struct platform_device db1x00_audio_dev = {
172172
.name = "db1000-audio",
173+
.dev = {
174+
.dma_mask = &au1xxx_all_dmamask,
175+
.coherent_dma_mask = DMA_BIT_MASK(32),
176+
},
173177
};
174178

175179
/******************************************************************************/
@@ -338,13 +342,11 @@ static struct resource au1100_mmc0_resources[] = {
338342
}
339343
};
340344

341-
static u64 au1xxx_mmc_dmamask = DMA_BIT_MASK(32);
342-
343345
static struct platform_device db1100_mmc0_dev = {
344346
.name = "au1xxx-mmc",
345347
.id = 0,
346348
.dev = {
347-
.dma_mask = &au1xxx_mmc_dmamask,
349+
.dma_mask = &au1xxx_all_dmamask,
348350
.coherent_dma_mask = DMA_BIT_MASK(32),
349351
.platform_data = &db1100_mmc_platdata[0],
350352
},
@@ -379,7 +381,7 @@ static struct platform_device db1100_mmc1_dev = {
379381
.name = "au1xxx-mmc",
380382
.id = 1,
381383
.dev = {
382-
.dma_mask = &au1xxx_mmc_dmamask,
384+
.dma_mask = &au1xxx_all_dmamask,
383385
.coherent_dma_mask = DMA_BIT_MASK(32),
384386
.platform_data = &db1100_mmc_platdata[1],
385387
},
@@ -389,58 +391,6 @@ static struct platform_device db1100_mmc1_dev = {
389391

390392
/******************************************************************************/
391393

392-
static void db1000_irda_set_phy_mode(int mode)
393-
{
394-
unsigned short mask = BCSR_RESETS_IRDA_MODE_MASK | BCSR_RESETS_FIR_SEL;
395-
396-
switch (mode) {
397-
case AU1000_IRDA_PHY_MODE_OFF:
398-
bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_OFF);
399-
break;
400-
case AU1000_IRDA_PHY_MODE_SIR:
401-
bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_FULL);
402-
break;
403-
case AU1000_IRDA_PHY_MODE_FIR:
404-
bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_FULL |
405-
BCSR_RESETS_FIR_SEL);
406-
break;
407-
}
408-
}
409-
410-
static struct au1k_irda_platform_data db1000_irda_platdata = {
411-
.set_phy_mode = db1000_irda_set_phy_mode,
412-
};
413-
414-
static struct resource au1000_irda_res[] = {
415-
[0] = {
416-
.start = AU1000_IRDA_PHYS_ADDR,
417-
.end = AU1000_IRDA_PHYS_ADDR + 0x0fff,
418-
.flags = IORESOURCE_MEM,
419-
},
420-
[1] = {
421-
.start = AU1000_IRDA_TX_INT,
422-
.end = AU1000_IRDA_TX_INT,
423-
.flags = IORESOURCE_IRQ,
424-
},
425-
[2] = {
426-
.start = AU1000_IRDA_RX_INT,
427-
.end = AU1000_IRDA_RX_INT,
428-
.flags = IORESOURCE_IRQ,
429-
},
430-
};
431-
432-
static struct platform_device db1000_irda_dev = {
433-
.name = "au1000-irda",
434-
.id = -1,
435-
.dev = {
436-
.platform_data = &db1000_irda_platdata,
437-
},
438-
.resource = au1000_irda_res,
439-
.num_resources = ARRAY_SIZE(au1000_irda_res),
440-
};
441-
442-
/******************************************************************************/
443-
444394
static struct ads7846_platform_data db1100_touch_pd = {
445395
.model = 7846,
446396
.vref_mv = 3300,
@@ -468,6 +418,8 @@ static struct platform_device db1100_spi_dev = {
468418
.id = 0,
469419
.dev = {
470420
.platform_data = &db1100_spictl_pd,
421+
.dma_mask = &au1xxx_all_dmamask,
422+
.coherent_dma_mask = DMA_BIT_MASK(32),
471423
},
472424
};
473425

@@ -497,15 +449,10 @@ static struct platform_device *db1x00_devs[] = {
497449
&db1x00_audio_dev,
498450
};
499451

500-
static struct platform_device *db1000_devs[] = {
501-
&db1000_irda_dev,
502-
};
503-
504452
static struct platform_device *db1100_devs[] = {
505453
&au1100_lcd_device,
506454
&db1100_mmc0_dev,
507455
&db1100_mmc1_dev,
508-
&db1000_irda_dev,
509456
};
510457

511458
int __init db1000_dev_setup(void)
@@ -565,7 +512,6 @@ int __init db1000_dev_setup(void)
565512
d1 = 3; /* GPIO number, NOT irq! */
566513
s0 = AU1000_GPIO1_INT;
567514
s1 = AU1000_GPIO4_INT;
568-
platform_add_devices(db1000_devs, ARRAY_SIZE(db1000_devs));
569515
} else if ((board == BCSR_WHOAMI_PB1500) ||
570516
(board == BCSR_WHOAMI_PB1500R2)) {
571517
c0 = AU1500_GPIO203_INT;

arch/mips/alchemy/devboards/db1200.c

+11-13
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,8 @@ int __init db1200_board_setup(void)
153153

154154
/******************************************************************************/
155155

156+
static u64 au1200_all_dmamask = DMA_BIT_MASK(32);
157+
156158
static struct mtd_partition db1200_spiflash_parts[] = {
157159
{
158160
.name = "spi_flash",
@@ -324,13 +326,11 @@ static struct resource db1200_ide_res[] = {
324326
},
325327
};
326328

327-
static u64 au1200_ide_dmamask = DMA_BIT_MASK(32);
328-
329329
static struct platform_device db1200_ide_dev = {
330330
.name = "pata_platform",
331331
.id = 0,
332332
.dev = {
333-
.dma_mask = &au1200_ide_dmamask,
333+
.dma_mask = &au1200_all_dmamask,
334334
.coherent_dma_mask = DMA_BIT_MASK(32),
335335
.platform_data = &db1200_ide_info,
336336
},
@@ -566,13 +566,11 @@ static struct resource au1200_mmc0_resources[] = {
566566
}
567567
};
568568

569-
static u64 au1xxx_mmc_dmamask = DMA_BIT_MASK(32);
570-
571569
static struct platform_device db1200_mmc0_dev = {
572570
.name = "au1xxx-mmc",
573571
.id = 0,
574572
.dev = {
575-
.dma_mask = &au1xxx_mmc_dmamask,
573+
.dma_mask = &au1200_all_dmamask,
576574
.coherent_dma_mask = DMA_BIT_MASK(32),
577575
.platform_data = &db1200_mmc_platdata[0],
578576
},
@@ -607,7 +605,7 @@ static struct platform_device pb1200_mmc1_dev = {
607605
.name = "au1xxx-mmc",
608606
.id = 1,
609607
.dev = {
610-
.dma_mask = &au1xxx_mmc_dmamask,
608+
.dma_mask = &au1200_all_dmamask,
611609
.coherent_dma_mask = DMA_BIT_MASK(32),
612610
.platform_data = &db1200_mmc_platdata[1],
613611
},
@@ -657,13 +655,11 @@ static struct resource au1200_lcd_res[] = {
657655
}
658656
};
659657

660-
static u64 au1200_lcd_dmamask = DMA_BIT_MASK(32);
661-
662658
static struct platform_device au1200_lcd_dev = {
663659
.name = "au1200-lcd",
664660
.id = 0,
665661
.dev = {
666-
.dma_mask = &au1200_lcd_dmamask,
662+
.dma_mask = &au1200_all_dmamask,
667663
.coherent_dma_mask = DMA_BIT_MASK(32),
668664
.platform_data = &db1200fb_pd,
669665
},
@@ -717,11 +713,9 @@ static struct au1550_spi_info db1200_spi_platdata = {
717713
.activate_cs = db1200_spi_cs_en,
718714
};
719715

720-
static u64 spi_dmamask = DMA_BIT_MASK(32);
721-
722716
static struct platform_device db1200_spi_dev = {
723717
.dev = {
724-
.dma_mask = &spi_dmamask,
718+
.dma_mask = &au1200_all_dmamask,
725719
.coherent_dma_mask = DMA_BIT_MASK(32),
726720
.platform_data = &db1200_spi_platdata,
727721
},
@@ -766,6 +760,10 @@ static struct platform_device db1200_audio_dev = {
766760
static struct platform_device db1200_sound_dev = {
767761
/* name assigned later based on switch setting */
768762
.id = 1, /* PSC ID */
763+
.dev = {
764+
.dma_mask = &au1200_all_dmamask,
765+
.coherent_dma_mask = DMA_BIT_MASK(32),
766+
},
769767
};
770768

771769
static struct platform_device db1200_stac_dev = {

arch/mips/alchemy/devboards/db1300.c

+19-4
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ static void __init db1300_gpio_config(void)
148148

149149
/**********************************************************************/
150150

151+
static u64 au1300_all_dmamask = DMA_BIT_MASK(32);
152+
151153
static void au1300_nand_cmd_ctrl(struct nand_chip *this, int cmd,
152154
unsigned int ctrl)
153155
{
@@ -438,6 +440,8 @@ static struct resource db1300_ide_res[] = {
438440

439441
static struct platform_device db1300_ide_dev = {
440442
.dev = {
443+
.dma_mask = &au1300_all_dmamask,
444+
.coherent_dma_mask = DMA_BIT_MASK(32),
441445
.platform_data = &db1300_ide_info,
442446
},
443447
.name = "pata_platform",
@@ -560,7 +564,9 @@ static struct resource au1300_sd1_res[] = {
560564

561565
static struct platform_device db1300_sd1_dev = {
562566
.dev = {
563-
.platform_data = &db1300_sd1_platdata,
567+
.dma_mask = &au1300_all_dmamask,
568+
.coherent_dma_mask = DMA_BIT_MASK(32),
569+
.platform_data = &db1300_sd1_platdata,
564570
},
565571
.name = "au1xxx-mmc",
566572
.id = 1,
@@ -625,7 +631,9 @@ static struct resource au1300_sd0_res[] = {
625631

626632
static struct platform_device db1300_sd0_dev = {
627633
.dev = {
628-
.platform_data = &db1300_sd0_platdata,
634+
.dma_mask = &au1300_all_dmamask,
635+
.coherent_dma_mask = DMA_BIT_MASK(32),
636+
.platform_data = &db1300_sd0_platdata,
629637
},
630638
.name = "au1xxx-mmc",
631639
.id = 0,
@@ -652,10 +660,18 @@ static struct platform_device db1300_i2sdma_dev = {
652660

653661
static struct platform_device db1300_sndac97_dev = {
654662
.name = "db1300-ac97",
663+
.dev = {
664+
.dma_mask = &au1300_all_dmamask,
665+
.coherent_dma_mask = DMA_BIT_MASK(32),
666+
},
655667
};
656668

657669
static struct platform_device db1300_sndi2s_dev = {
658670
.name = "db1300-i2s",
671+
.dev = {
672+
.dma_mask = &au1300_all_dmamask,
673+
.coherent_dma_mask = DMA_BIT_MASK(32),
674+
},
659675
};
660676

661677
/**********************************************************************/
@@ -700,13 +716,12 @@ static struct resource au1300_lcd_res[] = {
700716
}
701717
};
702718

703-
static u64 au1300_lcd_dmamask = DMA_BIT_MASK(32);
704719

705720
static struct platform_device db1300_lcd_dev = {
706721
.name = "au1200-lcd",
707722
.id = 0,
708723
.dev = {
709-
.dma_mask = &au1300_lcd_dmamask,
724+
.dma_mask = &au1300_all_dmamask,
710725
.coherent_dma_mask = DMA_BIT_MASK(32),
711726
.platform_data = &db1300fb_pd,
712727
},

arch/mips/alchemy/devboards/db1550.c

+11-2
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ int __init db1550_board_setup(void)
8282

8383
/*****************************************************************************/
8484

85+
static u64 au1550_all_dmamask = DMA_BIT_MASK(32);
86+
8587
static struct mtd_partition db1550_spiflash_parts[] = {
8688
{
8789
.name = "spi_flash",
@@ -269,11 +271,10 @@ static struct au1550_spi_info db1550_spi_platdata = {
269271
.activate_cs = db1550_spi_cs_en,
270272
};
271273

272-
static u64 spi_dmamask = DMA_BIT_MASK(32);
273274

274275
static struct platform_device db1550_spi_dev = {
275276
.dev = {
276-
.dma_mask = &spi_dmamask,
277+
.dma_mask = &au1550_all_dmamask,
277278
.coherent_dma_mask = DMA_BIT_MASK(32),
278279
.platform_data = &db1550_spi_platdata,
279280
},
@@ -397,10 +398,18 @@ static struct platform_device db1550_i2sdma_dev = {
397398

398399
static struct platform_device db1550_sndac97_dev = {
399400
.name = "db1550-ac97",
401+
.dev = {
402+
.dma_mask = &au1550_all_dmamask,
403+
.coherent_dma_mask = DMA_BIT_MASK(32),
404+
},
400405
};
401406

402407
static struct platform_device db1550_sndi2s_dev = {
403408
.name = "db1550-i2s",
409+
.dev = {
410+
.dma_mask = &au1550_all_dmamask,
411+
.coherent_dma_mask = DMA_BIT_MASK(32),
412+
},
404413
};
405414

406415
/**********************************************************************/

arch/mips/bcm63xx/Makefile

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# SPDX-License-Identifier: GPL-2.0
22
obj-y += clk.o cpu.o cs.o gpio.o irq.o nvram.o prom.o reset.o \
3-
setup.o timer.o dev-dsp.o dev-enet.o dev-flash.o \
4-
dev-pcmcia.o dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o \
5-
dev-wdt.o dev-usb-usbd.o
3+
setup.o timer.o dev-enet.o dev-flash.o dev-pcmcia.o \
4+
dev-rng.o dev-spi.o dev-hsspi.o dev-uart.o dev-wdt.o \
5+
dev-usb-usbd.o
66
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
77

88
obj-y += boards/

0 commit comments

Comments
 (0)