From nobody Wed Nov 12 15:01:18 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1571667572; cv=none; d=zoho.com; s=zohoarc; b=b3GvMcCnadYuxBUQ3eCHryl0YwzwX+/F+LIlwfUpNougIxWLDkYlOaWl+GNUQKK7UVliZa7fvepIBKjTDDlMGVnaIOwSZNX5/r0wquDATGGCL7CepluwM/K6Ae6R8GhNPj5AJC7taA+jrXpznbA1grVmyt8QNL3yNO1mZ/jKmb8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1571667572; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=fqGnGtGXPzSspGHHfg6dHLcHdySYDwMWUaEctU2c4eU=; b=ZD0IzvqA5TXAE8GOl/igNsUWANJjss5C+1xZFyun/HlfvXKbMxrWmQH1h8f1xEluZtavm/6Q3e4R4gsunSDOYTqegPzG7ZN0/Wz+alsUy6IEZlil6ddvCDLSkbbyMI9iXs2IUFcYAFIzyLF6B7sOG4TObQY74bFeh01uMyJCTFI= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1571667572472233.9629189708021; Mon, 21 Oct 2019 07:19:32 -0700 (PDT) Received: from localhost ([::1]:42830 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMYLS-00043u-NC for importer@patchew.org; Mon, 21 Oct 2019 10:07:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44895) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iMYK1-0002Ng-GC for qemu-devel@nongnu.org; Mon, 21 Oct 2019 10:06:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iMYJw-0002k7-J0 for qemu-devel@nongnu.org; Mon, 21 Oct 2019 10:06:09 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:36335) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iMYJw-0002jo-Cy for qemu-devel@nongnu.org; Mon, 21 Oct 2019 10:06:04 -0400 Received: by mail-wm1-x343.google.com with SMTP id c22so3841453wmd.1 for ; Mon, 21 Oct 2019 07:06:04 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id y5sm4673851wmi.10.2019.10.21.07.06.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Oct 2019 07:06:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fqGnGtGXPzSspGHHfg6dHLcHdySYDwMWUaEctU2c4eU=; b=NDxWbbgPwYzIm4F5xDtNoQ5jloOfsPpqDHZh1O+k259lq0o0WxnwYRpyK8fPRcqCjn IS+cEi+sEv2dt+YNjKTKtnRki82mbMsWEsyz66zwRP9DWILxpvSu5bx1AzFaHeH6ydbJ myQaJ6cygiA5arB6JdDOcEEvAqMwvfmIjC3GoUUFDYVtba94ozTEC+wTnPwjrdycmTr9 uA/PQ5KDWlqL+MhBNxl4yY+15UPG33v7Qf6YuIf6Im8GQVZBKhbFVcRp9m+X76OxkLLl QsZ9z1zIMEadyWo6Is8TDe7F1nulGj5Z7032UEm/QW77cxmSaqB25yLqkrednwbZnoPu LMMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=fqGnGtGXPzSspGHHfg6dHLcHdySYDwMWUaEctU2c4eU=; b=BuDnG7+gKDMH9cw3FvMvI74W0DdlfT2aMrNiJNZ3SILwaTBwFRMr+7TFiwyrVoUJSt Ns2tQgqLD14wxvvWoIrei+tzH8TF/wGVx9QUdjQm8K9AwlOXt1ObFixCVlCW9IY8ZSXD 3IG17DYMC+hUEUrBBbEYwiPUAIXiwOnTneJGnW8wpc/jJmhgi1yYxPKZ+iHd43ymXThr EzXdud2afn9/XonduzgrPxReS/M/TPDY8OtQSzPIWSuSZ23V7xqEScSTNxsj+MKiZmNh IalEV26EBFIgXdreGP+3LgkxS2B1UvbrPxH40OQVUc1Tm/q2i4Cl3HopYQ5V+ttY1chp 6hqA== X-Gm-Message-State: APjAAAXucWnyLOMYRIs3cpRyv5n5kZWw5Gr082c2fhPNoX4SDN9Y9+3h dAfbWy3ZNL608Vr0uA9Bs4s9th0DgJY= X-Google-Smtp-Source: APXvYqzUsfNzd6US4mhplPBJt6lEei3nkwGeUxlk+0S13njsVx/HPk2aps/dH5eZYKKfjE1RNiK54Q== X-Received: by 2002:a7b:cf0d:: with SMTP id l13mr18622802wmg.47.1571666762722; Mon, 21 Oct 2019 07:06:02 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PATCH v2] hw/m68k/mcf5206.c: Switch to transaction-based ptimer API Date: Mon, 21 Oct 2019 15:06:00 +0100 Message-Id: <20191021140600.10725-1-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::343 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Switch the mcf5206 code away from bottom-half based ptimers to the new transaction-based ptimer API. This just requires adding begin/commit calls around the various places that modify the ptimer state, and using the new ptimer_init() function to create the timer. Signed-off-by: Peter Maydell Reviewed-by: Thomas Huth --- Changes v1->v2: * turn the early-exit in m5206_timer_recalibrate() into a goto-exit so we can end the ptimer transaction I'm not resending the whole v1 patchset, since this patch is independent of the others in the series and I'm planning to take them through my tree anyway. --- hw/m68k/mcf5206.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/hw/m68k/mcf5206.c b/hw/m68k/mcf5206.c index a49096367cb..b155dd81705 100644 --- a/hw/m68k/mcf5206.c +++ b/hw/m68k/mcf5206.c @@ -8,7 +8,6 @@ =20 #include "qemu/osdep.h" #include "qemu/error-report.h" -#include "qemu/main-loop.h" #include "cpu.h" #include "hw/hw.h" #include "hw/irq.h" @@ -57,10 +56,12 @@ static void m5206_timer_recalibrate(m5206_timer_state *= s) int prescale; int mode; =20 + ptimer_transaction_begin(s->timer); ptimer_stop(s->timer); =20 - if ((s->tmr & TMR_RST) =3D=3D 0) - return; + if ((s->tmr & TMR_RST) =3D=3D 0) { + goto exit; + } =20 prescale =3D (s->tmr >> 8) + 1; mode =3D (s->tmr >> 1) & 3; @@ -78,6 +79,8 @@ static void m5206_timer_recalibrate(m5206_timer_state *s) ptimer_set_limit(s->timer, s->trr, 0); =20 ptimer_run(s->timer, 0); +exit: + ptimer_transaction_commit(s->timer); } =20 static void m5206_timer_trigger(void *opaque) @@ -123,7 +126,9 @@ static void m5206_timer_write(m5206_timer_state *s, uin= t32_t addr, uint32_t val) s->tcr =3D val; break; case 0xc: + ptimer_transaction_begin(s->timer); ptimer_set_count(s->timer, val); + ptimer_transaction_commit(s->timer); break; case 0x11: s->ter &=3D ~val; @@ -137,11 +142,9 @@ static void m5206_timer_write(m5206_timer_state *s, ui= nt32_t addr, uint32_t val) static m5206_timer_state *m5206_timer_init(qemu_irq irq) { m5206_timer_state *s; - QEMUBH *bh; =20 s =3D g_new0(m5206_timer_state, 1); - bh =3D qemu_bh_new(m5206_timer_trigger, s); - s->timer =3D ptimer_init_with_bh(bh, PTIMER_POLICY_DEFAULT); + s->timer =3D ptimer_init(m5206_timer_trigger, s, PTIMER_POLICY_DEFAULT= ); s->irq =3D irq; m5206_timer_reset(s); return s; --=20 2.20.1