All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] can: c_can: Remove redundant pci_clear_master
@ 2023-03-23 11:33 Cai Huoqing
  2023-03-23 11:33 ` [PATCH 2/3] can: ctucanfd: " Cai Huoqing
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Cai Huoqing @ 2023-03-23 11:33 UTC (permalink / raw)
  To: cai.huoqing
  Cc: Wolfgang Grandegger, Marc Kleine-Budde, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Pavel Pisa,
	Ondrej Ille, linux-can, netdev, linux-kernel

Remove pci_clear_master to simplify the code,
the bus-mastering is also cleared in do_pci_disable_device,
like this:
./drivers/pci/pci.c:2197
static void do_pci_disable_device(struct pci_dev *dev)
{
	u16 pci_command;

	pci_read_config_word(dev, PCI_COMMAND, &pci_command);
	if (pci_command & PCI_COMMAND_MASTER) {
		pci_command &= ~PCI_COMMAND_MASTER;
		pci_write_config_word(dev, PCI_COMMAND, pci_command);
	}

	pcibios_disable_device(dev);
}.
And dev->is_busmaster is set to 0 in pci_disable_device.

Signed-off-by: Cai Huoqing <cai.huoqing@linux.dev>
---
 drivers/net/can/c_can/c_can_pci.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/can/c_can/c_can_pci.c b/drivers/net/can/c_can/c_can_pci.c
index bf2f8c3da1c1..093bea597f4e 100644
--- a/drivers/net/can/c_can/c_can_pci.c
+++ b/drivers/net/can/c_can/c_can_pci.c
@@ -227,7 +227,6 @@ static int c_can_pci_probe(struct pci_dev *pdev,
 	pci_iounmap(pdev, addr);
 out_release_regions:
 	pci_disable_msi(pdev);
-	pci_clear_master(pdev);
 	pci_release_regions(pdev);
 out_disable_device:
 	pci_disable_device(pdev);
@@ -247,7 +246,6 @@ static void c_can_pci_remove(struct pci_dev *pdev)
 
 	pci_iounmap(pdev, addr);
 	pci_disable_msi(pdev);
-	pci_clear_master(pdev);
 	pci_release_regions(pdev);
 	pci_disable_device(pdev);
 }
-- 
2.34.1


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

* [PATCH 2/3] can: ctucanfd: Remove redundant pci_clear_master
  2023-03-23 11:33 [PATCH 1/3] can: c_can: Remove redundant pci_clear_master Cai Huoqing
@ 2023-03-23 11:33 ` Cai Huoqing
  2023-03-23 11:33 ` [PATCH 3/3] can: kvaser_pciefd: " Cai Huoqing
  2023-03-24 16:09 ` [PATCH 1/3] can: c_can: " Marc Kleine-Budde
  2 siblings, 0 replies; 4+ messages in thread
From: Cai Huoqing @ 2023-03-23 11:33 UTC (permalink / raw)
  To: cai.huoqing
  Cc: Wolfgang Grandegger, Marc Kleine-Budde, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Pavel Pisa,
	Ondrej Ille, linux-can, netdev, linux-kernel

Remove pci_clear_master to simplify the code,
the bus-mastering is also cleared in do_pci_disable_device,
like this:
./drivers/pci/pci.c:2197
static void do_pci_disable_device(struct pci_dev *dev)
{
	u16 pci_command;

	pci_read_config_word(dev, PCI_COMMAND, &pci_command);
	if (pci_command & PCI_COMMAND_MASTER) {
		pci_command &= ~PCI_COMMAND_MASTER;
		pci_write_config_word(dev, PCI_COMMAND, pci_command);
	}

	pcibios_disable_device(dev);
}.
And dev->is_busmaster is set to 0 in pci_disable_device.

Signed-off-by: Cai Huoqing <cai.huoqing@linux.dev>
---
 drivers/net/can/ctucanfd/ctucanfd_pci.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/net/can/ctucanfd/ctucanfd_pci.c b/drivers/net/can/ctucanfd/ctucanfd_pci.c
