From nobody Tue Sep 9 16:44:13 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 69049C64ED6 for ; Tue, 28 Feb 2023 09:15:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229706AbjB1JP4 (ORCPT ); Tue, 28 Feb 2023 04:15:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229565AbjB1JPx (ORCPT ); Tue, 28 Feb 2023 04:15:53 -0500 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2058.outbound.protection.outlook.com [40.107.7.58]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3ED3B22DF3; Tue, 28 Feb 2023 01:15:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lWwVo04SHx0T46LXvyeTDXyvGbNTN2Ilk/5PkE/AJxM9zefapAXWIZGhzG5uTSwgOKXXrRaEKb4nzoQ9PxT9oeS4dEkC2hB8kwAi53kITe1h2Smrs+/V6tD2uD6qIpKPCLsdZqB+B+xcWGL98Qql5z7/yr26xWxNAO9SANBvx+uxjL95Kfds8eN3nYTegY5vOWKuha1wmkdE7rT56/sEe9tfvcVVNtd1dw4pYisaggIQQie0QsdL7nvFxHmA2lI9v9UoWf93c4ixw8WUGxfOyhQWujsTw2+2A08N8A0Eo6jmFG35PuISe4U1WMkxlsav2i9YOcZ2MlkXH+5zdbK0cw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HM7VGJMNJzhDT9iHyYW6cwG6qPGH9YgpXI8YjCzPlNw=; b=iFnkiooSGXNO9Cg8pF0wZMJtrqPLAT5GpioOWBAO1by7JCOBm8ageUnFmdBxjot/WAyhF2au/km+dw57aGdm6RKDDaEhWZq/F8R29znFccqLtFCDYUPN1q0Dh4JhpvP2V/QQsF4lUHb1CcNmGtx5TYYQ77rqL2ceoEA3sTq962r3r2FFfOYuFW0lH+oOGUOSQIYzgAqS2I4mP97Bcq7wTTmNTpjTLqQ3xfw7KSCgmdl1nHKtVZA8x8+JJdD5irIPPY91BmSefs8TjDgeaA/vXPg8eCsQ+01siuSjEPUrVwllbMCGOcxl8lxR3qye/Y2PiuJ30Na+ry5oNrWWi1BGvA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HM7VGJMNJzhDT9iHyYW6cwG6qPGH9YgpXI8YjCzPlNw=; b=dG5p115zv0lKHuIqSwPioDe3JXp9faWfX7dHn8y8ZeQ4UQ6Okye2YP4qfFvudCVcZqqGxEP8qvNiZa0wa1yMuVCizzkSDnuc+YZD/Gf1JWOGU4Th7dC4TrxA8P3D05DvbKcCaPwpEe1tJPu9Y7y2yl9QL8MsZ+HOcy+fcAMmHAI= Received: from DB7PR04MB4010.eurprd04.prod.outlook.com (2603:10a6:5:21::30) by DB9PR04MB8429.eurprd04.prod.outlook.com (2603:10a6:10:242::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Tue, 28 Feb 2023 09:15:44 +0000 Received: from DB7PR04MB4010.eurprd04.prod.outlook.com ([fe80::df09:aca5:4487:9fcb]) by DB7PR04MB4010.eurprd04.prod.outlook.com ([fe80::df09:aca5:4487:9fcb%7]) with mapi id 15.20.6134.030; Tue, 28 Feb 2023 09:15:44 +0000 From: Bough Chen To: Michael Nazzareno Trimarchi CC: Shawn Guo , Fabio Estevam , LKML , linux-arm-kernel , "linux-mmc@vger.kernel.org" , Ulf Hansson Subject: RE: NXP imx6ull nonalignment buffer question Thread-Topic: NXP imx6ull nonalignment buffer question Thread-Index: AQHZJCqfilmTz1JUB0Cl7AgFtNcXnq6btY6wgABA6ICARvyjgIABTdcQgAAHP4CAABmDcA== Date: Tue, 28 Feb 2023 09:15:44 +0000 Message-ID: References: In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DB7PR04MB4010:EE_|DB9PR04MB8429:EE_ x-ms-office365-filtering-correlation-id: 0ea6fa16-e0f2-42f3-c99e-08db196c5efe x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rIU5B79NEesHIVuTMXTk01zDyoelSbal4ZI1jJv1v1c26Vq6aEzNwhYWFEWrcvjXLAiNkMjheP2IPnVh3nG5OznWUpTqXgcl6b2kjB26w3vWQQTykmGmxTuSObPQHHGtkCpasYV507b6GLWwrB9oFaNzKcFBC5BC/kRTevQZ59og36V/DXGYzdniK5DaKn88nMyAzY1kiMTOK3Yvm2FLovJqQwtBK3sF7nPdUclQqutM57s62ufF+dIOmJVGOEw3968n9dhKvAyiNVZX6BDl3hDRg+FscBzWwho8MjvQaC2FBlaAgW+9ff4nvndmcz0h6sBG2+tq/kstOl1KX8zVzvAOUNZTb77NGlO5n+EUwV2qMgL1ACAK5prGE27PhJDh6qL8H5xbudLFJKyfKeZzpKBYqNi7yFn+jIXVQLbIhemAYj19ANCp5h+yJ+NVpywgwmpLWv8JyrP9tCZ4KKfnRfdJslCm/kpDsNSNI5ewgyQNEZgukaqXVIo0AyKNq3KdsgQwQLVN7ZrekTxTcOoqjnDF4MdkFEKO88rDr9VElNfXxEXP3Rol9fWK0O3zn7TyAAK7dl3bAV4KmVUn3k7Kk/HfFBcbO0FXffe82qK27EFtgj6MIplTAO1TDjn9KOEQGmNzclms2O58ySQKVewjXmL5ZCKnt8X0yf9MPxCiyrCLCVF2/TtJloiGxnnqAMBMexQiRy13JSDprpZMq8ekKg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR04MB4010.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(346002)(376002)(396003)(39860400002)(136003)(451199018)(45080400002)(7696005)(71200400001)(54906003)(316002)(76116006)(66946007)(66556008)(66476007)(66446008)(64756008)(6916009)(41300700001)(8676002)(4326008)(33656002)(55016003)(40140700001)(86362001)(38070700005)(38100700002)(122000001)(186003)(26005)(53546011)(966005)(478600001)(6506007)(9686003)(8936002)(52536014)(2906002)(5660300002)(83380400001)(32563001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UlFmMU9zOFRRdEFaVGp2TEIyT2pZSnowMWM4RU1YUFZXRnExa1htTU9Od0Q5?= =?utf-8?B?c0Z5cVpoakRxSExUOTk2RTd1SzRLeS83R29VMXMxOTVhTnJScTdFc3RHd2Z2?= =?utf-8?B?WXl2NStRM2VIYWNzSU94eDRrQ1IxNDdmbUFmUGFhVG1Lc0s1ZmQ2dGIxNUZT?= =?utf-8?B?ak9PTnZwaGVVYUZ1UGJDa1plWmhzMVNpUGpvd1JRVUFseU5zWWJsRVpvN1Bw?= =?utf-8?B?QTc0U051NWZaU2RoMktEMzErTXlYTmN1VU5vSC9iem5oQUs4MFFocitRUm5Z?= =?utf-8?B?WlJnT1p4U01jK2swQTFTNHRITWNMS1k5cGxUT3kwbzVmN29VUmdxYm1McTZV?= =?utf-8?B?UWZLcXBtZ0tNRk8vTG9CU1E4QlppVnlRZnRkdEg5MHFVNkpLMEdNMDRlWFFM?= =?utf-8?B?cmIrOHIrWG9BdjRuSUhlWkFrQ3l6TTV0WmpyLytnVEhMckJWUzVDUTZIdVJh?= =?utf-8?B?OE5Id3ZFT2VZQURjQW44aGNka2xadUxpZnBvL0c5eFpSSlkwaENtK1lVaWd2?= =?utf-8?B?T3hVNmxsNWhhMlJxVEtpeENLWFh3aTZyeGVyM2ZqanNDbUpiUjNGUzl6ODMz?= =?utf-8?B?L0FTRS8zUVVnR2VUUmhkV0RaWEdkK0J1Qk9YZFYzQ2daUHN1Qi9wR1FMd1lx?= =?utf-8?B?NFZLUFlPWkpxRVdOSmFuWFh3WDd6dWdMTEtDK0hrUnhBMWlzT1E5MHJTWkxh?= =?utf-8?B?bHc2YUlTY3ArenM1UFFDbytjeStqKzNRYUJjZ0Fxa1lIUFdqYS8wNEJzS3RL?= =?utf-8?B?RGVTdmNCVXZ6dURqNjRMaTZ2aUs3RmdEem9INnAvUnpKamNwaFRFcjk4Uy83?= =?utf-8?B?a00ySlNsNUV5alJ1NWZGK2VMbWJXaDQrMktqSjNCbW85RmY5NHdlUmZXVk14?= =?utf-8?B?ejZLRVAxWUsvRlpNbC9BK1I2L0k1TUFRd21sdTdaaW9ZRUppd3NFZWRNZEcy?= =?utf-8?B?aW0wRUtmWXhqV1liNllKalpHMlMrVU1BWndiOFZsdERTeVZ2VUVuOGpvaU1C?= =?utf-8?B?bXp6a2lIK0diWHJFNEZCSWo5UXZJVnlmbTNiSEcrVjhzRDZGbndMMVg2d0Ny?= =?utf-8?B?bGl1RDhqQ2pQWnliNndMTXk3VklFVXU4U28zWTlMWHBQMmNpWmhKeXNHbjZE?= =?utf-8?B?Zzl2eVpnYUFqUlgvU0kvUVljdmF0cW5uUlRxYk1EMmhwZXJDOHEyTTh3NWtT?= =?utf-8?B?bllXRmJMbFJxUUxjRGxrd0RFd1l3RTY5azVUVCt0N293bmtDZG9kcGFOYyto?= =?utf-8?B?TUhrWWRqMW01YmlOK3VXVWNHZ2pWT3lBUCtNbE1OUHVvcEN6SCt4czVUbGl5?= =?utf-8?B?aExXL0RQdHBha1ZkMm1UNjBrbDR6ekc4WkRYU0lvQ2pKdFBVRkRqSDdBcUth?= =?utf-8?B?STBvYlZDZWw3dkpDMFBKVmlsckx2c2NRNnV0enh2Sm1yVWIvVHAyT0hJa2Zy?= =?utf-8?B?NXp3T2ZKV251MEFFeG0ya2Y4TGp5bHM2YjVseTdaRUxidjh4Qm1HYlBQcmkr?= =?utf-8?B?VnBvT29IRkZiSVJaaEgrTUhoRzFMdzFoRElzKzhuUWNVL0xnaEVmUzJKbnRL?= =?utf-8?B?TUZpYmV5dGsvbStySlhrTnpYK09RZkY3WGk4azllM0JDWGoyeWZMT1VWaVB6?= =?utf-8?B?USt6WWNKV0gvL2F4dHh5RVBQd005ZWw2aEFKbTRKVitXTllZQWZoWVczSjJz?= =?utf-8?B?c1B5MENmV2JBNElUK3VKL1p1MTY0OWNFT2RrUEVRYVdSeWwyekpxd3c3c1BZ?= =?utf-8?B?MlRDNWhRczRHVmdjb3R6TGVqSEpDOUV6cVhtMUdueGlQTFJ4S2F6UjdSRHhJ?= =?utf-8?B?R1pzS1NXdmJacHZuNS9iNWhRL2lULy9rZjc5eTIwb051ZG5neTFjcy9HQUtG?= =?utf-8?B?WEk5aUtqUTVvUWVtUXpuTlJIOXlIVDFSL2ZkMmxpaXFPSzVxWW92Yitaa3hG?= =?utf-8?B?WWhaOEJVc09XdjBCWG8rT0Z4L0NXYUVUZ0ptRnV6djluVXNIL0N5eG5Pdi9E?= =?utf-8?B?cSs1SUo1dnZxR2UyMkd4QldZZ0hxeHorc2hTaWlDTGVEdDlmQW9PTk5SRG8r?= =?utf-8?B?R1g5VVhPQmphdVZyUmkvcGxBbmtRK081YVB5MXU2V1ZpQlowUzF3MXAzSUhW?= =?utf-8?Q?86MwC8YJDSRsgvtybPLrUE/XQ?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR04MB4010.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0ea6fa16-e0f2-42f3-c99e-08db196c5efe X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2023 09:15:44.3819 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: GHPl1CPlhb2Y7knll0AW5YR3BaJmZY49LTv0l+6MOgvBFI37LuyepuEH+N266Uo3nXqgFu78QiBvpEZsKUqklw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8429 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > -----Original Message----- > From: Michael Nazzareno Trimarchi > Sent: 2023=E5=B9=B42=E6=9C=8828=E6=97=A5 15:43 > To: Bough Chen > Cc: Shawn Guo ; Fabio Estevam > ; LKML ; > linux-arm-kernel ; > linux-mmc@vger.kernel.org; Ulf Hansson > Subject: Re: NXP imx6ull nonalignment buffer question >=20 > Hi >=20 > On Tue, Feb 28, 2023 at 8:25=E2=80=AFAM Bough Chen w= rote: > > > > > -----Original Message----- > > > From: Michael Nazzareno Trimarchi > > > Sent: 2023=E5=B9=B42=E6=9C=8827=E6=97=A5 19:22 > > > To: Bough Chen > > > Cc: Shawn Guo ; Fabio Estevam > > > ; LKML ; > > > linux-arm-kernel ; > > > linux-mmc@vger.kernel.org; Ulf Hansson > > > Subject: Re: NXP imx6ull nonalignment buffer question > > > > > > Hi Bough > > > > > > On Fri, Jan 13, 2023 at 8:19=E2=80=AFAM Michael Nazzareno Trimarchi > > > wrote: > > > > > > > > Hi > > > > > > > > On Fri, Jan 13, 2023 at 4:30 AM Bough Chen > wrote: > > > > > > > > > > > -----Original Message----- > > > > > > From: Michael Nazzareno Trimarchi > > > > > > > > > > > > Sent: 2023=E5=B9=B41=E6=9C=889=E6=97=A5 21:02 > > > > > > To: Bough Chen ; Shawn Guo > > > > > > ; Fabio Estevam ; > > > > > > LKML > > > > > > Cc: linux-arm-kernel ; > > > > > > linux-mmc@vger.kernel.org; Ulf Hansson > > > > > > > > > > > > Subject: NXP imx6ull nonalignment buffer question > > > > > > > > > > > > Hi Haibo > > > > > > > > > > > > Working on imx6ulz design and found that if I send a sdio > > > > > > packet using the sdio_writesb the adma driver tries to handle > > > > > > it with two dma descriptors. The first one filled with the > > > > > > bytes up to 3 to cover the misalign and then another buffer > > > > > > descriptor > > > > > > > > > > > > offset =3D (SDHCI_ADMA2_ALIGN - (addr & SDHCI_ADMA2_MASK)) & > > > > > > SDHCI_ADMA2_MASK; > > > > > > if (offset) { > > > > > > if (data->flags & MMC_DATA_WRITE) { > > > > > > buffer =3D > sdhci_kmap_atomic(sg); > > > > > > memcpy(align, buffer, offset); > > > > > > > sdhci_kunmap_atomic(buffer); > > > > > > } > > > > > > > > > > > > /* tran, valid */ > > > > > > __sdhci_adma_write_desc(host, &desc, > > > > > > align_addr, > > > > > > offset, > > > > > > ADMA2_TRAN_VALID); > > > > > > > > > > > > BUG_ON(offset > 65536); > > > > > > > > > > > > align +=3D SDHCI_ADMA2_ALIGN; > > > > > > align_addr +=3D SDHCI_ADMA2_ALIGN; > > > > > > > > > > > > addr +=3D offset; > > > > > > len -=3D offset; > > > > > > } > > > > > > > > > > > > In 48.7.4 Data Length Setting > > > > > > For either ADMA (ADMA1 or ADMA2) transfer, the data in the > > > > > > data buffer must be word aligned, so the data length set in > > > > > > the descriptor must > > > be a multiple of 4. > > > > > > I have noticed that this code does not work as expected. > > > > > > > > > > Hi Michael, > > > > > > > > > > My understanding is: for the sentence " the data in the data > > > > > buffer must be > > > word aligned", this means the start address of the data must be word > > > aligned, but not limit the data length. > > > > > > > > > > > > > Ok. My specific problem is that this seems not working on imx6ulz, > > > > I found the problem working on a wifi chipset, if the request gets > > > > split for no-alignment of the data in two dma descriptors, the > > > > chipset does not reply to me. > > > > Anyway, I will retest it with the upstream kernel again. I will > > > > check better and I will follow up if any more question > > > > > > > > > > I have done some tests and I need this quirk > > > SDHCI_QUIRK_32BIT_ADMA_SIZE on imx6ulz cpu and I think that it applies > even on imx6ull. > > > Wifi can work only if the data on the sdio are aligned or we use > > > interrupt mode for no-alignment data. I did not find an errata and I > > > can not add as a quirk without a confirmation > > > > > > > Hi Michael, > > > > If use the quirk SDHCI_QUIRK_32BIT_ADMA_SIZE, for the length > > no-alignment data, it will change to use PIO mode. > > > > Here, can you give some more details about this issue? When the dma > > descriptor contain the no-alignment length of data, is there any > > register dump on the console? Or meet any timeout? Or there any ADMA > length mismatch happen? >=20 > I don't have a logic analyzer or oscilloscope but from the point of view = of the wifi, > the data does not arrive or the transaction is not complete. Anyway I wil= l check > back again on 6.2 >=20 > diff --git a/drivers/net/wireless/ti/wl18xx/wl18xx.h > b/drivers/net/wireless/ti/wl18xx/wl18xx.h > index b642e0c437bb..97cd41a75762 100644 > --- a/drivers/net/wireless/ti/wl18xx/wl18xx.h > +++ b/drivers/net/wireless/ti/wl18xx/wl18xx.h > @@ -32,14 +32,14 @@ > #define WL18XX_MAX_LINKS 16 >=20 > struct wl18xx_priv { > - /* buffer for sending commands to FW */ > - u8 cmd_buf[WL18XX_CMD_MAX_SIZE]; > - > struct wl18xx_priv_conf conf; >=20 > /* Index of last released Tx desc in FW */ > u8 last_fw_rls_idx; >=20 > + /* buffer for sending commands to FW */ > + u8 cmd_buf[WL18XX_CMD_MAX_SIZE]; > + > /* number of keys requiring extra spare mem-blocks */ > int extra_spare_key_count; > }; >=20 > One way to try on some wifi is to move this buffer. As the code is done t= his > section is kmalloc and data is copied to the buffer from cmd side. > After I retest I will send an RFC patch >=20 > Michael Hi Michael=EF=BC=8C Can you add the following change and test again? This change only use DMA m= ode, disable ADMA mode. diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-es= dhc-imx.c index 58f042fdd4f4..95dfbb6cb3d5 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -282,7 +282,7 @@ static const struct esdhc_soc_data usdhc_imx6sx_data = =3D { static const struct esdhc_soc_data usdhc_imx6ull_data =3D { .flags =3D ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING | ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200 - | ESDHC_FLAG_ERR010450 + | ESDHC_FLAG_ERR010450 | ESDHC_FLAG_ERR004536 | ESDHC_FLAG_STATE_LOST_IN_LPMODE, }; Haibo Chen >=20 >=20 > > > > Besides, did you try DMA mode instead of the ADMA mode? Can DMA mode > work for your case? > > > > Best Regards > > Haibo Chen > > > > > Michael >=20 >=20 >=20 > -- > Michael Nazzareno Trimarchi > Co-Founder & Chief Executive Officer > M. +39 347 913 2170 > michael@amarulasolutions.com > __________________________________ >=20 > Amarula Solutions BV > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172 > info@amarulasolutions.com > https://eur01.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fwww.ama > rulasolutions.com%2F&data=3D05%7C01%7Chaibo.chen%40nxp.com%7C50cbd90 > 99dcf4b4931fe08db195f6cdd%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0% > 7C0%7C638131669856911217%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wL > jAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7 > C%7C&sdata=3DYaqpFLQzTZn%2Fgo%2BNOCsTedJFq7%2F%2F2YGwQxvxJsI4Wyc% > 3D&reserved=3D0