drivers/misc/hpilo: Changes to support new security states in iLO5 FW
Changes to support new security states of the iLO5 firmware. - use BAR5 for CCB's for iLO5 - simplification of error handling Signed-off-by: Mark Rusk <mark.rusk@hpe.com> Signed-off-by: David Altobelli <david.altobelli@hpe.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3936e4c8db
commit
c9fef1cc3d
@ -688,7 +688,8 @@ static void ilo_unmap_device(struct pci_dev *pdev, struct ilo_hwinfo *hw)
|
|||||||
|
|
||||||
static int ilo_map_device(struct pci_dev *pdev, struct ilo_hwinfo *hw)
|
static int ilo_map_device(struct pci_dev *pdev, struct ilo_hwinfo *hw)
|
||||||
{
|
{
|
||||||
int error = -ENOMEM;
|
int bar;
|
||||||
|
unsigned long off;
|
||||||
|
|
||||||
/* map the memory mapped i/o registers */
|
/* map the memory mapped i/o registers */
|
||||||
hw->mmio_vaddr = pci_iomap(pdev, 1, 0);
|
hw->mmio_vaddr = pci_iomap(pdev, 1, 0);
|
||||||
@ -698,7 +699,15 @@ static int ilo_map_device(struct pci_dev *pdev, struct ilo_hwinfo *hw)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* map the adapter shared memory region */
|
/* map the adapter shared memory region */
|
||||||
hw->ram_vaddr = pci_iomap(pdev, 2, max_ccb * ILOHW_CCB_SZ);
|
if (pdev->subsystem_device == 0x00E4) {
|
||||||
|
bar = 5;
|
||||||
|
/* Last 8k is reserved for CCBs */
|
||||||
|
off = pci_resource_len(pdev, bar) - 0x2000;
|
||||||
|
} else {
|
||||||
|
bar = 2;
|
||||||
|
off = 0;
|
||||||
|
}
|
||||||
|
hw->ram_vaddr = pci_iomap_range(pdev, bar, off, max_ccb * ILOHW_CCB_SZ);
|
||||||
if (hw->ram_vaddr == NULL) {
|
if (hw->ram_vaddr == NULL) {
|
||||||
dev_err(&pdev->dev, "Error mapping shared mem\n");
|
dev_err(&pdev->dev, "Error mapping shared mem\n");
|
||||||
goto mmio_free;
|
goto mmio_free;
|
||||||
@ -717,7 +726,7 @@ ram_free:
|
|||||||
mmio_free:
|
mmio_free:
|
||||||
pci_iounmap(pdev, hw->mmio_vaddr);
|
pci_iounmap(pdev, hw->mmio_vaddr);
|
||||||
out:
|
out:
|
||||||
return error;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ilo_remove(struct pci_dev *pdev)
|
static void ilo_remove(struct pci_dev *pdev)
|
||||||
@ -899,7 +908,7 @@ static void __exit ilo_exit(void)
|
|||||||
class_destroy(ilo_class);
|
class_destroy(ilo_class);
|
||||||
}
|
}
|
||||||
|
|
||||||
MODULE_VERSION("1.4.1");
|
MODULE_VERSION("1.5.0");
|
||||||
MODULE_ALIAS(ILO_NAME);
|
MODULE_ALIAS(ILO_NAME);
|
||||||
MODULE_DESCRIPTION(ILO_NAME);
|
MODULE_DESCRIPTION(ILO_NAME);
|
||||||
MODULE_AUTHOR("David Altobelli <david.altobelli@hpe.com>");
|
MODULE_AUTHOR("David Altobelli <david.altobelli@hpe.com>");
|
||||||
|
Loading…
Reference in New Issue
Block a user