From nobody Mon Jun 8 08:52:46 2026 Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) (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 BD35D3B19D8; Thu, 4 Jun 2026 14:40:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.97.179.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780584032; cv=none; b=A/2DWaFkK5GATEGyqujkLXM2z4o6VASropTAKF2vUA+xx8F0SgVE+twhC1DJyn27UHoozB1/B+a3I8iNZDEIsRDcpri7N36UIqW+LEIaZrFKyQj7O+2qfofjUzivyH5zRxmBYLUOsBbqztrEbImdKSssURtTytqt5U6PpP63A3I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780584032; c=relaxed/simple; bh=gi+C/I2R8FnHSvcBWJpqptXPhjZWYhnjOM1BaI+Rzng=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LWmthRj4gUc/SGYlYtKEof7fAboe9fLZretyDrCVjsMbSietRbJYiBRCmmZyz1hX2DRtj4068Nu20+LJjeYe73OUQ1omp7r8c5clcIigF6NWZfs/QULK5sJX4Tv3wKvTJ74jOJpbl10+GT1GdNaDGlKdu9d0wCl4BIP7r0ngmHQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com; spf=pass smtp.mailfrom=igalia.com; dkim=pass (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b=OcrEK3Qh; arc=none smtp.client-ip=213.97.179.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=igalia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b="OcrEK3Qh" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=KpM3cqM9NADN79SY0+R9Jq2ShWErGEMrJ3dJav2dVjA=; b=OcrEK3QhjV6iSZynBEl7l/lia0 odfE/U7EexfZ/I2xZFDTTQTnW43BYew52Li1rsP0AUctTbYwt/9mMRQ2NSmtc1cTUVvFLQDgY9lmt xDVqXLC3fzwMqBZ7P/QJYwlGDuMyR3ycqTxZnXqrHINm63DitSu3fJO4e/4pp632n0zzaItf36Qr8 6rDhZoORZEbDYsXwcUluJG5fgOHuERUNQdiaLCRkhoZlASqPXRJRLq7BFX3yuh2UnDQx48HcNBIlg FCTli9+C/BYDJQ21wMKglkFvHJe7bDhJJLSFSjTvwPdMAYgK05Mi+MP+5+1TdvN9uv8ZORmAMISf6 nktP4SSw==; Received: from [49.36.124.180] (helo=uajain) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1wV9F3-00Cfsr-F7; Thu, 04 Jun 2026 16:40:17 +0200 From: Umang Jain To: Greg Kroah-Hartman , Lucas De Marchi Cc: Mathias Nyman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-dev@igalia.com, Umang Jain Subject: [RFC PATCH v1 1/3] usb: early: xhci-dbc: Track early_ioremap size separately Date: Thu, 4 Jun 2026 20:11:20 +0530 Message-ID: <20260604144122.962236-2-uajain@igalia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260604144122.962236-1-uajain@igalia.com> References: <20260604144122.962236-1-uajain@igalia.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" early_ioremap() only allows to map a fixed number of boot time mappings, hence, the mapped size should be tracked separately from the PCIe base address and size. Signed-off-by: Umang Jain --- drivers/usb/early/xhci-dbc.c | 13 +++++++------ drivers/usb/early/xhci-dbc.h | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/usb/early/xhci-dbc.c b/drivers/usb/early/xhci-dbc.c index 41118bba9197..8ce362a90910 100644 --- a/drivers/usb/early/xhci-dbc.c +++ b/drivers/usb/early/xhci-dbc.c @@ -86,6 +86,7 @@ static void __iomem * __init xdbc_map_pci_mmio(u32 bus, u= 32 dev, u32 func) xdbc.xhci_start =3D val64; xdbc.xhci_length =3D sz64; base =3D early_ioremap(val64, sz64); + xdbc.xhci_base_length =3D sz64; =20 return base; } @@ -643,9 +644,9 @@ int __init early_xdbc_parse_parameter(char *s, int keep= _early) offset =3D xhci_find_next_ext_cap(xdbc.xhci_base, 0, XHCI_EXT_CAPS_DEBUG); if (!offset) { pr_notice("xhci host doesn't support debug capability\n"); - early_iounmap(xdbc.xhci_base, xdbc.xhci_length); + early_iounmap(xdbc.xhci_base, xdbc.xhci_base_length); xdbc.xhci_base =3D NULL; - xdbc.xhci_length =3D 0; + xdbc.xhci_base_length =3D 0; =20 return -ENODEV; } @@ -682,9 +683,9 @@ int __init early_xdbc_setup_hardware(void) xdbc.table_base =3D NULL; xdbc.out_buf =3D NULL; =20 - early_iounmap(xdbc.xhci_base, xdbc.xhci_length); + early_iounmap(xdbc.xhci_base, xdbc.xhci_base_length); xdbc.xhci_base =3D NULL; - xdbc.xhci_length =3D 0; + xdbc.xhci_base_length =3D 0; } =20 return ret; @@ -987,7 +988,7 @@ static int __init xdbc_init(void) } =20 raw_spin_lock_irqsave(&xdbc.lock, flags); - early_iounmap(xdbc.xhci_base, xdbc.xhci_length); + early_iounmap(xdbc.xhci_base, xdbc.xhci_base_length); xdbc.xhci_base =3D base; offset =3D xhci_find_next_ext_cap(xdbc.xhci_base, 0, XHCI_EXT_CAPS_DEBUG); xdbc.xdbc_reg =3D (struct xdbc_regs __iomem *)(xdbc.xhci_base + offset); @@ -1004,7 +1005,7 @@ static int __init xdbc_init(void) memblock_phys_free(xdbc.table_dma, PAGE_SIZE); memblock_phys_free(xdbc.out_dma, PAGE_SIZE); writel(0, &xdbc.xdbc_reg->control); - early_iounmap(xdbc.xhci_base, xdbc.xhci_length); + early_iounmap(xdbc.xhci_base, xdbc.xhci_base_length); =20 return ret; } diff --git a/drivers/usb/early/xhci-dbc.h b/drivers/usb/early/xhci-dbc.h index 8b4d71de45fc..e2aefb796084 100644 --- a/drivers/usb/early/xhci-dbc.h +++ b/drivers/usb/early/xhci-dbc.h @@ -144,6 +144,7 @@ struct xdbc_state { u32 dev; u32 func; void __iomem *xhci_base; + size_t xhci_base_length; u64 xhci_start; size_t xhci_length; int port_number; --=20 2.53.0 From nobody Mon Jun 8 08:52:46 2026 Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) (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 BD47747B439; Thu, 4 Jun 2026 14:40:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.97.179.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780584033; cv=none; b=QHudXOTYPF1RgaoeUqYsOS2T/texKJNSV1zL/mllJ+B4KyXI2jlh60Bn66SCXl/gj7n9BA1L7i01BbpwE2LK3/konEAiu77oTH99hMcdcqIr+I8AvQLhq6pA444pQ6q0T+2DgDAaWrvPM57Z0wAbyUjoiuXUZx4WJ9dNQ/SLtYk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780584033; c=relaxed/simple; bh=qc4prvSskt3Khf+ZL+++BHMFHyaEzTuV+uL7DHFRYvs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LLZnOXq7dH7HPngrm4fAKZLroU5vdz+A3g36wR9WZP87Ip1VxobY2oep0onPH04SmB1/RldKWfC6/z5NPjWMy3oYksZZ7ttxmOvMdtRE5IeCYWdrBZ7v2b/2yhZr+KxhAy84Dp/LITvLZstAQz/vb+mOOkgp874m9AxSJTC8Dh4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com; spf=pass smtp.mailfrom=igalia.com; dkim=pass (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b=VmuxITzX; arc=none smtp.client-ip=213.97.179.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=igalia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b="VmuxITzX" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=g9KH+tgzUi6Unr+8AR+EvbtiUJhJ0FJeX7Ih14TUyyU=; b=VmuxITzXyQVkO1wY1lYbUc20ge RNYl5/jx6eZFkTNQvoE3sShVYbGuECBbi4KGO9k6iuWlosrKbJdLg8Cf2irfkRkiu+A5lV0Hcy+pR 824g2DkHH386uZWti32PVkdioMy3pIpQouOCpeCOqBBHZRrPyQPIbhv8Ru2hCjl9KDlITooQDur3P luVYlyL8hwDme5rO/B0QTjnMLfcmU+1SK92DjlyQG3zPJdptEv2nNhlT+Ihz4Grk0mYLGu+kN1JNO jLiTJFBCFa4A6DKJXiBgJpWIegWp/WS2K3lY1FGMtfWKvY2+uf22rlhhhumM0Gv4WrppbfGg9Mbd6 B6tOk1kA==; Received: from [49.36.124.180] (helo=uajain) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1wV9F5-00Cfsr-5v; Thu, 04 Jun 2026 16:40:19 +0200 From: Umang Jain To: Greg Kroah-Hartman , Lucas De Marchi Cc: Mathias Nyman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-dev@igalia.com, Umang Jain Subject: [RFC PATCH v1 2/3] early: usb: xhci-dbc: Handle out of bounds xhci-xdbc capability Date: Thu, 4 Jun 2026 20:11:21 +0530 Message-ID: <20260604144122.962236-3-uajain@igalia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260604144122.962236-1-uajain@igalia.com> References: <20260604144122.962236-1-uajain@igalia.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" Currently, the early xhci-dbc assumes that the extended capability can be mapped within the fixed boot time mappings dictated by NR_FIX_BTMAPS. This patch iterates over the PCI BAR address size to find and map xhci-xdbc capability which could be out-of-bounds otherwise, in xdbc_map_pci_mmio(). The iterations map the maximum allowed boot time mappings (fixmap size) at a time and search for xhci-xdbc capability offset, till the end of the bar address size. Signed-off-by: Umang Jain --- drivers/usb/early/xhci-dbc.c | 47 +++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/drivers/usb/early/xhci-dbc.c b/drivers/usb/early/xhci-dbc.c index 8ce362a90910..1f6a129d4b5d 100644 --- a/drivers/usb/early/xhci-dbc.c +++ b/drivers/usb/early/xhci-dbc.c @@ -35,10 +35,13 @@ static bool early_console_keep; static inline void xdbc_trace(const char *fmt, ...) { } #endif /* XDBC_TRACE */ =20 +#define XDBC_MAPPING_SIZE 56 + static void __iomem * __init xdbc_map_pci_mmio(u32 bus, u32 dev, u32 func) { - u64 val64, sz64, mask64; + u64 val64, sz64, mask64, fixmap_size, mapped_size; void __iomem *base; + int offset; u32 val, sz; u8 byte; =20 @@ -85,8 +88,46 @@ static void __iomem * __init xdbc_map_pci_mmio(u32 bus, = u32 dev, u32 func) =20 xdbc.xhci_start =3D val64; xdbc.xhci_length =3D sz64; - base =3D early_ioremap(val64, sz64); - xdbc.xhci_base_length =3D sz64; + + fixmap_size =3D NR_FIX_BTMAPS << PAGE_SHIFT; + if (sz64 < fixmap_size) { + xdbc.xhci_base_length =3D sz64; + return early_ioremap(val64, sz64); + } + + /* + * Base address size is greater than fixed size boot mappings, + * hence iterate over the region one fixmap_size at a time. + */ + base =3D early_ioremap(val64, fixmap_size); + offset =3D xhci_find_next_ext_cap(base, 0, 0); + mapped_size =3D fixmap_size; + + while (mapped_size <=3D sz64) { + val =3D readl(base + offset); + if (XHCI_EXT_CAPS_ID(val) =3D=3D XHCI_EXT_CAPS_DEBUG) { + if (offset + XDBC_MAPPING_SIZE > fixmap_size) { + early_iounmap(base, fixmap_size); + base =3D early_ioremap(val64 + offset, XDBC_MAPPING_SIZE); + } + break; + } + + /* + * Find offset to next xhci-ext capability, remap if the offset + * is out of bounds of the already mapped region. + */ + offset =3D xhci_find_next_ext_cap(base, offset, 0); + if (!offset) { + early_iounmap(base, fixmap_size); + base =3D early_ioremap(val64 + mapped_size, fixmap_size); + mapped_size +=3D fixmap_size; + + offset =3D xhci_find_next_ext_cap(base, 0, 0); + } + } + + xdbc.xhci_base_length =3D fixmap_size; =20 return base; } --=20 2.53.0 From nobody Mon Jun 8 08:52:46 2026 Received: from fanzine2.igalia.com (fanzine2.igalia.com [213.97.179.56]) (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 CCA05385D94; Thu, 4 Jun 2026 14:40:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.97.179.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780584033; cv=none; b=tCmDNT+izLS85yLmt+d/bMGp9wVzsouHBt4Ryt+ZpHHeQF0HaUXivlGAVAGvnbTE8Foa41ablgU7WHgw1/KvNyLKapjcKRhKYXLEbWeWnSezm7Q4I1yqQLFepKX2GgW739REtfUhzrbKLu5QpK0geMZIG/smJ2/Qccc3b7ygbio= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780584033; c=relaxed/simple; bh=182DBq2EHIlRJ1LDWMojQFwJq1Z1ZmXVsPcX57PlzPU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jLMGq3HGrC8Zp883V4pAhUfWFacEa4Kv5y+gxEqWSGeuZQujVe/5ti99stEsYIfnW2F2O6JIdacnrX8zxV89cPclQTVifb0DIfMg/OmyIchiA8MFuDSHfxEmGYoWVYo8J5DvU5v4z+XnWF3FS+M9Nuw+oRBwKnZBugLv4gSavRQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com; spf=pass smtp.mailfrom=igalia.com; dkim=pass (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b=HHXVAXAR; arc=none smtp.client-ip=213.97.179.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=igalia.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=igalia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=igalia.com header.i=@igalia.com header.b="HHXVAXAR" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=igalia.com; s=20170329; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=ISIKerVlZfSV+WyXavGS0DqsEVYVTPDaaKjRFymYdxU=; b=HHXVAXAREykoowr2SUegFEf2nh p1TQ4VWT392Nwrt/c772FmeTdOjmI48Rxl3EuT01JJoW9Gtyw7G5ZIRGozwOo7RopivE+eUOJkbXD 6Et7AK6CvlRDrXJg98heDD+b2nvepedqTLYVFuaYuHNhqaJX22xsHGPRgZFmekuZi0CjBRW4jUwk1 iaH/9OEEjAWuMM1o3PLOpEfyHP0M9YfdO15INDU1ruqf39cx8zm81UACURmMJ8GhwM1JtiReXIqmw 1wld/FKKA65n1vmj58sHcyWP503QH76a7LJJgFKmrrq5ZUk3wSiV8kKbis4WWQoYxoH0TrfJapX1e 7wxwc53g==; Received: from [49.36.124.180] (helo=uajain) by fanzine2.igalia.com with esmtpsa (Cipher TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim) id 1wV9F6-00Cfsr-Sy; Thu, 04 Jun 2026 16:40:21 +0200 From: Umang Jain To: Greg Kroah-Hartman , Lucas De Marchi Cc: Mathias Nyman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, kernel-dev@igalia.com, Umang Jain Subject: [RFC PATCH v1 3/3] WIP: early: xhci-xdbc: Map lower and with 0 offset to partially work Date: Thu, 4 Jun 2026 20:11:22 +0530 Message-ID: <20260604144122.962236-4-uajain@igalia.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260604144122.962236-1-uajain@igalia.com> References: <20260604144122.962236-1-uajain@igalia.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" Map the area slightly lower than max fixmap. Detect the offset of xhci xdbc cap and remap it again, so that the offset becomes 0. ---- >> This is investigation patch to get early xdbc attached to host >> successfully. Without this, the xdbc doesn't attach to host. on host: [180056.895751] usb usb4-port2: attempt power cycle [180059.049494] usb 4-2: Device not responding to setup address. [180059.262513] usb 4-2: Device not responding to setup address. [180059.463201] usb 4-2: device not accepting address 81, error -71 [180059.651391] usb 4-2: Device not responding to setup address. [180059.862171] usb 4-2: Device not responding to setup address. [180060.065072] usb 4-2: device not accepting address 82, error -71 on target: [ 5.779884] xhci_dbc:xdbc_start: waiting for device configuration timed = out [ 5.779891] xhci_dbc:early_xdbc_setup_hardware: failed to setup the conn= ection to host ---- This patches atleast makes the target attach to xhci host at /dev/ttyUSB0. It's meant to debug and discuss the core issue as a "clue". Signed-off-by: Umang Jain --- drivers/usb/early/xhci-dbc.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/drivers/usb/early/xhci-dbc.c b/drivers/usb/early/xhci-dbc.c index 1f6a129d4b5d..b2bde2e8f85f 100644 --- a/drivers/usb/early/xhci-dbc.c +++ b/drivers/usb/early/xhci-dbc.c @@ -95,6 +95,9 @@ static void __iomem * __init xdbc_map_pci_mmio(u32 bus, u= 32 dev, u32 func) return early_ioremap(val64, sz64); } =20 + /* Do not fill all fixed page slots in one go. */ + fixmap_size =3D fixmap_size / 2; + /* * Base address size is greater than fixed size boot mappings, * hence iterate over the region one fixmap_size at a time. @@ -110,6 +113,14 @@ static void __iomem * __init xdbc_map_pci_mmio(u32 bus= , u32 dev, u32 func) early_iounmap(base, fixmap_size); base =3D early_ioremap(val64 + offset, XDBC_MAPPING_SIZE); } + + pr_notice("Found CAPS_DEBUG: mapped size: %llu, \ + fixmap_size: %llu, offset: %d, page_size:%d\n", + mapped_size, fixmap_size, offset, 1 << PAGE_SHIFT); + + early_iounmap(base, fixmap_size); + base =3D early_ioremap(val64+offset, fixmap_size); + break; } =20 @@ -681,17 +692,7 @@ int __init early_xdbc_parse_parameter(char *s, int kee= p_early) if (!xdbc.xhci_base) return -EINVAL; =20 - /* Locate DbC registers: */ - offset =3D xhci_find_next_ext_cap(xdbc.xhci_base, 0, XHCI_EXT_CAPS_DEBUG); - if (!offset) { - pr_notice("xhci host doesn't support debug capability\n"); - early_iounmap(xdbc.xhci_base, xdbc.xhci_base_length); - xdbc.xhci_base =3D NULL; - xdbc.xhci_base_length =3D 0; - - return -ENODEV; - } - xdbc.xdbc_reg =3D (struct xdbc_regs __iomem *)(xdbc.xhci_base + offset); + xdbc.xdbc_reg =3D (struct xdbc_regs __iomem *)(xdbc.xhci_base); =20 return 0; } --=20 2.53.0