ACPI: PCC: Fix Tx acknowledge in the PCC address space handler
authorHuisong Li <lihuisong@huawei.com>
Tue, 20 Sep 2022 09:45:00 +0000 (17:45 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 22 Sep 2022 19:08:03 +0000 (21:08 +0200)
Currently, mbox_client_txdone() is called from the PCC address space
handler and that expects the user the Tx state machine to be controlled
by the client which is not the case and the below warning is thrown:

  | PCCT: Client can't run the TX ticker

Let the controller run the state machine and the end of Tx can be
acknowledge by calling mbox_chan_txdone() instead.

Fixes: 77e2a04745ff ("ACPI: PCC: Implement OperationRegion handler for the PCC Type 3 subtype")
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_pcc.c

index 16ba875e32931d17baebbd57097a93c5e86f8178..ee4ce5ba1fb2417e0b0b59a3ad8f6b1f5ec5430a 100644 (file)
@@ -121,7 +121,7 @@ acpi_pcc_address_space_handler(u32 function, acpi_physical_address addr,
                }
        }
 
-       mbox_client_txdone(data->pcc_chan->mchan, ret);
+       mbox_chan_txdone(data->pcc_chan->mchan, ret);
 
        memcpy_fromio(value, data->pcc_comm_addr, data->ctx.length);