* [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.