i40e: Ioremap changes
For future device support we do not want to map the whole CSR space since some of it is mapped by other drivers with different mapping methods. Note: As a side effect, the flash region (if exposed through the memory map) gets unmapped too since it follows the future use region. Change-ID: Ic729a2eacd692984220b1a415ff4fa0f98ea419a Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Jim Young <james.m.young@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
5bbc330100
commit
232f47060a
|
@ -72,6 +72,7 @@
|
||||||
|
|
||||||
#define I40E_MAX_NUM_DESCRIPTORS 4096
|
#define I40E_MAX_NUM_DESCRIPTORS 4096
|
||||||
#define I40E_MAX_REGISTER 0x800000
|
#define I40E_MAX_REGISTER 0x800000
|
||||||
|
#define I40E_MAX_CSR_SPACE (4 * 1024 * 1024 - 64 * 1024)
|
||||||
#define I40E_DEFAULT_NUM_DESCRIPTORS 512
|
#define I40E_DEFAULT_NUM_DESCRIPTORS 512
|
||||||
#define I40E_REQ_DESCRIPTOR_MULTIPLE 32
|
#define I40E_REQ_DESCRIPTOR_MULTIPLE 32
|
||||||
#define I40E_MIN_NUM_DESCRIPTORS 64
|
#define I40E_MIN_NUM_DESCRIPTORS 64
|
||||||
|
|
|
@ -9459,6 +9459,7 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
struct i40e_pf *pf;
|
struct i40e_pf *pf;
|
||||||
struct i40e_hw *hw;
|
struct i40e_hw *hw;
|
||||||
static u16 pfs_found;
|
static u16 pfs_found;
|
||||||
|
u32 ioremap_len;
|
||||||
u16 link_status;
|
u16 link_status;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
u32 len;
|
u32 len;
|
||||||
|
@ -9507,8 +9508,11 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||||
|
|
||||||
hw = &pf->hw;
|
hw = &pf->hw;
|
||||||
hw->back = pf;
|
hw->back = pf;
|
||||||
hw->hw_addr = ioremap(pci_resource_start(pdev, 0),
|
|
||||||
pci_resource_len(pdev, 0));
|
ioremap_len = min_t(int, pci_resource_len(pdev, 0),
|
||||||
|
I40E_MAX_CSR_SPACE);
|
||||||
|
|
||||||
|
hw->hw_addr = ioremap(pci_resource_start(pdev, 0), ioremap_len);
|
||||||
if (!hw->hw_addr) {
|
if (!hw->hw_addr) {
|
||||||
err = -EIO;
|
err = -EIO;
|
||||||
dev_info(&pdev->dev, "ioremap(0x%04x, 0x%04x) failed: 0x%x\n",
|
dev_info(&pdev->dev, "ioremap(0x%04x, 0x%04x) failed: 0x%x\n",
|
||||||
|
|
Loading…
Reference in New Issue