[PATCH v4 2/7] drm/xe/sysctrl: Return error codes from sysctrl_wait_bit_set()
Mallesh Koujalagi <[email protected]>
| Newsgroups | org.freedesktop.lists.intel-xe |
|---|---|
| Message-ID | <[email protected]> |
Make sysctrl_wait_bit_set() return an error code rather than a bool. and update callers to use xe_log_err() with the propagated error code. Signed-off-by: Mallesh Koujalagi <[email protected]> --- drivers/gpu/drm/xe/xe_sysctrl_mailbox.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c index ef847f0a8f2c..3523651b467b 100644 --- a/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c +++ b/drivers/gpu/drm/xe/xe_sysctrl_mailbox.c @@ -42,15 +42,11 @@ static int sysctrl_wait_bit_clear(struct xe_sysctrl *sc, u32 bit_mask, timeout_ms * 1000, NULL, false); } -static bool sysctrl_wait_bit_set(struct xe_sysctrl *sc, u32 bit_mask, - unsigned int timeout_ms) +static int sysctrl_wait_bit_set(struct xe_sysctrl *sc, u32 bit_mask, + unsigned int timeout_ms) { - int ret; - - ret = xe_mmio_wait32(sc->mmio, SYSCTRL_MB_CTRL, bit_mask, bit_mask, + return xe_mmio_wait32(sc->mmio, SYSCTRL_MB_CTRL, bit_mask, bit_mask, timeout_ms * 1000, NULL, false); - - return ret == 0; } static int sysctrl_write_frame(struct xe_sysctrl *sc, const void *frame, @@ -193,9 +189,10 @@ static int sysctrl_process_frame(struct xe_sysctrl *sc, void *out, struct xe_device *xe = sc_to_xe(sc); int ret; - if (!sysctrl_wait_bit_set(sc, SYSCTRL_MB_CTRL_RUN_BUSY_OUT, timeout_ms)) { - xe_err(xe, "sysctrl: Response frame timeout\n"); - return -ETIMEDOUT; + ret = sysctrl_wait_bit_set(sc, SYSCTRL_MB_CTRL_RUN_BUSY_OUT, timeout_ms); + if (ret) { + xe_log_err(xe, SYSCTRL, ret, "Response frame timeout\n"); + return ret; } ctrl_reg = xe_mmio_read32(sc->mmio, SYSCTRL_MB_CTRL); -- 2.48.1