Re: [U-Boot] [PATCH u-boot-marvell 1/1] pci: pci_mvebu: set BAR0 after memory space is set

2019-08-12 Thread Stefan Roese

On 07.08.19 15:01, Marek Behún wrote:

The non-DM version of this driver used to set BAR0 register after the
calls to pci_set_region.
I found out that for some strange reason the ath10k driver in kernel
fails to work if this is done the other way around.
I know that Linux's driver should not depend on how U-Boot does things,
but for some strange reason it does and this seems to be the simplest
solution. Fix it since it caused regressions on Omnia.

Signed-off-by: Marek Behún 
Cc: Stefan Roese 
Cc: Dirk Eibach 
Cc: Mario Six 
Cc: Chris Packham 
Cc: Phil Sutter 
Cc: VlaoMao 


Applied to:

u-boot-marvell/master.

Thanks,
Stefan
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH u-boot-marvell 1/1] pci: pci_mvebu: set BAR0 after memory space is set

2019-08-09 Thread Stefan Roese

On 07.08.19 15:01, Marek Behún wrote:

The non-DM version of this driver used to set BAR0 register after the
calls to pci_set_region.
I found out that for some strange reason the ath10k driver in kernel
fails to work if this is done the other way around.
I know that Linux's driver should not depend on how U-Boot does things,
but for some strange reason it does and this seems to be the simplest
solution. Fix it since it caused regressions on Omnia.

Signed-off-by: Marek Behún 
Cc: Stefan Roese 
Cc: Dirk Eibach 
Cc: Mario Six 
Cc: Chris Packham 
Cc: Phil Sutter 
Cc: VlaoMao 


Reviewed-by: Stefan Roese 

Thanks,
Stefan
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH u-boot-marvell 1/1] pci: pci_mvebu: set BAR0 after memory space is set

2019-08-08 Thread Chris Packham
Hi Marek,

On Thu, Aug 8, 2019 at 1:02 AM Marek Behún  wrote:
>
> The non-DM version of this driver used to set BAR0 register after the
> calls to pci_set_region.
> I found out that for some strange reason the ath10k driver in kernel
> fails to work if this is done the other way around.
> I know that Linux's driver should not depend on how U-Boot does things,
> but for some strange reason it does and this seems to be the simplest
> solution. Fix it since it caused regressions on Omnia.
>
> Signed-off-by: Marek Behún 
> Cc: Stefan Roese 
> Cc: Dirk Eibach 
> Cc: Mario Six 
> Cc: Chris Packham 
> Cc: Phil Sutter 
> Cc: VlaoMao 

Tested-by: Chris Packham 

> ---
>  drivers/pci/pci_mvebu.c | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/pci/pci_mvebu.c b/drivers/pci/pci_mvebu.c
> index e21dc10c2f..f9b08f38a1 100644
> --- a/drivers/pci/pci_mvebu.c
> +++ b/drivers/pci/pci_mvebu.c
> @@ -313,10 +313,6 @@ static int mvebu_pcie_probe(struct udevice *dev)
> reg |= BIT(10); /* disable interrupts */
> writel(reg, pcie->base + PCIE_CMD_OFF);
>
> -   /* Set BAR0 to internal registers */
> -   writel(SOC_REGS_PHY_BASE, pcie->base + PCIE_BAR_LO_OFF(0));
> -   writel(0, pcie->base + PCIE_BAR_HI_OFF(0));
> -
> /* PCI memory space */
> pci_set_region(hose->regions + 0, pcie->mem.start,
>pcie->mem.start, PCIE_MEM_SIZE, PCI_REGION_MEM);
> @@ -326,6 +322,10 @@ static int mvebu_pcie_probe(struct udevice *dev)
>PCI_REGION_MEM | PCI_REGION_SYS_MEMORY);
> hose->region_count = 2;
>
> +   /* Set BAR0 to internal registers */
> +   writel(SOC_REGS_PHY_BASE, pcie->base + PCIE_BAR_LO_OFF(0));
> +   writel(0, pcie->base + PCIE_BAR_HI_OFF(0));
> +
> bus++;
>
> return 0;
> --
> 2.21.0
>
> ___
> U-Boot mailing list
> U-Boot@lists.denx.de
> https://lists.denx.de/listinfo/u-boot
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH u-boot-marvell 1/1] pci: pci_mvebu: set BAR0 after memory space is set

2019-08-07 Thread Marek Behún
The non-DM version of this driver used to set BAR0 register after the
calls to pci_set_region.
I found out that for some strange reason the ath10k driver in kernel
fails to work if this is done the other way around.
I know that Linux's driver should not depend on how U-Boot does things,
but for some strange reason it does and this seems to be the simplest
solution. Fix it since it caused regressions on Omnia.

Signed-off-by: Marek Behún 
Cc: Stefan Roese 
Cc: Dirk Eibach 
Cc: Mario Six 
Cc: Chris Packham 
Cc: Phil Sutter 
Cc: VlaoMao 
---
 drivers/pci/pci_mvebu.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/pci/pci_mvebu.c b/drivers/pci/pci_mvebu.c
index e21dc10c2f..f9b08f38a1 100644
--- a/drivers/pci/pci_mvebu.c
+++ b/drivers/pci/pci_mvebu.c
@@ -313,10 +313,6 @@ static int mvebu_pcie_probe(struct udevice *dev)
reg |= BIT(10); /* disable interrupts */
writel(reg, pcie->base + PCIE_CMD_OFF);
 
-   /* Set BAR0 to internal registers */
-   writel(SOC_REGS_PHY_BASE, pcie->base + PCIE_BAR_LO_OFF(0));
-   writel(0, pcie->base + PCIE_BAR_HI_OFF(0));
-
/* PCI memory space */
pci_set_region(hose->regions + 0, pcie->mem.start,
   pcie->mem.start, PCIE_MEM_SIZE, PCI_REGION_MEM);
@@ -326,6 +322,10 @@ static int mvebu_pcie_probe(struct udevice *dev)
   PCI_REGION_MEM | PCI_REGION_SYS_MEMORY);
hose->region_count = 2;
 
+   /* Set BAR0 to internal registers */
+   writel(SOC_REGS_PHY_BASE, pcie->base + PCIE_BAR_LO_OFF(0));
+   writel(0, pcie->base + PCIE_BAR_HI_OFF(0));
+
bus++;
 
return 0;
-- 
2.21.0

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot