disc_table
entry->disc_table = devm_ioremap_resource(dev, disc_res);
if (IS_ERR(entry->disc_table))
return PTR_ERR(entry->disc_table);
void __iomem *disc_table;
u32 reg = readl(entry->disc_table + control->offset);
writel(reg, entry->disc_table + control->offset);
u32 reg = readl(crashlog->entry.disc_table + status->offset);
u32 discovery_header = readl(entry->disc_table + CONTROL_OFFSET);
void __iomem *disc_table = entry->disc_table;
header->access_type = GET_ACCESS(readl(disc_table));
header->guid = readl(disc_table + GUID_OFFSET);
header->base_offset = readl(disc_table + BASE_OFFSET);
header->size = GET_SIZE(readl(disc_table + SIZE_OFFSET));
u32 guid = readl(entry->disc_table + TELEM_GUID_OFFSET);
u32 type = TELEM_TYPE(readl(entry->disc_table));
void __iomem *disc_table = entry->disc_table;
header->access_type = TELEM_ACCESS(readl(disc_table));
header->guid = readl(disc_table + TELEM_GUID_OFFSET);
header->base_offset = readl(disc_table + TELEM_BASE_OFFSET);
header->size = TELEM_SIZE(readl(disc_table));
static int sdsi_get_layout(struct sdsi_priv *priv, struct disc_table *table)
struct disc_table *disc_table, struct resource *disc_res)
u32 access_type = FIELD_GET(DT_ACCESS_TYPE, disc_table->access_info);
u32 size = FIELD_GET(DT_SIZE, disc_table->access_info);
u32 tbir = FIELD_GET(DT_TBIR, disc_table->offset);
u32 offset = DT_OFFSET(disc_table->offset);
struct disc_table disc_table;
memcpy_fromio(&disc_table, disc_addr, DISC_TABLE_SIZE);
priv->guid = disc_table.guid;
ret = sdsi_get_layout(priv, &disc_table);
ret = sdsi_map_mbox_registers(priv, intel_cap_dev->pcidev, &disc_table, disc_res);