aer_info
aer = (struct aer_capability_regs *)pcie_err->aer_info;
u8 *aer_info;
aer_info = (void *)gen_pool_alloc(ghes_estatus_pool,
if (!aer_info)
memcpy(aer_info, pcie_err->aer_info, sizeof(struct aer_capability_regs));
aer_info);
aer = (struct aer_capability_regs *)pcie->aer_info;
dev->aer_info = kzalloc_obj(*dev->aer_info);
if (!dev->aer_info) {
ratelimit_state_init(&dev->aer_info->correctable_ratelimit,
ratelimit_state_init(&dev->aer_info->nonfatal_ratelimit,
kfree(dev->aer_info);
dev->aer_info = NULL;
u64 *stats = pdev->aer_info->stats_array; \
for (i = 0; i < ARRAY_SIZE(pdev->aer_info->stats_array); i++) { \
pdev->aer_info->total_field); \
return sysfs_emit(buf, "%llu\n", pdev->aer_info->field); \
if (!pdev->aer_info)
pdev->aer_info->ratelimit.interval); \
pdev->aer_info->ratelimit.interval = interval; \
pdev->aer_info->ratelimit.burst); \
pdev->aer_info->ratelimit.burst = burst; \
if (!pdev->aer_info)
struct aer_info *aer_info = pdev->aer_info;
if (!aer_info)
aer_info->dev_total_cor_errs++;
counter = &aer_info->dev_cor_errs[0];
aer_info->dev_total_nonfatal_errs++;
counter = &aer_info->dev_nonfatal_errs[0];
aer_info->dev_total_fatal_errs++;
counter = &aer_info->dev_fatal_errs[0];
struct aer_info *aer_info = pdev->aer_info;
if (!aer_info)
aer_info->rootport_total_cor_errs++;
aer_info->rootport_total_fatal_errs++;
aer_info->rootport_total_nonfatal_errs++;
if (!dev->aer_info)
return __ratelimit(&dev->aer_info->nonfatal_ratelimit);
return __ratelimit(&dev->aer_info->correctable_ratelimit);
u8 aer_info[96];
struct aer_info *aer_info; /* AER info for this device */