linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI: brcmstb: Do not use __GENMASK
@ 2021-11-22 19:04 Florian Fainelli
  2021-11-22 19:26 ` Andy Shevchenko
  2021-12-01 16:37 ` Lorenzo Pieralisi
  0 siblings, 2 replies; 3+ messages in thread
From: Florian Fainelli @ 2021-11-22 19:04 UTC (permalink / raw)
  To: linux-kernel
  Cc: Florian Fainelli, Andy Shevchenko, Nicolas Saenz Julienne,
	Jim Quinlan, maintainer:BROADCOM STB PCIE DRIVER,
	Lorenzo Pieralisi, Rob Herring, Krzysztof Wilczyński,
	Bjorn Helgaas,
	moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
	moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
	open list:BROADCOM STB PCIE DRIVER

Define the legacy MSI intterupt bitmask as well as the non-legacy
interrupt bitmask using GENMASK and then use them in brcm_msi_set_regs()
in place of __GENMASK().

Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 drivers/pci/controller/pcie-brcmstb.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
index 1fc7bd49a7ad..3391b4135b65 100644
--- a/drivers/pci/controller/pcie-brcmstb.c
+++ b/drivers/pci/controller/pcie-brcmstb.c
@@ -144,6 +144,9 @@
 #define BRCM_INT_PCI_MSI_NR		32
 #define BRCM_INT_PCI_MSI_LEGACY_NR	8
 #define BRCM_INT_PCI_MSI_SHIFT		0
+#define BRCM_INT_PCI_MSI_MASK		GENMASK(BRCM_INT_PCI_MSI_NR - 1, 0)
+#define BRCM_INT_PCI_MSI_LEGACY_MASK	GENMASK(31, \
+						32 - BRCM_INT_PCI_MSI_LEGACY_NR)
 
 /* MSI target addresses */
 #define BRCM_MSI_TARGET_ADDR_LT_4GB	0x0fffffffcULL
@@ -619,7 +622,8 @@ static void brcm_msi_remove(struct brcm_pcie *pcie)
 
 static void brcm_msi_set_regs(struct brcm_msi *msi)
 {
-	u32 val = __GENMASK(31, msi->legacy_shift);
+	u32 val = msi->legacy ? BRCM_INT_PCI_MSI_LEGACY_MASK :
+				BRCM_INT_PCI_MSI_MASK;
 
 	writel(val, msi->intr_base + MSI_INT_MASK_CLR);
 	writel(val, msi->intr_base + MSI_INT_CLR);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] PCI: brcmstb: Do not use __GENMASK
  2021-11-22 19:04 [PATCH] PCI: brcmstb: Do not use __GENMASK Florian Fainelli
@ 2021-11-22 19:26 ` Andy Shevchenko
  2021-12-01 16:37 ` Lorenzo Pieralisi
  1 sibling, 0 replies; 3+ messages in thread
From: Andy Shevchenko @ 2021-11-22 19:26 UTC (permalink / raw)
  To: Florian Fainelli
  Cc: Linux Kernel Mailing List, Andy Shevchenko,
	Nicolas Saenz Julienne, Jim Quinlan,
	maintainer:BROADCOM STB PCIE DRIVER, Lorenzo Pieralisi,
	Rob Herring, Krzysztof Wilczyński, Bjorn Helgaas,
	moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
	moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
	open list:BROADCOM STB PCIE DRIVER

On Mon, Nov 22, 2021 at 9:07 PM Florian Fainelli <f.fainelli@gmail.com> wrote:
>
> Define the legacy MSI intterupt bitmask as well as the non-legacy

interrupt

> interrupt bitmask using GENMASK and then use them in brcm_msi_set_regs()
> in place of __GENMASK().

LGTM, thanks!
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>

> Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
>  drivers/pci/controller/pcie-brcmstb.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
> index 1fc7bd49a7ad..3391b4135b65 100644
> --- a/drivers/pci/controller/pcie-brcmstb.c
> +++ b/drivers/pci/controller/pcie-brcmstb.c
> @@ -144,6 +144,9 @@
>  #define BRCM_INT_PCI_MSI_NR            32
>  #define BRCM_INT_PCI_MSI_LEGACY_NR     8
>  #define BRCM_INT_PCI_MSI_SHIFT         0
> +#define BRCM_INT_PCI_MSI_MASK          GENMASK(BRCM_INT_PCI_MSI_NR - 1, 0)
> +#define BRCM_INT_PCI_MSI_LEGACY_MASK   GENMASK(31, \
> +                                               32 - BRCM_INT_PCI_MSI_LEGACY_NR)
>
>  /* MSI target addresses */
>  #define BRCM_MSI_TARGET_ADDR_LT_4GB    0x0fffffffcULL
> @@ -619,7 +622,8 @@ static void brcm_msi_remove(struct brcm_pcie *pcie)
>
>  static void brcm_msi_set_regs(struct brcm_msi *msi)
>  {
> -       u32 val = __GENMASK(31, msi->legacy_shift);
> +       u32 val = msi->legacy ? BRCM_INT_PCI_MSI_LEGACY_MASK :
> +                               BRCM_INT_PCI_MSI_MASK;
>
>         writel(val, msi->intr_base + MSI_INT_MASK_CLR);
>         writel(val, msi->intr_base + MSI_INT_CLR);
> --
> 2.25.1
>


-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] PCI: brcmstb: Do not use __GENMASK
  2021-11-22 19:04 [PATCH] PCI: brcmstb: Do not use __GENMASK Florian Fainelli
  2021-11-22 19:26 ` Andy Shevchenko
@ 2021-12-01 16:37 ` Lorenzo Pieralisi
  1 sibling, 0 replies; 3+ messages in thread
From: Lorenzo Pieralisi @ 2021-12-01 16:37 UTC (permalink / raw)
  To: Florian Fainelli, linux-kernel
  Cc: Lorenzo Pieralisi, Nicolas Saenz Julienne,
	moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
	Jim Quinlan, Rob Herring, Andy Shevchenko,
	maintainer:BROADCOM STB PCIE DRIVER,
	moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE,
	open list:BROADCOM STB PCIE DRIVER, Bjorn Helgaas,
	Krzysztof Wilczyński

On Mon, 22 Nov 2021 11:04:58 -0800, Florian Fainelli wrote:
> Define the legacy MSI intterupt bitmask as well as the non-legacy
> interrupt bitmask using GENMASK and then use them in brcm_msi_set_regs()
> in place of __GENMASK().
> 
> 

Applied to pci/brcmstb, thanks!

[1/1] PCI: brcmstb: Do not use __GENMASK
      https://git.kernel.org/lpieralisi/pci/c/53c6ccfa65

Thanks,
Lorenzo

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-12-01 16:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-22 19:04 [PATCH] PCI: brcmstb: Do not use __GENMASK Florian Fainelli
2021-11-22 19:26 ` Andy Shevchenko
2021-12-01 16:37 ` Lorenzo Pieralisi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).