From a8ead2c5412a73d31a1ebfce73a700c34ddb86f3 Mon Sep 17 00:00:00 2001 From: RaymondY Date: Sat, 7 Dec 2024 19:18:46 +0800 Subject: [PATCH 1/2] Update README.md --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4866712..8e74c69 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# PDCAnalyser +![image](https://github.com/user-attachments/assets/2cea9006-e210-42e3-9e86-87b7868e7cb4)# PDCAnalyser PDCAnalyser, privately nicknamed, __Please Don't Consider Asking__ is a set of tools designed to make you understand instead of wondering how PDC interrupts work on select Qualcomm Compute Platforms ACPI Tables and Driver sets (both are bound together) @@ -17,6 +17,8 @@ MSM8998, SDM850, and SC8380 and newer are not supported because these SoCs featu On above SoCs, a PDC controller is present in order to support scenarios where an interrupt line wired to a GPIO on the SoC should wake the device from sleep. +PDC = Power Domain Controller + Said PDC controller requires specific programming in order to be able to wake the device and fire an interrupt for the OS to handle and forward to a specific driver. On Windows, for these given SoCs, the driver responsible for implementing the GPIO controller, (Input/Output and Interrupts) is qcgpio.sys, providing an easy method in ACPI to set GPIOs and Declare Interrupts using GpioIo and GpioInt ACPI directives. @@ -25,7 +27,7 @@ The problem is that you cannot make a GPIO IRQ be able to wake the system withou The solution adopted in Windows by qualcomm consists of the following: -- Qualcomm Assumes each tile of GPIOs on the SoC can have a very maximum of 64 GPIOs per tile +- Qualcomm Assumes each tile of GPIOs on the SoC can have a very maximum of 64 GPIOs per tile. (Most likely derived from the MSFT GpioClx framework) - As such, for a device with 175 GPIOs supported, the tile count would for example be 3. - The GPIO driver on windows is responsible for deciding on its own what the value passed in ACPI exactly means. - It was therefore decided that for every value between 0 and 174, these would be normal GPIOs, and interrupts setup using those would not be wakeable @@ -309,4 +311,4 @@ ACPI Reference used for above sample usage: } // ... (Cutting here) -``` \ No newline at end of file +``` From db47e85f4ca5978d5c07648690d8dc440d2f6e0b Mon Sep 17 00:00:00 2001 From: RaymondY Date: Sat, 7 Dec 2024 19:50:27 +0800 Subject: [PATCH 2/2] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8e74c69..6f687b7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![image](https://github.com/user-attachments/assets/2cea9006-e210-42e3-9e86-87b7868e7cb4)# PDCAnalyser +# PDCAnalyser PDCAnalyser, privately nicknamed, __Please Don't Consider Asking__ is a set of tools designed to make you understand instead of wondering how PDC interrupts work on select Qualcomm Compute Platforms ACPI Tables and Driver sets (both are bound together)