Skip to content

Commit

Permalink
staging: ipack: Add support for IPACK_MEM16_SPACE.
Browse files Browse the repository at this point in the history
Signed-off-by: Jens Taprogge <jens.taprogge@taprogge.org>
Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Jens Taprogge authored and Greg Kroah-Hartman committed Oct 19, 2012
1 parent fe4a3ed commit 48a9735
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
19 changes: 19 additions & 0 deletions drivers/staging/ipack/bridges/tpci200.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,15 @@ static const size_t tpci200_space_size[IPACK_SPACE_COUNT] = {
[IPACK_ID_SPACE] = TPCI200_ID_SPACE_SIZE,
[IPACK_INT_SPACE] = TPCI200_INT_SPACE_SIZE,
[IPACK_MEM8_SPACE] = TPCI200_MEM8_SPACE_SIZE,
[IPACK_MEM16_SPACE] = TPCI200_MEM16_SPACE_SIZE,
};

static const size_t tpci200_space_interval[IPACK_SPACE_COUNT] = {
[IPACK_IO_SPACE] = TPCI200_IO_SPACE_INTERVAL,
[IPACK_ID_SPACE] = TPCI200_ID_SPACE_INTERVAL,
[IPACK_INT_SPACE] = TPCI200_INT_SPACE_INTERVAL,
[IPACK_MEM8_SPACE] = TPCI200_MEM8_SPACE_INTERVAL,
[IPACK_MEM16_SPACE] = TPCI200_MEM16_SPACE_INTERVAL,
};

static struct tpci200_board *check_slot(struct ipack_device *dev)
Expand Down Expand Up @@ -94,6 +96,7 @@ static void tpci200_unregister(struct tpci200_board *tpci200)

pci_release_region(tpci200->info->pdev, TPCI200_IP_INTERFACE_BAR);
pci_release_region(tpci200->info->pdev, TPCI200_IO_ID_INT_SPACES_BAR);
pci_release_region(tpci200->info->pdev, TPCI200_MEM16_SPACE_BAR);
pci_release_region(tpci200->info->pdev, TPCI200_MEM8_SPACE_BAR);
pci_release_region(tpci200->info->pdev, TPCI200_CFG_MEM_BAR);

Expand Down Expand Up @@ -282,6 +285,17 @@ static int tpci200_register(struct tpci200_board *tpci200)
goto out_release_ioid_int_space;
}

/* Request MEM16 space (Bar 4) */
res = pci_request_region(tpci200->info->pdev, TPCI200_MEM16_SPACE_BAR,
"Carrier MEM16 space");
if (res) {
dev_err(&tpci200->info->pdev->dev,
"(bn 0x%X, sn 0x%X) failed to allocate PCI resource for BAR 4!",
tpci200->info->pdev->bus->number,
tpci200->info->pdev->devfn);
goto out_release_mem8_space;
}

/* Map internal tpci200 driver user space */
tpci200->info->interface_regs =
ioremap_nocache(pci_resource_start(tpci200->info->pdev,
Expand All @@ -300,6 +314,9 @@ static int tpci200_register(struct tpci200_board *tpci200)
tpci200->mod_mem[IPACK_MEM8_SPACE] =
pci_resource_start(tpci200->info->pdev,
TPCI200_MEM8_SPACE_BAR);
tpci200->mod_mem[IPACK_MEM16_SPACE] =
pci_resource_start(tpci200->info->pdev,
TPCI200_MEM16_SPACE_BAR);

/* Set the default parameters of the slot
* INT0 disabled, level sensitive
Expand All @@ -326,6 +343,8 @@ static int tpci200_register(struct tpci200_board *tpci200)

return 0;

out_release_mem8_space:
pci_release_region(tpci200->info->pdev, TPCI200_MEM8_SPACE_BAR);
out_release_ioid_int_space:
pci_release_region(tpci200->info->pdev, TPCI200_IO_ID_INT_SPACES_BAR);
out_release_ip_space:
Expand Down
1 change: 1 addition & 0 deletions drivers/staging/ipack/ipack.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ enum ipack_space {
IPACK_ID_SPACE,
IPACK_INT_SPACE,
IPACK_MEM8_SPACE,
IPACK_MEM16_SPACE,
/* Dummy for counting the number of entries. Must remain the last
* entry */
IPACK_SPACE_COUNT,
Expand Down

0 comments on commit 48a9735

Please sign in to comment.