Message ID | 3b46f6c7-4372-4cc9-9a7c-2c1c06d29324@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v2] ath9k: use unmanaged PCI functions in ath9k_pci_owl_loader | expand |
Heiner Kallweit <hkallweit1@gmail.com> writes: > Only managed PCI resource in the driver is the iomapped bar. However the bar > is unmapped in the same function. Therefore using the device-managed > versions just causes overhead, w/o any benefit. Once this is switched to the > non-managed versions, there's nothing left to be managed for > pcim_enable_device(). Therefore we can reduce overhead here too and switch to > the non-managed version as well. This includes removing the no longer needed > call to pcim_pin_device(). > > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Acked-by: Toke Høiland-Jørgensen <toke@toke.dk>
Heiner Kallweit <hkallweit1@gmail.com> wrote: > Only managed PCI resource in the driver is the iomapped bar. However the bar > is unmapped in the same function. Therefore using the device-managed > versions just causes overhead, w/o any benefit. Once this is switched to the > non-managed versions, there's nothing left to be managed for > pcim_enable_device(). Therefore we can reduce overhead here too and switch to > the non-managed version as well. This includes removing the no longer needed > call to pcim_pin_device(). > > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> > Acked-by: Toke Høiland-Jørgensen <toke@toke.dk> > Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Patch applied to ath-next branch of ath.git, thanks. aa0d7643c8dd wifi: ath9k: use unmanaged PCI functions in ath9k_pci_owl_loader
diff --git a/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c b/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c index a5eb43f30..bc93ca075 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c +++ b/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c @@ -65,7 +65,7 @@ static int ath9k_pci_fixup(struct pci_dev *pdev, const u16 *cal_data, dev_info(&pdev->dev, "fixup device configuration\n"); - mem = pcim_iomap(pdev, 0, 0); + mem = pci_iomap(pdev, 0, 0); if (!mem) { dev_err(&pdev->dev, "ioremap error\n"); return -EINVAL; @@ -103,7 +103,7 @@ static int ath9k_pci_fixup(struct pci_dev *pdev, const u16 *cal_data, pci_write_config_word(pdev, PCI_COMMAND, cmd); pci_write_config_dword(pdev, PCI_BASE_ADDRESS_0, bar0); - pcim_iounmap(pdev, mem); + pci_iounmap(pdev, mem); pci_disable_device(pdev); @@ -200,11 +200,9 @@ static int owl_probe(struct pci_dev *pdev, const char *eeprom_name; int err = 0; - if (pcim_enable_device(pdev)) + if (pci_enable_device(pdev)) return -EIO; - pcim_pin_device(pdev); - ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL); if (!ctx) return -ENOMEM;
Only managed PCI resource in the driver is the iomapped bar. However the bar is unmapped in the same function. Therefore using the device-managed versions just causes overhead, w/o any benefit. Once this is switched to the non-managed versions, there's nothing left to be managed for pcim_enable_device(). Therefore we can reduce overhead here too and switch to the non-managed version as well. This includes removing the no longer needed call to pcim_pin_device(). Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> --- v2: - extended commit message --- drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)