linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI/MSI: Remove duplicated to_pci_dev() conversion
@ 2025-06-17 23:57 Chris Li
  2025-06-18  9:31 ` Ilpo Järvinen
  2025-06-18 18:57 ` [tip: irq/msi] " tip-bot2 for Chris Li
  0 siblings, 2 replies; 3+ messages in thread
From: Chris Li @ 2025-06-17 23:57 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: Bjorn Helgaas, linux-pci, linux-kernel, Chris Li

In the pci_msi_update_mask() function, "lock = &to_pci_dev()" does the
"to_pci_dev()" lookup, and there's another one buried inside
"msi_desc_to_pci_dev()"

Introduce a local variable to remove that duplication.

Signed-off-by: Chris Li <chrisl@kernel.org>
---
 drivers/pci/msi/msi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
index 6ede55a7c5e652c80b51b10e58f0290eb6556430..78bed2def9d870d645751436793238ef2bc8b3ed 100644
--- a/drivers/pci/msi/msi.c
+++ b/drivers/pci/msi/msi.c
@@ -113,7 +113,8 @@ static int pci_setup_msi_context(struct pci_dev *dev)
 
 void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set)
 {
-	raw_spinlock_t *lock = &to_pci_dev(desc->dev)->msi_lock;
+	struct pci_dev *dev = msi_desc_to_pci_dev(desc);
+	raw_spinlock_t *lock = &dev->msi_lock;
 	unsigned long flags;
 
 	if (!desc->pci.msi_attrib.can_mask)
@@ -122,8 +123,7 @@ void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set)
 	raw_spin_lock_irqsave(lock, flags);
 	desc->pci.msi_mask &= ~clear;
 	desc->pci.msi_mask |= set;
-	pci_write_config_dword(msi_desc_to_pci_dev(desc), desc->pci.mask_pos,
-			       desc->pci.msi_mask);
+	pci_write_config_dword(dev, desc->pci.mask_pos, desc->pci.msi_mask);
 	raw_spin_unlock_irqrestore(lock, flags);
 }
 

---
base-commit: 66ff9b2a9d55fecc8f0f940fe0cfe190a56c6a9c
change-id: 20250617-pci-msi-avoid-dup-pcidev-c98943e29a80

Best regards,
-- 
Chris Li <chrisl@kernel.org>


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

* Re: [PATCH] PCI/MSI: Remove duplicated to_pci_dev() conversion
  2025-06-17 23:57 [PATCH] PCI/MSI: Remove duplicated to_pci_dev() conversion Chris Li
@ 2025-06-18  9:31 ` Ilpo Järvinen
  2025-06-18 18:57 ` [tip: irq/msi] " tip-bot2 for Chris Li
  1 sibling, 0 replies; 3+ messages in thread
From: Ilpo Järvinen @ 2025-06-18  9:31 UTC (permalink / raw)
  To: Chris Li; +Cc: Thomas Gleixner, Bjorn Helgaas, linux-pci, LKML

[-- Attachment #1: Type: text/plain, Size: 1543 bytes --]

On Tue, 17 Jun 2025, Chris Li wrote:

> In the pci_msi_update_mask() function, "lock = &to_pci_dev()" does the
> "to_pci_dev()" lookup, and there's another one buried inside
> "msi_desc_to_pci_dev()"
> 
> Introduce a local variable to remove that duplication.
> 
> Signed-off-by: Chris Li <chrisl@kernel.org>
> ---
>  drivers/pci/msi/msi.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
> index 6ede55a7c5e652c80b51b10e58f0290eb6556430..78bed2def9d870d645751436793238ef2bc8b3ed 100644
> --- a/drivers/pci/msi/msi.c
> +++ b/drivers/pci/msi/msi.c
> @@ -113,7 +113,8 @@ static int pci_setup_msi_context(struct pci_dev *dev)
>  
>  void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set)
>  {
> -	raw_spinlock_t *lock = &to_pci_dev(desc->dev)->msi_lock;
> +	struct pci_dev *dev = msi_desc_to_pci_dev(desc);
> +	raw_spinlock_t *lock = &dev->msi_lock;
>  	unsigned long flags;
>  
>  	if (!desc->pci.msi_attrib.can_mask)
> @@ -122,8 +123,7 @@ void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set)
>  	raw_spin_lock_irqsave(lock, flags);
>  	desc->pci.msi_mask &= ~clear;
>  	desc->pci.msi_mask |= set;
> -	pci_write_config_dword(msi_desc_to_pci_dev(desc), desc->pci.mask_pos,
> -			       desc->pci.msi_mask);
> +	pci_write_config_dword(dev, desc->pci.mask_pos, desc->pci.msi_mask);
>  	raw_spin_unlock_irqrestore(lock, flags);
>  }

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

