amd_hfi_data
static int amd_hfi_fill_metadata(struct amd_hfi_data *amd_hfi_data)
(struct acpi_pcct_ext_pcc_slave *)amd_hfi_data->pcct_entry;
pcc_comm_addr = acpi_os_ioremap(amd_hfi_data->pcc_chan->shmem_base_addr,
amd_hfi_data->pcc_chan->shmem_size);
dev_err(amd_hfi_data->dev, "failed to ioremap PCC common region mem\n");
memcpy_fromio(amd_hfi_data->shmem, pcc_comm_addr, pcct_ext->length);
if (amd_hfi_data->shmem->header.signature != PCC_SIGNATURE) {
dev_err(amd_hfi_data->dev, "invalid signature in shared memory\n");
if (amd_hfi_data->shmem->version_number != AMD_HETERO_RANKING_TABLE_VER) {
dev_err(amd_hfi_data->dev, "invalid version %d\n",
amd_hfi_data->shmem->version_number);
for (unsigned int i = 0; i < amd_hfi_data->shmem->n_bitmaps; i++) {
u32 bitmap = amd_hfi_data->shmem->table_data[i];
dev_warn(amd_hfi_data->dev, "APIC ID %u not found\n", apic_id);
u32 *table = amd_hfi_data->shmem->table_data +
amd_hfi_data->shmem->n_bitmaps +
struct amd_hfi_data *dev = platform_get_drvdata(pdev);
struct amd_hfi_data *amd_hfi_data)
amd_hfi_data->pcc_chan = pcc_chan;
amd_hfi_data->pcct_entry = pcct_entry;
amd_hfi_data->shmem = devm_kzalloc(amd_hfi_data->dev, pcct_ext->length, GFP_KERNEL);
if (!amd_hfi_data->shmem) {
ret = amd_hfi_fill_metadata(amd_hfi_data);
struct amd_hfi_data *amd_hfi_data;
amd_hfi_data = devm_kzalloc(&pdev->dev, sizeof(*amd_hfi_data), GFP_KERNEL);
if (!amd_hfi_data)
amd_hfi_data->dev = &pdev->dev;
platform_set_drvdata(pdev, amd_hfi_data);
ret = amd_hfi_metadata_parser(pdev, amd_hfi_data);
amd_hfi_data->dbgfs_dir = debugfs_create_dir("amd_hfi", arch_debugfs_dir);
debugfs_create_file("class_capabilities", 0644, amd_hfi_data->dbgfs_dir, pdev,