Lines Matching refs:l2c
1845 struct thunderx_l2c *l2c = container_of(msix, struct thunderx_l2c, in thunderx_l2c_threaded_isr() local
1848 unsigned long tail = ring_pos(l2c->ring_tail, ARRAY_SIZE(l2c->err_ctx)); in thunderx_l2c_threaded_isr()
1849 struct l2c_err_ctx *ctx = &l2c->err_ctx[tail]; in thunderx_l2c_threaded_isr()
1865 switch (l2c->pdev->device) { in thunderx_l2c_threaded_isr()
1885 dev_err(&l2c->pdev->dev, "Unsupported device: %04x\n", in thunderx_l2c_threaded_isr()
1886 l2c->pdev->device); in thunderx_l2c_threaded_isr()
1890 while (CIRC_CNT(l2c->ring_head, l2c->ring_tail, in thunderx_l2c_threaded_isr()
1891 ARRAY_SIZE(l2c->err_ctx))) { in thunderx_l2c_threaded_isr()
1894 l2c->edac_dev->ctl_name, reg_int_name, ctx->reg_int, in thunderx_l2c_threaded_isr()
1902 edac_device_handle_ue(l2c->edac_dev, 0, 0, msg); in thunderx_l2c_threaded_isr()
1904 edac_device_handle_ce(l2c->edac_dev, 0, 0, msg); in thunderx_l2c_threaded_isr()
1906 l2c->ring_tail++; in thunderx_l2c_threaded_isr()
1918 #define L2C_DEBUGFS_ATTR(_name, _reg) DEBUGFS_REG_ATTR(l2c, _name, _reg)
1948 struct thunderx_l2c *l2c; in thunderx_l2c_probe() local
2014 l2c = edac_dev->pvt_info; in thunderx_l2c_probe()
2015 l2c->edac_dev = edac_dev; in thunderx_l2c_probe()
2017 l2c->regs = pcim_iomap_table(pdev)[0]; in thunderx_l2c_probe()
2018 if (!l2c->regs) { in thunderx_l2c_probe()
2024 l2c->pdev = pdev; in thunderx_l2c_probe()
2026 l2c->ring_head = 0; in thunderx_l2c_probe()
2027 l2c->ring_tail = 0; in thunderx_l2c_probe()
2029 l2c->msix_ent.entry = 0; in thunderx_l2c_probe()
2030 l2c->msix_ent.vector = 0; in thunderx_l2c_probe()
2032 ret = pci_enable_msix_exact(pdev, &l2c->msix_ent, 1); in thunderx_l2c_probe()
2038 ret = devm_request_threaded_irq(&pdev->dev, l2c->msix_ent.vector, in thunderx_l2c_probe()
2042 &l2c->msix_ent); in thunderx_l2c_probe()
2058 l2c->debugfs = edac_debugfs_create_dir(pdev->dev.kobj.name); in thunderx_l2c_probe()
2060 ret = thunderx_create_debugfs_nodes(l2c->debugfs, l2c_devattr, in thunderx_l2c_probe()
2061 l2c, dfs_entries); in thunderx_l2c_probe()
2071 writeq(reg_en_mask, l2c->regs + reg_en_offs); in thunderx_l2c_probe()
2084 struct thunderx_l2c *l2c = edac_dev->pvt_info; in thunderx_l2c_remove() local
2088 writeq(L2C_TAD_INT_ENA_ALL, l2c->regs + L2C_TAD_INT_ENA_W1C); in thunderx_l2c_remove()
2091 writeq(L2C_CBC_INT_ENA_ALL, l2c->regs + L2C_CBC_INT_ENA_W1C); in thunderx_l2c_remove()
2094 writeq(L2C_MCI_INT_ENA_ALL, l2c->regs + L2C_MCI_INT_ENA_W1C); in thunderx_l2c_remove()
2098 edac_debugfs_remove_recursive(l2c->debugfs); in thunderx_l2c_remove()