Skip to content

Commit

Permalink
vxge: Removed ioremap of unused bar addresses and their references
Browse files Browse the repository at this point in the history
- Removed ioremap of bar1 address
  Driver needs only bar0 address for register access
- Removed references to bar1 and bar2 addresses

Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Sreenivasa Honnur authored and David S. Miller committed Jul 6, 2009
1 parent e04af02 commit 7975d1e
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 45 deletions.
10 changes: 0 additions & 10 deletions drivers/net/vxge/vxge-config.c
Original file line number Diff line number Diff line change
Expand Up @@ -313,14 +313,6 @@ __vxge_hw_device_reg_addr_get(struct __vxge_hw_device *hldev)
hldev->kdfc = (u8 __iomem *)(hldev->bar0 +
VXGE_HW_TOC_GET_KDFC_INITIAL_OFFSET(val64));
break;
case 2:
hldev->kdfc = (u8 __iomem *)(hldev->bar1 +
VXGE_HW_TOC_GET_KDFC_INITIAL_OFFSET(val64));
break;
case 4:
hldev->kdfc = (u8 __iomem *)(hldev->bar2 +
VXGE_HW_TOC_GET_KDFC_INITIAL_OFFSET(val64));
break;
default:
break;
}
Expand Down Expand Up @@ -831,8 +823,6 @@ vxge_hw_device_initialize(
sizeof(struct vxge_hw_device_config));

hldev->bar0 = attr->bar0;
hldev->bar1 = attr->bar1;
hldev->bar2 = attr->bar2;
hldev->pdev = attr->pdev;

hldev->uld_callbacks.link_up = attr->uld_callbacks.link_up;
Expand Down
10 changes: 1 addition & 9 deletions drivers/net/vxge/vxge-config.h
Original file line number Diff line number Diff line change
Expand Up @@ -682,8 +682,6 @@ struct __vxge_hw_vpath_handle{
* @major_revision: PCI Device major revision
* @minor_revision: PCI Device minor revision
* @bar0: BAR0 virtual address.
* @bar1: BAR1 virtual address.
* @bar2: BAR2 virtual address.
* @pdev: Physical device handle
* @config: Confguration passed by the LL driver at initialization
* @link_state: Link state
Expand All @@ -698,8 +696,6 @@ struct __vxge_hw_device {
u8 major_revision;
u8 minor_revision;
void __iomem *bar0;
void __iomem *bar1;
void __iomem *bar2;
struct pci_dev *pdev;
struct net_device *ndev;
struct vxge_hw_device_config config;
Expand Down Expand Up @@ -788,17 +784,13 @@ struct vxge_hw_device_hw_info {
/**
* struct vxge_hw_device_attr - Device memory spaces.
* @bar0: BAR0 virtual address.
* @bar1: BAR1 virtual address.
* @bar2: BAR2 virtual address.
* @pdev: PCI device object.
*
* Device memory spaces. Includes configuration, BAR0, BAR1, etc. per device
* Device memory spaces. Includes configuration, BAR0 etc. per device
* mapped memories. Also, includes a pointer to OS-specific PCI device object.
*/
struct vxge_hw_device_attr {
void __iomem *bar0;
void __iomem *bar1;
void __iomem *bar2;
struct pci_dev *pdev;
struct vxge_hw_uld_cbs uld_callbacks;
};
Expand Down
34 changes: 9 additions & 25 deletions drivers/net/vxge/vxge-main.c
Original file line number Diff line number Diff line change
Expand Up @@ -4152,26 +4152,14 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre)
attr.bar0,
(unsigned long long)pci_resource_start(pdev, 0));

attr.bar1 = pci_ioremap_bar(pdev, 2);
if (!attr.bar1) {
vxge_debug_init(VXGE_ERR,
"%s : cannot remap io memory bar2", __func__);
ret = -ENODEV;
goto _exit3;
}
vxge_debug_ll_config(VXGE_TRACE,
"pci ioremap bar1: %p:0x%llx",
attr.bar1,
(unsigned long long)pci_resource_start(pdev, 2));

status = vxge_hw_device_hw_info_get(attr.bar0,
&ll_config.device_hw_info);
if (status != VXGE_HW_OK) {
vxge_debug_init(VXGE_ERR,
"%s: Reading of hardware info failed."
"Please try upgrading the firmware.", VXGE_DRIVER_NAME);
ret = -EINVAL;
goto _exit4;
goto _exit3;
}

if (ll_config.device_hw_info.fw_version.major !=
Expand All @@ -4181,15 +4169,15 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre)
ll_config.device_hw_info.fw_version.major,
VXGE_DRIVER_VERSION_MAJOR);
ret = -EINVAL;
goto _exit4;
goto _exit3;
}