-- 
 i.

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

* [tip: irq/msi] PCI/MSI: Remove duplicated to_pci_dev() conversion
  2025-06-17 23:57 [PATCH] PCI/MSI: Remove duplicated to_pci_dev() conversion Chris Li
  2025-06-18  9:31 ` Ilpo Järvinen
@ 2025-06-18 18:57 ` tip-bot2 for Chris Li
  1 sibling, 0 replies; 3+ messages in thread
From: tip-bot2 for Chris Li @ 2025-06-18 18:57 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: Chris Li, Thomas Gleixner, ilpo.jarvinen, x86, linux-kernel

The following commit has been merged into the irq/msi branch of tip:

Commit-ID:     4a089c0b3f55b400689a5c35f7dfa0a74c363dae
Gitweb:        https://git.kernel.org/tip/4a089c0b3f55b400689a5c35f7dfa0a74c363dae
Author:        Chris Li <chrisl@kernel.org>
AuthorDate:    Tue, 17 Jun 2025 16:57:30 -07:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Wed, 18 Jun 2025 20:50:04 +02:00

PCI/MSI: Remove duplicated to_pci_dev() conversion

In pci_msi_update_mask(), "lock = &to_pci_dev()" does the to_pci_dev()
lookup, and there's another one buried inside msi_desc_to_pci_dev().

Introduce a local variable to remove that duplication.

Signed-off-by: Chris Li <chrisl@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/all/20250617-pci-msi-avoid-dup-pcidev-v1-1-ed75b0419023@kernel.org

---
 drivers/pci/msi/msi.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/msi/msi.c b/drivers/pci/msi/msi.c
index 6ede55a..78bed2d 100644
--- a/drivers/pci/msi/msi.c
+++ b/drivers/pci/msi/msi.c
@@ -113,7 +113,8 @@ static int pci_setup_msi_context(struct pci_dev *dev)
 
 void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set)
 {
-	raw_spinlock_t *lock = &to_pci_dev(desc->dev)->msi_lock;
+	struct pci_dev *dev = msi_desc_to_pci_dev(desc);
+	raw_spinlock_t *lock = &dev->msi_lock;
 	unsigned long flags;
 
 	if (!desc->pci.msi_attrib.can_mask)
@@ -122,8 +123,7 @@ void pci_msi_update_mask(struct msi_desc *desc, u32 clear, u32 set)
 	raw_spin_lock_irqsave(lock, flags);
 	desc->pci.msi_mask &= ~clear;
 	desc->pci.msi_mask |= set;
-	pci_write_config_dword(msi_desc_to_pci_dev(desc), desc->pci.mask_pos,
-			       desc->pci.msi_mask);
+	pci_write_config_dword(dev, desc->pci.mask_pos, desc->pci.msi_mask);
 	raw_spin_unlock_irqrestore(lock, flags);
 }
 

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

end of thread, other threads:[~2025-06-18 18:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-17 23:57 [PATCH] PCI/MSI: Remove duplicated to_pci_dev() conversion Chris Li
2025-06-18  9:31 ` Ilpo Järvinen
2025-06-18 18:57 ` [tip: irq/msi] " tip-bot2 for Chris Li

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).