kernel: bump 5.10 to 5.10.110

Removed upstreamed:
  generic/backport-5.10/350-v5.18-MIPS-pgalloc-fix-memory-leak-caused-by-pgd_free.patch
  generic/pending-5.10/850-0014-PCI-aardvark-Fix-reading-PCI_EXP_RTSTA_PME-bit-on-em.patch
  ipq40xx/patches-5.10/105-ipq40xx-fix-sleep-clock.patch

All patches automatically rebased.

Build system: x86_64
Build-tested: bcm2711/RPi4B, mt7622/RT3200
Run-tested: bcm2711/RPi4B, mt7622/RT3200
Compile-/run-tested: ath79/generic (Archer C7 v2).

Signed-off-by: John Audia <graysky@archlinux.us>
This commit is contained in:
John Audia 2022-04-08 12:35:54 -04:00 committed by Hauke Mehrtens
parent be381a7ac7
commit b92ec82235
61 changed files with 111 additions and 229 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-5.10 = .109
LINUX_KERNEL_HASH-5.10.109 = 18fb22ecb249669ea775474aee614dcb0697cab299068074fd9f0bafa32113dc
LINUX_VERSION-5.10 = .110
LINUX_KERNEL_HASH-5.10.110 = dbef6a06325433481551cb8cfca9254d908d0ae950bc809f3da8ade00c485693

View File

