Re: [PATCH -next 2/2] i2c: designware: Add support for new SoCs in AMDPSP driver

From: Mario Limonciello
Date: Sun Mar 19 2023 - 20:17:01 EST



On 3/17/23 14:18, Mark Hasemeyer wrote:
- /* Status field in command-response buffer is updated by PSP */
- status = READ_ONCE(req->hdr.status);
+ if (req) {
+ /* Status field in command-response buffer is updated by PSP */
+ status = READ_ONCE(req->hdr.status);
+ } else {
+ status = psp_smn_read(PSP_MBOX_CMD_OFFSET, &status);
+ status &= ~PSP_MBOX_FIELDS_READY;
+ }

The value of the mbox cmd register is getting clobbered by the return value
from psp_smn_read. This can cause bus arbitration to fail as the driver will
think it can grab the bus when it's actually in use by the PSP.

Mark - FYI this approach is being superseded by another patch series that instead uses MMIO from the CCP driver.

It would be better to comment on that series.

https://lore.kernel.org/linux-i2c/20230310211954.2490-9-mario.limonciello@xxxxxxx/