netxen: to fix onchip memory access.
Remove unnecessary remap of the region in bar 0 to access onhip memory for NX3031. Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com> Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
215387a4b5
commit
14e2cfbb79
@@ -32,7 +32,6 @@
|
|||||||
#define MASK(n) ((1ULL<<(n))-1)
|
#define MASK(n) ((1ULL<<(n))-1)
|
||||||
#define MN_WIN(addr) (((addr & 0x1fc0000) >> 1) | ((addr >> 25) & 0x3ff))
|
#define MN_WIN(addr) (((addr & 0x1fc0000) >> 1) | ((addr >> 25) & 0x3ff))
|
||||||
#define OCM_WIN(addr) (((addr & 0x1ff0000) >> 1) | ((addr >> 25) & 0x3ff))
|
#define OCM_WIN(addr) (((addr & 0x1ff0000) >> 1) | ((addr >> 25) & 0x3ff))
|
||||||
#define OCM_WIN_P3P(addr) (addr & 0xffc0000)
|
|
||||||
#define MS_WIN(addr) (addr & 0x0ffc0000)
|
#define MS_WIN(addr) (addr & 0x0ffc0000)
|
||||||
|
|
||||||
#define GET_MEM_OFFS_2M(addr) (addr & MASK(18))
|
#define GET_MEM_OFFS_2M(addr) (addr & MASK(18))
|
||||||
@@ -1391,17 +1390,7 @@ netxen_nic_pci_set_window_2M(struct netxen_adapter *adapter,
|
|||||||
u64 addr, u32 *start)
|
u64 addr, u32 *start)
|
||||||
{
|
{
|
||||||
u32 window;
|
u32 window;
|
||||||
struct pci_dev *pdev = adapter->pdev;
|
|
||||||
|
|
||||||
if ((addr & 0x00ff800) == 0xff800) {
|
|
||||||
if (printk_ratelimit())
|
|
||||||
dev_warn(&pdev->dev, "QM access not handled\n");
|
|
||||||
return -EIO;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (NX_IS_REVISION_P3P(adapter->ahw.revision_id))
|
|
||||||
window = OCM_WIN_P3P(addr);
|
|
||||||
else
|
|
||||||
window = OCM_WIN(addr);
|
window = OCM_WIN(addr);
|
||||||
|
|
||||||
writel(window, adapter->ahw.ocm_win_crb);
|
writel(window, adapter->ahw.ocm_win_crb);
|
||||||
@@ -1419,7 +1408,7 @@ netxen_nic_pci_mem_access_direct(struct netxen_adapter *adapter, u64 off,
|
|||||||
{
|
{
|
||||||
void __iomem *addr, *mem_ptr = NULL;
|
void __iomem *addr, *mem_ptr = NULL;
|
||||||
resource_size_t mem_base;
|
resource_size_t mem_base;
|
||||||
int ret = -EIO;
|
int ret;
|
||||||
u32 start;
|
u32 start;
|
||||||
|
|
||||||
spin_lock(&adapter->ahw.mem_lock);
|
spin_lock(&adapter->ahw.mem_lock);
|
||||||
@@ -1428,12 +1417,15 @@ netxen_nic_pci_mem_access_direct(struct netxen_adapter *adapter, u64 off,
|
|||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
goto unlock;
|
goto unlock;
|
||||||
|
|
||||||
|
if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
|
||||||
|
addr = adapter->ahw.pci_base0 + start;
|
||||||
|
} else {
|
||||||
addr = pci_base_offset(adapter, start);
|
addr = pci_base_offset(adapter, start);
|
||||||
if (addr)
|
if (addr)
|
||||||
goto noremap;
|
goto noremap;
|
||||||
|
|
||||||
mem_base = pci_resource_start(adapter->pdev, 0) + (start & PAGE_MASK);
|
mem_base = pci_resource_start(adapter->pdev, 0) +
|
||||||
|
(start & PAGE_MASK);
|
||||||
mem_ptr = ioremap(mem_base, PAGE_SIZE);
|
mem_ptr = ioremap(mem_base, PAGE_SIZE);
|
||||||
if (mem_ptr == NULL) {
|
if (mem_ptr == NULL) {
|
||||||
ret = -EIO;
|
ret = -EIO;
|
||||||
@@ -1441,7 +1433,7 @@ netxen_nic_pci_mem_access_direct(struct netxen_adapter *adapter, u64 off,
|
|||||||
}
|
}
|
||||||
|
|
||||||
addr = mem_ptr + (start & (PAGE_SIZE-1));
|
addr = mem_ptr + (start & (PAGE_SIZE-1));
|
||||||
|
}
|
||||||
noremap:
|
noremap:
|
||||||
if (op == 0) /* read */
|
if (op == 0) /* read */
|
||||||
*data = readq(addr);
|
*data = readq(addr);
|
||||||
|
Reference in New Issue
Block a user