• Heikki Krogerus's avatar
    acpi: Add helper for deactivating memory region · d2d2e3c4
    Heikki Krogerus authored
    Sometimes memory resource may be overlapping with
    SystemMemory Operation Region by design, for example if the
    memory region is used as a mailbox for communication with a
    firmware in the system. One occasion of such mailboxes is
    USB Type-C Connector System Software Interface (UCSI).
    
    With regions like that, it is important that the driver is
    able to map the memory with the requirements it has. For
    example, the driver should be allowed to map the memory as
    non-cached memory. However, if the operation region has been
    accessed before the driver has mapped the memory, the memory
    has been marked as write-back by the time the driver is
    loaded. That means the driver will fail to map the memory
    if it expects non-cached memory.
    
    To work around the problem, introducing helper that the
    drivers can use to temporarily deactivate (unmap)
    SystemMemory Operation Regions that overlap with their
    IO memory.
    
    Fixes: 8243edf4 ("usb: typec: ucsi: Add ACPI driver")
    Cc: stable@vger.kernel.org
    Reviewed-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    d2d2e3c4
osl.c 42 KB