index 8f2956a8ae43..9da09e7dd63a 100644
--- a/drivers/net/can/ctucanfd/ctucanfd_pci.c
+++ b/drivers/net/can/ctucanfd/ctucanfd_pci.c
@@ -206,10 +206,8 @@ static int ctucan_pci_probe(struct pci_dev *pdev,
 err_pci_iounmap_bar1:
 	pci_iounmap(pdev, addr);
 err_release_regions:
-	if (msi_ok) {
+	if (msi_ok)
 		pci_disable_msi(pdev);
-		pci_clear_master(pdev);
-	}
 	pci_release_regions(pdev);
 err_disable_device:
 	pci_disable_device(pdev);
@@ -257,10 +255,8 @@ static void ctucan_pci_remove(struct pci_dev *pdev)
 
 	pci_iounmap(pdev, bdata->bar1_base);
 
-	if (bdata->use_msi) {
+	if (bdata->use_msi)
 		pci_disable_msi(pdev);
-		pci_clear_master(pdev);
-	}
 
 	pci_release_regions(pdev);
 	pci_disable_device(pdev);
-- 
2.34.1


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

* [PATCH 3/3] can: kvaser_pciefd: Remove redundant pci_clear_master
  2023-03-23 11:33 [PATCH 1/3] can: c_can: Remove redundant pci_clear_master Cai Huoqing
  2023-03-23 11:33 ` [PATCH 2/3] can: ctucanfd: " Cai Huoqing
@ 2023-03-23 11:33 ` Cai Huoqing
  2023-03-24 16:09 ` [PATCH 1/3] can: c_can: " Marc Kleine-Budde
  2 siblings, 0 replies; 4+ messages in thread
From: Cai Huoqing @ 2023-03-23 11:33 UTC (permalink / raw)
  To: cai.huoqing
  Cc: Wolfgang Grandegger, Marc Kleine-Budde, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Pavel Pisa,
	Ondrej Ille, linux-can, netdev, linux-kernel

Remove pci_clear_master to simplify the code,
the bus-mastering is also cleared in do_pci_disable_device,
like this:
./drivers/pci/pci.c:2197
static void do_pci_disable_device(struct pci_dev *dev)
{
	u16 pci_command;

	pci_read_config_word(dev, PCI_COMMAND, &pci_command);
	if (pci_command & PCI_COMMAND_MASTER) {
		pci_command &= ~PCI_COMMAND_MASTER;
		pci_write_config_word(dev, PCI_COMMAND, pci_command);
	}

	pcibios_disable_device(dev);
}.
And dev->is_busmaster is set to 0 in pci_disable_device.

Signed-off-by: Cai Huoqing <cai.huoqing@linux.dev>
---
 drivers/net/can/kvaser_pciefd.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/can/kvaser_pciefd.c b/drivers/net/can/kvaser_pciefd.c
index bcad11709bc9..53e8a914c88b 100644
--- a/drivers/net/can/kvaser_pciefd.c
+++ b/drivers/net/can/kvaser_pciefd.c
@@ -1907,7 +1907,6 @@ static void kvaser_pciefd_remove(struct pci_dev *pdev)
 
 	free_irq(pcie->pci->irq, pcie);
 
-	pci_clear_master(pdev);
 	pci_iounmap(pdev, pcie->reg_base);
 	pci_release_regions(pdev);
 	pci_disable_device(pdev);
-- 
2.34.1


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

* Re: [PATCH 1/3] can: c_can: Remove redundant pci_clear_master
  2023-03-23 11:33 [PATCH 1/3] can: c_can: Remove redundant pci_clear_master Cai Huoqing
  2023-03-23 11:33 ` [PATCH 2/3] can: ctucanfd: " Cai Huoqing
  2023-03-23 11:33 ` [PATCH 3/3] can: kvaser_pciefd: " Cai Huoqing
@ 2023-03-24 16:09 ` Marc Kleine-Budde
  2 siblings, 0 replies; 4+ messages in thread
From: Marc Kleine-Budde @ 2023-03-24 16:09 UTC (permalink / raw)
  To: Cai Huoqing
  Cc: Wolfgang Grandegger, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Pavel Pisa, Ondrej Ille, linux-can,
	netdev, linux-kernel

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

On 23.03.2023 19:33:15, Cai Huoqing wrote:
> Remove pci_clear_master to simplify the code,
> the bus-mastering is also cleared in do_pci_disable_device,
> like this:

Applied to can-next.

Thanks,
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung Nürnberg              | Phone: +49-5121-206917-129  |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

end of thread, other threads:[~2023-03-24 16:09 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-23 11:33 [PATCH 1/3] can: c_can: Remove redundant pci_clear_master Cai Huoqing
2023-03-23 11:33 ` [PATCH 2/3] can: ctucanfd: " Cai Huoqing
2023-03-23 11:33 ` [PATCH 3/3] can: kvaser_pciefd: " Cai Huoqing
2023-03-24 16:09 ` [PATCH 1/3] can: c_can: " Marc Kleine-Budde

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.