Lines Matching full:region
3 * Module Name: evregion - Operation Region support
189 * an installed default region handler.
236 * PARAMETERS: RegionObj - Internal region object
239 * RegionOffset - Where in the region to read or write
246 * DESCRIPTION: Dispatch an address space or operation region access to
249 * NOTE: During early initialization, we always install the default region
251 * region address spaces are always available as per the ACPI specification.
287 /* Ensure that there is a handler associated with this region */ in AcpiEvAddressSpaceDispatch()
289 HandlerDesc = RegionObj->Region.Handler; in AcpiEvAddressSpaceDispatch()
293 "No handler for Region [%4.4s] (%p) [%s]", in AcpiEvAddressSpaceDispatch()
294 AcpiUtGetNodeName (RegionObj->Region.Node), in AcpiEvAddressSpaceDispatch()
295 RegionObj, AcpiUtGetRegionName (RegionObj->Region.SpaceId))); in AcpiEvAddressSpaceDispatch()
305 * It may be the case that the region has never been initialized. in AcpiEvAddressSpaceDispatch()
308 if (!(RegionObj->Region.Flags & AOPOBJ_SETUP_COMPLETE)) in AcpiEvAddressSpaceDispatch()
310 /* This region has not been initialized yet, do it */ in AcpiEvAddressSpaceDispatch()
318 "No init routine for region(%p) [%s]", in AcpiEvAddressSpaceDispatch()
319 RegionObj, AcpiUtGetRegionName (RegionObj->Region.SpaceId))); in AcpiEvAddressSpaceDispatch()
323 if (RegionObj->Region.SpaceId == ACPI_ADR_SPACE_PLATFORM_COMM) in AcpiEvAddressSpaceDispatch()
328 Ctx->Length = (UINT16) RegionObj->Region.Length; in AcpiEvAddressSpaceDispatch()
329 Ctx->SubspaceId = (UINT8) RegionObj->Region.Address; in AcpiEvAddressSpaceDispatch()
332 if (RegionObj->Region.SpaceId == ACPI_ADR_SPACE_FIXED_HARDWARE) in AcpiEvAddressSpaceDispatch()
336 Ctx->Length = RegionObj->Region.Length; in AcpiEvAddressSpaceDispatch()
337 Ctx->Offset = RegionObj->Region.Address; in AcpiEvAddressSpaceDispatch()
341 * We must exit the interpreter because the region setup will in AcpiEvAddressSpaceDispatch()
343 * for this region) in AcpiEvAddressSpaceDispatch()
354 /* Check for failure of the Region Setup */ in AcpiEvAddressSpaceDispatch()
359 "During region initialization: [%s]", in AcpiEvAddressSpaceDispatch()
360 AcpiUtGetRegionName (RegionObj->Region.SpaceId))); in AcpiEvAddressSpaceDispatch()
364 /* Region initialization may have been completed by RegionSetup */ in AcpiEvAddressSpaceDispatch()
366 if (!(RegionObj->Region.Flags & AOPOBJ_SETUP_COMPLETE)) in AcpiEvAddressSpaceDispatch()
368 RegionObj->Region.Flags |= AOPOBJ_SETUP_COMPLETE; in AcpiEvAddressSpaceDispatch()
372 * the handler for this particular region in AcpiEvAddressSpaceDispatch()
384 Address = (RegionObj->Region.Address + RegionOffset); in AcpiEvAddressSpaceDispatch()
388 &RegionObj->Region.Handler->AddressSpace, Handler, in AcpiEvAddressSpaceDispatch()
390 AcpiUtGetRegionName (RegionObj->Region.SpaceId))); in AcpiEvAddressSpaceDispatch()
422 if ((RegionObj->Region.SpaceId == ACPI_ADR_SPACE_GSBUS || in AcpiEvAddressSpaceDispatch()
423 RegionObj->Region.SpaceId == ACPI_ADR_SPACE_GPIO) && in AcpiEvAddressSpaceDispatch()
442 if (RegionObj->Region.SpaceId == ACPI_ADR_SPACE_GPIO) in AcpiEvAddressSpaceDispatch()
462 AcpiUtGetRegionName (RegionObj->Region.SpaceId))); in AcpiEvAddressSpaceDispatch()
468 if ((RegionObj->Region.SpaceId == ACPI_ADR_SPACE_EC) && in AcpiEvAddressSpaceDispatch()
495 * PARAMETERS: RegionObj - Region Object
496 * AcpiNsIsLocked - Namespace Region Already Locked?
500 * DESCRIPTION: Break the association between the handler and the region
530 /* Get the address handler from the region object */ in AcpiEvDetachRegion()
532 HandlerObj = RegionObj->Region.Handler; in AcpiEvDetachRegion()
535 /* This region has no handler, all done */ in AcpiEvDetachRegion()
540 /* Find this region in the handler's list */ in AcpiEvDetachRegion()
548 /* Is this the correct Region? */ in AcpiEvDetachRegion()
553 "Removing Region %p from address handler %p\n", in AcpiEvDetachRegion()
558 *LastObjPtr = ObjDesc->Region.Next; in AcpiEvDetachRegion()
559 ObjDesc->Region.Next = NULL; /* Must clear field */ in AcpiEvDetachRegion()
570 /* Now stop region accesses by executing the _REG method */ in AcpiEvDetachRegion()
575 ACPI_EXCEPTION ((AE_INFO, Status, "from region _REG, [%s]", in AcpiEvDetachRegion()
576 AcpiUtGetRegionName (RegionObj->Region.SpaceId))); in AcpiEvDetachRegion()
589 * If the region has been activated, call the setup handler with in AcpiEvDetachRegion()
592 if (RegionObj->Region.Flags & AOPOBJ_SETUP_COMPLETE) in AcpiEvDetachRegion()
612 "from region handler - deactivate, [%s]", in AcpiEvDetachRegion()
613 AcpiUtGetRegionName (RegionObj->Region.SpaceId))); in AcpiEvDetachRegion()
616 RegionObj->Region.Flags &= ~(AOPOBJ_SETUP_COMPLETE); in AcpiEvDetachRegion()
620 * Remove handler reference in the region in AcpiEvDetachRegion()
622 * NOTE: this doesn't mean that the region goes away, the region in AcpiEvDetachRegion()
625 * If the region is on the handler's list, this must be the in AcpiEvDetachRegion()
626 * region's handler in AcpiEvDetachRegion()
628 RegionObj->Region.Handler = NULL; in AcpiEvDetachRegion()
636 LastObjPtr = &ObjDesc->Region.Next; in AcpiEvDetachRegion()
637 ObjDesc = ObjDesc->Region.Next; in AcpiEvDetachRegion()
644 "Circular handler list in region object %p", in AcpiEvDetachRegion()
650 /* If we get here, the region was not in the handler's region list */ in AcpiEvDetachRegion()
653 "Cannot remove region %p from address handler %p\n", in AcpiEvDetachRegion()
665 * RegionObj - Region Object
666 * AcpiNsIsLocked - Namespace Region Already Locked?
670 * DESCRIPTION: Create the association between the handler and the region
685 /* Install the region's handler */ in AcpiEvAttachRegion()
687 if (RegionObj->Region.Handler) in AcpiEvAttachRegion()
693 "Adding Region [%4.4s] %p to address handler %p [%s]\n", in AcpiEvAttachRegion()
694 AcpiUtGetNodeName (RegionObj->Region.Node), in AcpiEvAttachRegion()
696 AcpiUtGetRegionName (RegionObj->Region.SpaceId))); in AcpiEvAttachRegion()
698 /* Link this region to the front of the handler's list */ in AcpiEvAttachRegion()
700 RegionObj->Region.Next = HandlerObj->AddressSpace.RegionList; in AcpiEvAttachRegion()
702 RegionObj->Region.Handler = HandlerObj; in AcpiEvAttachRegion()
713 * PARAMETERS: RegionObj - Region object
718 * DESCRIPTION: Execute _REG method for a region
740 RegionObj->Region.Handler == NULL) in AcpiEvExecuteRegMethod()
752 * Find any "_REG" method associated with this region definition. in AcpiEvExecuteRegMethod()
756 Node = RegionObj->Region.Node->Parent; in AcpiEvExecuteRegMethod()
763 * region definition. This will be executed when the handler is in AcpiEvExecuteRegMethod()
800 * Operation region space ID Same value as RegionObj->Region.SpaceId in AcpiEvExecuteRegMethod()
806 Args[0] = AcpiUtCreateIntegerObject ((UINT64) RegionObj->Region.SpaceId); in AcpiEvExecuteRegMethod()
912 * no region. in AcpiEvExecuteRegMethods()
933 * DESCRIPTION: Run _REG method for region objects of the requested spaceID
980 /* Object is a Region */ in AcpiEvRegRun()
982 if (ObjDesc->Region.SpaceId != Info->SpaceId) in AcpiEvRegRun()
984 /* This region is for a different address space, just ignore it */ in AcpiEvRegRun()
1005 * device. This is a _REG method that has no corresponding region
1010 * an actual Operation Region with the correct address space ID.
1049 * Execute the _REG method only if there is no Operation Region in in AcpiEvExecuteOrphanRegMethod()
1060 (NextNode->Object->Region.SpaceId == SpaceId)) in AcpiEvExecuteOrphanRegMethod()