static void snb_uncore_imc_init_box(struct intel_uncore_box *box)
{
struct pci_dev *pdev = box->pci_dev;
- u32 addr_lo, addr_hi;
+ int where = SNB_UNCORE_PCI_IMC_BAR_OFFSET;
resource_size_t addr;
+ u32 pci_dword;
- pci_read_config_dword(pdev, SNB_UNCORE_PCI_IMC_BAR_OFFSET, &addr_lo);
- addr = addr_lo;
+ pci_read_config_dword(pdev, where, &pci_dword);
+ addr = pci_dword;
#ifdef CONFIG_PHYS_ADDR_T_64BIT
- pci_read_config_dword(pdev, SNB_UNCORE_PCI_IMC_BAR_OFFSET+4, &addr_hi);
- addr = ((resource_size_t)addr_hi << 32) | addr_lo;
+ pci_read_config_dword(pdev, where + 4, &pci_dword);
+ addr |= ((resource_size_t)pci_dword << 32);
#endif
addr &= ~(PAGE_SIZE - 1);