ocx              1078 drivers/edac/thunderx_edac.c 	struct thunderx_ocx *ocx = container_of(msix, struct thunderx_ocx,
ocx              1082 drivers/edac/thunderx_edac.c 	unsigned long head = ring_pos(ocx->com_ring_head,
ocx              1083 drivers/edac/thunderx_edac.c 				      ARRAY_SIZE(ocx->com_err_ctx));
ocx              1084 drivers/edac/thunderx_edac.c 	struct ocx_com_err_ctx *ctx = &ocx->com_err_ctx[head];
ocx              1086 drivers/edac/thunderx_edac.c 	ctx->reg_com_int = readq(ocx->regs + OCX_COM_INT);
ocx              1090 drivers/edac/thunderx_edac.c 			readq(ocx->regs + OCX_LNE_INT(lane));
ocx              1092 drivers/edac/thunderx_edac.c 			readq(ocx->regs + OCX_LNE_STAT(lane, 11));
ocx              1094 drivers/edac/thunderx_edac.c 		writeq(ctx->reg_lane_int[lane], ocx->regs + OCX_LNE_INT(lane));
ocx              1097 drivers/edac/thunderx_edac.c 	writeq(ctx->reg_com_int, ocx->regs + OCX_COM_INT);
ocx              1099 drivers/edac/thunderx_edac.c 	ocx->com_ring_head++;
ocx              1107 drivers/edac/thunderx_edac.c 	struct thunderx_ocx *ocx = container_of(msix, struct thunderx_ocx,
ocx              1124 drivers/edac/thunderx_edac.c 	while (CIRC_CNT(ocx->com_ring_head, ocx->com_ring_tail,
ocx              1125 drivers/edac/thunderx_edac.c 			ARRAY_SIZE(ocx->com_err_ctx))) {
ocx              1126 drivers/edac/thunderx_edac.c 		tail = ring_pos(ocx->com_ring_tail,
ocx              1127 drivers/edac/thunderx_edac.c 				ARRAY_SIZE(ocx->com_err_ctx));
ocx              1128 drivers/edac/thunderx_edac.c 		ctx = &ocx->com_err_ctx[tail];
ocx              1131 drivers/edac/thunderx_edac.c 			ocx->edac_dev->ctl_name, ctx->reg_com_int);
ocx              1154 drivers/edac/thunderx_edac.c 			edac_device_handle_ce(ocx->edac_dev, 0, 0, msg);
ocx              1156 drivers/edac/thunderx_edac.c 		ocx->com_ring_tail++;
ocx              1171 drivers/edac/thunderx_edac.c 	struct thunderx_ocx *ocx = container_of(msix, struct thunderx_ocx,
ocx              1173 drivers/edac/thunderx_edac.c 	unsigned long head = ring_pos(ocx->link_ring_head,
ocx              1174 drivers/edac/thunderx_edac.c 				      ARRAY_SIZE(ocx->link_err_ctx));
ocx              1175 drivers/edac/thunderx_edac.c 	struct ocx_link_err_ctx *ctx = &ocx->link_err_ctx[head];
ocx              1178 drivers/edac/thunderx_edac.c 	ctx->reg_com_link_int = readq(ocx->regs + OCX_COM_LINKX_INT(ctx->link));
ocx              1180 drivers/edac/thunderx_edac.c 	writeq(ctx->reg_com_link_int, ocx->regs + OCX_COM_LINKX_INT(ctx->link));
ocx              1182 drivers/edac/thunderx_edac.c 	ocx->link_ring_head++;
ocx              1190 drivers/edac/thunderx_edac.c 	struct thunderx_ocx *ocx = container_of(msix, struct thunderx_ocx,
ocx              1205 drivers/edac/thunderx_edac.c 	while (CIRC_CNT(ocx->link_ring_head, ocx->link_ring_tail,
ocx              1206 drivers/edac/thunderx_edac.c 			ARRAY_SIZE(ocx->link_err_ctx))) {
ocx              1207 drivers/edac/thunderx_edac.c 		tail = ring_pos(ocx->link_ring_head,
ocx              1208 drivers/edac/thunderx_edac.c 				ARRAY_SIZE(ocx->link_err_ctx));
ocx              1210 drivers/edac/thunderx_edac.c 		ctx = &ocx->link_err_ctx[tail];
ocx              1214 drivers/edac/thunderx_edac.c 			 ocx->edac_dev->ctl_name,
ocx              1223 drivers/edac/thunderx_edac.c 			edac_device_handle_ue(ocx->edac_dev, 0, 0, msg);
ocx              1225 drivers/edac/thunderx_edac.c 			edac_device_handle_ce(ocx->edac_dev, 0, 0, msg);
ocx              1227 drivers/edac/thunderx_edac.c 		ocx->link_ring_tail++;
ocx              1238 drivers/edac/thunderx_edac.c #define OCX_DEBUGFS_ATTR(_name, _reg)	DEBUGFS_REG_ATTR(ocx, _name, _reg)
ocx              1327 drivers/edac/thunderx_edac.c static void thunderx_ocx_clearstats(struct thunderx_ocx *ocx)
ocx              1332 drivers/edac/thunderx_edac.c 		cfg = readq(ocx->regs + OCX_LNE_CFG(lane));
ocx              1335 drivers/edac/thunderx_edac.c 		writeq(cfg, ocx->regs + OCX_LNE_CFG(lane));
ocx              1338 drivers/edac/thunderx_edac.c 			readq(ocx->regs + OCX_LNE_STAT(lane, stat));
ocx              1345 drivers/edac/thunderx_edac.c 	struct thunderx_ocx *ocx;
ocx              1374 drivers/edac/thunderx_edac.c 	ocx = edac_dev->pvt_info;
ocx              1375 drivers/edac/thunderx_edac.c 	ocx->edac_dev = edac_dev;
ocx              1376 drivers/edac/thunderx_edac.c 	ocx->com_ring_head = 0;
ocx              1377 drivers/edac/thunderx_edac.c 	ocx->com_ring_tail = 0;
ocx              1378 drivers/edac/thunderx_edac.c 	ocx->link_ring_head = 0;
ocx              1379 drivers/edac/thunderx_edac.c 	ocx->link_ring_tail = 0;
ocx              1381 drivers/edac/thunderx_edac.c 	ocx->regs = pcim_iomap_table(pdev)[0];
ocx              1382 drivers/edac/thunderx_edac.c 	if (!ocx->regs) {
ocx              1388 drivers/edac/thunderx_edac.c 	ocx->pdev = pdev;
ocx              1391 drivers/edac/thunderx_edac.c 		ocx->msix_ent[i].entry = i;
ocx              1392 drivers/edac/thunderx_edac.c 		ocx->msix_ent[i].vector = 0;
ocx              1395 drivers/edac/thunderx_edac.c 	ret = pci_enable_msix_exact(pdev, ocx->msix_ent, OCX_INTS);
ocx              1403 drivers/edac/thunderx_edac.c 						ocx->msix_ent[i].vector,
ocx              1411 drivers/edac/thunderx_edac.c 						&ocx->msix_ent[i]);
ocx              1428 drivers/edac/thunderx_edac.c 		ocx->debugfs = edac_debugfs_create_dir(pdev->dev.kobj.name);
ocx              1430 drivers/edac/thunderx_edac.c 		ret = thunderx_create_debugfs_nodes(ocx->debugfs,
ocx              1432 drivers/edac/thunderx_edac.c 						    ocx,
ocx              1442 drivers/edac/thunderx_edac.c 	thunderx_ocx_clearstats(ocx);
ocx              1446 drivers/edac/thunderx_edac.c 		       ocx->regs + OCX_LNE_INT_EN(i));
ocx              1448 drivers/edac/thunderx_edac.c 		reg = readq(ocx->regs + OCX_LNE_INT(i));
ocx              1449 drivers/edac/thunderx_edac.c 		writeq(reg, ocx->regs + OCX_LNE_INT(i));
ocx              1454 drivers/edac/thunderx_edac.c 		reg = readq(ocx->regs + OCX_COM_LINKX_INT(i));
ocx              1455 drivers/edac/thunderx_edac.c 		writeq(reg, ocx->regs + OCX_COM_LINKX_INT(i));
ocx              1458 drivers/edac/thunderx_edac.c 		       ocx->regs + OCX_COM_LINKX_INT_ENA_W1S(i));
ocx              1461 drivers/edac/thunderx_edac.c 	reg = readq(ocx->regs + OCX_COM_INT);
ocx              1462 drivers/edac/thunderx_edac.c 	writeq(reg, ocx->regs + OCX_COM_INT);
ocx              1464 drivers/edac/thunderx_edac.c 	writeq(OCX_COM_INT_ENA_ALL, ocx->regs + OCX_COM_INT_ENA_W1S);
ocx              1476 drivers/edac/thunderx_edac.c 	struct thunderx_ocx *ocx = edac_dev->pvt_info;
ocx              1479 drivers/edac/thunderx_edac.c 	writeq(OCX_COM_INT_ENA_ALL, ocx->regs + OCX_COM_INT_ENA_W1C);
ocx              1483 drivers/edac/thunderx_edac.c 		       ocx->regs + OCX_COM_LINKX_INT_ENA_W1C(i));
ocx              1486 drivers/edac/thunderx_edac.c 	edac_debugfs_remove_recursive(ocx->debugfs);