[PATCH V6 5/8] vfio: platform: call _RST method when using ACPI
From: Sinan Kaya <hidden>
Date: 2016-06-13 03:41:11
Also in:
kvm, linux-acpi, linux-arm-msm, lkml
On 6/8/2016 6:31 PM, Rafael J. Wysocki wrote:
On Sun, May 29, 2016 at 12:01 AM, Sinan Kaya [off-list ref] wrote:quoted
The device tree code checks for the presence of a reset driver and calls the of_reset function pointer by looking up the reset driver as a module. ACPI defines _RST method to perform device level reset. After the _RST method is executed, the OS can resume using the device. _RST method is expected to stop DMA transfers and IRQs. This patch checks the presence of _RST method and calls the _RST method when reset is requested.
A little bit of misinformation here. The current code is checking the presence during probe time. If the presence of _RST method is required then probe is aborted. Otherwise, probe will complete execution. When reset call is to be executed, presence of _RST method is no longer checked. Instead, the method is directly called. I was talking about the contribution of this patch as both here. I'll clarify the commit message.
You could check if _RST is present at probe time and store the ACPI handle of it instead of the HID pointer. This way you wouldn't need to repeat that check every time reset is used.
Based on the requirement that the code can be executed without the presence of _RST method for development purposes, I'm hesitant to use the handle of the reset method as a gating factor. -- Sinan Kaya Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project