vpath_mask = ll_config.device_hw_info.vpath_mask;
if (vpath_mask == 0) {
vxge_debug_ll_config(VXGE_TRACE,
"%s: No vpaths available in device", VXGE_DRIVER_NAME);
ret = -EINVAL;
goto _exit4;
goto _exit3;
}

vxge_debug_ll_config(VXGE_TRACE,
Expand Down Expand Up @@ -4222,7 +4210,7 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre)
vxge_debug_ll_config(VXGE_ERR,
"%s: No more vpaths to configure", VXGE_DRIVER_NAME);
ret = 0;
goto _exit4;
goto _exit3;
}

/* Setting driver callbacks */
Expand All @@ -4235,7 +4223,7 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre)
vxge_debug_init(VXGE_ERR,
"Failed to initialize device (%d)", status);
ret = -EINVAL;
goto _exit4;
goto _exit3;
}

vxge_hw_device_debug_set(hldev, VXGE_ERR, VXGE_COMPONENT_LL);
Expand All @@ -4260,7 +4248,7 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre)
if (vxge_device_register(hldev, &ll_config, high_dma, no_of_vpath,
&vdev)) {
ret = -EINVAL;
goto _exit5;
goto _exit4;
}

vxge_hw_device_debug_set(hldev, VXGE_TRACE, VXGE_COMPONENT_LL);
Expand All @@ -4271,7 +4259,6 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre)
hldev->ndev = vdev->ndev;
vdev->mtu = VXGE_HW_DEFAULT_MTU;
vdev->bar0 = attr.bar0;
vdev->bar1 = attr.bar1;
vdev->max_vpath_supported = max_vpath_supported;
vdev->no_of_vpath = no_of_vpath;

Expand Down Expand Up @@ -4353,7 +4340,7 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre)
"%s: mac_addr_list : memory allocation failed",
vdev->ndev->name);
ret = -EPERM;
goto _exit6;
goto _exit5;
}
macaddr = (u8 *)&entry->macaddr;
memcpy(macaddr, vdev->ndev->dev_addr, ETH_ALEN);
Expand All @@ -4370,16 +4357,14 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre)

return 0;

_exit6:
_exit5:
for (i = 0; i < vdev->no_of_vpath; i++)
vxge_free_mac_add_list(&vdev->vpaths[i]);

vxge_device_unregister(hldev);
_exit5:
_exit4:
pci_disable_sriov(pdev);
vxge_hw_device_terminate(hldev);
_exit4:
iounmap(attr.bar1);
_exit3:
iounmap(attr.bar0);
_exit2:
Expand Down Expand Up @@ -4438,7 +4423,6 @@ vxge_remove(struct pci_dev *pdev)
kfree(vdev->vpaths);

iounmap(vdev->bar0);
iounmap(vdev->bar1);

pci_disable_sriov(pdev);

Expand Down
1 change: 0 additions & 1 deletion drivers/net/vxge/vxge-main.h
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,6 @@ struct vxgedev {

struct __vxge_hw_vpath_handle *vp_handles[VXGE_HW_MAX_VIRTUAL_PATHS];
void __iomem *bar0;
void __iomem *bar1;
struct vxge_sw_stats stats;
int mtu;
/* Below variables are used for vpath selection to transmit a packet */
Expand Down

0 comments on commit 7975d1e

Please sign in to comment.