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:
Родитель
5bbc330100
Коммит
232f47060a
|
@ -72,6 +72,7 @@
|
|||
|
||||
#define I40E_MAX_NUM_DESCRIPTORS 4096
|
||||
#define I40E_MAX_REGISTER 0x800000
|
||||
#define I40E_MAX_CSR_SPACE (4 * 1024 * 1024 - 64 * 1024)
|
||||
#define I40E_DEFAULT_NUM_DESCRIPTORS 512
|
||||
#define I40E_REQ_DESCRIPTOR_MULTIPLE 32
|
||||
#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_hw *hw;
|
||||
static u16 pfs_found;
|
||||
u32 ioremap_len;
|
||||
u16 link_status;
|
||||
int err = 0;
|
||||
u32 len;
|
||||
|
@ -9507,8 +9508,11 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|||
|
||||
hw = &pf->hw;
|
||||
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) {
|
||||
err = -EIO;
|
||||
dev_info(&pdev->dev, "ioremap(0x%04x, 0x%04x) failed: 0x%x\n",
|
||||
|
|
Загрузка…
Ссылка в новой задаче