Lines Matching refs:ffh_ctxt
436 struct acpi_ffh_data *ffh_ctxt; in acpi_ffh_address_space_arch_setup() local
447 ffh_ctxt = kzalloc(sizeof(*ffh_ctxt), GFP_KERNEL); in acpi_ffh_address_space_arch_setup()
448 if (!ffh_ctxt) in acpi_ffh_address_space_arch_setup()
452 ffh_ctxt->invoke_ffh_fn = __arm_smccc_smc; in acpi_ffh_address_space_arch_setup()
453 ffh_ctxt->invoke_ffh64_fn = arm_smccc_1_2_smc; in acpi_ffh_address_space_arch_setup()
455 ffh_ctxt->invoke_ffh_fn = __arm_smccc_hvc; in acpi_ffh_address_space_arch_setup()
456 ffh_ctxt->invoke_ffh64_fn = arm_smccc_1_2_hvc; in acpi_ffh_address_space_arch_setup()
459 memcpy(ffh_ctxt, handler_ctxt, sizeof(ffh_ctxt->info)); in acpi_ffh_address_space_arch_setup()
461 *region_ctxt = ffh_ctxt; in acpi_ffh_address_space_arch_setup()
479 struct acpi_ffh_data *ffh_ctxt = region_context; in acpi_ffh_address_space_arch_handler() local
481 if (ffh_ctxt->info.offset == 0) { in acpi_ffh_address_space_arch_handler()
488 ffh_ctxt->info.length > 32) { in acpi_ffh_address_space_arch_handler()
491 int idx, len = ffh_ctxt->info.length >> 2; in acpi_ffh_address_space_arch_handler()
496 ffh_ctxt->invoke_ffh_fn(a[0], a[1], a[2], a[3], a[4], in acpi_ffh_address_space_arch_handler()
501 } else if (ffh_ctxt->info.offset == 1) { in acpi_ffh_address_space_arch_handler()
507 ffh_ctxt->info.length > sizeof(*r)) { in acpi_ffh_address_space_arch_handler()
510 ffh_ctxt->invoke_ffh64_fn(r, r); in acpi_ffh_address_space_arch_handler()
511 memcpy(value, r, ffh_ctxt->info.length); in acpi_ffh_address_space_arch_handler()