From nobody Wed Dec 17 19:18:02 2025 Received: from mail-oa1-f51.google.com (mail-oa1-f51.google.com [209.85.160.51]) (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 8494A1A3160 for ; Mon, 6 Oct 2025 01:37:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759714638; cv=none; b=fMpe1SsUNhdsVxUJ1ba9UfGk9QAreSo1iiJlEPhSU6vR/FOXnN45U06o3UuEfhnEaDvzlt71V+HMrrS+iE4IuKYpuMzS9DYuY8qBnctV2cem1hUDYMpvWtOjZ1tBoNvLf4Y3YSXiIAv/NKAjS4NOI/hEesKqrUx3j54L+K5uvL4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759714638; c=relaxed/simple; bh=GRTGrbwgFIMEKSOGptza56zcnrQrNjH9SVx9qxSAgc8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Dd7vJjO26CKBqRXbDWxPvA56mWmTlc+ByMh1d86qo55gvuPGR8dm/CmOblpSiRwmrgfEDiT/LQ4Pd7vHClbjysZttxj/FK05IeqrgArW2gH3OdfgIdwMWbl6LFinv8j2rFxe5NIbRWUwF9AkuFeNbcGTGgsEXn2pgKH3kdz3bTU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=c+sihUpy; arc=none smtp.client-ip=209.85.160.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="c+sihUpy" Received: by mail-oa1-f51.google.com with SMTP id 586e51a60fabf-37339e99b5bso419454fac.1 for ; Sun, 05 Oct 2025 18:37:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759714635; x=1760319435; 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=Jclu3maYOklASHNOnt8Z9YAS2jjGe8UQUvAIJYmQr3U=; b=c+sihUpyy/cIIuUVEay5duS8A/djfIj47kViF9DoDrFy46i2yVlBjdZpq/gyGspNh4 kdlqxE+FhRIPS1V7qSEf8EQN/ge9LCD1f2+ZLs6sFzF69mro5SZvD/LZod+cERfaR/0i 4aKupw1RUkTWF+/ep4QEkvzxj3eKj8PbaUNCAzgFWj9Owh1cgLW0PsfSeUkD5MkwSgIZ pfgOkR1bKCy8x6O+xJNYfPGBjdZA9kp2tlDALbA69msh4GBBfqJommb/5fcgD34rJDwp 39LV4V8bwe1EViDDMAhnRFiHumvm3WnvGMWnPGD774Xj/wbw7Bd0kKAj5yqmRUClOlaz 99CA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759714635; x=1760319435; 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=Jclu3maYOklASHNOnt8Z9YAS2jjGe8UQUvAIJYmQr3U=; b=EPQUTgdrc1S6ntLy9ql51bRt94PPLrbQHsU+qAhVgwLVA/IrWIiupoNQ1MNKNVjQcg d/OLmpwYMmlWPd3gaxqe5ou3WFfSIE2Ka0tJnlIoSIqcaDIVSP6gXyMLCmWVUZKyajXV CHMsucMGDMgqmEe3hCAyqdIUKZU6PQxVP3GVK243U0B196AqN9fxx+nlzKpoQW8KF9sM 4aG/tcspguKYfAEbHJK0pnGmBJiwh21hP7VTqC9iXxAIWJ/bRyw+72LxiQjWtS+wzCXR X5465vgVFMGJnL79Lh61Jtr8XbAVEEVGdmP34Y9oFzQNMb/fPeRyMeJKZrtxpFFeZzmS woIg== X-Forwarded-Encrypted: i=1; AJvYcCUxg6+UM21XVOg3uDIutcdEgt88YagFuiVEeMTcs4YuPLcsVPHx7LqPvWfhKtV7SIxlpy1WiiptzRj+W8I=@vger.kernel.org X-Gm-Message-State: AOJu0YwAXhkjj1hiF3HH9hjF0r9T4ONHcxgXCZvEOaal3uSez8hoOgWt HI9W5+ymfCA5j+cXjAq4+MayUdsRkroEln45GH7vhIKjvJDuq0YniYtN X-Gm-Gg: ASbGncvO/XaKGvK9Pd/NUE+rQxvvJ+NTH4NlrU5f+Q+0327i2Rd9Hrb1KshNiis4/Fk Bkbe93T59Z2CNng+H9cqcHt67vaaLY7EnP7DOSMC9XPvjfflC2gJilwPEJ2VMwKJVcRDHYuZmEv +ZFinHsohJZ1Gx7M2f9tbaOxZbwZH76EwQjb05FYMhXrdpHM+X1LQFOPX3Vci/xmFZL1xLi69bt RgrrDjjTNN9PEVPFIlesRvTMA7aT+IE85gCqVt4Fanb3LZ2yRg0lostCmySDgLkckyBjaOZ+M7c Y7eqLwLuojUTPucLyK1pWCZ8UlhiAkjmGz+wuQJlrlZntgOOqZXaLevgSlLji4gOMDOjcWJ0+YL /bl7txy9ETwjJKsUz8+lTnXg6TQNoO1l49P5oiiTs5Esn+E5in2ETnk8NCMQmp6U2Gcn+Iudfpj manrsbKe1Fn20lVFCRMg== X-Google-Smtp-Source: AGHT+IEBfpGl84oMNJFoLvA++lzw6nRFdCzoMSkxcmbMpcXadC2la9fvKvaHz34EjzftFKGO50+50g== X-Received: by 2002:a05:6830:63ca:b0:7a6:f44d:6dab with SMTP id 46e09a7af769-7bf775302eamr3266418a34.4.1759714635591; Sun, 05 Oct 2025 18:37:15 -0700 (PDT) Received: from Michael-ArchMiniPC.shack.lan ([75.167.107.197]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7bf3fdcfb69sm3462870a34.13.2025.10.05.18.37.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Oct 2025 18:37:14 -0700 (PDT) From: Michael Garofalo X-Google-Original-From: Michael Garofalo To: adrian.hunter@intel.com, ulf.hansson@linaro.org Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Michael Garofalo Subject: [PATCH 1/2] mmc: sdhci: add quirk to disable the bounce buffer Date: Sun, 5 Oct 2025 18:36:59 -0700 Message-ID: <20251006013700.2272166-2-officialTechflashYT@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251006013700.2272166-1-officialTechflashYT@gmail.com> References: <20251006013700.2272166-1-officialTechflashYT@gmail.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" On some controllers, using a bounce buffer can have negative effects. For example, on the SDHCI controller in the Nintendo Wii's "Hollywood" chipset, using bounce buffers causes the internal Broadcom 4318 Wi-Fi to fail on most data transfers. The SDHCI core already supports running without bounce buffers, so this exposes a quirk to forcibly disable them for a given controller. Signed-off-by: Michael Garofalo --- drivers/mmc/host/sdhci.c | 8 +++++--- drivers/mmc/host/sdhci.h | 4 ++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index ac7e11f37af7..7bf531802057 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -4806,9 +4806,11 @@ int sdhci_setup_host(struct sdhci_host *host) */ mmc->max_blk_count =3D (host->quirks & SDHCI_QUIRK_NO_MULTIBLOCK) ? 1 : 6= 5535; =20 - if (mmc->max_segs =3D=3D 1) - /* This may alter mmc->*_blk_* parameters */ - sdhci_allocate_bounce_buffer(host); + if (!(host->quirks2 & SDHCI_QUIRK2_NO_BOUNCE_BUFFER)) { + if (mmc->max_segs =3D=3D 1) + /* This may alter mmc->*_blk_* parameters */ + sdhci_allocate_bounce_buffer(host); + } =20 return 0; =20 diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h index 58fcbeaf281e..9a082add96db 100644 --- a/drivers/mmc/host/sdhci.h +++ b/drivers/mmc/host/sdhci.h @@ -536,6 +536,10 @@ struct sdhci_host { #define SDHCI_QUIRK2_USE_32BIT_BLK_CNT (1<<18) /* Issue CMD and DATA reset together */ #define SDHCI_QUIRK2_ISSUE_CMD_DAT_RESET_TOGETHER (1<<19) +/* + * Bounce buffers cannot work, don't use them. + */ +#define SDHCI_QUIRK2_NO_BOUNCE_BUFFER (1<<20) =20 int irq; /* Device IRQ */ void __iomem *ioaddr; /* Mapped address */ --=20 2.51.0 From nobody Wed Dec 17 19:18:02 2025 Received: from mail-oa1-f42.google.com (mail-oa1-f42.google.com [209.85.160.42]) (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 68C141C3C18 for ; Mon, 6 Oct 2025 01:37:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759714639; cv=none; b=Du0YjB/Uum/nGxQN/Yt0W7n9QYMZVWYT1MIQSrdHWzJghc6PNu9uiudDvqmLJsh8KbqupqR1gp3rZ1tQE8/x4s5CXGe3suG57g1vBZUrKVxN1zKXOPHd02YAIb7Lr2ZZGffQZWrlwgF19BNPzrJqjJZecAs6oqo7viVtHb4662Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759714639; c=relaxed/simple; bh=8vb78HgLflfOFaCJ1SzwxhWOvrnKvFy9/Pw3SIfHYhU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=n3OoUbq/Lk8i2Wr750ZcpOGXFdc8qLOJ2RACYqOixsgTikl/QdLTgos4lmNyu6pbHxNQ/5mFNVlvy63GGV+jKzsjaob9rwCOnKIxDIVgktkcmrz0gyD7j8ujmjCZ4mO+DamqOoDW65dg3/EyF1maE0MH04FFXGlKy/6Dz2tFUTw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=brrk+DBC; arc=none smtp.client-ip=209.85.160.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="brrk+DBC" Received: by mail-oa1-f42.google.com with SMTP id 586e51a60fabf-3a5437f2e68so459505fac.3 for ; Sun, 05 Oct 2025 18:37:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759714637; x=1760319437; 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=8qqs5Ij+9qF2GYjJfsvIYV0c8RAhcOS3264WorTC2CQ=; b=brrk+DBCZ6QNiQVbmKjmYMqOLb90Klz38XAIjDN5EmD8VWLuvo5e2/lOphvjvecrXS R62ewoLo+xYt/VUXdvr87bMBPVkRSvXsA952zQtYLU14GpE22SthUTT/P/i0L8QhkI60 JMtZ+sA1r7w8t3qH0A9+Qq5X6LgsaW6gDYBQp+XkpSu59j7GWWyrTNb515fRDIGzxYPS rkFYhz+7gGPhkgeAeeB6tofu7H/3tyenVm/qmJzpq1D8uig4GKrxQub2N4d5oHToeCD8 9hbEthDKSwJNaqcVTaKowEZUuobHn+1EwUm/YZByHyqS75oJjS8IQ1OcBInwO7Blbrdv 8i8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759714637; x=1760319437; 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=8qqs5Ij+9qF2GYjJfsvIYV0c8RAhcOS3264WorTC2CQ=; b=ukSq7CYZEkBR4fY3SCYZilwvAoeU2j7y8riO2ZdMsEozRGQouHPSqGDumDxcWZUMB8 MTBmxWfw5axAeqQ7FaBOTUZIKpnUYk21tUHpR6HJhTBZ6HsFoz+qo8bELQMPtJBa+dm5 IQ6EF/8QODMFPkH6f8hcJy+RFPbJP7IaZBgtNSjlaF9cJyX/OkRLIXsO7bEFhnRlqUaf 2I07kG3FKo37en5FcGS0+k7q1uohvzPr8miJnLFt5JNU7Cr0Pg83MDkHoToya6CrwtGg WdxLrzR9+z1cQYg7nG7T5ePfNbbNwJEOjvXk2Yx4cvFvyYS+9Xca/oIpQAfKhCSeRJr8 6nBg== X-Forwarded-Encrypted: i=1; AJvYcCWDA3DyNX3fFPs9l+jVBa3maI3PSz2aqHOGoJRHNXNNBXYEnXQNYYnGds1twM7QKx1KbqWHz6oBX3KOa+I=@vger.kernel.org X-Gm-Message-State: AOJu0YzaxO3JQQyegQzBVpMqfCOv7uBZmvm9k3APpLRSvXvJ6SW3UycW SqQD/bS1BIKgQKeFfSfLYBIM33ytlAQnJoAOxI8kMtinAi7jR7Lx5NVp X-Gm-Gg: ASbGnct5B7OVACMRlLL81loadZMLBi4iafxrLnQpXbVhIjhek9ZFw8dqaAt6uFklQmt DHjIfQ3fuLupktnxds+KAe48CArFyKKDMO7McYxZ5fwIM0Aa0A81ZPS/J661Qc8rNc2cgRNBn+o +w//nGfRrytkpf/bCFCrR8P8/ovBU3BX9PUIiO1q3f5lNFuMy4mYCxt7RTyY8TSSe1LBKTjVY+U S3TOfYj4uX9IOjaC1n8a8hZ0167Nn6dBfHauJTB+tRLYRNdoEP+Xm3HcuSWUnskvvJ/+Om3PK84 /7dMDP6JLjosS0UcnnKOQ+e9d8WcTZJRymKTN8+cpUXsgMc6Nsgq1ZWWg8gSksqAVTj1Tr09NP9 YEtXiVEuo/rknCCd0RzjBV1ZArjvtqC93Cft9l7H8L/4DjimopYrR3xPjSUtmSF4MaHW+lwMYUn a7k3f6ap3hT9kLVn7XVA== X-Google-Smtp-Source: AGHT+IHAYM1xwlbULXHzAzvUYaszsHniF48mSz6Ui/2I7/3BZwTGS4Gyl2/hVMl7ZhiOuJTT1MOHTw== X-Received: by 2002:a05:6830:7105:b0:7ad:31c:56cf with SMTP id 46e09a7af769-7bf772ddb3amr3505956a34.4.1759714637454; Sun, 05 Oct 2025 18:37:17 -0700 (PDT) Received: from Michael-ArchMiniPC.shack.lan ([75.167.107.197]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7bf3fdcfb69sm3462870a34.13.2025.10.05.18.37.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Oct 2025 18:37:16 -0700 (PDT) From: Michael Garofalo X-Google-Original-From: Michael Garofalo To: adrian.hunter@intel.com, ulf.hansson@linaro.org Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org, Michael Garofalo Subject: [PATCH 2/2] mmc: sdhci-of-hlwd: disable bounce buffer usage Date: Sun, 5 Oct 2025 18:37:00 -0700 Message-ID: <20251006013700.2272166-3-officialTechflashYT@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251006013700.2272166-1-officialTechflashYT@gmail.com> References: <20251006013700.2272166-1-officialTechflashYT@gmail.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" On the SDHCI controller in the Nintendo Wii's "Hollywood" chipset, using bounce buffers causes the internal Broadcom 4318 Wi-Fi to fail on most data transfers. Disabling bounce buffer usage allows reliable transmission again. Signed-off-by: Michael Garofalo --- drivers/mmc/host/sdhci-of-hlwd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/mmc/host/sdhci-of-hlwd.c b/drivers/mmc/host/sdhci-of-h= lwd.c index 5bb845d13599..59736ae85c14 100644 --- a/drivers/mmc/host/sdhci-of-hlwd.c +++ b/drivers/mmc/host/sdhci-of-hlwd.c @@ -63,6 +63,7 @@ static const struct sdhci_ops sdhci_hlwd_ops =3D { static const struct sdhci_pltfm_data sdhci_hlwd_pdata =3D { .quirks =3D SDHCI_QUIRK_32BIT_DMA_ADDR | SDHCI_QUIRK_32BIT_DMA_SIZE, + .quirks2 =3D SDHCI_QUIRK2_NO_BOUNCE_BUFFER, .ops =3D &sdhci_hlwd_ops, }; =20 --=20 2.51.0