From nobody Tue Dec 16 09:32:21 2025 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2768D1E3785 for ; Fri, 3 Jan 2025 09:32:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735896753; cv=none; b=LsDwj9jOQwT7Tn44oIcs/8sERNGcyu5OKCa/CbDapGYYDeBgOsMG2mr+FAlYxtyIkgXkzY3hQQuzF5jM9xo9FT8ioX5arTcB2jhX4O3DxiMdN3BNDLdP+mmdO247WJLnSPM5KBbVYNu2xdsaPbjVCWeZOJcUOXXfL7zz9zQNW3c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735896753; c=relaxed/simple; bh=zXA+bH1fAd5vL+KjIYeRgZV5aeOh71Eu4BbSz01OWsA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ZCCcvw74u1UnXyqORfVT92oo36TeO+9bcoRWi0i8q1DwvXXZJhIawudBujAvdtKY1S+HSAiyZn6zddrXbqfI7MwGHm7bl/5PyHZlKgqcyUll5rmwtMLkaXHmnJsCMgDaFte6v1BXessZVuWCQk9hvhQfcnz/ap7Q/oWLfyQmvdY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com; spf=pass smtp.mailfrom=bytedance.com; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b=ZydxAs01; arc=none smtp.client-ip=209.85.214.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bytedance.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b="ZydxAs01" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-2166360285dso167848395ad.1 for ; Fri, 03 Jan 2025 01:32:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1735896751; x=1736501551; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=LeEQjuKWeFN2ZDkGY720uCzhuIIhCR6ezIvsDMVpnR4=; b=ZydxAs01FAv4WcnAzKkLlRpbKioY5eL3qT9qH3E/s6r4SCgA1n1svo+pP+m8QNvm7F TFDlv7zsCOKxjOk/oBp0GAV9e8V8PKPKo6PV9dMIeJ3CmFA+OHj6nOcTZzUYcjSFCMoB kF38s6AUtw9KNKL7ICj1NHy+TWbgKbxceMDpjzrXaVBFg4KJi2ZyxtWxdlbB1tZYmzJy qmR88c9eUBjDP5/f2cYzSPgkIaXcXiwBYI8k6NISx5mxaxhhpjx6xJMveT3IuG8x/fGL 6sKS7dH6t+y6K21sbf48QLc4yeaWLUcFyI9OXDa1dPwyFtjmTB9Cw1erDv9ff3eoF9Jt ayog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735896751; x=1736501551; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LeEQjuKWeFN2ZDkGY720uCzhuIIhCR6ezIvsDMVpnR4=; b=KSA9gslObqYO8VWFNVm8QT3qzl5Iy9VGAoWFSiytlPiwKlMJvHf9IwTR3O4cuNRPZI tI5QHBHjy8ObZ9nMbwgqo2y72RCBfq+X/ssGY9vmzTsPlnk773q+BYGSP3qmgvw3lHg7 FF6XruTxij1gKdsI8fNKGS8jdUqQq/K9IcXAyyP0j+mEAvRXOJj050bdlItJBwQHeP7t 2RhgAGyvI+94pRb2tgPt/5szAXsfDZWIAsKAmR/8ZRVPf76aN7ayLMkvzzDkyLqDphuf bPPDWX/f3jywI6rKkMWg6KIjwxiaaJvzSqAGhOD1KeMbXdMcI7a5uX5EYd36JY61HgZu mY+w== X-Forwarded-Encrypted: i=1; AJvYcCUNnnOoHB/IA2l+MWmBsDJvrJYLBlIhDVtZBV3f1bB4BnJJAvrBxWnx5imiLeK3p3qWjwgx2SVsi1naCaI=@vger.kernel.org X-Gm-Message-State: AOJu0YzOzCXLiKAXWCBZG6reegZJllTC/wLuskzXtfbXDoyBTRCsH2hT NgqI9eWZ5KcaPQw4y8hYqRKLO2MX0WOVEu4o8AL4VBKP6qGi2CpFWK4PWEUCKio= X-Gm-Gg: ASbGncsXam4b9QTkaLg0HrI/YoKAOd7PnoL0EGaaRW4IXlthjyiKAj97phOFepTuMmu frRfQ8m9aakDy4SND8KPAhj1IHQbcHrbnnJj0X4U180l10RcG8qhWIVDIsuVepRBQNx37lLVhjQ itqiNpYo9gdFlbnARrrMhq/h/K+mD+QMZ0y5NqsAhr8BiK3qNsmVcaaLgz7itn25u5NqP+ql3hX tBPtZ+/PHU90EAeLBJzHUVDO2PJjZEq7PdMSYZXHyVwwC+yxmPO3Mt1WYyTOAy+1clpNbAOBkAK 7xLTp1cgaboroNMpD4/Zg/uM+pwxDQzGm8Xp7ME= X-Google-Smtp-Source: AGHT+IG4QJX7EAklgM5+vW3k3M8U8TM525HblsN4/w7dza4jbpmygtOX60zOg0aNJpRf3CH/K14zmA== X-Received: by 2002:a17:902:f542:b0:216:2426:7668 with SMTP id d9443c01a7336-219e6e9a26emr700703695ad.13.1735896751356; Fri, 03 Jan 2025 01:32:31 -0800 (PST) Received: from J9GPGXL7NT.bytedance.net ([61.213.176.55]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-219dc9f4a2csm242227395ad.175.2025.01.03.01.32.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 03 Jan 2025 01:32:31 -0800 (PST) From: Xu Lu To: tjeznach@rivosinc.com, joro@8bytes.org, will@kernel.org Cc: lihangjing@bytedance.com, xieyongji@bytedance.com, guojinhui.liam@bytedance.com, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Xu Lu Subject: [PATCH RESEND 1/2] iommu/riscv: Empty iommu queue before enabling it Date: Fri, 3 Jan 2025 17:32:19 +0800 Message-Id: <20250103093220.38106-2-luxu.kernel@bytedance.com> X-Mailer: git-send-email 2.39.5 (Apple Git-154) In-Reply-To: <20250103093220.38106-1-luxu.kernel@bytedance.com> References: <20250103093220.38106-1-luxu.kernel@bytedance.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Changing cqen/fqen/pqen from 0 to 1 sets the cqh/fqt/pqt registers to 0. But the cqt/fqh/pqh registers are left unmodified. This commit resets cqt/fqh/pqh registers to ensure corresponding queues are empty before being enabled during initialization. Signed-off-by: Xu Lu --- drivers/iommu/riscv/iommu.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/iommu/riscv/iommu.c b/drivers/iommu/riscv/iommu.c index 8a05def774bd..84806724f568 100644 --- a/drivers/iommu/riscv/iommu.c +++ b/drivers/iommu/riscv/iommu.c @@ -240,6 +240,12 @@ static int riscv_iommu_queue_enable(struct riscv_iommu= _device *iommu, return rc; } =20 + /* Empty queue before enabling it */ + if (queue->qid =3D=3D RISCV_IOMMU_INTR_CQ) + riscv_iommu_writel(queue->iommu, Q_TAIL(queue), 0); + else + riscv_iommu_writel(queue->iommu, Q_HEAD(queue), 0); + /* * Enable queue with interrupts, clear any memory fault if any. * Wait for the hardware to acknowledge request and activate queue --=20 2.20.1