@ -23,7 +23,7 @@ produce a noisy warning.
xhci->quirks |= XHCI_RESET_ON_RESUME;
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -427,10 +427,14 @@ static int xhci_try_enable_msi(struct us
@@ -425,10 +425,14 @@ static int xhci_try_enable_msi(struct us
free_irq(hcd->irq, hcd);
hcd->irq = 0;
@ -43,7 +43,7 @@ produce a noisy warning.
hcd->msi_enabled = 1;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1892,6 +1892,7 @@ struct xhci_hcd {
@@ -1895,6 +1895,7 @@ struct xhci_hcd {
struct xhci_hub usb2_rhub;
struct xhci_hub usb3_rhub;
/* support xHCI 1.0 spec USB2 hardware LPM */

View File

@ -17,7 +17,7 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -1003,7 +1003,7 @@ config SND_SOC_PCM3168A_SPI
@@ -1008,7 +1008,7 @@ config SND_SOC_PCM3168A_SPI
select REGMAP_SPI
config SND_SOC_PCM5102A

View File

@ -78,7 +78,7 @@ Link: https://lore.kernel.org/r/1611061165-30180-1-git-send-email-claudiu.beznea
static u64 mchp_pit64b_clksrc_read(struct clocksource *cs)
{
return mchp_pit64b_cnt_read(mchp_pit64b_cs_base);
@@ -128,7 +172,7 @@ static u64 mchp_pit64b_sched_read_clk(vo
@@ -128,7 +172,7 @@ static u64 notrace mchp_pit64b_sched_rea
static int mchp_pit64b_clkevt_shutdown(struct clock_event_device *cedev)
{

View File

@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -8596,8 +8596,6 @@ int alloc_contig_range(unsigned long sta
@@ -8603,8 +8603,6 @@ int alloc_contig_range(unsigned long sta
/* Make sure the range is really isolated. */
if (test_pages_isolated(outer_start, end, 0)) {

View File

@ -12442,7 +12442,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
depends on I2C
select SND_SOC_AD193X
@@ -804,7 +808,7 @@ config SND_SOC_HDAC_HDA
@@ -809,7 +813,7 @@ config SND_SOC_HDAC_HDA
select SND_HDA
config SND_SOC_ICS43432
@ -12451,7 +12451,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
config SND_SOC_INNO_RK3036
tristate "Inno codec driver for RK3036 SoC"
@@ -825,6 +829,13 @@ config SND_SOC_LOCHNAGAR_SC
@@ -830,6 +834,13 @@ config SND_SOC_LOCHNAGAR_SC
This driver support the sound card functionality of the Cirrus
Logic Lochnagar audio development board.
@ -12465,7 +12465,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
config SND_SOC_MADERA
tristate
default y if SND_SOC_CS47L15=y
@@ -1125,6 +1136,10 @@ config SND_SOC_RT5616
@@ -1130,6 +1141,10 @@ config SND_SOC_RT5616
tristate "Realtek RT5616 CODEC"
depends on I2C
@ -12476,7 +12476,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
config SND_SOC_RT5631
tristate "Realtek ALC5631/RT5631 CODEC"
depends on I2C
@@ -1346,6 +1361,9 @@ config SND_SOC_TFA9879
@@ -1351,6 +1366,9 @@ config SND_SOC_TFA9879
tristate "NXP Semiconductors TFA9879 amplifier"
depends on I2C
@ -12486,7 +12486,7 @@ Signed-off-by: Joerg Schambacher joerg@i2audio.com
config SND_SOC_TLV320AIC23
tristate
@@ -1784,4 +1802,8 @@ config SND_SOC_TPA6130A2
@@ -1789,4 +1807,8 @@ config SND_SOC_TPA6130A2
tristate "Texas Instruments TPA6130A2 headphone amplifier"
depends on I2C

View File

@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -1474,6 +1474,103 @@ command_cleanup:
@@ -1472,6 +1472,103 @@ command_cleanup:
}
/*
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
* non-error returns are a promise to giveback() the urb later
* we drop ownership so next owner (or urb unlink) can get it
*/
@@ -5380,6 +5477,7 @@ static const struct hc_driver xhci_hc_dr
@@ -5378,6 +5475,7 @@ static const struct hc_driver xhci_hc_dr
.endpoint_reset = xhci_endpoint_reset,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,

View File

@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
val);
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1653,8 +1653,8 @@ struct urb_priv {
@@ -1656,8 +1656,8 @@ struct urb_priv {
* Each segment table entry is 4*32bits long. 1K seems like an ok size:
* (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table,
* meaning 64 ring segments.

View File

@ -14,7 +14,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -313,6 +313,9 @@ static void bcm54xx_adjust_rxrefclk(stru
@@ -314,6 +314,9 @@ static void bcm54xx_adjust_rxrefclk(stru
static int bcm54xx_config_init(struct phy_device *phydev)
{
int reg, err, val;
@ -24,7 +24,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
reg = phy_read(phydev, MII_BCM54XX_ECR);
if (reg < 0)
@@ -368,6 +371,8 @@ static int bcm54xx_config_init(struct ph
@@ -369,6 +372,8 @@ static int bcm54xx_config_init(struct ph
bcm54xx_phydsp_config(phydev);
@ -33,7 +33,7 @@ Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
/* Encode link speed into LED1 and LED3 pair (green/amber).
* Also flash these two LEDs on activity. This means configuring
* them for MULTICOLOR and encoding link/activity into them.
@@ -377,8 +382,8 @@ static int bcm54xx_config_init(struct ph
@@ -378,8 +383,8 @@ static int bcm54xx_config_init(struct ph
bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val);
val = BCM_LED_MULTICOLOR_IN_PHASE |

View File

@ -11,7 +11,7 @@ releases.
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -314,7 +314,7 @@ static int bcm54xx_config_init(struct ph
@@ -315,7 +315,7 @@ static int bcm54xx_config_init(struct ph
{
int reg, err, val;
u32 led_modes[] = {BCM_LED_MULTICOLOR_LINK_ACT,
@ -20,7 +20,7 @@ releases.
struct device_node *np = phydev->mdio.dev.of_node;
reg = phy_read(phydev, MII_BCM54XX_ECR);
@@ -373,10 +373,6 @@ static int bcm54xx_config_init(struct ph
@@ -374,10 +374,6 @@ static int bcm54xx_config_init(struct ph
of_property_read_u32_array(np, "led-modes", led_modes, 2);

View File

@ -51,7 +51,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1885,6 +1885,7 @@ struct xhci_hcd {
@@ -1888,6 +1888,7 @@ struct xhci_hcd {
#define XHCI_SG_TRB_CACHE_SIZE_QUIRK BIT_ULL(39)
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)
#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)

View File

@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
@@ -510,8 +510,8 @@
@@ -560,8 +560,8 @@
msi-controller;
msi-parent = <&pcie0>;

View File

@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -252,7 +252,8 @@ static void bcm54xx_adjust_rxrefclk(stru
@@ -253,7 +253,8 @@ static void bcm54xx_adjust_rxrefclk(stru
BRCM_PHY_MODEL(phydev) != PHY_ID_BCM50610 &&
BRCM_PHY_MODEL(phydev) != PHY_ID_BCM50610M &&
BRCM_PHY_MODEL(phydev) != PHY_ID_BCM54810 &&
@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
return;
val = bcm_phy_read_shadow(phydev, BCM54XX_SHD_SCR3);
@@ -763,13 +764,21 @@ static struct phy_driver broadcom_driver
@@ -784,13 +785,21 @@ static struct phy_driver broadcom_driver
.config_intr = bcm_phy_config_intr,
}, {
.phy_id = PHY_ID_BCM54210E,
@ -49,7 +49,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
.phy_id = PHY_ID_BCM5461,
.phy_id_mask = 0xfffffff0,
.name = "Broadcom BCM5461",
@@ -925,7 +934,8 @@ module_phy_driver(broadcom_drivers);
@@ -946,7 +955,8 @@ module_phy_driver(broadcom_drivers);
static struct mdio_device_id __maybe_unused broadcom_tbl[] = {
{ PHY_ID_BCM5411, 0xfffffff0 },
{ PHY_ID_BCM5421, 0xfffffff0 },

View File

@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/drivers/net/phy/broadcom.c
+++ b/drivers/net/phy/broadcom.c
@@ -82,6 +82,11 @@ static int bcm54210e_config_init(struct
@@ -83,6 +83,11 @@ static int bcm54210e_config_init(struct
return 0;
}
@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
static int bcm54612e_config_init(struct phy_device *phydev)
{
int reg;
@@ -357,6 +362,9 @@ static int bcm54xx_config_init(struct ph
@@ -358,6 +363,9 @@ static int bcm54xx_config_init(struct ph
case PHY_ID_BCM54616S:
err = bcm54616s_config_init(phydev);
break;

View File

@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
@@ -561,6 +561,7 @@
@@ -611,6 +611,7 @@
&dsi1 {
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;

View File

@ -22,7 +22,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -6528,9 +6528,7 @@ void amdgpu_dm_connector_init_helper(str
@@ -6531,9 +6531,7 @@ void amdgpu_dm_connector_init_helper(str
if (connector_type == DRM_MODE_CONNECTOR_HDMIA ||
connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
connector_type == DRM_MODE_CONNECTOR_eDP) {

View File

@ -254,7 +254,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
* clk_get_parent - return the parent of a clk
* @clk: the clk whose parent gets returned
*
@@ -3838,6 +3958,7 @@ __clk_register(struct device *dev, struc
@@ -3851,6 +3971,7 @@ __clk_register(struct device *dev, struc
goto fail_parents;
INIT_HLIST_HEAD(&core->clks);

View File

@ -23,7 +23,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
status = "disabled";
};
@@ -1115,7 +1115,3 @@
@@ -1165,7 +1165,3 @@
&usb {
interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
};

View File

@ -90,7 +90,7 @@ it on BCM4708 family.
/*
* Reset a halted HC.
*
@@ -608,10 +651,20 @@ static int xhci_init(struct usb_hcd *hcd
@@ -606,10 +649,20 @@ static int xhci_init(struct usb_hcd *hcd
static int xhci_run_finished(struct xhci_hcd *xhci)
{
@ -114,7 +114,7 @@ it on BCM4708 family.
xhci->shared_hcd->state = HC_STATE_RUNNING;
xhci->cmd_ring_state = CMD_RING_STATE_RUNNING;
@@ -621,6 +674,10 @@ static int xhci_run_finished(struct xhci
@@ -619,6 +672,10 @@ static int xhci_run_finished(struct xhci
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"Finished xhci_run for USB3 roothub");
return 0;
@ -127,7 +127,7 @@ it on BCM4708 family.
/*
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1885,6 +1885,7 @@ struct xhci_hcd {
@@ -1888,6 +1888,7 @@ struct xhci_hcd {
#define XHCI_SG_TRB_CACHE_SIZE_QUIRK BIT_ULL(39)
#define XHCI_NO_SOFT_RETRY BIT_ULL(40)
#define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42)

View File

@ -1,48 +0,0 @@
From e852442da56f43795cb6255d90b9fd0c84b209bb Mon Sep 17 00:00:00 2001
From: Yaliang Wang <Yaliang.Wang@windriver.com>
Date: Thu, 10 Mar 2022 19:31:16 +0800
Subject: [PATCH] MIPS: pgalloc: fix memory leak caused by pgd_free()
pgd page is freed by generic implementation pgd_free() since commit
f9cb654cb550 ("asm-generic: pgalloc: provide generic pgd_free()"),
however, there are scenarios that the system uses more than one page as
the pgd table, in such cases the generic implementation pgd_free() won't
be applicable anymore. For example, when PAGE_SIZE_4KB is enabled and
MIPS_VA_BITS_48 is not enabled in a 64bit system, the macro "PGD_ORDER"
will be set as "1", which will cause allocating two pages as the pgd
table. Well, at the same time, the generic implementation pgd_free()
just free one pgd page, which will result in the memory leak.
The memory leak can be easily detected by executing shell command:
"while true; do ls > /dev/null; grep MemFree /proc/meminfo; done"
Fixes: f9cb654cb550 ("asm-generic: pgalloc: provide generic pgd_free()")
Signed-off-by: Yaliang Wang <Yaliang.Wang@windriver.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
(cherry picked from commit 2bc5bab9a763d520937e4f3fe8df51c6a1eceb97)
---
arch/mips/include/asm/pgalloc.h | 6 ++++++
1 file changed, 6 insertions(+)
--- a/arch/mips/include/asm/pgalloc.h
+++ b/arch/mips/include/asm/pgalloc.h
@@ -15,6 +15,7 @@
#define __HAVE_ARCH_PMD_ALLOC_ONE
#define __HAVE_ARCH_PUD_ALLOC_ONE
+#define __HAVE_ARCH_PGD_FREE
#include <asm-generic/pgalloc.h>
static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd,
@@ -49,6 +50,11 @@ static inline void pud_populate(struct m
extern void pgd_init(unsigned long page);
extern pgd_t *pgd_alloc(struct mm_struct *mm);
+static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
+{
+ free_pages((unsigned long)pgd, PGD_ORDER);
+}
+
#define __pte_free_tlb(tlb,pte,address) \
do { \
pgtable_pte_page_dtor(pte); \

View File

@ -33,7 +33,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
enum udp_conntrack {
--- a/net/netfilter/nf_conntrack_proto_tcp.c
+++ b/net/netfilter/nf_conntrack_proto_tcp.c
@@ -1438,6 +1438,11 @@ void nf_conntrack_tcp_init_net(struct ne
@@ -1447,6 +1447,11 @@ void nf_conntrack_tcp_init_net(struct ne
tn->tcp_loose = nf_ct_tcp_loose;
tn->tcp_be_liberal = nf_ct_tcp_be_liberal;
tn->tcp_max_retrans = nf_ct_tcp_max_retrans;

View File

@ -1608,7 +1608,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
--- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
+++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
@@ -1831,8 +1831,8 @@ static int axienet_probe(struct platform
@@ -1843,8 +1843,8 @@ static int axienet_probe(struct platform
struct device_node *np;
struct axienet_local *lp;
struct net_device *ndev;
@ -1618,7 +1618,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int addr_width = 32;
u32 value;
@@ -2032,13 +2032,14 @@ static int axienet_probe(struct platform
@@ -2044,13 +2044,14 @@ static int axienet_probe(struct platform
dev_info(&pdev->dev, "Ethernet core IRQ not defined\n");
/* Retrieve the MAC address */

View File

@ -14,7 +14,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
@@ -1000,9 +1000,6 @@ mt753x_cpu_port_enable(struct dsa_switch
@@ -998,9 +998,6 @@ mt753x_cpu_port_enable(struct dsa_switch
mt7530_write(priv, MT7530_PVC_P(port),
PORT_SPEC_TAG);
@ -24,7 +24,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
/* Set CPU port number */
if (priv->id == ID_MT7621)
mt7530_rmw(priv, MT7530_MFC, CPU_MASK, CPU_EN | CPU_PORT(port));
@@ -1138,6 +1135,20 @@ mt7530_stp_state_set(struct dsa_switch *
@@ -1131,6 +1128,20 @@ mt7530_stp_state_set(struct dsa_switch *
}
static int
@ -45,7 +45,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
mt7530_port_bridge_join(struct dsa_switch *ds, int port,
struct net_device *bridge)
{
@@ -1357,6 +1368,63 @@ err:
@@ -1331,6 +1342,63 @@ err:
}
static int
@ -109,7 +109,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
mt7530_vlan_cmd(struct mt7530_priv *priv, enum mt7530_vlan_cmd cmd, u16 vid)
{
struct mt7530_dummy_poll p;
@@ -2794,11 +2862,15 @@ static const struct dsa_switch_ops mt753
@@ -2745,11 +2813,15 @@ static const struct dsa_switch_ops mt753
.port_change_mtu = mt7530_port_change_mtu,
.port_max_mtu = mt7530_port_max_mtu,
.port_stp_state_set = mt7530_stp_state_set,

View File

@ -27,7 +27,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#include <linux/of_mdio.h>
#include <linux/of_net.h>
#include <linux/of_platform.h>
@@ -602,18 +603,14 @@ mt7530_mib_reset(struct dsa_switch *ds)
@@ -600,18 +601,14 @@ mt7530_mib_reset(struct dsa_switch *ds)
mt7530_write(priv, MT7530_MIB_CCR, CCR_MIB_ACTIVATE);
}
@ -48,7 +48,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return mdiobus_write_nested(priv->bus, port, regnum, val);
}
@@ -791,9 +788,8 @@ out:
@@ -789,9 +786,8 @@ out:
}
static int
@ -59,7 +59,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int devad;
int ret;
@@ -809,10 +805,9 @@ mt7531_ind_phy_read(struct dsa_switch *d
@@ -807,10 +803,9 @@ mt7531_ind_phy_read(struct dsa_switch *d
}
static int
@ -71,7 +71,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int devad;
int ret;
@@ -828,6 +823,22 @@ mt7531_ind_phy_write(struct dsa_switch *
@@ -826,6 +821,22 @@ mt7531_ind_phy_write(struct dsa_switch *
return ret;
}
@ -94,7 +94,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static void
mt7530_get_strings(struct dsa_switch *ds, int port, u32 stringset,
uint8_t *data)
@@ -1824,6 +1835,210 @@ mt7530_setup_gpio(struct mt7530_priv *pr
@@ -1793,6 +1804,210 @@ mt7530_setup_gpio(struct mt7530_priv *pr
return devm_gpiochip_add_data(dev, gc, priv);
}
@ -305,7 +305,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int
mt7530_setup(struct dsa_switch *ds)
{
@@ -2798,24 +3013,20 @@ static int
@@ -2749,24 +2964,20 @@ static int
mt753x_setup(struct dsa_switch *ds)
{
struct mt7530_priv *priv = ds->priv;
@ -340,7 +340,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
static int mt753x_get_mac_eee(struct dsa_switch *ds, int port,
@@ -2852,8 +3063,6 @@ static const struct dsa_switch_ops mt753
@@ -2803,8 +3014,6 @@ static const struct dsa_switch_ops mt753
.get_tag_protocol = mtk_get_tag_protocol,
.setup = mt753x_setup,
.get_strings = mt7530_get_strings,
@ -349,7 +349,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
.get_ethtool_stats = mt7530_get_ethtool_stats,
.get_sset_count = mt7530_get_sset_count,
.set_ageing_time = mt7530_set_ageing_time,
@@ -3036,6 +3245,9 @@ mt7530_remove(struct mdio_device *mdiode
@@ -2987,6 +3196,9 @@ mt7530_remove(struct mdio_device *mdiode
dev_err(priv->dev, "Failed to disable io pwr: %d\n",
ret);
@ -369,7 +369,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
#define MT7530_CPU_PORT 6
#define MT7530_NUM_FDB_RECORDS 2048
#define MT7530_ALL_MEMBERS 0xff
@@ -401,6 +402,12 @@ enum mt7531_sgmii_force_duplex {
@@ -392,6 +393,12 @@ enum mt7531_sgmii_force_duplex {
#define SYS_CTRL_SW_RST BIT(1)
#define SYS_CTRL_REG_RST BIT(0)
@ -382,7 +382,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* Register for PHY Indirect Access Control */
#define MT7531_PHY_IAC 0x701C
#define MT7531_PHY_ACS_ST BIT(31)
@@ -722,6 +729,8 @@ static const char *p5_intf_modes(unsigne
@@ -713,6 +720,8 @@ static const char *p5_intf_modes(unsigne
}
}
@ -391,7 +391,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* struct mt753x_info - This is the main data structure for holding the specific
* part for each supported device
* @sw_setup: Holding the handler to a device initialization
@@ -746,8 +755,8 @@ struct mt753x_info {
@@ -737,8 +746,8 @@ struct mt753x_info {
enum mt753x_id id;
int (*sw_setup)(struct dsa_switch *ds);
@ -402,7 +402,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int (*pad_setup)(struct dsa_switch *ds, phy_interface_t interface);
int (*cpu_port_config)(struct dsa_switch *ds, int port);
bool (*phy_mode_supported)(struct dsa_switch *ds, int port,
@@ -781,6 +790,10 @@ struct mt753x_info {
@@ -772,6 +781,10 @@ struct mt753x_info {
* registers
* @p6_interface Holding the current port 6 interface
* @p5_intf_sel: Holding the current port 5 interface select
@ -413,7 +413,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
*/
struct mt7530_priv {
struct device *dev;
@@ -802,6 +815,9 @@ struct mt7530_priv {
@@ -793,6 +806,9 @@ struct mt7530_priv {
struct mt7530_port ports[MT7530_NUM_PORTS];
/* protect among processes for registers access*/
struct mutex reg_mutex;

View File

@ -21,7 +21,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -881,8 +881,13 @@ advk_pci_bridge_emul_pcie_conf_read(stru
@@ -883,8 +883,13 @@ advk_pci_bridge_emul_pcie_conf_read(stru
case PCI_EXP_DEVCAP:
case PCI_EXP_DEVCTL:
@ -35,7 +35,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
default:
return PCI_BRIDGE_EMUL_NOT_HANDLED;
}
@@ -896,10 +901,6 @@ advk_pci_bridge_emul_pcie_conf_write(str
@@ -898,10 +903,6 @@ advk_pci_bridge_emul_pcie_conf_write(str
struct advk_pcie *pcie = bridge->data;
switch (reg) {
@ -46,7 +46,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
case PCI_EXP_LNKCTL:
advk_writel(pcie, new, PCIE_CORE_PCIEXP_CAP + reg);
if (new & PCI_EXP_LNKCTL_RL)
@@ -921,6 +922,12 @@ advk_pci_bridge_emul_pcie_conf_write(str
@@ -923,6 +924,12 @@ advk_pci_bridge_emul_pcie_conf_write(str
advk_writel(pcie, new, PCIE_ISR0_REG);
break;

View File

@ -48,7 +48,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
/* Enable summary interrupt for GIC SPI source */
reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK);
@@ -1399,7 +1401,7 @@ static void advk_pcie_handle_msi(struct
@@ -1401,7 +1403,7 @@ static void advk_pcie_handle_msi(struct
msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG);
msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG);

View File

@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1698,11 +1698,13 @@ static int advk_pcie_remove(struct platf
@@ -1700,11 +1700,13 @@ static int advk_pcie_remove(struct platf
struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
int i;

View File

@ -19,7 +19,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1696,6 +1696,7 @@ static int advk_pcie_remove(struct platf
@@ -1698,6 +1698,7 @@ static int advk_pcie_remove(struct platf
{
struct advk_pcie *pcie = platform_get_drvdata(pdev);
struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
@ -27,7 +27,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
int i;
/* Remove PCI bus with all devices */
@@ -1704,6 +1705,11 @@ static int advk_pcie_remove(struct platf
@@ -1706,6 +1707,11 @@ static int advk_pcie_remove(struct platf
pci_remove_root_bus(bridge->bus);
pci_unlock_rescan_remove();

View File

@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1710,6 +1710,27 @@ static int advk_pcie_remove(struct platf
@@ -1712,6 +1712,27 @@ static int advk_pcie_remove(struct platf
val &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
advk_writel(pcie, val, PCIE_CORE_CMD_STATUS_REG);

View File

@ -21,7 +21,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1735,6 +1735,9 @@ static int advk_pcie_remove(struct platf
@@ -1737,6 +1737,9 @@ static int advk_pcie_remove(struct platf
advk_pcie_remove_msi_irq_domain(pcie);
advk_pcie_remove_irq_domain(pcie);

View File

@ -20,7 +20,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1738,6 +1738,10 @@ static int advk_pcie_remove(struct platf
@@ -1740,6 +1740,10 @@ static int advk_pcie_remove(struct platf
/* Free config space for emulated root bridge */
pci_bridge_emul_cleanup(&pcie->bridge);

View File

@ -20,7 +20,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1742,6 +1742,11 @@ static int advk_pcie_remove(struct platf
@@ -1744,6 +1744,11 @@ static int advk_pcie_remove(struct platf
if (pcie->reset_gpio)
gpiod_set_value_cansleep(pcie->reset_gpio, 1);

View File

@ -18,7 +18,7 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1751,6 +1751,9 @@ static int advk_pcie_remove(struct platf
@@ -1753,6 +1753,9 @@ static int advk_pcie_remove(struct platf
for (i = 0; i < OB_WIN_COUNT; i++)
advk_pcie_disable_ob_win(pcie, i);

View File

@ -72,7 +72,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+MODULE_LICENSE("GPL");
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3065,6 +3065,7 @@ int wake_up_state(struct task_struct *p,
@@ -3066,6 +3066,7 @@ int wake_up_state(struct task_struct *p,
{
return try_to_wake_up(p, state, 0);
}

View File

@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
--- a/drivers/mtd/ubi/build.c
+++ b/drivers/mtd/ubi/build.c
@@ -1192,6 +1192,73 @@ static struct mtd_info * __init open_mtd
@@ -1185,6 +1185,73 @@ static struct mtd_info * __init open_mtd
return mtd;
}
@ -82,7 +82,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
static int __init ubi_init(void)
{
int err, i, k;
@@ -1275,6 +1342,12 @@ static int __init ubi_init(void)
@@ -1268,6 +1335,12 @@ static int __init ubi_init(void)
}
}

View File

@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (ret < 0)
goto out;
@@ -565,6 +571,17 @@ full_scan:
@@ -567,6 +573,17 @@ full_scan:
return err;
}

View File

@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/*
* Get the required data from the packet.
*/
@@ -1130,7 +1136,7 @@ int nf_conntrack_tcp_packet(struct nf_co
@@ -1139,7 +1145,7 @@ int nf_conntrack_tcp_packet(struct nf_co
IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED &&
timeouts[new_state] > timeouts[TCP_CONNTRACK_UNACK])
timeout = timeouts[TCP_CONNTRACK_UNACK];

View File

@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -5484,6 +5484,7 @@ static int mv88e6xxx_register_switch(str
@@ -5485,6 +5485,7 @@ static int mv88e6xxx_register_switch(str
ds->ops = &mv88e6xxx_switch_ops;
ds->ageing_time_min = chip->info->age_time_coeff;
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;

View File

@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
/*
* The Mellanox Tavor device gives false positive parity errors. Mark this
* device with a broken_parity_status to allow PCI scanning code to "skip"
@@ -3323,6 +3324,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
@@ -3335,6 +3336,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
/*
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
* To work around this, query the size it should be configured to by the
@@ -3348,6 +3351,8 @@ static void quirk_intel_ntb(struct pci_d
@@ -3360,6 +3363,8 @@ static void quirk_intel_ntb(struct pci_d
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
* though no one is handling them (e.g., if the i915 driver is never
@@ -3386,6 +3391,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
@@ -3398,6 +3403,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);

View File

@ -29,7 +29,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
/* PIO registers base address and register offsets */
#define PIO_BASE_ADDR 0x4000
#define PIO_CTRL (PIO_BASE_ADDR + 0x0)
@@ -966,7 +962,7 @@ static int advk_sw_pci_bridge_init(struc
@@ -968,7 +964,7 @@ static int advk_sw_pci_bridge_init(struc
bridge->conf.pref_mem_limit = cpu_to_le16(PCI_PREF_RANGE_TYPE_64);
/* Support interrupt A for MSI feature */

View File

@ -27,7 +27,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1393,7 +1393,7 @@ static void advk_pcie_remove_irq_domain(
@@ -1395,7 +1395,7 @@ static void advk_pcie_remove_irq_domain(
static void advk_pcie_handle_msi(struct advk_pcie *pcie)
{
u32 msi_val, msi_mask, msi_status, msi_idx;
@ -36,7 +36,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG);
msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG);
@@ -1403,13 +1403,12 @@ static void advk_pcie_handle_msi(struct
@@ -1405,13 +1405,12 @@ static void advk_pcie_handle_msi(struct
if (!(BIT(msi_idx) & msi_status))
continue;

View File

@ -32,7 +32,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1189,7 +1189,7 @@ static void advk_msi_irq_compose_msi_msg
@@ -1191,7 +1191,7 @@ static void advk_msi_irq_compose_msi_msg
msg->address_lo = lower_32_bits(msi_msg);
msg->address_hi = upper_32_bits(msi_msg);
@ -41,7 +41,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
}
static int advk_msi_set_affinity(struct irq_data *irq_data,
@@ -1206,15 +1206,11 @@ static int advk_msi_irq_domain_alloc(str
@@ -1208,15 +1208,11 @@ static int advk_msi_irq_domain_alloc(str
int hwirq, i;
mutex_lock(&pcie->msi_used_lock);
@ -61,7 +61,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
for (i = 0; i < nr_irqs; i++)
irq_domain_set_info(domain, virq + i, hwirq + i,
@@ -1232,7 +1228,7 @@ static void advk_msi_irq_domain_free(str
@@ -1234,7 +1230,7 @@ static void advk_msi_irq_domain_free(str
struct advk_pcie *pcie = domain->host_data;
mutex_lock(&pcie->msi_used_lock);

View File

@ -31,7 +31,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
struct irq_domain *irq_domain;
struct irq_chip irq_chip;
raw_spinlock_t irq_lock;
@@ -1442,21 +1443,26 @@ static void advk_pcie_handle_int(struct
@@ -1444,21 +1445,26 @@ static void advk_pcie_handle_int(struct
}
}
@ -68,7 +68,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
}
static void __maybe_unused advk_pcie_disable_phy(struct advk_pcie *pcie)
@@ -1523,7 +1529,7 @@ static int advk_pcie_probe(struct platfo
@@ -1525,7 +1531,7 @@ static int advk_pcie_probe(struct platfo
struct advk_pcie *pcie;
struct pci_host_bridge *bridge;
struct resource_entry *entry;
@ -77,7 +77,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
bridge = devm_pci_alloc_host_bridge(dev, sizeof(struct advk_pcie));
if (!bridge)
@@ -1611,17 +1617,9 @@ static int advk_pcie_probe(struct platfo
@@ -1613,17 +1619,9 @@ static int advk_pcie_probe(struct platfo
if (IS_ERR(pcie->base))
return PTR_ERR(pcie->base);
@ -98,7 +98,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
pcie->reset_gpio = devm_gpiod_get_from_of_node(dev, dev->of_node,
"reset-gpios", 0,
@@ -1670,11 +1668,14 @@ static int advk_pcie_probe(struct platfo
@@ -1672,11 +1670,14 @@ static int advk_pcie_probe(struct platfo
return ret;
}
@ -113,7 +113,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
advk_pcie_remove_msi_irq_domain(pcie);
advk_pcie_remove_irq_domain(pcie);
return ret;
@@ -1722,6 +1723,9 @@ static int advk_pcie_remove(struct platf
@@ -1724,6 +1725,9 @@ static int advk_pcie_remove(struct platf
advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_REG);
advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG);

View File

@ -18,7 +18,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1439,7 +1439,9 @@ static void advk_pcie_handle_int(struct
@@ -1441,7 +1441,9 @@ static void advk_pcie_handle_int(struct
PCIE_ISR1_REG);
virq = irq_find_mapping(pcie->irq_domain, i);

View File

@ -34,7 +34,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
struct msi_domain_info msi_domain_info;
DECLARE_BITMAP(msi_used, MSI_IRQ_NUM);
struct mutex msi_used_lock;
@@ -1199,6 +1197,12 @@ static int advk_msi_set_affinity(struct
@@ -1201,6 +1199,12 @@ static int advk_msi_set_affinity(struct
return -EINVAL;
}
@ -47,7 +47,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
static int advk_msi_irq_domain_alloc(struct irq_domain *domain,
unsigned int virq,
unsigned int nr_irqs, void *args)
@@ -1215,7 +1219,7 @@ static int advk_msi_irq_domain_alloc(str
@@ -1217,7 +1221,7 @@ static int advk_msi_irq_domain_alloc(str
for (i = 0; i < nr_irqs; i++)
irq_domain_set_info(domain, virq + i, hwirq + i,
@ -56,7 +56,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
domain->host_data, handle_simple_irq,
NULL, NULL);
@@ -1285,29 +1289,23 @@ static const struct irq_domain_ops advk_
@@ -1287,29 +1291,23 @@ static const struct irq_domain_ops advk_
.xlate = irq_domain_xlate_onecell,
};

View File

@ -25,7 +25,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
DECLARE_BITMAP(msi_used, MSI_IRQ_NUM);
struct mutex msi_used_lock;
u16 msi_msg;
@@ -1293,20 +1292,20 @@ static struct irq_chip advk_msi_irq_chip
@@ -1295,20 +1294,20 @@ static struct irq_chip advk_msi_irq_chip
.name = "advk-MSI",
};
@ -52,7 +52,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
msi_msg_phys = virt_to_phys(&pcie->msi_msg);
advk_writel(pcie, lower_32_bits(msi_msg_phys),
@@ -1322,7 +1321,8 @@ static int advk_pcie_init_msi_irq_domain
@@ -1324,7 +1323,8 @@ static int advk_pcie_init_msi_irq_domain
pcie->msi_domain =
pci_msi_create_irq_domain(of_node_to_fwnode(node),

View File

@ -21,7 +21,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1301,7 +1301,6 @@ static struct msi_domain_info advk_msi_d
@@ -1303,7 +1303,6 @@ static struct msi_domain_info advk_msi_d
static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie)
{
struct device *dev = &pcie->pdev->dev;
@ -29,7 +29,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
phys_addr_t msi_msg_phys;
mutex_init(&pcie->msi_used_lock);
@@ -1320,7 +1319,7 @@ static int advk_pcie_init_msi_irq_domain
@@ -1322,7 +1321,7 @@ static int advk_pcie_init_msi_irq_domain
return -ENOMEM;
pcie->msi_domain =

View File

@ -43,7 +43,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
/* Unmask summary MSI interrupt */
reg = advk_readl(pcie, PCIE_ISR0_MASK_REG);
@@ -1198,10 +1197,52 @@ static int advk_msi_set_affinity(struct
@@ -1200,10 +1199,52 @@ static int advk_msi_set_affinity(struct
return -EINVAL;
}
@ -96,7 +96,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
};
static int advk_msi_irq_domain_alloc(struct irq_domain *domain,
@@ -1291,7 +1332,9 @@ static const struct irq_domain_ops advk_
@@ -1293,7 +1334,9 @@ static const struct irq_domain_ops advk_
};
static struct irq_chip advk_msi_irq_chip = {
@ -107,7 +107,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
};
static struct msi_domain_info advk_msi_domain_info = {
@@ -1305,6 +1348,7 @@ static int advk_pcie_init_msi_irq_domain
@@ -1307,6 +1350,7 @@ static int advk_pcie_init_msi_irq_domain
struct device *dev = &pcie->pdev->dev;
phys_addr_t msi_msg_phys;

View File

@ -56,7 +56,7 @@ Cc: stable@vger.kernel.org # f21a8b1b6837 ("PCI: aardvark: Move to MSI handling
/* Enable MSI */
reg = advk_readl(pcie, PCIE_CORE_CTRL2_REG);
reg |= PCIE_CORE_CTRL2_MSI_ENABLE;
@@ -1184,10 +1189,10 @@ static void advk_msi_irq_compose_msi_msg
@@ -1186,10 +1191,10 @@ static void advk_msi_irq_compose_msi_msg
struct msi_msg *msg)
{
struct advk_pcie *pcie = irq_data_get_irq_chip_data(data);
@ -70,7 +70,7 @@ Cc: stable@vger.kernel.org # f21a8b1b6837 ("PCI: aardvark: Move to MSI handling
msg->data = data->hwirq;
}
@@ -1346,18 +1351,10 @@ static struct msi_domain_info advk_msi_d
@@ -1348,18 +1353,10 @@ static struct msi_domain_info advk_msi_d
static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie)
{
struct device *dev = &pcie->pdev->dev;

View File

@ -27,7 +27,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -1344,7 +1344,7 @@ static struct irq_chip advk_msi_irq_chip
@@ -1346,7 +1346,7 @@ static struct irq_chip advk_msi_irq_chip
static struct msi_domain_info advk_msi_domain_info = {
.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |

View File

@ -78,7 +78,7 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
if (mask & (PCI_BRIDGE_CTL_BUS_RESET << 16)) {
u32 val = advk_readl(pcie, PCIE_CORE_CTRL1_REG);
if (new & (PCI_BRIDGE_CTL_BUS_RESET << 16))
@@ -1466,6 +1487,19 @@ static void advk_pcie_handle_int(struct
@@ -1468,6 +1489,19 @@ static void advk_pcie_handle_int(struct
isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK);

View File

@ -1,44 +0,0 @@
From 5f354992eeef9a51c67796dc9f7f578d3584baa2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
Date: Wed, 8 Dec 2021 05:57:54 +0100
Subject: [PATCH] PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated
bridge
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The emulated bridge returns incorrect value for PCI_EXP_RTSTA register
during readout in advk_pci_bridge_emul_pcie_conf_read() function: the
correct bit is BIT(16), but we are setting BIT(23), because the code
does
*value = (isr0 & PCIE_MSG_PM_PME_MASK) << 16
where
PCIE_MSG_PM_PME_MASK
is
BIT(7).
The code should probably have been something like
*value = (!!(isr0 & PCIE_MSG_PM_PME_MASK)) << 16,
but we are better of using an if() and using the proper macro for this
bit.
Fixes: 8a3ebd8de328 ("PCI: aardvark: Implement emulated root PCI bridge config space")
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
---
drivers/pci/controller/pci-aardvark.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c
@@ -874,7 +874,9 @@ advk_pci_bridge_emul_pcie_conf_read(stru
case PCI_EXP_RTSTA: {
u32 isr0 = advk_readl(pcie, PCIE_ISR0_REG);
u32 msglog = advk_readl(pcie, PCIE_MSG_LOG_REG);
- *value = (isr0 & PCIE_MSG_PM_PME_MASK) << 16 | (msglog >> 16);
+ *value = msglog >> 16;
+ if (isr0 & PCIE_MSG_PM_PME_MASK)
+ *value |= PCI_EXP_RTSTA_PME;
return PCI_BRIDGE_EMUL_HANDLED;
}

View File

@ -17,7 +17,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
@@ -605,5 +605,79 @@
@@ -606,5 +606,79 @@
reg = <4>;
};
};

View File

@ -15,7 +15,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
@@ -190,7 +190,7 @@
@@ -191,7 +191,7 @@
reg = <0x1800000 0x60000>;
};
@ -24,7 +24,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
compatible = "qcom,prng";
reg = <0x22000 0x140>;
clocks = <&gcc GCC_PRNG_AHB_CLK>;
@@ -300,7 +300,7 @@
@@ -301,7 +301,7 @@
status = "disabled";
};
@ -33,7 +33,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
compatible = "qcom,crypto-v5.1";
reg = <0x08e3a000 0x6000>;
clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
@@ -386,7 +386,7 @@
@@ -387,7 +387,7 @@
dma-names = "rx", "tx";
};

View File

@ -16,7 +16,7 @@ Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
@@ -209,6 +209,16 @@
@@ -210,6 +210,16 @@
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
};

View File

@ -1,26 +0,0 @@
From a63c7162a1dae9f1185897641dc3e47e295563d6 Mon Sep 17 00:00:00 2001
From: Pavel Kubelun <be.dissent@gmail.com>
Date: Mon, 6 May 2019 20:55:16 +0300
Subject: [PATCH] ARM: dts: qcom: ipq4019: fix sleep clock
It seems like sleep_clk was copied from ipq806x.
Fix ipq40xx sleep_clk to the value QSDK defines.
Link: https://source.codeaurora.org/quic/qsdk/oss/kernel/linux-msm/commit/?id=d92ec59973484acc86dd24b67f10f8911b4b4b7d
Link: https://patchwork.kernel.org/comment/22721613/
Suggested-by: Bjorn Andersson <bjorn.andersson@linaro.org> [clock-output-names]
Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [just fixed the value]
---
--- a/arch/arm/boot/dts/qcom-ipq4019.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq4019.dtsi
@@ -142,7 +142,8 @@
clocks {
sleep_clk: sleep_clk {
compatible = "fixed-clock";
- clock-frequency = <32768>;
+ clock-frequency = <32000>;
+ clock-output-names = "gcc_sleep_clk_src";
#clock-cells = <0>;
};

View File

@ -21,7 +21,7 @@
static void qcom_scm_set_download_mode(bool enable)
{
bool avail;
@@ -1256,6 +1270,13 @@ static int qcom_scm_probe(struct platfor
@@ -1250,6 +1264,13 @@ static int qcom_scm_probe(struct platfor
if (download_mode)
qcom_scm_set_download_mode(true);

View File

@ -1,6 +1,6 @@
--- a/drivers/firmware/qcom_scm.c
+++ b/drivers/firmware/qcom_scm.c
@@ -1275,6 +1275,7 @@ static const struct of_device_id qcom_sc
@@ -1269,6 +1269,7 @@ static const struct of_device_id qcom_sc
SCM_HAS_BUS_CLK)
},
{ .compatible = "qcom,scm-ipq4019" },

View File

@ -5481,7 +5481,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
(transaction layer end-to-end CRC checking).
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1419,6 +1419,8 @@ void pci_walk_bus(struct pci_bus *top, i
@@ -1420,6 +1420,8 @@ void pci_walk_bus(struct pci_bus *top, i
void *userdata);
int pci_cfg_space_size(struct pci_dev *dev);
unsigned char pci_bus_max_busnr(struct pci_bus *bus);

View File

@ -19,7 +19,7 @@
},
[PORT_NPCM] = {
.name = "Nuvoton 16550",
@@ -2725,6 +2725,11 @@ serial8250_do_set_termios(struct uart_po
@@ -2735,6 +2735,11 @@ serial8250_do_set_termios(struct uart_po
unsigned long flags;
unsigned int baud, quot, frac = 0;

View File

@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
#include <linux/platform_data/x86/apple.h>
#include <linux/pm_runtime.h>
#include <linux/suspend.h>
@@ -5772,3 +5773,34 @@ static void nvidia_ion_ahci_fixup(struct
@@ -5784,3 +5785,34 @@ static void nvidia_ion_ahci_fixup(struct
pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING;
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup);