gicp               40 drivers/irqchip/irq-mvebu-gicp.c static int gicp_idx_to_spi(struct mvebu_gicp *gicp, int idx)
gicp               44 drivers/irqchip/irq-mvebu-gicp.c 	for (i = 0; i < gicp->spi_ranges_cnt; i++) {
gicp               45 drivers/irqchip/irq-mvebu-gicp.c 		struct mvebu_gicp_spi_range *r = &gicp->spi_ranges[i];
gicp               58 drivers/irqchip/irq-mvebu-gicp.c 	struct mvebu_gicp *gicp = data->chip_data;
gicp               59 drivers/irqchip/irq-mvebu-gicp.c 	phys_addr_t setspi = gicp->res->start + GICP_SETSPI_NSR_OFFSET;
gicp               60 drivers/irqchip/irq-mvebu-gicp.c 	phys_addr_t clrspi = gicp->res->start + GICP_CLRSPI_NSR_OFFSET;
gicp               83 drivers/irqchip/irq-mvebu-gicp.c 	struct mvebu_gicp *gicp = domain->host_data;
gicp               88 drivers/irqchip/irq-mvebu-gicp.c 	spin_lock(&gicp->spi_lock);
gicp               89 drivers/irqchip/irq-mvebu-gicp.c 	hwirq = find_first_zero_bit(gicp->spi_bitmap, gicp->spi_cnt);
gicp               90 drivers/irqchip/irq-mvebu-gicp.c 	if (hwirq == gicp->spi_cnt) {
gicp               91 drivers/irqchip/irq-mvebu-gicp.c 		spin_unlock(&gicp->spi_lock);
gicp               94 drivers/irqchip/irq-mvebu-gicp.c 	__set_bit(hwirq, gicp->spi_bitmap);
gicp               95 drivers/irqchip/irq-mvebu-gicp.c 	spin_unlock(&gicp->spi_lock);
gicp              100 drivers/irqchip/irq-mvebu-gicp.c 	fwspec.param[1] = gicp_idx_to_spi(gicp, hwirq) - 32;
gicp              109 drivers/irqchip/irq-mvebu-gicp.c 		dev_err(gicp->dev, "Cannot allocate parent IRQ\n");
gicp              114 drivers/irqchip/irq-mvebu-gicp.c 					    &gicp_irq_chip, gicp);
gicp              123 drivers/irqchip/irq-mvebu-gicp.c 	spin_lock(&gicp->spi_lock);
gicp              124 drivers/irqchip/irq-mvebu-gicp.c 	__clear_bit(hwirq, gicp->spi_bitmap);
gicp              125 drivers/irqchip/irq-mvebu-gicp.c 	spin_unlock(&gicp->spi_lock);
gicp              132 drivers/irqchip/irq-mvebu-gicp.c 	struct mvebu_gicp *gicp = domain->host_data;
gicp              135 drivers/irqchip/irq-mvebu-gicp.c 	if (d->hwirq >= gicp->spi_cnt) {
gicp              136 drivers/irqchip/irq-mvebu-gicp.c 		dev_err(gicp->dev, "Invalid hwirq %lu\n", d->hwirq);
gicp              142 drivers/irqchip/irq-mvebu-gicp.c 	spin_lock(&gicp->spi_lock);
gicp              143 drivers/irqchip/irq-mvebu-gicp.c 	__clear_bit(d->hwirq, gicp->spi_bitmap);
gicp              144 drivers/irqchip/irq-mvebu-gicp.c 	spin_unlock(&gicp->spi_lock);
gicp              170 drivers/irqchip/irq-mvebu-gicp.c 	struct mvebu_gicp *gicp;
gicp              176 drivers/irqchip/irq-mvebu-gicp.c 	gicp = devm_kzalloc(&pdev->dev, sizeof(*gicp), GFP_KERNEL);
gicp              177 drivers/irqchip/irq-mvebu-gicp.c 	if (!gicp)
gicp              180 drivers/irqchip/irq-mvebu-gicp.c 	gicp->dev = &pdev->dev;
gicp              181 drivers/irqchip/irq-mvebu-gicp.c 	spin_lock_init(&gicp->spi_lock);
gicp              183 drivers/irqchip/irq-mvebu-gicp.c 	gicp->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
gicp              184 drivers/irqchip/irq-mvebu-gicp.c 	if (!gicp->res)
gicp              191 drivers/irqchip/irq-mvebu-gicp.c 	gicp->spi_ranges_cnt = ret / 2;
gicp              193 drivers/irqchip/irq-mvebu-gicp.c 	gicp->spi_ranges =
gicp              195 drivers/irqchip/irq-mvebu-gicp.c 			     gicp->spi_ranges_cnt,
gicp              198 drivers/irqchip/irq-mvebu-gicp.c 	if (!gicp->spi_ranges)
gicp              201 drivers/irqchip/irq-mvebu-gicp.c 	for (i = 0; i < gicp->spi_ranges_cnt; i++) {
gicp              204 drivers/irqchip/irq-mvebu-gicp.c 					   &gicp->spi_ranges[i].start);
gicp              208 drivers/irqchip/irq-mvebu-gicp.c 					   &gicp->spi_ranges[i].count);
gicp              210 drivers/irqchip/irq-mvebu-gicp.c 		gicp->spi_cnt += gicp->spi_ranges[i].count;
gicp              213 drivers/irqchip/irq-mvebu-gicp.c 	gicp->spi_bitmap = devm_kcalloc(&pdev->dev,
gicp              214 drivers/irqchip/irq-mvebu-gicp.c 				BITS_TO_LONGS(gicp->spi_cnt), sizeof(long),
gicp              216 drivers/irqchip/irq-mvebu-gicp.c 	if (!gicp->spi_bitmap)
gicp              232 drivers/irqchip/irq-mvebu-gicp.c 						   gicp->spi_cnt,
gicp              234 drivers/irqchip/irq-mvebu-gicp.c 						   &gicp_domain_ops, gicp);
gicp              247 drivers/irqchip/irq-mvebu-gicp.c 	platform_set_drvdata(pdev, gicp);