diff options
author | David E. Box <david.e.box@linux.intel.com> | 2022-04-20 18:56:21 +0300 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2022-04-27 17:55:54 +0300 |
commit | a30393b36ca84be7c70733b7c1e39d311f5919f3 (patch) | |
tree | 3154054800008aa9f378e2d784b6a14f72096cc3 /drivers/platform/x86/intel/sdsi.c | |
parent | 679c7a3f1596e8b5493c9473da4d967de540027c (diff) | |
download | linux-a30393b36ca84be7c70733b7c1e39d311f5919f3.tar.xz |
platform/x86/intel/sdsi: Poll on ready bit for writes
Due to change in firmware flow, update mailbox writes to poll on ready bit
instead of run_busy bit. This change makes the polling method consistent
for both writes and reads, which also uses the ready bit.
Fixes: 2546c6000430 ("platform/x86: Add Intel Software Defined Silicon driver")
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Link: https://lore.kernel.org/r/20220420155622.1763633-3-david.e.box@linux.intel.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'drivers/platform/x86/intel/sdsi.c')
-rw-r--r-- | drivers/platform/x86/intel/sdsi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/platform/x86/intel/sdsi.c b/drivers/platform/x86/intel/sdsi.c index 11f211402479..89729fed030c 100644 --- a/drivers/platform/x86/intel/sdsi.c +++ b/drivers/platform/x86/intel/sdsi.c @@ -245,8 +245,8 @@ static int sdsi_mbox_cmd_write(struct sdsi_priv *priv, struct sdsi_mbox_info *in FIELD_PREP(CTRL_PACKET_SIZE, info->size); writeq(control, priv->control_addr); - /* Poll on run_busy bit */ - ret = readq_poll_timeout(priv->control_addr, control, !(control & CTRL_RUN_BUSY), + /* Poll on ready bit */ + ret = readq_poll_timeout(priv->control_addr, control, control & CTRL_READY, MBOX_POLLING_PERIOD_US, MBOX_TIMEOUT_US); if (ret) |