Lines Matching refs:eq_table

397 	if (dev->eq_table.clr_mask)
398 writel(dev->eq_table.clr_mask, dev->eq_table.clr_int);
408 if (ecr & dev->eq_table.eq[i].eqn_mask) {
409 if (mthca_eq_int(dev, &dev->eq_table.eq[i]))
410 tavor_set_eq_ci(dev, &dev->eq_table.eq[i],
411 dev->eq_table.eq[i].cons_index);
412 tavor_eq_req_not(dev, dev->eq_table.eq[i].eqn);
437 if (dev->eq_table.clr_mask)
438 writel(dev->eq_table.clr_mask, dev->eq_table.clr_int);
441 if (mthca_eq_int(dev, &dev->eq_table.eq[i])) {
443 arbel_set_eq_ci(dev, &dev->eq_table.eq[i],
444 dev->eq_table.eq[i].cons_index);
447 arbel_eq_req_not(dev, dev->eq_table.arm_mask);
514 eq->eqn = mthca_alloc(&dev->eq_table.alloc);
557 dev->eq_table.arm_mask |= eq->eqn_mask;
568 mthca_free(&dev->eq_table.alloc, eq->eqn);
605 dev->eq_table.arm_mask &= ~eq->eqn_mask;
632 if (dev->eq_table.have_irq)
635 if (dev->eq_table.eq[i].have_irq) {
636 free_irq(dev->eq_table.eq[i].msi_x_vector,
637 dev->eq_table.eq + i);
638 dev->eq_table.eq[i].have_irq = 0;
738 dev->eq_table.icm_virt = icm_virt;
739 dev->eq_table.icm_page = alloc_page(GFP_HIGHUSER);
740 if (!dev->eq_table.icm_page)
742 dev->eq_table.icm_dma =
743 dma_map_page(&dev->pdev->dev, dev->eq_table.icm_page, 0,
745 if (dma_mapping_error(&dev->pdev->dev, dev->eq_table.icm_dma)) {
746 __free_page(dev->eq_table.icm_page);
750 ret = mthca_MAP_ICM_page(dev, dev->eq_table.icm_dma, icm_virt);
752 dma_unmap_page(&dev->pdev->dev, dev->eq_table.icm_dma,
754 __free_page(dev->eq_table.icm_page);
762 mthca_UNMAP_ICM(dev, dev->eq_table.icm_virt, 1);
763 dma_unmap_page(&dev->pdev->dev, dev->eq_table.icm_dma, PAGE_SIZE,
765 __free_page(dev->eq_table.icm_page);
774 err = mthca_alloc_init(&dev->eq_table.alloc,
786 dev->eq_table.clr_mask = 0;
788 dev->eq_table.clr_mask =
789 swab32(1 << (dev->eq_table.inta_pin & 31));
790 dev->eq_table.clr_int = dev->clr_base +
791 (dev->eq_table.inta_pin < 32 ? 4 : 0);
794 dev->eq_table.arm_mask = 0;
796 intr = dev->eq_table.inta_pin;
800 &dev->eq_table.eq[MTHCA_EQ_COMP]);
806 &dev->eq_table.eq[MTHCA_EQ_ASYNC]);
812 &dev->eq_table.eq[MTHCA_EQ_CMD]);
824 snprintf(dev->eq_table.eq[i].irq_name,
828 err = request_irq(dev->eq_table.eq[i].msi_x_vector,
832 0, dev->eq_table.eq[i].irq_name,
833 dev->eq_table.eq + i);
836 dev->eq_table.eq[i].have_irq = 1;
839 snprintf(dev->eq_table.eq[0].irq_name, IB_DEVICE_NAME_MAX,
845 IRQF_SHARED, dev->eq_table.eq[0].irq_name, dev);
848 dev->eq_table.have_irq = 1;
852 0, dev->eq_table.eq[MTHCA_EQ_ASYNC].eqn);
855 dev->eq_table.eq[MTHCA_EQ_ASYNC].eqn, err);
858 0, dev->eq_table.eq[MTHCA_EQ_CMD].eqn);
861 dev->eq_table.eq[MTHCA_EQ_CMD].eqn, err);
865 arbel_eq_req_not(dev, dev->eq_table.eq[i].eqn_mask);
867 tavor_eq_req_not(dev, dev->eq_table.eq[i].eqn);
873 mthca_free_eq(dev, &dev->eq_table.eq[MTHCA_EQ_CMD]);
876 mthca_free_eq(dev, &dev->eq_table.eq[MTHCA_EQ_ASYNC]);
879 mthca_free_eq(dev, &dev->eq_table.eq[MTHCA_EQ_COMP]);
885 mthca_alloc_cleanup(&dev->eq_table.alloc);
896 1, dev->eq_table.eq[MTHCA_EQ_ASYNC].eqn);
898 1, dev->eq_table.eq[MTHCA_EQ_CMD].eqn);
901 mthca_free_eq(dev, &dev->eq_table.eq[i]);
905 mthca_alloc_cleanup(&dev->eq_table.alloc);