kernel: bump 5.10 to 5.10.92

Patches automatically rebased.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
This commit is contained in:
Rui Salvaterra 2022-01-16 12:53:21 +00:00 committed by Hauke Mehrtens
parent 7229981994
commit 61e58f7cec
53 changed files with 185 additions and 415 deletions

View file

@ -1,2 +1,2 @@
LINUX_VERSION-5.10 = .91 LINUX_VERSION-5.10 = .92
LINUX_KERNEL_HASH-5.10.91 = 62cefb84c1c63a048520ff74eca4b16ce375956c351c8227bf9e4869cd8595d1 LINUX_KERNEL_HASH-5.10.92 = d5750380a51d3f1d7ab1dd64451752e321c987e0b0099bcd452187d9a76ebb52

View file

@ -27,7 +27,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
--- a/drivers/usb/core/hcd.c --- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c
@@ -1945,6 +1945,16 @@ reset: @@ -1952,6 +1952,16 @@ reset:
return ret; return ret;
} }

View file

@ -19,7 +19,7 @@ it on BCM4708 family.
--- a/drivers/usb/host/xhci-plat.c --- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c
@@ -87,6 +87,8 @@ static int xhci_priv_resume_quirk(struct @@ -77,6 +77,8 @@ static int xhci_priv_resume_quirk(struct
static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci) static void xhci_plat_quirks(struct device *dev, struct xhci_hcd *xhci)
{ {
struct xhci_plat_priv *priv = xhci_to_priv(xhci); struct xhci_plat_priv *priv = xhci_to_priv(xhci);
@ -28,7 +28,7 @@ it on BCM4708 family.
/* /*
* As of now platform drivers don't provide MSI support so we ensure * As of now platform drivers don't provide MSI support so we ensure
@@ -94,6 +96,9 @@ static void xhci_plat_quirks(struct devi @@ -84,6 +86,9 @@ static void xhci_plat_quirks(struct devi
* dev struct in order to setup MSI * dev struct in order to setup MSI
*/ */
xhci->quirks |= XHCI_PLAT | priv->quirks; xhci->quirks |= XHCI_PLAT | priv->quirks;

View file

@ -27,11 +27,9 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/pci-bridge-emul.c | 6 +++++- drivers/pci/pci-bridge-emul.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-) 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/pci-bridge-emul.c b/drivers/pci/pci-bridge-emul.c
index db97cddfc85e..a4af1a533d71 100644
--- a/drivers/pci/pci-bridge-emul.c --- a/drivers/pci/pci-bridge-emul.c
+++ b/drivers/pci/pci-bridge-emul.c +++ b/drivers/pci/pci-bridge-emul.c
@@ -265,7 +265,11 @@ int pci_bridge_emul_init(struct pci_bridge_emul *bridge, @@ -265,7 +265,11 @@ int pci_bridge_emul_init(struct pci_brid
{ {
BUILD_BUG_ON(sizeof(bridge->conf) != PCI_BRIDGE_CONF_END); BUILD_BUG_ON(sizeof(bridge->conf) != PCI_BRIDGE_CONF_END);
@ -44,6 +42,3 @@ index db97cddfc85e..a4af1a533d71 100644
bridge->conf.header_type = PCI_HEADER_TYPE_BRIDGE; bridge->conf.header_type = PCI_HEADER_TYPE_BRIDGE;
bridge->conf.cache_line_size = 0x10; bridge->conf.cache_line_size = 0x10;
bridge->conf.status = cpu_to_le16(PCI_STATUS_CAP_LIST); bridge->conf.status = cpu_to_le16(PCI_STATUS_CAP_LIST);
--
2.34.1

View file

@ -19,11 +19,9 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/pci-bridge-emul.c | 43 +++++++++++++++++++++++++++++++++++ drivers/pci/pci-bridge-emul.c | 43 +++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+) 1 file changed, 43 insertions(+)
diff --git a/drivers/pci/pci-bridge-emul.c b/drivers/pci/pci-bridge-emul.c
index a4af1a533d71..0d1177e52a43 100644
--- a/drivers/pci/pci-bridge-emul.c --- a/drivers/pci/pci-bridge-emul.c
+++ b/drivers/pci/pci-bridge-emul.c +++ b/drivers/pci/pci-bridge-emul.c
@@ -251,6 +251,49 @@ struct pci_bridge_reg_behavior pcie_cap_regs_behavior[PCI_CAP_PCIE_SIZEOF / 4] = @@ -251,6 +251,49 @@ struct pci_bridge_reg_behavior pcie_cap_
.ro = GENMASK(15, 0) | PCI_EXP_RTSTA_PENDING, .ro = GENMASK(15, 0) | PCI_EXP_RTSTA_PENDING,
.w1c = PCI_EXP_RTSTA_PME, .w1c = PCI_EXP_RTSTA_PME,
}, },
@ -73,6 +71,3 @@ index a4af1a533d71..0d1177e52a43 100644
}; };
/* /*
--
2.34.1

View file

@ -19,11 +19,9 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/pci-aardvark.c | 15 +++++++++++---- drivers/pci/controller/pci-aardvark.c | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-) 1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index c5300d49807a..25af189a1052 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -884,8 +884,13 @@ advk_pci_bridge_emul_pcie_conf_read(struct pci_bridge_emul *bridge, @@ -882,8 +882,13 @@ advk_pci_bridge_emul_pcie_conf_read(stru
case PCI_CAP_LIST_ID: case PCI_CAP_LIST_ID:
case PCI_EXP_DEVCAP: case PCI_EXP_DEVCAP:
case PCI_EXP_DEVCTL: case PCI_EXP_DEVCTL:
@ -37,7 +35,7 @@ index c5300d49807a..25af189a1052 100644
default: default:
return PCI_BRIDGE_EMUL_NOT_HANDLED; return PCI_BRIDGE_EMUL_NOT_HANDLED;
} }
@@ -899,10 +904,6 @@ advk_pci_bridge_emul_pcie_conf_write(struct pci_bridge_emul *bridge, @@ -897,10 +902,6 @@ advk_pci_bridge_emul_pcie_conf_write(str
struct advk_pcie *pcie = bridge->data; struct advk_pcie *pcie = bridge->data;
switch (reg) { switch (reg) {
@ -48,7 +46,7 @@ index c5300d49807a..25af189a1052 100644
case PCI_EXP_LNKCTL: case PCI_EXP_LNKCTL:
advk_writel(pcie, new, PCIE_CORE_PCIEXP_CAP + reg); advk_writel(pcie, new, PCIE_CORE_PCIEXP_CAP + reg);
if (new & PCI_EXP_LNKCTL_RL) if (new & PCI_EXP_LNKCTL_RL)
@@ -924,6 +925,12 @@ advk_pci_bridge_emul_pcie_conf_write(struct pci_bridge_emul *bridge, @@ -922,6 +923,12 @@ advk_pci_bridge_emul_pcie_conf_write(str
advk_writel(pcie, new, PCIE_ISR0_REG); advk_writel(pcie, new, PCIE_ISR0_REG);
break; break;
@ -61,6 +59,3 @@ index c5300d49807a..25af189a1052 100644
default: default:
break; break;
} }
--
2.34.1

View file

@ -21,11 +21,9 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/pci-aardvark.c | 6 ++++-- drivers/pci/controller/pci-aardvark.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-) 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 25af189a1052..71ce9f02d596 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -116,6 +116,7 @@ @@ -114,6 +114,7 @@
#define PCIE_MSI_ADDR_HIGH_REG (CONTROL_BASE_ADDR + 0x54) #define PCIE_MSI_ADDR_HIGH_REG (CONTROL_BASE_ADDR + 0x54)
#define PCIE_MSI_STATUS_REG (CONTROL_BASE_ADDR + 0x58) #define PCIE_MSI_STATUS_REG (CONTROL_BASE_ADDR + 0x58)
#define PCIE_MSI_MASK_REG (CONTROL_BASE_ADDR + 0x5C) #define PCIE_MSI_MASK_REG (CONTROL_BASE_ADDR + 0x5C)
@ -33,7 +31,7 @@ index 25af189a1052..71ce9f02d596 100644
#define PCIE_MSI_PAYLOAD_REG (CONTROL_BASE_ADDR + 0x9C) #define PCIE_MSI_PAYLOAD_REG (CONTROL_BASE_ADDR + 0x9C)
#define PCIE_MSI_DATA_MASK GENMASK(15, 0) #define PCIE_MSI_DATA_MASK GENMASK(15, 0)
@@ -571,6 +572,7 @@ static void advk_pcie_setup_hw(struct advk_pcie *pcie) @@ -577,6 +578,7 @@ static void advk_pcie_setup_hw(struct ad
advk_writel(pcie, reg, PCIE_CORE_CTRL2_REG); advk_writel(pcie, reg, PCIE_CORE_CTRL2_REG);
/* Clear all interrupts */ /* Clear all interrupts */
@ -41,7 +39,7 @@ index 25af189a1052..71ce9f02d596 100644
advk_writel(pcie, PCIE_ISR0_ALL_MASK, PCIE_ISR0_REG); advk_writel(pcie, PCIE_ISR0_ALL_MASK, PCIE_ISR0_REG);
advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_REG); advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_REG);
advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG); advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG);
@@ -583,7 +585,7 @@ static void advk_pcie_setup_hw(struct advk_pcie *pcie) @@ -589,7 +591,7 @@ static void advk_pcie_setup_hw(struct ad
advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_MASK_REG); advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_MASK_REG);
/* Unmask all MSIs */ /* Unmask all MSIs */
@ -50,7 +48,7 @@ index 25af189a1052..71ce9f02d596 100644
/* Enable summary interrupt for GIC SPI source */ /* Enable summary interrupt for GIC SPI source */
reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK); reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK);
@@ -1399,7 +1401,7 @@ static void advk_pcie_handle_msi(struct advk_pcie *pcie) @@ -1397,7 +1399,7 @@ static void advk_pcie_handle_msi(struct
msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG); msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG);
msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG); msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG);
@ -59,6 +57,3 @@ index 25af189a1052..71ce9f02d596 100644
for (msi_idx = 0; msi_idx < MSI_IRQ_NUM; msi_idx++) { for (msi_idx = 0; msi_idx < MSI_IRQ_NUM; msi_idx++) {
if (!(BIT(msi_idx) & msi_status)) if (!(BIT(msi_idx) & msi_status))
--
2.34.1

View file

@ -16,11 +16,9 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/pci-aardvark.c | 2 ++ drivers/pci/controller/pci-aardvark.c | 2 ++
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 71ce9f02d596..6348584c33be 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1697,11 +1697,13 @@ static int advk_pcie_remove(struct platform_device *pdev) @@ -1696,11 +1696,13 @@ static int advk_pcie_remove(struct platf
struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie); struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
int i; int i;
@ -34,6 +32,3 @@ index 71ce9f02d596..6348584c33be 100644
advk_pcie_remove_msi_irq_domain(pcie); advk_pcie_remove_msi_irq_domain(pcie);
advk_pcie_remove_irq_domain(pcie); advk_pcie_remove_irq_domain(pcie);
--
2.34.1

View file

@ -17,11 +17,9 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/pci-aardvark.c | 6 ++++++ drivers/pci/controller/pci-aardvark.c | 6 ++++++
1 file changed, 6 insertions(+) 1 file changed, 6 insertions(+)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 6348584c33be..12eae05f3d10 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1695,6 +1695,7 @@ static int advk_pcie_remove(struct platform_device *pdev) @@ -1694,6 +1694,7 @@ static int advk_pcie_remove(struct platf
{ {
struct advk_pcie *pcie = platform_get_drvdata(pdev); struct advk_pcie *pcie = platform_get_drvdata(pdev);
struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie); struct pci_host_bridge *bridge = pci_host_bridge_from_priv(pcie);
@ -29,7 +27,7 @@ index 6348584c33be..12eae05f3d10 100644
int i; int i;
/* Remove PCI bus with all devices */ /* Remove PCI bus with all devices */
@@ -1703,6 +1704,11 @@ static int advk_pcie_remove(struct platform_device *pdev) @@ -1702,6 +1703,11 @@ static int advk_pcie_remove(struct platf
pci_remove_root_bus(bridge->bus); pci_remove_root_bus(bridge->bus);
pci_unlock_rescan_remove(); pci_unlock_rescan_remove();
@ -41,6 +39,3 @@ index 6348584c33be..12eae05f3d10 100644
/* Remove IRQ domains */ /* Remove IRQ domains */
advk_pcie_remove_msi_irq_domain(pcie); advk_pcie_remove_msi_irq_domain(pcie);
advk_pcie_remove_irq_domain(pcie); advk_pcie_remove_irq_domain(pcie);
--
2.34.1

View file

@ -16,11 +16,9 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/pci-aardvark.c | 21 +++++++++++++++++++++ drivers/pci/controller/pci-aardvark.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+) 1 file changed, 21 insertions(+)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 12eae05f3d10..08b34accfe2f 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1709,6 +1709,27 @@ static int advk_pcie_remove(struct platform_device *pdev) @@ -1708,6 +1708,27 @@ static int advk_pcie_remove(struct platf
val &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER); val &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
advk_writel(pcie, val, PCIE_CORE_CMD_STATUS_REG); advk_writel(pcie, val, PCIE_CORE_CMD_STATUS_REG);
@ -48,6 +46,3 @@ index 12eae05f3d10..08b34accfe2f 100644
/* Remove IRQ domains */ /* Remove IRQ domains */
advk_pcie_remove_msi_irq_domain(pcie); advk_pcie_remove_msi_irq_domain(pcie);
advk_pcie_remove_irq_domain(pcie); advk_pcie_remove_irq_domain(pcie);
--
2.34.1

View file

@ -19,11 +19,9 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/pci-aardvark.c | 3 +++ drivers/pci/controller/pci-aardvark.c | 3 +++
1 file changed, 3 insertions(+) 1 file changed, 3 insertions(+)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 08b34accfe2f..b3d89cb449b6 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1734,6 +1734,9 @@ static int advk_pcie_remove(struct platform_device *pdev) @@ -1733,6 +1733,9 @@ static int advk_pcie_remove(struct platf
advk_pcie_remove_msi_irq_domain(pcie); advk_pcie_remove_msi_irq_domain(pcie);
advk_pcie_remove_irq_domain(pcie); advk_pcie_remove_irq_domain(pcie);
@ -33,6 +31,3 @@ index 08b34accfe2f..b3d89cb449b6 100644
/* Disable outbound address windows mapping */ /* Disable outbound address windows mapping */
for (i = 0; i < OB_WIN_COUNT; i++) for (i = 0; i < OB_WIN_COUNT; i++)
advk_pcie_disable_ob_win(pcie, i); advk_pcie_disable_ob_win(pcie, i);
--
2.34.1

View file

@ -18,11 +18,9 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/pci-aardvark.c | 4 ++++ drivers/pci/controller/pci-aardvark.c | 4 ++++
1 file changed, 4 insertions(+) 1 file changed, 4 insertions(+)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index b3d89cb449b6..271ebecee965 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1737,6 +1737,10 @@ static int advk_pcie_remove(struct platform_device *pdev) @@ -1736,6 +1736,10 @@ static int advk_pcie_remove(struct platf
/* Free config space for emulated root bridge */ /* Free config space for emulated root bridge */
pci_bridge_emul_cleanup(&pcie->bridge); pci_bridge_emul_cleanup(&pcie->bridge);
@ -33,6 +31,3 @@ index b3d89cb449b6..271ebecee965 100644
/* Disable outbound address windows mapping */ /* Disable outbound address windows mapping */
for (i = 0; i < OB_WIN_COUNT; i++) for (i = 0; i < OB_WIN_COUNT; i++)
advk_pcie_disable_ob_win(pcie, i); advk_pcie_disable_ob_win(pcie, i);
--
2.34.1

View file

@ -18,11 +18,9 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/pci-aardvark.c | 5 +++++ drivers/pci/controller/pci-aardvark.c | 5 +++++
1 file changed, 5 insertions(+) 1 file changed, 5 insertions(+)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 271ebecee965..e5c88f1c177b 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1741,6 +1741,11 @@ static int advk_pcie_remove(struct platform_device *pdev) @@ -1740,6 +1740,11 @@ static int advk_pcie_remove(struct platf
if (pcie->reset_gpio) if (pcie->reset_gpio)
gpiod_set_value_cansleep(pcie->reset_gpio, 1); gpiod_set_value_cansleep(pcie->reset_gpio, 1);
@ -34,6 +32,3 @@ index 271ebecee965..e5c88f1c177b 100644
/* Disable outbound address windows mapping */ /* Disable outbound address windows mapping */
for (i = 0; i < OB_WIN_COUNT; i++) for (i = 0; i < OB_WIN_COUNT; i++)
advk_pcie_disable_ob_win(pcie, i); advk_pcie_disable_ob_win(pcie, i);
--
2.34.1

View file

@ -16,11 +16,9 @@ Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
drivers/pci/controller/pci-aardvark.c | 3 +++ drivers/pci/controller/pci-aardvark.c | 3 +++
1 file changed, 3 insertions(+) 1 file changed, 3 insertions(+)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index e5c88f1c177b..2a82c4652c28 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1750,6 +1750,9 @@ static int advk_pcie_remove(struct platform_device *pdev) @@ -1749,6 +1749,9 @@ static int advk_pcie_remove(struct platf
for (i = 0; i < OB_WIN_COUNT; i++) for (i = 0; i < OB_WIN_COUNT; i++)
advk_pcie_disable_ob_win(pcie, i); advk_pcie_disable_ob_win(pcie, i);
@ -30,6 +28,3 @@ index e5c88f1c177b..2a82c4652c28 100644
return 0; return 0;
} }
--
2.34.1

View file

@ -19,8 +19,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 10 +++++----- drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-) 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
index 810f25a47632..cc534a5c4b3b 100644
--- a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c --- a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
+++ b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c +++ b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
@@ -29,7 +29,7 @@ @@ -29,7 +29,7 @@
@ -41,7 +39,7 @@ index 810f25a47632..cc534a5c4b3b 100644
#define COMPHY_FW_SPEED_5G 3 #define COMPHY_FW_SPEED_5G 3
#define COMPHY_FW_SPEED_5_15625G 4 /* XFI 5G */ #define COMPHY_FW_SPEED_5_15625G 4 /* XFI 5G */
#define COMPHY_FW_SPEED_6G 5 #define COMPHY_FW_SPEED_6G 5
@@ -84,14 +84,14 @@ static const struct mvebu_a3700_comphy_conf mvebu_a3700_comphy_modes[] = { @@ -84,14 +84,14 @@ static const struct mvebu_a3700_comphy_c
MVEBU_A3700_COMPHY_CONF_ETH(0, PHY_INTERFACE_MODE_SGMII, 1, MVEBU_A3700_COMPHY_CONF_ETH(0, PHY_INTERFACE_MODE_SGMII, 1,
COMPHY_FW_MODE_SGMII), COMPHY_FW_MODE_SGMII),
MVEBU_A3700_COMPHY_CONF_ETH(0, PHY_INTERFACE_MODE_2500BASEX, 1, MVEBU_A3700_COMPHY_CONF_ETH(0, PHY_INTERFACE_MODE_2500BASEX, 1,
@ -58,7 +56,7 @@ index 810f25a47632..cc534a5c4b3b 100644
/* lane 2 */ /* lane 2 */
MVEBU_A3700_COMPHY_CONF_GEN(2, PHY_MODE_SATA, 0, MVEBU_A3700_COMPHY_CONF_GEN(2, PHY_MODE_SATA, 0,
COMPHY_FW_MODE_SATA), COMPHY_FW_MODE_SATA),
@@ -205,7 +205,7 @@ static int mvebu_a3700_comphy_power_on(struct phy *phy) @@ -205,7 +205,7 @@ static int mvebu_a3700_comphy_power_on(s
COMPHY_FW_SPEED_1_25G); COMPHY_FW_SPEED_1_25G);
break; break;
case PHY_INTERFACE_MODE_2500BASEX: case PHY_INTERFACE_MODE_2500BASEX:
@ -67,6 +65,3 @@ index 810f25a47632..cc534a5c4b3b 100644
lane->id); lane->id);
fw_param = COMPHY_FW_NET(fw_mode, lane->port, fw_param = COMPHY_FW_NET(fw_mode, lane->port,
COMPHY_FW_SPEED_3_125G); COMPHY_FW_SPEED_3_125G);
--
2.34.1

View file

@ -17,8 +17,6 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 6 ------ drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 6 ------
1 file changed, 6 deletions(-) 1 file changed, 6 deletions(-)
diff --git a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
index cc534a5c4b3b..6781488cfc58 100644
--- a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c --- a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
+++ b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c +++ b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
@@ -33,18 +33,12 @@ @@ -33,18 +33,12 @@
@ -40,6 +38,3 @@ index cc534a5c4b3b..6781488cfc58 100644
#define COMPHY_FW_SPEED_MAX 0x3F #define COMPHY_FW_SPEED_MAX 0x3F
#define COMPHY_FW_MODE(mode) ((mode) << 12) #define COMPHY_FW_MODE(mode) ((mode) << 12)
--
2.34.1

View file

@ -214,11 +214,9 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
include/linux/mtd/mtd.h | 2 ++ include/linux/mtd/mtd.h | 2 ++
4 files changed, 60 insertions(+), 14 deletions(-) 4 files changed, 60 insertions(+), 14 deletions(-)
diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
index 665fd9020b76..fe7626b5020e 100644
--- a/drivers/mtd/mtdpart.c --- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c
@@ -38,10 +38,11 @@ static struct mtd_info *allocate_partition(struct mtd_info *parent, @@ -40,10 +40,11 @@ static struct mtd_info *allocate_partiti
struct mtd_info *master = mtd_get_master(parent); struct mtd_info *master = mtd_get_master(parent);
int wr_alignment = (parent->flags & MTD_NO_ERASE) ? int wr_alignment = (parent->flags & MTD_NO_ERASE) ?
master->writesize : master->erasesize; master->writesize : master->erasesize;
@ -231,7 +229,7 @@ index 665fd9020b76..fe7626b5020e 100644
char *name; char *name;
u64 tmp; u64 tmp;
@@ -143,6 +144,7 @@ static struct mtd_info *allocate_partition(struct mtd_info *parent, @@ -145,6 +146,7 @@ static struct mtd_info *allocate_partiti
int i, max = parent->numeraseregions; int i, max = parent->numeraseregions;
u64 end = child->part.offset + child->part.size; u64 end = child->part.offset + child->part.size;
struct mtd_erase_region_info *regions = parent->eraseregions; struct mtd_erase_region_info *regions = parent->eraseregions;
@ -239,7 +237,7 @@ index 665fd9020b76..fe7626b5020e 100644
/* Find the first erase regions which is part of this /* Find the first erase regions which is part of this
* partition. */ * partition. */
@@ -153,15 +155,24 @@ static struct mtd_info *allocate_partition(struct mtd_info *parent, @@ -155,15 +157,24 @@ static struct mtd_info *allocate_partiti
if (i > 0) if (i > 0)
i--; i--;
@ -265,7 +263,7 @@ index 665fd9020b76..fe7626b5020e 100644
} }
/* /*
@@ -169,26 +180,43 @@ static struct mtd_info *allocate_partition(struct mtd_info *parent, @@ -171,26 +182,43 @@ static struct mtd_info *allocate_partiti
* exposes several regions with different erasesize. Adjust * exposes several regions with different erasesize. Adjust
* wr_alignment accordingly. * wr_alignment accordingly.
*/ */
@ -319,8 +317,6 @@ index 665fd9020b76..fe7626b5020e 100644
} }
child->size = child->part.size; child->size = child->part.size;
diff --git a/drivers/mtd/spi-nor/Kconfig b/drivers/mtd/spi-nor/Kconfig
index 24cd25de2b8b..09df9f1a8127 100644
--- a/drivers/mtd/spi-nor/Kconfig --- a/drivers/mtd/spi-nor/Kconfig
+++ b/drivers/mtd/spi-nor/Kconfig +++ b/drivers/mtd/spi-nor/Kconfig
@@ -10,6 +10,16 @@ menuconfig MTD_SPI_NOR @@ -10,6 +10,16 @@ menuconfig MTD_SPI_NOR
@ -340,11 +336,9 @@ index 24cd25de2b8b..09df9f1a8127 100644
config MTD_SPI_NOR_USE_4K_SECTORS config MTD_SPI_NOR_USE_4K_SECTORS
bool "Use small 4096 B erase sectors" bool "Use small 4096 B erase sectors"
default y default y
diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
index bd2c7717eb10..43d9b54e7edd 100644
--- a/drivers/mtd/spi-nor/core.c --- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c
@@ -1262,6 +1262,8 @@ static u8 spi_nor_convert_3to4_erase(u8 opcode) @@ -1075,6 +1075,8 @@ static u8 spi_nor_convert_3to4_erase(u8
static bool spi_nor_has_uniform_erase(const struct spi_nor *nor) static bool spi_nor_has_uniform_erase(const struct spi_nor *nor)
{ {
@ -353,7 +347,7 @@ index bd2c7717eb10..43d9b54e7edd 100644
return !!nor->params->erase_map.uniform_erase_type; return !!nor->params->erase_map.uniform_erase_type;
} }
@@ -2381,6 +2383,7 @@ static int spi_nor_select_erase(struct spi_nor *nor) @@ -2560,6 +2562,7 @@ static int spi_nor_select_erase(struct s
{ {
struct spi_nor_erase_map *map = &nor->params->erase_map; struct spi_nor_erase_map *map = &nor->params->erase_map;
const struct spi_nor_erase_type *erase = NULL; const struct spi_nor_erase_type *erase = NULL;
@ -361,7 +355,7 @@ index bd2c7717eb10..43d9b54e7edd 100644
struct mtd_info *mtd = &nor->mtd; struct mtd_info *mtd = &nor->mtd;
u32 wanted_size = nor->info->sector_size; u32 wanted_size = nor->info->sector_size;
int i; int i;
@@ -2413,8 +2416,9 @@ static int spi_nor_select_erase(struct spi_nor *nor) @@ -2592,8 +2595,9 @@ static int spi_nor_select_erase(struct s
*/ */
for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) { for (i = SNOR_ERASE_TYPE_MAX - 1; i >= 0; i--) {
if (map->erase_type[i].size) { if (map->erase_type[i].size) {
@ -373,7 +367,7 @@ index bd2c7717eb10..43d9b54e7edd 100644
} }
} }
@@ -2422,6 +2426,8 @@ static int spi_nor_select_erase(struct spi_nor *nor) @@ -2601,6 +2605,8 @@ static int spi_nor_select_erase(struct s
return -EINVAL; return -EINVAL;
mtd->erasesize = erase->size; mtd->erasesize = erase->size;
@ -382,11 +376,9 @@ index bd2c7717eb10..43d9b54e7edd 100644
return 0; return 0;
} }
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index a89955f3cbc8..33eafa27da50 100644
--- a/include/linux/mtd/mtd.h --- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h
@@ -243,6 +243,8 @@ struct mtd_info { @@ -242,6 +242,8 @@ struct mtd_info {
* information below if they desire * information below if they desire
*/ */
uint32_t erasesize; uint32_t erasesize;

View file

@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/mtd/spi-nor/Kconfig --- a/drivers/mtd/spi-nor/Kconfig
+++ b/drivers/mtd/spi-nor/Kconfig +++ b/drivers/mtd/spi-nor/Kconfig
@@ -24,6 +24,17 @@ config MTD_SPI_NOR_USE_4K_SECTORS @@ -34,6 +34,17 @@ config MTD_SPI_NOR_USE_4K_SECTORS
Please note that some tools/drivers/filesystems may not work with Please note that some tools/drivers/filesystems may not work with
4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum). 4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
@ -39,7 +39,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
endif # MTD_SPI_NOR endif # MTD_SPI_NOR
--- a/drivers/mtd/spi-nor/core.c --- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c
@@ -2786,6 +2786,21 @@ static void spi_nor_info_init_params(str @@ -2792,6 +2792,21 @@ static void spi_nor_info_init_params(str
*/ */
erase_mask = 0; erase_mask = 0;
i = 0; i = 0;
@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (info->flags & SECT_4K_PMC) { if (info->flags & SECT_4K_PMC) {
erase_mask |= BIT(i); erase_mask |= BIT(i);
spi_nor_set_erase_type(&map->erase_type[i], 4096u, spi_nor_set_erase_type(&map->erase_type[i], 4096u,
@@ -2797,6 +2812,7 @@ static void spi_nor_info_init_params(str @@ -2803,6 +2818,7 @@ static void spi_nor_info_init_params(str
SPINOR_OP_BE_4K); SPINOR_OP_BE_4K);
i++; i++;
} }

View file

@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+}; +};
--- a/drivers/mtd/spi-nor/core.c --- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c
@@ -2026,6 +2026,7 @@ static const struct spi_nor_manufacturer @@ -2028,6 +2028,7 @@ static const struct spi_nor_manufacturer
&spi_nor_winbond, &spi_nor_winbond,
&spi_nor_xilinx, &spi_nor_xilinx,
&spi_nor_xmc, &spi_nor_xmc,

View file

@ -19,7 +19,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
--- a/drivers/mtd/spi-nor/core.c --- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c
@@ -1447,6 +1447,23 @@ destroy_erase_cmd_list: @@ -1449,6 +1449,23 @@ destroy_erase_cmd_list:
return ret; return ret;
} }
@ -43,7 +43,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
/* /*
* Erase an address range on the nor chip. The address range may extend * Erase an address range on the nor chip. The address range may extend
* one or more erase sectors. Return an error is there is a problem erasing. * one or more erase sectors. Return an error is there is a problem erasing.
@@ -1474,6 +1491,10 @@ static int spi_nor_erase(struct mtd_info @@ -1476,6 +1493,10 @@ static int spi_nor_erase(struct mtd_info
if (ret) if (ret)
return ret; return ret;
@ -54,7 +54,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
/* whole-chip erase? */ /* whole-chip erase? */
if (len == mtd->size && !(nor->flags & SNOR_F_NO_OP_CHIP_ERASE)) { if (len == mtd->size && !(nor->flags & SNOR_F_NO_OP_CHIP_ERASE)) {
unsigned long timeout; unsigned long timeout;
@@ -1533,6 +1554,7 @@ static int spi_nor_erase(struct mtd_info @@ -1535,6 +1556,7 @@ static int spi_nor_erase(struct mtd_info
ret = spi_nor_write_disable(nor); ret = spi_nor_write_disable(nor);
erase_err: erase_err:
@ -62,7 +62,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
spi_nor_unlock_and_unprep(nor); spi_nor_unlock_and_unprep(nor);
return ret; return ret;
@@ -1872,7 +1894,9 @@ static int spi_nor_lock(struct mtd_info @@ -1874,7 +1896,9 @@ static int spi_nor_lock(struct mtd_info
if (ret) if (ret)
return ret; return ret;
@ -72,7 +72,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
spi_nor_unlock_and_unprep(nor); spi_nor_unlock_and_unprep(nor);
return ret; return ret;
@@ -1887,7 +1911,9 @@ static int spi_nor_unlock(struct mtd_inf @@ -1889,7 +1913,9 @@ static int spi_nor_unlock(struct mtd_inf
if (ret) if (ret)
return ret; return ret;
@ -82,7 +82,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
spi_nor_unlock_and_unprep(nor); spi_nor_unlock_and_unprep(nor);
return ret; return ret;
@@ -1902,7 +1928,9 @@ static int spi_nor_is_locked(struct mtd_ @@ -1904,7 +1930,9 @@ static int spi_nor_is_locked(struct mtd_
if (ret) if (ret)
return ret; return ret;
@ -92,7 +92,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
spi_nor_unlock_and_unprep(nor); spi_nor_unlock_and_unprep(nor);
return ret; return ret;
@@ -2095,6 +2123,10 @@ static int spi_nor_read(struct mtd_info @@ -2097,6 +2125,10 @@ static int spi_nor_read(struct mtd_info
if (ret) if (ret)
return ret; return ret;
@ -103,7 +103,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
while (len) { while (len) {
loff_t addr = from; loff_t addr = from;
@@ -2118,6 +2150,7 @@ static int spi_nor_read(struct mtd_info @@ -2120,6 +2152,7 @@ static int spi_nor_read(struct mtd_info
ret = 0; ret = 0;
read_err: read_err:
@ -111,7 +111,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
spi_nor_unlock_and_unprep(nor); spi_nor_unlock_and_unprep(nor);
return ret; return ret;
} }
@@ -2140,6 +2173,10 @@ static int spi_nor_write(struct mtd_info @@ -2142,6 +2175,10 @@ static int spi_nor_write(struct mtd_info
if (ret) if (ret)
return ret; return ret;
@ -122,7 +122,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
for (i = 0; i < len; ) { for (i = 0; i < len; ) {
ssize_t written; ssize_t written;
loff_t addr = to + i; loff_t addr = to + i;
@@ -2182,6 +2219,7 @@ static int spi_nor_write(struct mtd_info @@ -2184,6 +2221,7 @@ static int spi_nor_write(struct mtd_info
} }
write_err: write_err:
@ -130,7 +130,7 @@ Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
spi_nor_unlock_and_unprep(nor); spi_nor_unlock_and_unprep(nor);
return ret; return ret;
} }
@@ -2977,9 +3015,13 @@ static int spi_nor_init(struct spi_nor * @@ -2983,9 +3021,13 @@ static int spi_nor_init(struct spi_nor *
* reboots (e.g., crashes). Warn the user (or hopefully, system * reboots (e.g., crashes). Warn the user (or hopefully, system
* designer) that this is bad. * designer) that this is bad.
*/ */

View file

@ -64,7 +64,7 @@ Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
mutex_lock(&mtd_table_mutex); mutex_lock(&mtd_table_mutex);
--- a/include/linux/mtd/mtd.h --- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h
@@ -696,6 +696,8 @@ extern struct mtd_info *get_mtd_device(s @@ -698,6 +698,8 @@ extern struct mtd_info *get_mtd_device(s
extern int __get_mtd_device(struct mtd_info *mtd); extern int __get_mtd_device(struct mtd_info *mtd);
extern void __put_mtd_device(struct mtd_info *mtd); extern void __put_mtd_device(struct mtd_info *mtd);
extern struct mtd_info *get_mtd_device_nm(const char *name); extern struct mtd_info *get_mtd_device_nm(const char *name);

View file

@ -16,8 +16,6 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 6 +----- drivers/pci/controller/pci-aardvark.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-) 1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 226bce2f98f6..a573fc1aa4dd 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -37,10 +37,6 @@ @@ -37,10 +37,6 @@
@ -31,7 +29,7 @@ index 226bce2f98f6..a573fc1aa4dd 100644
/* PIO registers base address and register offsets */ /* PIO registers base address and register offsets */
#define PIO_BASE_ADDR 0x4000 #define PIO_BASE_ADDR 0x4000
#define PIO_CTRL (PIO_BASE_ADDR + 0x0) #define PIO_CTRL (PIO_BASE_ADDR + 0x0)
@@ -967,7 +963,7 @@ static int advk_sw_pci_bridge_init(struct advk_pcie *pcie) @@ -967,7 +963,7 @@ static int advk_sw_pci_bridge_init(struc
bridge->conf.pref_mem_limit = cpu_to_le16(PCI_PREF_RANGE_TYPE_64); bridge->conf.pref_mem_limit = cpu_to_le16(PCI_PREF_RANGE_TYPE_64);
/* Support interrupt A for MSI feature */ /* Support interrupt A for MSI feature */
@ -40,6 +38,3 @@ index 226bce2f98f6..a573fc1aa4dd 100644
/* Indicates supports for Completion Retry Status */ /* Indicates supports for Completion Retry Status */
bridge->pcie_conf.rootcap = cpu_to_le16(PCI_EXP_RTCAP_CRSVIS); bridge->pcie_conf.rootcap = cpu_to_le16(PCI_EXP_RTCAP_CRSVIS);
--
2.34.1

View file

@ -25,11 +25,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 13 ++++++------- drivers/pci/controller/pci-aardvark.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-) 1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index a573fc1aa4dd..1c6980a78975 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1391,7 +1391,7 @@ static void advk_pcie_remove_irq_domain(struct advk_pcie *pcie) @@ -1391,7 +1391,7 @@ static void advk_pcie_remove_irq_domain(
static void advk_pcie_handle_msi(struct advk_pcie *pcie) static void advk_pcie_handle_msi(struct advk_pcie *pcie)
{ {
u32 msi_val, msi_mask, msi_status, msi_idx; u32 msi_val, msi_mask, msi_status, msi_idx;
@ -38,7 +36,7 @@ index a573fc1aa4dd..1c6980a78975 100644
msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG); msi_mask = advk_readl(pcie, PCIE_MSI_MASK_REG);
msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG); msi_val = advk_readl(pcie, PCIE_MSI_STATUS_REG);
@@ -1401,13 +1401,12 @@ static void advk_pcie_handle_msi(struct advk_pcie *pcie) @@ -1401,13 +1401,12 @@ static void advk_pcie_handle_msi(struct
if (!(BIT(msi_idx) & msi_status)) if (!(BIT(msi_idx) & msi_status))
continue; continue;
@ -57,6 +55,3 @@ index a573fc1aa4dd..1c6980a78975 100644
} }
advk_writel(pcie, PCIE_ISR0_MSI_INT_PENDING, advk_writel(pcie, PCIE_ISR0_MSI_INT_PENDING,
--
2.34.1

View file

@ -30,11 +30,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 16 ++++++---------- drivers/pci/controller/pci-aardvark.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-) 1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 1c6980a78975..e68773527171 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1187,7 +1187,7 @@ static void advk_msi_irq_compose_msi_msg(struct irq_data *data, @@ -1187,7 +1187,7 @@ static void advk_msi_irq_compose_msi_msg
msg->address_lo = lower_32_bits(msi_msg); msg->address_lo = lower_32_bits(msi_msg);
msg->address_hi = upper_32_bits(msi_msg); msg->address_hi = upper_32_bits(msi_msg);
@ -43,7 +41,7 @@ index 1c6980a78975..e68773527171 100644
} }
static int advk_msi_set_affinity(struct irq_data *irq_data, static int advk_msi_set_affinity(struct irq_data *irq_data,
@@ -1204,15 +1204,11 @@ static int advk_msi_irq_domain_alloc(struct irq_domain *domain, @@ -1204,15 +1204,11 @@ static int advk_msi_irq_domain_alloc(str
int hwirq, i; int hwirq, i;
mutex_lock(&pcie->msi_used_lock); mutex_lock(&pcie->msi_used_lock);
@ -63,7 +61,7 @@ index 1c6980a78975..e68773527171 100644
for (i = 0; i < nr_irqs; i++) for (i = 0; i < nr_irqs; i++)
irq_domain_set_info(domain, virq + i, hwirq + i, irq_domain_set_info(domain, virq + i, hwirq + i,
@@ -1230,7 +1226,7 @@ static void advk_msi_irq_domain_free(struct irq_domain *domain, @@ -1230,7 +1226,7 @@ static void advk_msi_irq_domain_free(str
struct advk_pcie *pcie = domain->host_data; struct advk_pcie *pcie = domain->host_data;
mutex_lock(&pcie->msi_used_lock); mutex_lock(&pcie->msi_used_lock);
@ -72,6 +70,3 @@ index 1c6980a78975..e68773527171 100644
mutex_unlock(&pcie->msi_used_lock); mutex_unlock(&pcie->msi_used_lock);
} }
--
2.34.1

View file

@ -21,8 +21,6 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 48 +++++++++++++++------------ drivers/pci/controller/pci-aardvark.c | 48 +++++++++++++++------------
1 file changed, 26 insertions(+), 22 deletions(-) 1 file changed, 26 insertions(+), 22 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index e68773527171..01dfe70d9c2c 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -275,6 +275,7 @@ struct advk_pcie { @@ -275,6 +275,7 @@ struct advk_pcie {
@ -33,7 +31,7 @@ index e68773527171..01dfe70d9c2c 100644
struct irq_domain *irq_domain; struct irq_domain *irq_domain;
struct irq_chip irq_chip; struct irq_chip irq_chip;
raw_spinlock_t irq_lock; raw_spinlock_t irq_lock;
@@ -1440,21 +1441,26 @@ static void advk_pcie_handle_int(struct advk_pcie *pcie) @@ -1440,21 +1441,26 @@ static void advk_pcie_handle_int(struct
} }
} }
@ -70,7 +68,7 @@ index e68773527171..01dfe70d9c2c 100644
} }
static void __maybe_unused advk_pcie_disable_phy(struct advk_pcie *pcie) static void __maybe_unused advk_pcie_disable_phy(struct advk_pcie *pcie)
@@ -1521,7 +1527,7 @@ static int advk_pcie_probe(struct platform_device *pdev) @@ -1521,7 +1527,7 @@ static int advk_pcie_probe(struct platfo
struct advk_pcie *pcie; struct advk_pcie *pcie;
struct pci_host_bridge *bridge; struct pci_host_bridge *bridge;
struct resource_entry *entry; struct resource_entry *entry;
@ -79,7 +77,7 @@ index e68773527171..01dfe70d9c2c 100644
bridge = devm_pci_alloc_host_bridge(dev, sizeof(struct advk_pcie)); bridge = devm_pci_alloc_host_bridge(dev, sizeof(struct advk_pcie));
if (!bridge) if (!bridge)
@@ -1609,17 +1615,9 @@ static int advk_pcie_probe(struct platform_device *pdev) @@ -1609,17 +1615,9 @@ static int advk_pcie_probe(struct platfo
if (IS_ERR(pcie->base)) if (IS_ERR(pcie->base))
return PTR_ERR(pcie->base); return PTR_ERR(pcie->base);
@ -100,7 +98,7 @@ index e68773527171..01dfe70d9c2c 100644
pcie->reset_gpio = devm_gpiod_get_from_of_node(dev, dev->of_node, pcie->reset_gpio = devm_gpiod_get_from_of_node(dev, dev->of_node,
"reset-gpios", 0, "reset-gpios", 0,
@@ -1668,11 +1666,14 @@ static int advk_pcie_probe(struct platform_device *pdev) @@ -1668,11 +1666,14 @@ static int advk_pcie_probe(struct platfo
return ret; return ret;
} }
@ -115,7 +113,7 @@ index e68773527171..01dfe70d9c2c 100644
advk_pcie_remove_msi_irq_domain(pcie); advk_pcie_remove_msi_irq_domain(pcie);
advk_pcie_remove_irq_domain(pcie); advk_pcie_remove_irq_domain(pcie);
return ret; return ret;
@@ -1720,6 +1721,9 @@ static int advk_pcie_remove(struct platform_device *pdev) @@ -1720,6 +1721,9 @@ static int advk_pcie_remove(struct platf
advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_REG); advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_REG);
advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG); advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG);
@ -125,6 +123,3 @@ index e68773527171..01dfe70d9c2c 100644
/* Remove IRQ domains */ /* Remove IRQ domains */
advk_pcie_remove_msi_irq_domain(pcie); advk_pcie_remove_msi_irq_domain(pcie);
advk_pcie_remove_irq_domain(pcie); advk_pcie_remove_irq_domain(pcie);
--
2.34.1

View file

@ -16,11 +16,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 4 +++- drivers/pci/controller/pci-aardvark.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-) 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 01dfe70d9c2c..4be05b52d835 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1437,7 +1437,9 @@ static void advk_pcie_handle_int(struct advk_pcie *pcie) @@ -1437,7 +1437,9 @@ static void advk_pcie_handle_int(struct
PCIE_ISR1_REG); PCIE_ISR1_REG);
virq = irq_find_mapping(pcie->irq_domain, i); virq = irq_find_mapping(pcie->irq_domain, i);
@ -31,6 +29,3 @@ index 01dfe70d9c2c..4be05b52d835 100644
} }
} }
--
2.34.1

View file

@ -23,8 +23,6 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 26 ++++++++++++-------------- drivers/pci/controller/pci-aardvark.c | 26 ++++++++++++--------------
1 file changed, 12 insertions(+), 14 deletions(-) 1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 4be05b52d835..c7bd6b123857 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -281,8 +281,6 @@ struct advk_pcie { @@ -281,8 +281,6 @@ struct advk_pcie {
@ -36,7 +34,7 @@ index 4be05b52d835..c7bd6b123857 100644
struct msi_domain_info msi_domain_info; struct msi_domain_info msi_domain_info;
DECLARE_BITMAP(msi_used, MSI_IRQ_NUM); DECLARE_BITMAP(msi_used, MSI_IRQ_NUM);
struct mutex msi_used_lock; struct mutex msi_used_lock;
@@ -1197,6 +1195,12 @@ static int advk_msi_set_affinity(struct irq_data *irq_data, @@ -1197,6 +1195,12 @@ static int advk_msi_set_affinity(struct
return -EINVAL; return -EINVAL;
} }
@ -49,7 +47,7 @@ index 4be05b52d835..c7bd6b123857 100644
static int advk_msi_irq_domain_alloc(struct irq_domain *domain, static int advk_msi_irq_domain_alloc(struct irq_domain *domain,
unsigned int virq, unsigned int virq,
unsigned int nr_irqs, void *args) unsigned int nr_irqs, void *args)
@@ -1213,7 +1217,7 @@ static int advk_msi_irq_domain_alloc(struct irq_domain *domain, @@ -1213,7 +1217,7 @@ static int advk_msi_irq_domain_alloc(str
for (i = 0; i < nr_irqs; i++) for (i = 0; i < nr_irqs; i++)
irq_domain_set_info(domain, virq + i, hwirq + i, irq_domain_set_info(domain, virq + i, hwirq + i,
@ -58,7 +56,7 @@ index 4be05b52d835..c7bd6b123857 100644
domain->host_data, handle_simple_irq, domain->host_data, handle_simple_irq,
NULL, NULL); NULL, NULL);
@@ -1283,29 +1287,23 @@ static const struct irq_domain_ops advk_pcie_irq_domain_ops = { @@ -1283,29 +1287,23 @@ static const struct irq_domain_ops advk_
.xlate = irq_domain_xlate_onecell, .xlate = irq_domain_xlate_onecell,
}; };
@ -93,6 +91,3 @@ index 4be05b52d835..c7bd6b123857 100644
msi_msg_phys = virt_to_phys(&pcie->msi_msg); msi_msg_phys = virt_to_phys(&pcie->msi_msg);
--
2.34.1

View file

@ -15,8 +15,6 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 16 ++++++++-------- drivers/pci/controller/pci-aardvark.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-) 1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index c7bd6b123857..b5e5c922ad0d 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -281,7 +281,6 @@ struct advk_pcie { @@ -281,7 +281,6 @@ struct advk_pcie {
@ -27,7 +25,7 @@ index c7bd6b123857..b5e5c922ad0d 100644
DECLARE_BITMAP(msi_used, MSI_IRQ_NUM); DECLARE_BITMAP(msi_used, MSI_IRQ_NUM);
struct mutex msi_used_lock; struct mutex msi_used_lock;
u16 msi_msg; u16 msi_msg;
@@ -1291,20 +1290,20 @@ static struct irq_chip advk_msi_irq_chip = { @@ -1291,20 +1290,20 @@ static struct irq_chip advk_msi_irq_chip
.name = "advk-MSI", .name = "advk-MSI",
}; };
@ -54,7 +52,7 @@ index c7bd6b123857..b5e5c922ad0d 100644
msi_msg_phys = virt_to_phys(&pcie->msi_msg); msi_msg_phys = virt_to_phys(&pcie->msi_msg);
advk_writel(pcie, lower_32_bits(msi_msg_phys), advk_writel(pcie, lower_32_bits(msi_msg_phys),
@@ -1320,7 +1319,8 @@ static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie) @@ -1320,7 +1319,8 @@ static int advk_pcie_init_msi_irq_domain
pcie->msi_domain = pcie->msi_domain =
pci_msi_create_irq_domain(of_node_to_fwnode(node), pci_msi_create_irq_domain(of_node_to_fwnode(node),
@ -64,6 +62,3 @@ index c7bd6b123857..b5e5c922ad0d 100644
if (!pcie->msi_domain) { if (!pcie->msi_domain) {
irq_domain_remove(pcie->msi_inner_domain); irq_domain_remove(pcie->msi_inner_domain);
return -ENOMEM; return -ENOMEM;
--
2.34.1

View file

@ -19,11 +19,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 3 +-- drivers/pci/controller/pci-aardvark.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-) 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index b5e5c922ad0d..e641ad566488 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1299,7 +1299,6 @@ static struct msi_domain_info advk_msi_domain_info = { @@ -1299,7 +1299,6 @@ static struct msi_domain_info advk_msi_d
static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie) static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie)
{ {
struct device *dev = &pcie->pdev->dev; struct device *dev = &pcie->pdev->dev;
@ -31,7 +29,7 @@ index b5e5c922ad0d..e641ad566488 100644
phys_addr_t msi_msg_phys; phys_addr_t msi_msg_phys;
mutex_init(&pcie->msi_used_lock); mutex_init(&pcie->msi_used_lock);
@@ -1318,7 +1317,7 @@ static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie) @@ -1318,7 +1317,7 @@ static int advk_pcie_init_msi_irq_domain
return -ENOMEM; return -ENOMEM;
pcie->msi_domain = pcie->msi_domain =
@ -40,6 +38,3 @@ index b5e5c922ad0d..e641ad566488 100644
&advk_msi_domain_info, &advk_msi_domain_info,
pcie->msi_inner_domain); pcie->msi_inner_domain);
if (!pcie->msi_domain) { if (!pcie->msi_domain) {
--
2.34.1

View file

@ -18,11 +18,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 10 ++++++---- drivers/pci/controller/pci-aardvark.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-) 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index e641ad566488..5c887772fa97 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -578,15 +578,17 @@ static void advk_pcie_setup_hw(struct advk_pcie *pcie) @@ -578,15 +578,17 @@ static void advk_pcie_setup_hw(struct ad
advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG); advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG);
/* Disable All ISR0/1 Sources */ /* Disable All ISR0/1 Sources */
@ -44,6 +42,3 @@ index e641ad566488..5c887772fa97 100644
/* Enable summary interrupt for GIC SPI source */ /* Enable summary interrupt for GIC SPI source */
reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK); reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK);
advk_writel(pcie, reg, HOST_CTRL_INT_MASK_REG); advk_writel(pcie, reg, HOST_CTRL_INT_MASK_REG);
--
2.34.1

View file

@ -18,8 +18,6 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 54 ++++++++++++++++++++++++--- drivers/pci/controller/pci-aardvark.c | 54 ++++++++++++++++++++++++---
1 file changed, 49 insertions(+), 5 deletions(-) 1 file changed, 49 insertions(+), 5 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 5c887772fa97..43db884c81a1 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -281,6 +281,7 @@ struct advk_pcie { @@ -281,6 +281,7 @@ struct advk_pcie {
@ -30,7 +28,7 @@ index 5c887772fa97..43db884c81a1 100644
DECLARE_BITMAP(msi_used, MSI_IRQ_NUM); DECLARE_BITMAP(msi_used, MSI_IRQ_NUM);
struct mutex msi_used_lock; struct mutex msi_used_lock;
u16 msi_msg; u16 msi_msg;
@@ -577,12 +578,10 @@ static void advk_pcie_setup_hw(struct advk_pcie *pcie) @@ -577,12 +578,10 @@ static void advk_pcie_setup_hw(struct ad
advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_REG); advk_writel(pcie, PCIE_ISR1_ALL_MASK, PCIE_ISR1_REG);
advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG); advk_writel(pcie, PCIE_IRQ_ALL_MASK, HOST_CTRL_INT_STATUS_REG);
@ -45,7 +43,7 @@ index 5c887772fa97..43db884c81a1 100644
/* Unmask summary MSI interrupt */ /* Unmask summary MSI interrupt */
reg = advk_readl(pcie, PCIE_ISR0_MASK_REG); reg = advk_readl(pcie, PCIE_ISR0_MASK_REG);
@@ -1196,10 +1195,52 @@ static int advk_msi_set_affinity(struct irq_data *irq_data, @@ -1196,10 +1195,52 @@ static int advk_msi_set_affinity(struct
return -EINVAL; return -EINVAL;
} }
@ -98,7 +96,7 @@ index 5c887772fa97..43db884c81a1 100644
}; };
static int advk_msi_irq_domain_alloc(struct irq_domain *domain, static int advk_msi_irq_domain_alloc(struct irq_domain *domain,
@@ -1289,7 +1330,9 @@ static const struct irq_domain_ops advk_pcie_irq_domain_ops = { @@ -1289,7 +1330,9 @@ static const struct irq_domain_ops advk_
}; };
static struct irq_chip advk_msi_irq_chip = { static struct irq_chip advk_msi_irq_chip = {
@ -109,7 +107,7 @@ index 5c887772fa97..43db884c81a1 100644
}; };
static struct msi_domain_info advk_msi_domain_info = { static struct msi_domain_info advk_msi_domain_info = {
@@ -1303,6 +1346,7 @@ static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie) @@ -1303,6 +1346,7 @@ static int advk_pcie_init_msi_irq_domain
struct device *dev = &pcie->pdev->dev; struct device *dev = &pcie->pdev->dev;
phys_addr_t msi_msg_phys; phys_addr_t msi_msg_phys;
@ -117,6 +115,3 @@ index 5c887772fa97..43db884c81a1 100644
mutex_init(&pcie->msi_used_lock); mutex_init(&pcie->msi_used_lock);
msi_msg_phys = virt_to_phys(&pcie->msi_msg); msi_msg_phys = virt_to_phys(&pcie->msi_msg);
--
2.34.1

View file

@ -26,8 +26,6 @@ Cc: stable@vger.kernel.org # f21a8b1b6837 ("PCI: aardvark: Move to MSI handling
drivers/pci/controller/pci-aardvark.c | 21 +++++++++------------ drivers/pci/controller/pci-aardvark.c | 21 +++++++++------------
1 file changed, 9 insertions(+), 12 deletions(-) 1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 43db884c81a1..76a65c592b5c 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -284,7 +284,6 @@ struct advk_pcie { @@ -284,7 +284,6 @@ struct advk_pcie {
@ -38,7 +36,7 @@ index 43db884c81a1..76a65c592b5c 100644
int link_gen; int link_gen;
struct pci_bridge_emul bridge; struct pci_bridge_emul bridge;
struct gpio_desc *reset_gpio; struct gpio_desc *reset_gpio;
@@ -479,6 +478,7 @@ static void advk_pcie_disable_ob_win(struct advk_pcie *pcie, u8 win_num) @@ -479,6 +478,7 @@ static void advk_pcie_disable_ob_win(str
static void advk_pcie_setup_hw(struct advk_pcie *pcie) static void advk_pcie_setup_hw(struct advk_pcie *pcie)
{ {
@ -46,7 +44,7 @@ index 43db884c81a1..76a65c592b5c 100644
u32 reg; u32 reg;
int i; int i;
@@ -567,6 +567,11 @@ static void advk_pcie_setup_hw(struct advk_pcie *pcie) @@ -567,6 +567,11 @@ static void advk_pcie_setup_hw(struct ad
reg |= LANE_COUNT_1; reg |= LANE_COUNT_1;
advk_writel(pcie, reg, PCIE_CORE_CTRL0_REG); advk_writel(pcie, reg, PCIE_CORE_CTRL0_REG);
@ -58,7 +56,7 @@ index 43db884c81a1..76a65c592b5c 100644
/* Enable MSI */ /* Enable MSI */
reg = advk_readl(pcie, PCIE_CORE_CTRL2_REG); reg = advk_readl(pcie, PCIE_CORE_CTRL2_REG);
reg |= PCIE_CORE_CTRL2_MSI_ENABLE; reg |= PCIE_CORE_CTRL2_MSI_ENABLE;
@@ -1182,10 +1187,10 @@ static void advk_msi_irq_compose_msi_msg(struct irq_data *data, @@ -1182,10 +1187,10 @@ static void advk_msi_irq_compose_msi_msg
struct msi_msg *msg) struct msi_msg *msg)
{ {
struct advk_pcie *pcie = irq_data_get_irq_chip_data(data); struct advk_pcie *pcie = irq_data_get_irq_chip_data(data);
@ -72,7 +70,7 @@ index 43db884c81a1..76a65c592b5c 100644
msg->data = data->hwirq; msg->data = data->hwirq;
} }
@@ -1344,18 +1349,10 @@ static struct msi_domain_info advk_msi_domain_info = { @@ -1344,18 +1349,10 @@ static struct msi_domain_info advk_msi_d
static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie) static int advk_pcie_init_msi_irq_domain(struct advk_pcie *pcie)
{ {
struct device *dev = &pcie->pdev->dev; struct device *dev = &pcie->pdev->dev;
@ -91,6 +89,3 @@ index 43db884c81a1..76a65c592b5c 100644
pcie->msi_inner_domain = pcie->msi_inner_domain =
irq_domain_add_linear(NULL, MSI_IRQ_NUM, irq_domain_add_linear(NULL, MSI_IRQ_NUM,
&advk_msi_domain_ops, pcie); &advk_msi_domain_ops, pcie);
--
2.34.1

View file

@ -25,11 +25,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 2 +- drivers/pci/controller/pci-aardvark.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 76a65c592b5c..e6cfee3b41a2 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1342,7 +1342,7 @@ static struct irq_chip advk_msi_irq_chip = { @@ -1342,7 +1342,7 @@ static struct irq_chip advk_msi_irq_chip
static struct msi_domain_info advk_msi_domain_info = { static struct msi_domain_info advk_msi_domain_info = {
.flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS | .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
@ -38,6 +36,3 @@ index 76a65c592b5c..e6cfee3b41a2 100644
.chip = &advk_msi_irq_chip, .chip = &advk_msi_irq_chip,
}; };
--
2.34.1

View file

@ -28,8 +28,6 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 36 ++++++++++++++++++++++++++- drivers/pci/controller/pci-aardvark.c | 36 ++++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-) 1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index e6cfee3b41a2..7956b103d3c7 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -97,6 +97,10 @@ @@ -97,6 +97,10 @@
@ -43,7 +41,7 @@ index e6cfee3b41a2..7956b103d3c7 100644
#define PCIE_ISR0_INTX_ASSERT(val) BIT(16 + (val)) #define PCIE_ISR0_INTX_ASSERT(val) BIT(16 + (val))
#define PCIE_ISR0_INTX_DEASSERT(val) BIT(20 + (val)) #define PCIE_ISR0_INTX_DEASSERT(val) BIT(20 + (val))
#define PCIE_ISR0_ALL_MASK GENMASK(31, 0) #define PCIE_ISR0_ALL_MASK GENMASK(31, 0)
@@ -785,11 +789,15 @@ advk_pci_bridge_emul_base_conf_read(struct pci_bridge_emul *bridge, @@ -785,11 +789,15 @@ advk_pci_bridge_emul_base_conf_read(stru
case PCI_INTERRUPT_LINE: { case PCI_INTERRUPT_LINE: {
/* /*
* From the whole 32bit register we support reading from HW only * From the whole 32bit register we support reading from HW only
@ -60,7 +58,7 @@ index e6cfee3b41a2..7956b103d3c7 100644
if (advk_readl(pcie, PCIE_CORE_CTRL1_REG) & HOT_RESET_GEN) if (advk_readl(pcie, PCIE_CORE_CTRL1_REG) & HOT_RESET_GEN)
val |= PCI_BRIDGE_CTL_BUS_RESET << 16; val |= PCI_BRIDGE_CTL_BUS_RESET << 16;
else else
@@ -815,6 +823,19 @@ advk_pci_bridge_emul_base_conf_write(struct pci_bridge_emul *bridge, @@ -815,6 +823,19 @@ advk_pci_bridge_emul_base_conf_write(str
break; break;
case PCI_INTERRUPT_LINE: case PCI_INTERRUPT_LINE:
@ -80,7 +78,7 @@ index e6cfee3b41a2..7956b103d3c7 100644
if (mask & (PCI_BRIDGE_CTL_BUS_RESET << 16)) { if (mask & (PCI_BRIDGE_CTL_BUS_RESET << 16)) {
u32 val = advk_readl(pcie, PCIE_CORE_CTRL1_REG); u32 val = advk_readl(pcie, PCIE_CORE_CTRL1_REG);
if (new & (PCI_BRIDGE_CTL_BUS_RESET << 16)) if (new & (PCI_BRIDGE_CTL_BUS_RESET << 16))
@@ -1464,6 +1485,19 @@ static void advk_pcie_handle_int(struct advk_pcie *pcie) @@ -1464,6 +1485,19 @@ static void advk_pcie_handle_int(struct
isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG); isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK); isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK);
@ -100,6 +98,3 @@ index e6cfee3b41a2..7956b103d3c7 100644
/* Process MSI interrupts */ /* Process MSI interrupts */
if (isr0_status & PCIE_ISR0_MSI_INT_PENDING) if (isr0_status & PCIE_ISR0_MSI_INT_PENDING)
advk_pcie_handle_msi(pcie); advk_pcie_handle_msi(pcie);
--
2.34.1

View file

@ -29,11 +29,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 4 +++- drivers/pci/controller/pci-aardvark.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-) 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 7956b103d3c7..44d9c8c4d258 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -874,7 +874,9 @@ advk_pci_bridge_emul_pcie_conf_read(struct pci_bridge_emul *bridge, @@ -874,7 +874,9 @@ advk_pci_bridge_emul_pcie_conf_read(stru
case PCI_EXP_RTSTA: { case PCI_EXP_RTSTA: {
u32 isr0 = advk_readl(pcie, PCIE_ISR0_REG); u32 isr0 = advk_readl(pcie, PCIE_ISR0_REG);
u32 msglog = advk_readl(pcie, PCIE_MSG_LOG_REG); u32 msglog = advk_readl(pcie, PCIE_MSG_LOG_REG);
@ -44,6 +42,3 @@ index 7956b103d3c7..44d9c8c4d258 100644
return PCI_BRIDGE_EMUL_HANDLED; return PCI_BRIDGE_EMUL_HANDLED;
} }
--
2.34.1

View file

@ -17,11 +17,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 20 +++++++++++--------- drivers/pci/controller/pci-aardvark.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-) 1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 44d9c8c4d258..efd7e53b5e06 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -933,19 +933,21 @@ advk_pci_bridge_emul_pcie_conf_write(struct pci_bridge_emul *bridge, @@ -933,19 +933,21 @@ advk_pci_bridge_emul_pcie_conf_write(str
advk_pcie_wait_for_retrain(pcie); advk_pcie_wait_for_retrain(pcie);
break; break;
@ -52,6 +50,3 @@ index 44d9c8c4d258..efd7e53b5e06 100644
break; break;
case PCI_EXP_DEVCTL: case PCI_EXP_DEVCTL:
--
2.34.1

View file

@ -23,11 +23,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 13 +++++++++++++ drivers/pci/controller/pci-aardvark.c | 13 +++++++++++++
1 file changed, 13 insertions(+) 1 file changed, 13 insertions(+)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index efd7e53b5e06..e2b66b0e8fb3 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1489,6 +1489,19 @@ static void advk_pcie_handle_int(struct advk_pcie *pcie) @@ -1489,6 +1489,19 @@ static void advk_pcie_handle_int(struct
isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG); isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK); isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK);
@ -47,6 +45,3 @@ index efd7e53b5e06..e2b66b0e8fb3 100644
/* Process ERR interrupt */ /* Process ERR interrupt */
if (isr0_status & PCIE_ISR0_ERR_MASK) { if (isr0_status & PCIE_ISR0_ERR_MASK) {
advk_writel(pcie, PCIE_ISR0_ERR_MASK, PCIE_ISR0_REG); advk_writel(pcie, PCIE_ISR0_ERR_MASK, PCIE_ISR0_REG);
--
2.34.1

View file

@ -38,11 +38,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 94 +++++++++++++++------------ drivers/pci/controller/pci-aardvark.c | 94 +++++++++++++++------------
1 file changed, 52 insertions(+), 42 deletions(-) 1 file changed, 52 insertions(+), 42 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index e2b66b0e8fb3..85a632537b70 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -597,6 +597,11 @@ static void advk_pcie_setup_hw(struct advk_pcie *pcie) @@ -597,6 +597,11 @@ static void advk_pcie_setup_hw(struct ad
reg &= ~PCIE_ISR0_MSI_INT_PENDING; reg &= ~PCIE_ISR0_MSI_INT_PENDING;
advk_writel(pcie, reg, PCIE_ISR0_MASK_REG); advk_writel(pcie, reg, PCIE_ISR0_MASK_REG);
@ -54,7 +52,7 @@ index e2b66b0e8fb3..85a632537b70 100644
/* Enable summary interrupt for GIC SPI source */ /* Enable summary interrupt for GIC SPI source */
reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK); reg = PCIE_IRQ_ALL_MASK & (~PCIE_IRQ_ENABLE_INTS_MASK);
advk_writel(pcie, reg, HOST_CTRL_INT_MASK_REG); advk_writel(pcie, reg, HOST_CTRL_INT_MASK_REG);
@@ -863,22 +868,11 @@ advk_pci_bridge_emul_pcie_conf_read(struct pci_bridge_emul *bridge, @@ -863,22 +868,11 @@ advk_pci_bridge_emul_pcie_conf_read(stru
*value = PCI_EXP_SLTSTA_PDS << 16; *value = PCI_EXP_SLTSTA_PDS << 16;
return PCI_BRIDGE_EMUL_HANDLED; return PCI_BRIDGE_EMUL_HANDLED;
@ -82,7 +80,7 @@ index e2b66b0e8fb3..85a632537b70 100644
case PCI_EXP_LNKCAP: { case PCI_EXP_LNKCAP: {
u32 val = advk_readl(pcie, PCIE_CORE_PCIEXP_CAP + reg); u32 val = advk_readl(pcie, PCIE_CORE_PCIEXP_CAP + reg);
@@ -933,22 +927,19 @@ advk_pci_bridge_emul_pcie_conf_write(struct pci_bridge_emul *bridge, @@ -933,22 +927,19 @@ advk_pci_bridge_emul_pcie_conf_write(str
advk_pcie_wait_for_retrain(pcie); advk_pcie_wait_for_retrain(pcie);
break; break;
@ -116,7 +114,7 @@ index e2b66b0e8fb3..85a632537b70 100644
case PCI_EXP_DEVCTL: case PCI_EXP_DEVCTL:
case PCI_EXP_DEVCTL2: case PCI_EXP_DEVCTL2:
@@ -1450,6 +1441,34 @@ static void advk_pcie_remove_irq_domain(struct advk_pcie *pcie) @@ -1450,6 +1441,34 @@ static void advk_pcie_remove_irq_domain(
irq_domain_remove(pcie->irq_domain); irq_domain_remove(pcie->irq_domain);
} }
@ -151,7 +149,7 @@ index e2b66b0e8fb3..85a632537b70 100644
static void advk_pcie_handle_msi(struct advk_pcie *pcie) static void advk_pcie_handle_msi(struct advk_pcie *pcie)
{ {
u32 msi_val, msi_mask, msi_status, msi_idx; u32 msi_val, msi_mask, msi_status, msi_idx;
@@ -1489,18 +1508,9 @@ static void advk_pcie_handle_int(struct advk_pcie *pcie) @@ -1489,18 +1508,9 @@ static void advk_pcie_handle_int(struct
isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG); isr1_mask = advk_readl(pcie, PCIE_ISR1_MASK_REG);
isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK); isr1_status = isr1_val & ((~isr1_mask) & PCIE_ISR1_ALL_MASK);
@ -173,6 +171,3 @@ index e2b66b0e8fb3..85a632537b70 100644
/* Process ERR interrupt */ /* Process ERR interrupt */
if (isr0_status & PCIE_ISR0_ERR_MASK) { if (isr0_status & PCIE_ISR0_ERR_MASK) {
--
2.34.1

View file

@ -31,8 +31,6 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 69 ++++++++++++++++++++++++++- drivers/pci/controller/pci-aardvark.c | 69 ++++++++++++++++++++++++++-
1 file changed, 67 insertions(+), 2 deletions(-) 1 file changed, 67 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 85a632537b70..b6e723c5725c 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -280,6 +280,7 @@ struct advk_pcie { @@ -280,6 +280,7 @@ struct advk_pcie {
@ -43,7 +41,7 @@ index 85a632537b70..b6e723c5725c 100644
struct irq_domain *irq_domain; struct irq_domain *irq_domain;
struct irq_chip irq_chip; struct irq_chip irq_chip;
raw_spinlock_t irq_lock; raw_spinlock_t irq_lock;
@@ -1441,6 +1442,44 @@ static void advk_pcie_remove_irq_domain(struct advk_pcie *pcie) @@ -1441,6 +1442,44 @@ static void advk_pcie_remove_irq_domain(
irq_domain_remove(pcie->irq_domain); irq_domain_remove(pcie->irq_domain);
} }
@ -88,7 +86,7 @@ index 85a632537b70..b6e723c5725c 100644
static void advk_pcie_handle_pme(struct advk_pcie *pcie) static void advk_pcie_handle_pme(struct advk_pcie *pcie)
{ {
u32 requester = advk_readl(pcie, PCIE_MSG_LOG_REG) >> 16; u32 requester = advk_readl(pcie, PCIE_MSG_LOG_REG) >> 16;
@@ -1463,7 +1502,7 @@ static void advk_pcie_handle_pme(struct advk_pcie *pcie) @@ -1463,7 +1502,7 @@ static void advk_pcie_handle_pme(struct
if (!(le16_to_cpu(pcie->bridge.pcie_conf.rootctl) & PCI_EXP_RTCTL_PMEIE)) if (!(le16_to_cpu(pcie->bridge.pcie_conf.rootctl) & PCI_EXP_RTCTL_PMEIE))
return; return;
@ -97,7 +95,7 @@ index 85a632537b70..b6e723c5725c 100644
if (generic_handle_irq(virq) == -EINVAL) if (generic_handle_irq(virq) == -EINVAL)
dev_err_ratelimited(&pcie->pdev->dev, "unhandled PME IRQ\n"); dev_err_ratelimited(&pcie->pdev->dev, "unhandled PME IRQ\n");
} }
@@ -1520,7 +1559,7 @@ static void advk_pcie_handle_int(struct advk_pcie *pcie) @@ -1520,7 +1559,7 @@ static void advk_pcie_handle_int(struct
* Aardvark HW returns zero for PCI_ERR_ROOT_AER_IRQ, so use * Aardvark HW returns zero for PCI_ERR_ROOT_AER_IRQ, so use
* PCIe interrupt 0 * PCIe interrupt 0
*/ */
@ -106,7 +104,7 @@ index 85a632537b70..b6e723c5725c 100644
if (generic_handle_irq(virq) == -EINVAL) if (generic_handle_irq(virq) == -EINVAL)
dev_err_ratelimited(&pcie->pdev->dev, "unhandled ERR IRQ\n"); dev_err_ratelimited(&pcie->pdev->dev, "unhandled ERR IRQ\n");
} }
@@ -1566,6 +1605,21 @@ static void advk_pcie_irq_handler(struct irq_desc *desc) @@ -1566,6 +1605,21 @@ static void advk_pcie_irq_handler(struct
chained_irq_exit(chip, desc); chained_irq_exit(chip, desc);
} }
@ -128,7 +126,7 @@ index 85a632537b70..b6e723c5725c 100644
static void __maybe_unused advk_pcie_disable_phy(struct advk_pcie *pcie) static void __maybe_unused advk_pcie_disable_phy(struct advk_pcie *pcie)
{ {
phy_power_off(pcie->phy); phy_power_off(pcie->phy);
@@ -1769,14 +1823,24 @@ static int advk_pcie_probe(struct platform_device *pdev) @@ -1769,14 +1823,24 @@ static int advk_pcie_probe(struct platfo
return ret; return ret;
} }
@ -153,7 +151,7 @@ index 85a632537b70..b6e723c5725c 100644
advk_pcie_remove_msi_irq_domain(pcie); advk_pcie_remove_msi_irq_domain(pcie);
advk_pcie_remove_irq_domain(pcie); advk_pcie_remove_irq_domain(pcie);
return ret; return ret;
@@ -1828,6 +1892,7 @@ static int advk_pcie_remove(struct platform_device *pdev) @@ -1828,6 +1892,7 @@ static int advk_pcie_remove(struct platf
irq_set_chained_handler_and_data(pcie->irq, NULL, NULL); irq_set_chained_handler_and_data(pcie->irq, NULL, NULL);
/* Remove IRQ domains */ /* Remove IRQ domains */
@ -161,6 +159,3 @@ index 85a632537b70..b6e723c5725c 100644
advk_pcie_remove_msi_irq_domain(pcie); advk_pcie_remove_msi_irq_domain(pcie);
advk_pcie_remove_irq_domain(pcie); advk_pcie_remove_irq_domain(pcie);
--
2.34.1

View file

@ -17,11 +17,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 1 - drivers/pci/controller/pci-aardvark.c | 1 -
1 file changed, 1 deletion(-) 1 file changed, 1 deletion(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index b6e723c5725c..99469e3dc945 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1420,7 +1420,6 @@ static int advk_pcie_init_irq_domain(struct advk_pcie *pcie) @@ -1420,7 +1420,6 @@ static int advk_pcie_init_irq_domain(str
} }
irq_chip->irq_mask = advk_pcie_irq_mask; irq_chip->irq_mask = advk_pcie_irq_mask;
@ -29,6 +27,3 @@ index b6e723c5725c..99469e3dc945 100644
irq_chip->irq_unmask = advk_pcie_irq_unmask; irq_chip->irq_unmask = advk_pcie_irq_unmask;
pcie->irq_domain = pcie->irq_domain =
--
2.34.1

View file

@ -15,11 +15,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 1 - drivers/pci/controller/pci-aardvark.c | 1 -
1 file changed, 1 deletion(-) 1 file changed, 1 deletion(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 99469e3dc945..e090276ef902 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1337,7 +1337,6 @@ static int advk_pcie_irq_map(struct irq_domain *h, @@ -1337,7 +1337,6 @@ static int advk_pcie_irq_map(struct irq_
{ {
struct advk_pcie *pcie = h->host_data; struct advk_pcie *pcie = h->host_data;
@ -27,6 +25,3 @@ index 99469e3dc945..e090276ef902 100644
irq_set_status_flags(virq, IRQ_LEVEL); irq_set_status_flags(virq, IRQ_LEVEL);
irq_set_chip_and_handler(virq, &pcie->irq_chip, irq_set_chip_and_handler(virq, &pcie->irq_chip,
handle_level_irq); handle_level_irq);
--
2.34.1

View file

@ -15,11 +15,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 2 +- drivers/pci/controller/pci-aardvark.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index e090276ef902..aa5629b8b5c9 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1618,7 +1618,7 @@ static int advk_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) @@ -1618,7 +1618,7 @@ static int advk_pcie_map_irq(const struc
return of_irq_parse_and_map_pci(dev, slot, pin); return of_irq_parse_and_map_pci(dev, slot, pin);
} }
@ -28,6 +26,3 @@ index e090276ef902..aa5629b8b5c9 100644
{ {
phy_power_off(pcie->phy); phy_power_off(pcie->phy);
phy_exit(pcie->phy); phy_exit(pcie->phy);
--
2.34.1

View file

@ -16,11 +16,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 8 ++++++-- drivers/pci/controller/pci-aardvark.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-) 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index aa5629b8b5c9..3c0b6b931061 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1003,8 +1003,12 @@ static bool advk_pcie_valid_device(struct advk_pcie *pcie, struct pci_bus *bus, @@ -1003,8 +1003,12 @@ static bool advk_pcie_valid_device(struc
return false; return false;
/* /*
@ -35,6 +33,3 @@ index aa5629b8b5c9..3c0b6b931061 100644
*/ */
if (!pci_is_root_bus(bus) && !advk_pcie_link_up(pcie)) if (!pci_is_root_bus(bus) && !advk_pcie_link_up(pcie))
return false; return false;
--
2.34.1

View file

@ -31,8 +31,6 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/pci/controller/pci-aardvark.c | 25 +++++++------------------ drivers/pci/controller/pci-aardvark.c | 25 +++++++------------------
1 file changed, 7 insertions(+), 18 deletions(-) 1 file changed, 7 insertions(+), 18 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 3c0b6b931061..319dd830e36e 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -282,7 +282,6 @@ struct advk_pcie { @@ -282,7 +282,6 @@ struct advk_pcie {
@ -43,7 +41,7 @@ index 3c0b6b931061..319dd830e36e 100644
raw_spinlock_t irq_lock; raw_spinlock_t irq_lock;
struct irq_domain *msi_domain; struct irq_domain *msi_domain;
struct irq_domain *msi_inner_domain; struct irq_domain *msi_inner_domain;
@@ -1336,14 +1335,19 @@ static void advk_pcie_irq_unmask(struct irq_data *d) @@ -1336,14 +1335,19 @@ static void advk_pcie_irq_unmask(struct
raw_spin_unlock_irqrestore(&pcie->irq_lock, flags); raw_spin_unlock_irqrestore(&pcie->irq_lock, flags);
} }
@ -65,7 +63,7 @@ index 3c0b6b931061..319dd830e36e 100644
irq_set_chip_data(virq, pcie); irq_set_chip_data(virq, pcie);
return 0; return 0;
@@ -1402,7 +1406,6 @@ static int advk_pcie_init_irq_domain(struct advk_pcie *pcie) @@ -1402,7 +1406,6 @@ static int advk_pcie_init_irq_domain(str
struct device *dev = &pcie->pdev->dev; struct device *dev = &pcie->pdev->dev;
struct device_node *node = dev->of_node; struct device_node *node = dev->of_node;
struct device_node *pcie_intc_node; struct device_node *pcie_intc_node;
@ -73,7 +71,7 @@ index 3c0b6b931061..319dd830e36e 100644
int ret = 0; int ret = 0;
raw_spin_lock_init(&pcie->irq_lock); raw_spin_lock_init(&pcie->irq_lock);
@@ -1413,28 +1416,14 @@ static int advk_pcie_init_irq_domain(struct advk_pcie *pcie) @@ -1413,28 +1416,14 @@ static int advk_pcie_init_irq_domain(str
return -ENODEV; return -ENODEV;
} }
@ -102,6 +100,3 @@ index 3c0b6b931061..319dd830e36e 100644
of_node_put(pcie_intc_node); of_node_put(pcie_intc_node);
return ret; return ret;
} }
--
2.34.1

View file

@ -29,8 +29,6 @@ Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 62 +++++++++----------- drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 62 +++++++++-----------
1 file changed, 29 insertions(+), 33 deletions(-) 1 file changed, 29 insertions(+), 33 deletions(-)
diff --git a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
index 6781488cfc58..dbb2d4308851 100644
--- a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c --- a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
+++ b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c +++ b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
@@ -20,7 +20,6 @@ @@ -20,7 +20,6 @@
@ -115,7 +113,7 @@ index 6781488cfc58..dbb2d4308851 100644
}; };
static int mvebu_a3700_comphy_smc(unsigned long function, unsigned long lane, static int mvebu_a3700_comphy_smc(unsigned long function, unsigned long lane,
@@ -120,7 +114,7 @@ static int mvebu_a3700_comphy_smc(unsigned long function, unsigned long lane, @@ -120,7 +114,7 @@ static int mvebu_a3700_comphy_smc(unsign
} }
} }
@ -124,7 +122,7 @@ index 6781488cfc58..dbb2d4308851 100644
enum phy_mode mode, enum phy_mode mode,
int submode) int submode)
{ {
@@ -132,7 +126,6 @@ static int mvebu_a3700_comphy_get_fw_mode(int lane, int port, @@ -132,7 +126,6 @@ static int mvebu_a3700_comphy_get_fw_mod
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
if (mvebu_a3700_comphy_modes[i].lane == lane && if (mvebu_a3700_comphy_modes[i].lane == lane &&
@ -132,7 +130,7 @@ index 6781488cfc58..dbb2d4308851 100644
mvebu_a3700_comphy_modes[i].mode == mode && mvebu_a3700_comphy_modes[i].mode == mode &&
mvebu_a3700_comphy_modes[i].submode == submode) mvebu_a3700_comphy_modes[i].submode == submode)
break; break;
@@ -153,7 +146,7 @@ static int mvebu_a3700_comphy_set_mode(struct phy *phy, enum phy_mode mode, @@ -153,7 +146,7 @@ static int mvebu_a3700_comphy_set_mode(s
if (submode == PHY_INTERFACE_MODE_1000BASEX) if (submode == PHY_INTERFACE_MODE_1000BASEX)
submode = PHY_INTERFACE_MODE_SGMII; submode = PHY_INTERFACE_MODE_SGMII;
@ -141,7 +139,7 @@ index 6781488cfc58..dbb2d4308851 100644
submode); submode);
if (fw_mode < 0) { if (fw_mode < 0) {
dev_err(lane->dev, "invalid COMPHY mode\n"); dev_err(lane->dev, "invalid COMPHY mode\n");
@@ -172,9 +165,10 @@ static int mvebu_a3700_comphy_power_on(struct phy *phy) @@ -172,9 +165,10 @@ static int mvebu_a3700_comphy_power_on(s
struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy); struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy);
u32 fw_param; u32 fw_param;
int fw_mode; int fw_mode;
@ -153,7 +151,7 @@ index 6781488cfc58..dbb2d4308851 100644
lane->mode, lane->submode); lane->mode, lane->submode);
if (fw_mode < 0) { if (fw_mode < 0) {
dev_err(lane->dev, "invalid COMPHY mode\n"); dev_err(lane->dev, "invalid COMPHY mode\n");
@@ -191,17 +185,18 @@ static int mvebu_a3700_comphy_power_on(struct phy *phy) @@ -191,17 +185,18 @@ static int mvebu_a3700_comphy_power_on(s
fw_param = COMPHY_FW_MODE(fw_mode); fw_param = COMPHY_FW_MODE(fw_mode);
break; break;
case PHY_MODE_ETHERNET: case PHY_MODE_ETHERNET:
@ -174,7 +172,7 @@ index 6781488cfc58..dbb2d4308851 100644
COMPHY_FW_SPEED_3_125G); COMPHY_FW_SPEED_3_125G);
break; break;
default: default:
@@ -212,8 +207,7 @@ static int mvebu_a3700_comphy_power_on(struct phy *phy) @@ -212,8 +207,7 @@ static int mvebu_a3700_comphy_power_on(s
break; break;
case PHY_MODE_PCIE: case PHY_MODE_PCIE:
dev_dbg(lane->dev, "set lane %d to PCIe mode\n", lane->id); dev_dbg(lane->dev, "set lane %d to PCIe mode\n", lane->id);
@ -184,7 +182,7 @@ index 6781488cfc58..dbb2d4308851 100644
phy->attrs.bus_width); phy->attrs.bus_width);
break; break;
default: default:
@@ -247,17 +241,20 @@ static struct phy *mvebu_a3700_comphy_xlate(struct device *dev, @@ -247,17 +241,20 @@ static struct phy *mvebu_a3700_comphy_xl
struct of_phandle_args *args) struct of_phandle_args *args)
{ {
struct mvebu_a3700_comphy_lane *lane; struct mvebu_a3700_comphy_lane *lane;
@ -209,7 +207,7 @@ index 6781488cfc58..dbb2d4308851 100644
return phy; return phy;
} }
@@ -302,7 +299,6 @@ static int mvebu_a3700_comphy_probe(struct platform_device *pdev) @@ -302,7 +299,6 @@ static int mvebu_a3700_comphy_probe(stru
lane->mode = PHY_MODE_INVALID; lane->mode = PHY_MODE_INVALID;
lane->submode = PHY_INTERFACE_MODE_NA; lane->submode = PHY_INTERFACE_MODE_NA;
lane->id = lane_id; lane->id = lane_id;
@ -217,6 +215,3 @@ index 6781488cfc58..dbb2d4308851 100644
phy_set_drvdata(phy, lane); phy_set_drvdata(phy, lane);
} }
--
2.34.1

View file

@ -57,8 +57,6 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 1351 ++++++++++++++++-- drivers/phy/marvell/phy-mvebu-a3700-comphy.c | 1351 ++++++++++++++++--
1 file changed, 1234 insertions(+), 117 deletions(-) 1 file changed, 1234 insertions(+), 117 deletions(-)
diff --git a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
index dbb2d4308851..cbda47c33b98 100644
--- a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c --- a/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
+++ b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c +++ b/drivers/phy/marvell/phy-mvebu-a3700-comphy.c
@@ -5,12 +5,16 @@ @@ -5,12 +5,16 @@
@ -87,32 +85,6 @@ index dbb2d4308851..cbda47c33b98 100644
+#include <linux/spinlock.h> +#include <linux/spinlock.h>
-#define MVEBU_A3700_COMPHY_LANES 3 -#define MVEBU_A3700_COMPHY_LANES 3
-
-/* COMPHY Fast SMC function identifiers */
-#define COMPHY_SIP_POWER_ON 0x82000001
-#define COMPHY_SIP_POWER_OFF 0x82000002
-#define COMPHY_SIP_PLL_LOCK 0x82000003
-
-#define COMPHY_FW_MODE_SATA 0x1
-#define COMPHY_FW_MODE_SGMII 0x2
-#define COMPHY_FW_MODE_2500BASEX 0x3
-#define COMPHY_FW_MODE_USB3H 0x4
-#define COMPHY_FW_MODE_USB3D 0x5
-#define COMPHY_FW_MODE_PCIE 0x6
-#define COMPHY_FW_MODE_USB3 0xa
-
-#define COMPHY_FW_SPEED_1_25G 0 /* SGMII 1G */
-#define COMPHY_FW_SPEED_2_5G 1
-#define COMPHY_FW_SPEED_3_125G 2 /* 2500BASE-X */
-#define COMPHY_FW_SPEED_5G 3
-#define COMPHY_FW_SPEED_MAX 0x3F
-
-#define COMPHY_FW_MODE(mode) ((mode) << 12)
-#define COMPHY_FW_NET(mode, idx, speed) (COMPHY_FW_MODE(mode) | \
- ((idx) << 8) | \
- ((speed) << 2))
-#define COMPHY_FW_PCIE(mode, speed, width) (COMPHY_FW_NET(mode, 0, speed) | \
- ((width) << 18))
+#define PLL_SET_DELAY_US 600 +#define PLL_SET_DELAY_US 600
+#define COMPHY_PLL_SLEEP 1000 +#define COMPHY_PLL_SLEEP 1000
+#define COMPHY_PLL_TIMEOUT 150000 +#define COMPHY_PLL_TIMEOUT 150000
@ -267,7 +239,32 @@ index dbb2d4308851..cbda47c33b98 100644
+ */ + */
+#define COMPHY_RESERVED_REG 0x0E +#define COMPHY_RESERVED_REG 0x0E
+#define PHYCTRL_FRM_PIN_BIT BIT(13) +#define PHYCTRL_FRM_PIN_BIT BIT(13)
+
-/* COMPHY Fast SMC function identifiers */
-#define COMPHY_SIP_POWER_ON 0x82000001
-#define COMPHY_SIP_POWER_OFF 0x82000002
-#define COMPHY_SIP_PLL_LOCK 0x82000003
-
-#define COMPHY_FW_MODE_SATA 0x1
-#define COMPHY_FW_MODE_SGMII 0x2
-#define COMPHY_FW_MODE_2500BASEX 0x3
-#define COMPHY_FW_MODE_USB3H 0x4
-#define COMPHY_FW_MODE_USB3D 0x5
-#define COMPHY_FW_MODE_PCIE 0x6
-#define COMPHY_FW_MODE_USB3 0xa
-
-#define COMPHY_FW_SPEED_1_25G 0 /* SGMII 1G */
-#define COMPHY_FW_SPEED_2_5G 1
-#define COMPHY_FW_SPEED_3_125G 2 /* 2500BASE-X */
-#define COMPHY_FW_SPEED_5G 3
-#define COMPHY_FW_SPEED_MAX 0x3F
-
-#define COMPHY_FW_MODE(mode) ((mode) << 12)
-#define COMPHY_FW_NET(mode, idx, speed) (COMPHY_FW_MODE(mode) | \
- ((idx) << 8) | \
- ((speed) << 2))
-#define COMPHY_FW_PCIE(mode, speed, width) (COMPHY_FW_NET(mode, 0, speed) | \
- ((width) << 18))
+/* South Bridge PHY Configuration Registers */ +/* South Bridge PHY Configuration Registers */
+#define COMPHY_PHY_REG(lane, reg) (((1 - (lane)) * 0x28) + ((reg) & 0x3f)) +#define COMPHY_PHY_REG(lane, reg) (((1 - (lane)) * 0x28) + ((reg) & 0x3f))
+ +
@ -385,10 +382,8 @@ index dbb2d4308851..cbda47c33b98 100644
+ bool invert_tx; + bool invert_tx;
+ bool invert_rx; + bool invert_rx;
+ bool needs_reset; + bool needs_reset;
}; +};
+
-static int mvebu_a3700_comphy_smc(unsigned long function, unsigned long lane,
- unsigned long mode)
+struct gbe_phy_init_data_fix { +struct gbe_phy_init_data_fix {
+ u16 addr; + u16 addr;
+ u16 value; + u16 value;
@ -405,8 +400,10 @@ index dbb2d4308851..cbda47c33b98 100644
+ { 0x0C3, 0x8000 }, { 0x0E2, 0x5550 }, { 0x0E3, 0x12A4 }, + { 0x0C3, 0x8000 }, { 0x0E2, 0x5550 }, { 0x0E3, 0x12A4 },
+ { 0x0E4, 0x7D00 }, { 0x0E6, 0x0C83 }, { 0x101, 0xFCC0 }, + { 0x0E4, 0x7D00 }, { 0x0E6, 0x0C83 }, { 0x101, 0xFCC0 },
+ { 0x104, 0x0C10 } + { 0x104, 0x0C10 }
+}; };
+
-static int mvebu_a3700_comphy_smc(unsigned long function, unsigned long lane,
- unsigned long mode)
+/* 40M1G25 mode init data */ +/* 40M1G25 mode init data */
+static u16 gbe_phy_init[512] = { +static u16 gbe_phy_init[512] = {
+ /* 0 1 2 3 4 5 6 7 */ + /* 0 1 2 3 4 5 6 7 */
@ -479,25 +476,16 @@ index dbb2d4308851..cbda47c33b98 100644
+}; +};
+ +
+static inline void comphy_reg_set(void __iomem *addr, u32 data, u32 mask) +static inline void comphy_reg_set(void __iomem *addr, u32 data, u32 mask)
+{
+ u32 val;
+
+ val = readl(addr);
+ val = (val & ~mask) | (data & mask);
+ writel(val, addr);
+}
+
+static inline void comphy_reg_set16(void __iomem *addr, u16 data, u16 mask)
{ {
- struct arm_smccc_res res; - struct arm_smccc_res res;
- s32 ret; - s32 ret;
+ u16 val; + u32 val;
- arm_smccc_smc(function, lane, mode, 0, 0, 0, 0, 0, &res); - arm_smccc_smc(function, lane, mode, 0, 0, 0, 0, 0, &res);
- ret = res.a0; - ret = res.a0;
+ val = readw(addr); + val = readl(addr);
+ val = (val & ~mask) | (data & mask); + val = (val & ~mask) | (data & mask);
+ writew(val, addr); + writel(val, addr);
+} +}
- switch (ret) { - switch (ret) {
@ -505,6 +493,15 @@ index dbb2d4308851..cbda47c33b98 100644
- return 0; - return 0;
- case SMCCC_RET_NOT_SUPPORTED: - case SMCCC_RET_NOT_SUPPORTED:
- return -EOPNOTSUPP; - return -EOPNOTSUPP;
+static inline void comphy_reg_set16(void __iomem *addr, u16 data, u16 mask)
+{
+ u16 val;
+
+ val = readw(addr);
+ val = (val & ~mask) | (data & mask);
+ writew(val, addr);
+}
+
+/* Used for accessing lane 2 registers (SATA/USB3 PHY) */ +/* Used for accessing lane 2 registers (SATA/USB3 PHY) */
+static void comphy_set_indirect(struct mvebu_a3700_comphy_priv *priv, +static void comphy_set_indirect(struct mvebu_a3700_comphy_priv *priv,
+ u32 offset, u16 data, u16 mask) + u32 offset, u16 data, u16 mask)
@ -951,8 +948,9 @@ index dbb2d4308851..cbda47c33b98 100644
+ } + }
+ +
+ return 0; + return 0;
+} }
+
-static int mvebu_a3700_comphy_get_fw_mode(int lane,
+static int +static int
+mvebu_a3700_comphy_usb3_power_on(struct mvebu_a3700_comphy_lane *lane) +mvebu_a3700_comphy_usb3_power_on(struct mvebu_a3700_comphy_lane *lane)
+{ +{
@ -1281,14 +1279,13 @@ index dbb2d4308851..cbda47c33b98 100644
+ } + }
+ +
+ return 0; + return 0;
} +}
+
-static int mvebu_a3700_comphy_get_fw_mode(int lane,
+static bool mvebu_a3700_comphy_check_mode(int lane, +static bool mvebu_a3700_comphy_check_mode(int lane,
enum phy_mode mode, enum phy_mode mode,
int submode) int submode)
{ {
@@ -122,7 +1170,7 @@ static int mvebu_a3700_comphy_get_fw_mode(int lane, @@ -122,7 +1170,7 @@ static int mvebu_a3700_comphy_get_fw_mod
/* Unused PHY mux value is 0x0 */ /* Unused PHY mux value is 0x0 */
if (mode == PHY_MODE_INVALID) if (mode == PHY_MODE_INVALID)
@ -1297,7 +1294,7 @@ index dbb2d4308851..cbda47c33b98 100644
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
if (mvebu_a3700_comphy_modes[i].lane == lane && if (mvebu_a3700_comphy_modes[i].lane == lane &&
@@ -132,27 +1180,30 @@ static int mvebu_a3700_comphy_get_fw_mode(int lane, @@ -132,27 +1180,30 @@ static int mvebu_a3700_comphy_get_fw_mod
} }
if (i == n) if (i == n)
@ -1338,7 +1335,7 @@ index dbb2d4308851..cbda47c33b98 100644
/* Just remember the mode, ->power_on() will do the real setup */ /* Just remember the mode, ->power_on() will do the real setup */
lane->mode = mode; lane->mode = mode;
lane->submode = submode; lane->submode = submode;
@@ -163,76 +1214,68 @@ static int mvebu_a3700_comphy_set_mode(struct phy *phy, enum phy_mode mode, @@ -163,76 +1214,68 @@ static int mvebu_a3700_comphy_set_mode(s
static int mvebu_a3700_comphy_power_on(struct phy *phy) static int mvebu_a3700_comphy_power_on(struct phy *phy)
{ {
struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy); struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy);
@ -1450,7 +1447,7 @@ index dbb2d4308851..cbda47c33b98 100644
.set_mode = mvebu_a3700_comphy_set_mode, .set_mode = mvebu_a3700_comphy_set_mode,
.owner = THIS_MODULE, .owner = THIS_MODULE,
}; };
@@ -256,13 +1299,75 @@ static struct phy *mvebu_a3700_comphy_xlate(struct device *dev, @@ -256,13 +1299,75 @@ static struct phy *mvebu_a3700_comphy_xl
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
} }
@ -1526,7 +1523,7 @@ index dbb2d4308851..cbda47c33b98 100644
for_each_available_child_of_node(pdev->dev.of_node, child) { for_each_available_child_of_node(pdev->dev.of_node, child) {
struct mvebu_a3700_comphy_lane *lane; struct mvebu_a3700_comphy_lane *lane;
@@ -277,7 +1382,7 @@ static int mvebu_a3700_comphy_probe(struct platform_device *pdev) @@ -277,7 +1382,7 @@ static int mvebu_a3700_comphy_probe(stru
continue; continue;
} }
@ -1535,7 +1532,7 @@ index dbb2d4308851..cbda47c33b98 100644
dev_err(&pdev->dev, "invalid 'reg' property\n"); dev_err(&pdev->dev, "invalid 'reg' property\n");
continue; continue;
} }
@@ -295,11 +1400,21 @@ static int mvebu_a3700_comphy_probe(struct platform_device *pdev) @@ -295,11 +1400,21 @@ static int mvebu_a3700_comphy_probe(stru
return PTR_ERR(phy); return PTR_ERR(phy);
} }
@ -1557,7 +1554,7 @@ index dbb2d4308851..cbda47c33b98 100644
} }
provider = devm_of_phy_provider_register(&pdev->dev, provider = devm_of_phy_provider_register(&pdev->dev,
@@ -323,5 +1438,7 @@ static struct platform_driver mvebu_a3700_comphy_driver = { @@ -323,5 +1438,7 @@ static struct platform_driver mvebu_a370
module_platform_driver(mvebu_a3700_comphy_driver); module_platform_driver(mvebu_a3700_comphy_driver);
MODULE_AUTHOR("Miquèl Raynal <miquel.raynal@bootlin.com>"); MODULE_AUTHOR("Miquèl Raynal <miquel.raynal@bootlin.com>");
@ -1565,6 +1562,3 @@ index dbb2d4308851..cbda47c33b98 100644
+MODULE_AUTHOR("Marek Behún <kabel@kernel.org>"); +MODULE_AUTHOR("Marek Behún <kabel@kernel.org>");
MODULE_DESCRIPTION("Common PHY driver for A3700"); MODULE_DESCRIPTION("Common PHY driver for A3700");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
--
2.34.1

View file

@ -18,11 +18,9 @@ Signed-off-by: Marek Behún <kabel@kernel.org>
arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 2 ++ arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 2 ++
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
index 2a2015a15362..a7262d2591dc 100644
--- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
@@ -265,6 +265,8 @@ comphy: phy@18300 { @@ -265,6 +265,8 @@
"lane2_sata_usb3"; "lane2_sata_usb3";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -31,6 +29,3 @@ index 2a2015a15362..a7262d2591dc 100644
comphy0: phy@0 { comphy0: phy@0 {
reg = <0>; reg = <0>;
--
2.34.1

View file

@ -26,8 +26,6 @@ Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/ata/libahci_platform.c | 2 +- drivers/ata/libahci_platform.c | 2 +-
3 files changed, 2 insertions(+), 4 deletions(-) 3 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index d1f284f0c83d..3a3e67350e50 100644
--- a/drivers/ata/ahci.h --- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h +++ b/drivers/ata/ahci.h
@@ -240,8 +240,6 @@ enum { @@ -240,8 +240,6 @@ enum {
@ -39,11 +37,9 @@ index d1f284f0c83d..3a3e67350e50 100644
AHCI_HFLAG_NO_SXS = (1 << 28), /* SXS not supported */ AHCI_HFLAG_NO_SXS = (1 << 28), /* SXS not supported */
/* ap->flags bits */ /* ap->flags bits */
diff --git a/drivers/ata/ahci_mvebu.c b/drivers/ata/ahci_mvebu.c
index 3ad46d26d9d5..d4bba3ace45d 100644
--- a/drivers/ata/ahci_mvebu.c --- a/drivers/ata/ahci_mvebu.c
+++ b/drivers/ata/ahci_mvebu.c +++ b/drivers/ata/ahci_mvebu.c
@@ -227,7 +227,7 @@ static const struct ahci_mvebu_plat_data ahci_mvebu_armada_380_plat_data = { @@ -227,7 +227,7 @@ static const struct ahci_mvebu_plat_data
static const struct ahci_mvebu_plat_data ahci_mvebu_armada_3700_plat_data = { static const struct ahci_mvebu_plat_data ahci_mvebu_armada_3700_plat_data = {
.plat_config = ahci_mvebu_armada_3700_config, .plat_config = ahci_mvebu_armada_3700_config,
@ -52,11 +48,9 @@ index 3ad46d26d9d5..d4bba3ace45d 100644
}; };
static const struct of_device_id ahci_mvebu_of_match[] = { static const struct of_device_id ahci_mvebu_of_match[] = {
diff --git a/drivers/ata/libahci_platform.c b/drivers/ata/libahci_platform.c
index 0910441321f7..250b82e30aa3 100644
--- a/drivers/ata/libahci_platform.c --- a/drivers/ata/libahci_platform.c
+++ b/drivers/ata/libahci_platform.c +++ b/drivers/ata/libahci_platform.c
@@ -59,7 +59,7 @@ int ahci_platform_enable_phys(struct ahci_host_priv *hpriv) @@ -59,7 +59,7 @@ int ahci_platform_enable_phys(struct ahc
} }
rc = phy_power_on(hpriv->phys[i]); rc = phy_power_on(hpriv->phys[i]);
@ -65,6 +59,3 @@ index 0910441321f7..250b82e30aa3 100644
phy_exit(hpriv->phys[i]); phy_exit(hpriv->phys[i]);
goto disable_phys; goto disable_phys;
} }
--
2.34.1

View file

@ -29,8 +29,6 @@ Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/usb/host/xhci-plat.h | 1 - drivers/usb/host/xhci-plat.h | 1 -
4 files changed, 1 insertion(+), 68 deletions(-) 4 files changed, 1 insertion(+), 68 deletions(-)
diff --git a/drivers/usb/host/xhci-mvebu.c b/drivers/usb/host/xhci-mvebu.c
index 8ca1a235d164..60651a50770f 100644
--- a/drivers/usb/host/xhci-mvebu.c --- a/drivers/usb/host/xhci-mvebu.c
+++ b/drivers/usb/host/xhci-mvebu.c +++ b/drivers/usb/host/xhci-mvebu.c
@@ -8,7 +8,6 @@ @@ -8,7 +8,6 @@
@ -41,10 +39,11 @@ index 8ca1a235d164..60651a50770f 100644
#include <linux/usb.h> #include <linux/usb.h>
#include <linux/usb/hcd.h> #include <linux/usb/hcd.h>
@@ -75,47 +74,6 @@ int xhci_mvebu_mbus_init_quirk(struct usb_hcd *hcd) @@ -74,47 +73,6 @@ int xhci_mvebu_mbus_init_quirk(struct us
return 0; return 0;
} }
-
-int xhci_mvebu_a3700_plat_setup(struct usb_hcd *hcd) -int xhci_mvebu_a3700_plat_setup(struct usb_hcd *hcd)
-{ -{
- struct xhci_hcd *xhci = hcd_to_xhci(hcd); - struct xhci_hcd *xhci = hcd_to_xhci(hcd);
@ -85,15 +84,12 @@ index 8ca1a235d164..60651a50770f 100644
- -
- return 0; - return 0;
-} -}
-
int xhci_mvebu_a3700_init_quirk(struct usb_hcd *hcd) int xhci_mvebu_a3700_init_quirk(struct usb_hcd *hcd)
{ {
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
diff --git a/drivers/usb/host/xhci-mvebu.h b/drivers/usb/host/xhci-mvebu.h
index 01bf3fcb3eca..3be021793cc8 100644
--- a/drivers/usb/host/xhci-mvebu.h --- a/drivers/usb/host/xhci-mvebu.h
+++ b/drivers/usb/host/xhci-mvebu.h +++ b/drivers/usb/host/xhci-mvebu.h
@@ -12,7 +12,6 @@ struct usb_hcd; @@ -12,18 +12,12 @@ struct usb_hcd;
#if IS_ENABLED(CONFIG_USB_XHCI_MVEBU) #if IS_ENABLED(CONFIG_USB_XHCI_MVEBU)
int xhci_mvebu_mbus_init_quirk(struct usb_hcd *hcd); int xhci_mvebu_mbus_init_quirk(struct usb_hcd *hcd);
@ -101,23 +97,20 @@ index 01bf3fcb3eca..3be021793cc8 100644
int xhci_mvebu_a3700_init_quirk(struct usb_hcd *hcd); int xhci_mvebu_a3700_init_quirk(struct usb_hcd *hcd);
#else #else
static inline int xhci_mvebu_mbus_init_quirk(struct usb_hcd *hcd) static inline int xhci_mvebu_mbus_init_quirk(struct usb_hcd *hcd)
@@ -20,11 +19,6 @@ static inline int xhci_mvebu_mbus_init_quirk(struct usb_hcd *hcd) {
return 0; return 0;
} }
-
-static inline int xhci_mvebu_a3700_plat_setup(struct usb_hcd *hcd) -static inline int xhci_mvebu_a3700_plat_setup(struct usb_hcd *hcd)
-{ -{
- return 0; - return 0;
-} -}
-
static inline int xhci_mvebu_a3700_init_quirk(struct usb_hcd *hcd) static inline int xhci_mvebu_a3700_init_quirk(struct usb_hcd *hcd)
{ {
return 0;
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index c1edcc9b13ce..4d34f6005381 100644
--- a/drivers/usb/host/xhci-plat.c --- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c
@@ -44,16 +44,6 @@ static void xhci_priv_plat_start(struct usb_hcd *hcd) @@ -44,16 +44,6 @@ static void xhci_priv_plat_start(struct
priv->plat_start(hcd); priv->plat_start(hcd);
} }
@ -134,7 +127,7 @@ index c1edcc9b13ce..4d34f6005381 100644
static int xhci_priv_init_quirk(struct usb_hcd *hcd) static int xhci_priv_init_quirk(struct usb_hcd *hcd)
{ {
struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd); struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd);
@@ -121,7 +111,6 @@ static const struct xhci_plat_priv xhci_plat_marvell_armada = { @@ -121,7 +111,6 @@ static const struct xhci_plat_priv xhci_
}; };
static const struct xhci_plat_priv xhci_plat_marvell_armada3700 = { static const struct xhci_plat_priv xhci_plat_marvell_armada3700 = {
@ -142,7 +135,7 @@ index c1edcc9b13ce..4d34f6005381 100644
.init_quirk = xhci_mvebu_a3700_init_quirk, .init_quirk = xhci_mvebu_a3700_init_quirk,
}; };
@@ -341,14 +330,7 @@ static int xhci_plat_probe(struct platform_device *pdev) @@ -341,14 +330,7 @@ static int xhci_plat_probe(struct platfo
hcd->tpl_support = of_usb_host_tpl_support(sysdev->of_node); hcd->tpl_support = of_usb_host_tpl_support(sysdev->of_node);
xhci->shared_hcd->tpl_support = hcd->tpl_support; xhci->shared_hcd->tpl_support = hcd->tpl_support;
@ -158,8 +151,6 @@ index c1edcc9b13ce..4d34f6005381 100644
hcd->skip_phy_initialization = 1; hcd->skip_phy_initialization = 1;
if (priv && (priv->quirks & XHCI_SG_TRB_CACHE_SIZE_QUIRK)) if (priv && (priv->quirks & XHCI_SG_TRB_CACHE_SIZE_QUIRK))
diff --git a/drivers/usb/host/xhci-plat.h b/drivers/usb/host/xhci-plat.h
index 561d0b7bce09..1fb149d1fbce 100644
--- a/drivers/usb/host/xhci-plat.h --- a/drivers/usb/host/xhci-plat.h
+++ b/drivers/usb/host/xhci-plat.h +++ b/drivers/usb/host/xhci-plat.h
@@ -13,7 +13,6 @@ @@ -13,7 +13,6 @@
@ -170,6 +161,3 @@ index 561d0b7bce09..1fb149d1fbce 100644
void (*plat_start)(struct usb_hcd *); void (*plat_start)(struct usb_hcd *);
int (*init_quirk)(struct usb_hcd *); int (*init_quirk)(struct usb_hcd *);
int (*suspend_quirk)(struct usb_hcd *); int (*suspend_quirk)(struct usb_hcd *);
--
2.34.1

View file

@ -21,11 +21,9 @@ Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/pci/controller/pci-aardvark.c | 4 +--- drivers/pci/controller/pci-aardvark.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-) 1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/pci/controller/pci-aardvark.c b/drivers/pci/controller/pci-aardvark.c
index 319dd830e36e..4e64142b9ec4 100644
--- a/drivers/pci/controller/pci-aardvark.c --- a/drivers/pci/controller/pci-aardvark.c
+++ b/drivers/pci/controller/pci-aardvark.c +++ b/drivers/pci/controller/pci-aardvark.c
@@ -1635,9 +1635,7 @@ static int advk_pcie_enable_phy(struct advk_pcie *pcie) @@ -1635,9 +1635,7 @@ static int advk_pcie_enable_phy(struct a
} }
ret = phy_power_on(pcie->phy); ret = phy_power_on(pcie->phy);
@ -36,6 +34,3 @@ index 319dd830e36e..4e64142b9ec4 100644
phy_exit(pcie->phy); phy_exit(pcie->phy);
return ret; return ret;
} }
--
2.34.1

View file

@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
--- a/drivers/mtd/spi-nor/core.c --- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c
@@ -3183,6 +3183,7 @@ int spi_nor_scan(struct spi_nor *nor, co @@ -3189,6 +3189,7 @@ int spi_nor_scan(struct spi_nor *nor, co
struct device *dev = nor->dev; struct device *dev = nor->dev;
struct mtd_info *mtd = &nor->mtd; struct mtd_info *mtd = &nor->mtd;
struct device_node *np = spi_nor_get_flash_node(nor); struct device_node *np = spi_nor_get_flash_node(nor);
@ -18,7 +18,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
int ret; int ret;
int i; int i;
@@ -3237,7 +3238,12 @@ int spi_nor_scan(struct spi_nor *nor, co @@ -3243,7 +3244,12 @@ int spi_nor_scan(struct spi_nor *nor, co
if (ret) if (ret)
return ret; return ret;

View file

@ -55,7 +55,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
+}; +};
--- a/drivers/mtd/spi-nor/core.c --- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c +++ b/drivers/mtd/spi-nor/core.c
@@ -2038,6 +2038,7 @@ int spi_nor_sr2_bit7_quad_enable(struct @@ -2040,6 +2040,7 @@ int spi_nor_sr2_bit7_quad_enable(struct
static const struct spi_nor_manufacturer *manufacturers[] = { static const struct spi_nor_manufacturer *manufacturers[] = {
&spi_nor_atmel, &spi_nor_atmel,

View file

@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/media/usb/uvc/uvc_driver.c --- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -3009,6 +3009,18 @@ static const struct usb_device_id uvc_id @@ -3004,6 +3004,18 @@ static const struct usb_device_id uvc_id
.bInterfaceSubClass = 1, .bInterfaceSubClass = 1,
.bInterfaceProtocol = 0, .bInterfaceProtocol = 0,
.driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) }, .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },