From patchwork Thu Oct 17 13:05:03 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Neronin X-Patchwork-Id: 836602 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E2C071DCB0F for ; Thu, 17 Oct 2024 13:07:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.14 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729170446; cv=none; b=kttvbWosndyMLPnXzstIKhczgmHyHJE/on026faLZabkKqRgxGxH+mJdSrH/4GCQ0Zslijmlw7svS+OUFElnhWlPXA+uxbRSYikbTPaIFhwfHEHJn+/+d0MIvWbdsdI9p4kLfcCJabZssQkZjPQa6Aqp3C4IdASEbIRFEDdFwm4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729170446; c=relaxed/simple; bh=z2n1FeYVq8UyncIcSDhkjFb0zHQYpdJ6y2NEf4GoqMU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Mw0+cNV77iClaWqYRWRepO5aiUAjsDhRehFxUa73gSQyfxXn++4J/2TqZF76d5CQrwLSAvgBIid+EvekZ5n8XnNFj/bD48CXtm+oc4OOTyQqrosf+GpncFRltSwQmbvCHESAURrBppUiEk55So6h5HMniERStP5lBoXLJ0ip64Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Rnp6Iw1B; arc=none smtp.client-ip=198.175.65.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Rnp6Iw1B" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1729170443; x=1760706443; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=z2n1FeYVq8UyncIcSDhkjFb0zHQYpdJ6y2NEf4GoqMU=; b=Rnp6Iw1BT69+Oi8GYon3qu2PqV6SKBDgIEyOEHHvf+17pR9dpIGcB24R qKWPucFAPgZciRYqeZ/qq5LuwJS1B2bKztqnjrSBzt7gFyeCxC3Gk+EI9 V2DorY9yoydrCFIaEG1iJ2mL9TxEAqhurCGFCmdMd4e/FWq2HvszTXeIO pSCSVLkFt20AQh3XQztCVBKlNVd/3m3OH5zIQt/3gpWOyU6SR3Zc8dA5i Pu5l78du8urxjCdO4qt+6xxmpxLOdOjEKBZPU6B0kSarZOSNQBeRvVyt8 BlHKF3PA7PsSL1V6ls/h+XIJO+tkjB3iKpJ40BLLd6o3ECpP8OIWSpVsr g==; X-CSE-ConnectionGUID: X6dJ0cncTSeNc35dajT+rw== X-CSE-MsgGUID: kthupZBKTCqr3Vz8UQK1dw== X-IronPort-AV: E=McAfee;i="6700,10204,11227"; a="32452108" X-IronPort-AV: E=Sophos;i="6.11,210,1725346800"; d="scan'208";a="32452108" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2024 06:07:22 -0700 X-CSE-ConnectionGUID: pJKfFqgBS66d9/pu4+RmUQ== X-CSE-MsgGUID: rH8tv2OQQz+5uw/7d39jXA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,210,1725346800"; d="scan'208";a="109354605" Received: from black.fi.intel.com ([10.237.72.28]) by orviesa002.jf.intel.com with ESMTP; 17 Oct 2024 06:07:22 -0700 Received: by black.fi.intel.com (Postfix, from userid 1058) id 3B21E256; Thu, 17 Oct 2024 16:07:20 +0300 (EEST) From: Niklas Neronin To: mathias.nyman@linux.intel.com Cc: linux-usb@vger.kernel.org, Niklas Neronin Subject: [PATCH 3/8] usb: xhci: request MSI/-X according to requested amount Date: Thu, 17 Oct 2024 16:05:03 +0300 Message-ID: <20241017130508.1293021-4-niklas.neronin@linux.intel.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241017130508.1293021-1-niklas.neronin@linux.intel.com> References: <20241017130508.1293021-1-niklas.neronin@linux.intel.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Variable 'max_interrupts' contains the maximum supported interrupters or the maximum interrupters the user has requested. Thus, it should be used instead of HCS_MAX_INTRS(). User set 'max_interrupts' value is validated in xhci_gen_setup(), otherwise 'max_interrupts' value is 'HCS_MAX_INTRS(xhci->hcs_params1)'. Signed-off-by: Niklas Neronin --- drivers/usb/host/xhci-pci.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c index 295d3297ca3d..96bfd0897835 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c @@ -148,14 +148,11 @@ static int xhci_try_enable_msi(struct usb_hcd *hcd) hcd->irq = 0; /* - * calculate number of MSI-X vectors supported. - * - HCS_MAX_INTRS: the max number of interrupts the host can handle, - * with max number of interrupters based on the xhci HCSPARAMS1. - * - num_online_cpus: maximum MSI-X vectors per CPUs core. - * Add additional 1 vector to ensure always available interrupt. + * Calculate number of MSI/MSI-X vectors supported. + * - max_interrupters: the max number of interrupts requested, capped to xhci HCSPARAMS1. + * - num_online_cpus: one vector per CPUs core, with at least one overall. */ - xhci->nvecs = min(num_online_cpus() + 1, - HCS_MAX_INTRS(xhci->hcs_params1)); + xhci->nvecs = min(num_online_cpus() + 1, xhci->max_interrupters); /* TODO: Check with MSI Soc for sysdev */ xhci->nvecs = pci_alloc_irq_vectors(pdev, 1, xhci->nvecs, From patchwork Thu Oct 17 13:05:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Neronin X-Patchwork-Id: 836603 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 16F261DD53C for ; Thu, 17 Oct 2024 13:07:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729170445; cv=none; b=Ng2DkGj9Xs2Cos2EzrM9X9imZtaRTaWqfUDCsdAVSu7Cteu4p0lk/hNoLDPzPGTkfXymjqh3BPjRzMzCcPZUg/2LrAjYxTY/1JALLoUniDp7SXwEBtc5A6Qa1xJf5y78Hf+ALSYuIT+98Sodn0R3QVfXkBq7EbJmbxiGmOznsFA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729170445; c=relaxed/simple; bh=GMw7ih1Zn2jgo6wMvT89vPPt0ZrbW/5+JmhGvc8ULdc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gGbzzJk8CAWjgqCfZGHOyvZgzizqspx1prArA522i7MAtwwNYPNfhct/rKD9NpqlYECd4zJt2GRNSlLE73aIlS45URkPpVzlhuYCauQjL7UomoNxOJA2URCasU1tKRE2CcUWrYmZIWfSfEw3GO35e/QmwTObLiH9iS7+Perpa6w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=WF78O0FP; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="WF78O0FP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1729170444; x=1760706444; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=GMw7ih1Zn2jgo6wMvT89vPPt0ZrbW/5+JmhGvc8ULdc=; b=WF78O0FPzFjpfVkrwmtWPbAN7rhpfe5PnB7Nw++Pv40oIepZZARvjOVW g/cAEqIZgkvAm/cnS/5N50Vd9OoxQVQzIh8ueRph8ZHohqIdzf6InhN4I akw/rEX09ijr4v9wYZ8fZK9d8Y4xdXP+Vr2TblYwhVEXIELvZJ6Rvr6OD R6dJT34S1VmXg4t+fEmMy8WJd6NoeGkFPQeKkg/tjwXveYPAnPmeN5drB ryYvZ4htMEnpNk/2gXpRBTj7bBah7YcJE0DQp/5Npr5DSzwJl9C6gD4nI oFsHWG2aNiXyrOSrEN8mddnCr+cC/bWOM9R0f8z51v6Z7sZ1XgNZ+3kTI A==; X-CSE-ConnectionGUID: Jj+qHih0Seyjo07NOs7sPg== X-CSE-MsgGUID: thuTI0QgSCGqQLMClrisxg== X-IronPort-AV: E=McAfee;i="6700,10204,11227"; a="39290392" X-IronPort-AV: E=Sophos;i="6.11,210,1725346800"; d="scan'208";a="39290392" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2024 06:07:23 -0700 X-CSE-ConnectionGUID: FSBfYJsjTEW2xaC7PDDaMw== X-CSE-MsgGUID: XuHmYgdlQUKCDlNb7dN2PQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,210,1725346800"; d="scan'208";a="78882318" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa010.fm.intel.com with ESMTP; 17 Oct 2024 06:07:23 -0700 Received: by black.fi.intel.com (Postfix, from userid 1058) id 9F435297; Thu, 17 Oct 2024 16:07:21 +0300 (EEST) From: Niklas Neronin To: mathias.nyman@linux.intel.com Cc: linux-usb@vger.kernel.org, Niklas Neronin Subject: [PATCH 5/8] usb: xhci: remove unused arguments from td_to_noop() Date: Thu, 17 Oct 2024 16:05:05 +0300 Message-ID: <20241017130508.1293021-6-niklas.neronin@linux.intel.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241017130508.1293021-1-niklas.neronin@linux.intel.com> References: <20241017130508.1293021-1-niklas.neronin@linux.intel.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Function td_to_noop() does not utilize arguments 'xhci' and 'ep_ring'. These unused arguments are removed to clean up the code. Signed-off-by: Niklas Neronin --- drivers/usb/host/xhci-ring.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index a3e19fa4d2cc..e2e20ae424ad 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -740,8 +740,7 @@ static int xhci_move_dequeue_past_td(struct xhci_hcd *xhci, * (The last TRB actually points to the ring enqueue pointer, which is not part * of this TD.) This is used to remove partially enqueued isoc TDs from a ring. */ -static void td_to_noop(struct xhci_hcd *xhci, struct xhci_ring *ep_ring, - struct xhci_td *td, bool flip_cycle) +static void td_to_noop(struct xhci_td *td, bool flip_cycle) { struct xhci_segment *seg = td->start_seg; union xhci_trb *trb = td->start_trb; @@ -1020,16 +1019,16 @@ static int xhci_invalidate_cancelled_tds(struct xhci_virt_ep *ep) "Found multiple active URBs %p and %p in stream %u?\n", td->urb, cached_td->urb, td->urb->stream_id); - td_to_noop(xhci, ring, cached_td, false); + td_to_noop(cached_td, false); cached_td->cancel_status = TD_CLEARED; } - td_to_noop(xhci, ring, td, false); + td_to_noop(td, false); td->cancel_status = TD_CLEARING_CACHE; cached_td = td; break; } } else { - td_to_noop(xhci, ring, td, false); + td_to_noop(td, false); td->cancel_status = TD_CLEARED; } } @@ -1054,7 +1053,7 @@ static int xhci_invalidate_cancelled_tds(struct xhci_virt_ep *ep) continue; xhci_warn(xhci, "Failed to clear cancelled cached URB %p, mark clear anyway\n", td->urb); - td_to_noop(xhci, ring, td, false); + td_to_noop(td, false); td->cancel_status = TD_CLEARED; } } @@ -4178,7 +4177,7 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags, */ urb_priv->td[0].end_trb = ep_ring->enqueue; /* Every TRB except the first & last will have its cycle bit flipped. */ - td_to_noop(xhci, ep_ring, &urb_priv->td[0], true); + td_to_noop(&urb_priv->td[0], true); /* Reset the ring enqueue back to the first TRB and its cycle bit. */ ep_ring->enqueue = urb_priv->td[0].start_trb; From patchwork Thu Oct 17 13:05:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Neronin X-Patchwork-Id: 836600 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 309F61DDC23 for ; Thu, 17 Oct 2024 13:07:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.14 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729170449; cv=none; b=Bfl7v10yHCnilCai7L+MOQq+7BQMBv2foh/aKd0PCExYo9zgDuA0BmlLAHYPZMH6h1/J74GGRaGI/t4KSLkMle7gMGBLRFIkXXgCv7Ssz4XxmAEL49SShI6/npwvYynC4J/2e/+tjvFF1Vsf8eRcwBdWRen9BC7ZaYnXd/66EH8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729170449; c=relaxed/simple; bh=+yKwzp8zmeEWPUGogpPmzgX6GaQlsSAaDknlIJFpnUU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BKqEZG/VsrCRm5YpE4GaHxpOMFX5W8d8cHSH1ZAkHlSPtjIDG59gt44nIgpNeAU7FNqIF5GpBwKvo3lcQhu56v2x8yfYtZA91M10qa6OWEEGWPh68TMt4L1LsMLIT/1J5AC9E7FCRUGRvOnPPEvYFKdZo0C9E8dT9HSUGO5l2A0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Uvc+MswO; arc=none smtp.client-ip=198.175.65.14 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Uvc+MswO" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1729170446; x=1760706446; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=+yKwzp8zmeEWPUGogpPmzgX6GaQlsSAaDknlIJFpnUU=; b=Uvc+MswOiogyxc0d428NXQV2+5xqXzco/vd93YBmrpMJgbQNg3KGgj2R tMGPT/5d9QgQJdYlKYUpYOZ7nvw0hPeqSbX9V53eNz2QazFqXsv7rRhaQ nVzdrAFTnSoprD8YRrcER4TCcwzuTWqEQ6VzDKMqcrFh/mCnAv5pRLxcq TwFrQ3UAMhdN0Oh1T0cvCC7NE4K1AD0Jtw5hqyHyR9expiROT0oV1wWdu vySRas4HBuXfKEM0uyH0JYF7Co2EoRVnOl0wXqnCVYSnrsu13FUb1B8mq 9IoMpVSf2mjK9qwwI5A2+bzFvgxUG4vBtiROLVYgK1y2JhqZGiebmguJs Q==; X-CSE-ConnectionGUID: RI4X1te2RVOqCfN1+Pcygg== X-CSE-MsgGUID: klFI0tZ1TZ68mAsDzBjwpQ== X-IronPort-AV: E=McAfee;i="6700,10204,11227"; a="32452112" X-IronPort-AV: E=Sophos;i="6.11,210,1725346800"; d="scan'208";a="32452112" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2024 06:07:24 -0700 X-CSE-ConnectionGUID: Z0mKS/RHQ3Orh4BiBgELQA== X-CSE-MsgGUID: PoeRRwekSw+8JOqc5OH71g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,210,1725346800"; d="scan'208";a="109354610" Received: from black.fi.intel.com ([10.237.72.28]) by orviesa002.jf.intel.com with ESMTP; 17 Oct 2024 06:07:23 -0700 Received: by black.fi.intel.com (Postfix, from userid 1058) id 46B3B3D2; Thu, 17 Oct 2024 16:07:22 +0300 (EEST) From: Niklas Neronin To: mathias.nyman@linux.intel.com Cc: linux-usb@vger.kernel.org, Niklas Neronin Subject: [PATCH 6/8] usb: xhci: refactor xhci_td_cleanup() to return void Date: Thu, 17 Oct 2024 16:05:06 +0300 Message-ID: <20241017130508.1293021-7-niklas.neronin@linux.intel.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241017130508.1293021-1-niklas.neronin@linux.intel.com> References: <20241017130508.1293021-1-niklas.neronin@linux.intel.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The function is modified to return 'void' instead of an integer since it invariably returns '0'. Additionally, multiple functions which only return xhci_td_cleanup() are also refactored to return void. This change eliminates the need for callers to handle a return value that does not convey meaningful information and improve code readability, as it becomes immediately clear that the function does not produce a significant output. Signed-off-by: Niklas Neronin --- drivers/usb/host/xhci-ring.c | 59 +++++++++++++++++------------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index e2e20ae424ad..13eadee89839 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -813,8 +813,8 @@ static void xhci_unmap_td_bounce_buffer(struct xhci_hcd *xhci, seg->bounce_offs = 0; } -static int xhci_td_cleanup(struct xhci_hcd *xhci, struct xhci_td *td, - struct xhci_ring *ep_ring, int status) +static void xhci_td_cleanup(struct xhci_hcd *xhci, struct xhci_td *td, + struct xhci_ring *ep_ring, int status) { struct urb *urb = NULL; @@ -857,8 +857,6 @@ static int xhci_td_cleanup(struct xhci_hcd *xhci, struct xhci_td *td, status = 0; xhci_giveback_urb_in_irq(xhci, td, status); } - - return 0; } @@ -2187,9 +2185,9 @@ int xhci_is_vendor_info_code(struct xhci_hcd *xhci, unsigned int trb_comp_code) return 0; } -static int finish_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, - struct xhci_ring *ep_ring, struct xhci_td *td, - u32 trb_comp_code) +static void finish_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, + struct xhci_ring *ep_ring, struct xhci_td *td, + u32 trb_comp_code) { struct xhci_ep_ctx *ep_ctx; @@ -2204,7 +2202,7 @@ static int finish_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, * stopped TDs. A stopped TD may be restarted, so don't update * the ring dequeue pointer or take this TD off any lists yet. */ - return 0; + return; case COMP_USB_TRANSACTION_ERROR: case COMP_BABBLE_DETECTED_ERROR: case COMP_SPLIT_TRANSACTION_ERROR: @@ -2230,7 +2228,7 @@ static int finish_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, xhci_dbg(xhci, "Already resolving halted ep for 0x%llx\n", (unsigned long long)xhci_trb_virt_to_dma( td->start_seg, td->start_trb)); - return 0; + return; } /* endpoint not halted, don't reset it */ break; @@ -2238,7 +2236,7 @@ static int finish_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, /* Almost same procedure as for STALL_ERROR below */ xhci_clear_hub_tt_buffer(xhci, td, ep); xhci_handle_halted_endpoint(xhci, ep, td, EP_HARD_RESET); - return 0; + return; case COMP_STALL_ERROR: /* * xhci internal endpoint state will go to a "halt" state for @@ -2255,7 +2253,7 @@ static int finish_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, xhci_handle_halted_endpoint(xhci, ep, td, EP_HARD_RESET); - return 0; /* xhci_handle_halted_endpoint marked td cancelled */ + return; /* xhci_handle_halted_endpoint marked td cancelled */ default: break; } @@ -2265,7 +2263,7 @@ static int finish_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, ep_ring->deq_seg = td->end_seg; inc_deq(xhci, ep_ring); - return xhci_td_cleanup(xhci, td, ep_ring, td->status); + xhci_td_cleanup(xhci, td, ep_ring, td->status); } /* sum trb lengths from the first trb up to stop_trb, _excluding_ stop_trb */ @@ -2285,9 +2283,9 @@ static u32 sum_trb_lengths(struct xhci_td *td, union xhci_trb *stop_trb) /* * Process control tds, update urb status and actual_length. */ -static int process_ctrl_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, - struct xhci_ring *ep_ring, struct xhci_td *td, - union xhci_trb *ep_trb, struct xhci_transfer_event *event) +static void process_ctrl_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, + struct xhci_ring *ep_ring, struct xhci_td *td, + union xhci_trb *ep_trb, struct xhci_transfer_event *event) { struct xhci_ep_ctx *ep_ctx; u32 trb_comp_code; @@ -2366,7 +2364,7 @@ static int process_ctrl_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, td->urb_length_set = true; td->urb->actual_length = requested - remaining; xhci_dbg(xhci, "Waiting for status stage event\n"); - return 0; + return; } /* at status stage */ @@ -2374,15 +2372,15 @@ static int process_ctrl_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, td->urb->actual_length = requested; finish_td: - return finish_td(xhci, ep, ep_ring, td, trb_comp_code); + finish_td(xhci, ep, ep_ring, td, trb_comp_code); } /* * Process isochronous tds, update urb packet status and actual_length. */ -static int process_isoc_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, - struct xhci_ring *ep_ring, struct xhci_td *td, - union xhci_trb *ep_trb, struct xhci_transfer_event *event) +static void process_isoc_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, + struct xhci_ring *ep_ring, struct xhci_td *td, + union xhci_trb *ep_trb, struct xhci_transfer_event *event) { struct urb_priv *urb_priv; int idx; @@ -2476,14 +2474,13 @@ static int process_isoc_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, if (td->error_mid_td && ep_trb != td->end_trb) { xhci_dbg(xhci, "Error mid isoc TD, wait for final completion event\n"); td->urb_length_set = true; - return 0; + return; } - - return finish_td(xhci, ep, ep_ring, td, trb_comp_code); + finish_td(xhci, ep, ep_ring, td, trb_comp_code); } -static int skip_isoc_td(struct xhci_hcd *xhci, struct xhci_td *td, - struct xhci_virt_ep *ep, int status) +static void skip_isoc_td(struct xhci_hcd *xhci, struct xhci_td *td, + struct xhci_virt_ep *ep, int status) { struct urb_priv *urb_priv; struct usb_iso_packet_descriptor *frame; @@ -2504,15 +2501,15 @@ static int skip_isoc_td(struct xhci_hcd *xhci, struct xhci_td *td, ep->ring->deq_seg = td->end_seg; inc_deq(xhci, ep->ring); - return xhci_td_cleanup(xhci, td, ep->ring, status); + xhci_td_cleanup(xhci, td, ep->ring, status); } /* * Process bulk and interrupt tds, update urb status and actual_length. */ -static int process_bulk_intr_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, - struct xhci_ring *ep_ring, struct xhci_td *td, - union xhci_trb *ep_trb, struct xhci_transfer_event *event) +static void process_bulk_intr_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, + struct xhci_ring *ep_ring, struct xhci_td *td, + union xhci_trb *ep_trb, struct xhci_transfer_event *event) { struct xhci_slot_ctx *slot_ctx; u32 trb_comp_code; @@ -2555,7 +2552,7 @@ static int process_bulk_intr_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, td->status = 0; xhci_handle_halted_endpoint(xhci, ep, td, EP_SOFT_RESET); - return 0; + return; default: /* do nothing */ break; @@ -2574,7 +2571,7 @@ static int process_bulk_intr_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep, td->urb->actual_length = 0; } - return finish_td(xhci, ep, ep_ring, td, trb_comp_code); + finish_td(xhci, ep, ep_ring, td, trb_comp_code); } /* Transfer events which don't point to a transfer TRB, see xhci 4.17.4 */ From patchwork Thu Oct 17 13:05:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Neronin X-Patchwork-Id: 836601 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3F0791DDC02 for ; Thu, 17 Oct 2024 13:07:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.9 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729170449; cv=none; b=BE/jGHN59Rz4g2ObX+ukpHTuKJDOQdhSTNdPsWUWShGb+SQO+Ksn05NRLJMWFeSKnu7Nut4Zis9RCtkWfZBvi9mAf5o0Fgvj7dX0cg5/NG//B0a4vgPk+aUmo0+fUgwAarOOyvJ3nCMXXjX1kmxOVdmivtlsq+Lgmq4xhOnD8SY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729170449; c=relaxed/simple; bh=E1u77zsKj3wLAgWtxG/RaFxPoA1UvazYJzRnBY/vJso=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a4073XvA+Y52RkN2BJUYPrRrvMT1P45yNO2wi0/nHqCrHB1R8i4K0euTjKgwhQNLVTwcaiO5X4nOdtz5yJqTrxte8Lo8QcAeG5XTInGr8ywwxcznXKqarmbD26dWdnpF+O40Z3HX1pd11H5seyjSPtg53hwwmjD0mL8N76UvkUw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=gjfziLSf; arc=none smtp.client-ip=192.198.163.9 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="gjfziLSf" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1729170445; x=1760706445; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=E1u77zsKj3wLAgWtxG/RaFxPoA1UvazYJzRnBY/vJso=; b=gjfziLSfuOxzfxu6+dMZvpSO2m80vEeDM2HhOYVNtX/RrjvDPvcVDblZ trgty19xjXqlMf9QnCP6OsCkLHXpFjTjY2C1gKPVjJvMowYFMLypLx9ON rAht0YvIvvdOp2xnh7uiBtb4HYdFBBR8JepE55jHDkZp9rTuSVlf9poYR W3wtnMW0WBA0oUe3OxFf1MN3ajkTmEWsEkFj4NV/PX2En7c7q+PBML91c MN1jlbWkwekbWNbxhOEBj1H+/8MCLnwq4yitHuFQzF2N91nY83XD/gIRo JgMlkh4Km3mAXPttvLGrnBwE0EnvKXW+jOR8i/S73WQX6CCbxDZp6mmqh Q==; X-CSE-ConnectionGUID: qkPnKZYzSneab4maKHG4Pg== X-CSE-MsgGUID: vtvT4qG5Qd2JUKbQgyPCFA== X-IronPort-AV: E=McAfee;i="6700,10204,11227"; a="39290394" X-IronPort-AV: E=Sophos;i="6.11,210,1725346800"; d="scan'208";a="39290394" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2024 06:07:25 -0700 X-CSE-ConnectionGUID: yN1yel9aQCyt2BpaAZQcIQ== X-CSE-MsgGUID: CDU3QkHlSUGlPGpt+FY9Dg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,210,1725346800"; d="scan'208";a="78882324" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa010.fm.intel.com with ESMTP; 17 Oct 2024 06:07:24 -0700 Received: by black.fi.intel.com (Postfix, from userid 1058) id 9052536B; Thu, 17 Oct 2024 16:07:23 +0300 (EEST) From: Niklas Neronin To: mathias.nyman@linux.intel.com Cc: linux-usb@vger.kernel.org, Niklas Neronin Subject: [PATCH 8/8] usb: xhci: remove irrelevant comment Date: Thu, 17 Oct 2024 16:05:08 +0300 Message-ID: <20241017130508.1293021-9-niklas.neronin@linux.intel.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20241017130508.1293021-1-niklas.neronin@linux.intel.com> References: <20241017130508.1293021-1-niklas.neronin@linux.intel.com> Precedence: bulk X-Mailing-List: linux-usb@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The code which it is referencing does not exist in the same function, or the file for that matter. Since it was added [1], the Interrupter Moderation Interval can be changed within xhci addon, e.g. PCI xhci_pci_setup(). [1], commit 0ebbab374223 ("USB: xhci: Ring allocation and initialization.") Signed-off-by: Niklas Neronin --- drivers/usb/host/xhci-mem.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c index 4295e9a4de50..15db90c54a45 100644 --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c @@ -2512,11 +2512,6 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) ir->isoc_bei_interval = AVOID_BEI_INTERVAL_MAX; - /* - * XXX: Might need to set the Interrupter Moderation Register to - * something other than the default (~1ms minimum between interrupts). - * See section 5.5.1.2. - */ for (i = 0; i < MAX_HC_SLOTS; i++) xhci->devs[i] = NULL;