Commit cd52dcce authored by Huisong Li's avatar Huisong Li Committed by Zhang Zekun
Browse files

ACPI: PCC: Fix Tx acknowledge in the PCC address space handler

mainline inclusion
from mainline-v6.1-rc1
commit 18729106
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I9VPZ8

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=18729106c26fb97d4c9ae63ba7aba9889a058dc4



-----------------------------------

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: 77e2a047 ("ACPI: PCC: Implement OperationRegion handler for the PCC Type 3 subtype")
Signed-off-by: default avatarHuisong Li <lihuisong@huawei.com>
Reviewed-by: default avatarSudeep Holla <sudeep.holla@arm.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarZhang Zekun <zhangzekun11@huawei.com>
parent 5123d675
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);