* [PATCH 1/2] MIPS: Octeon: size the swiotlb for a modular OHCI platform driver
@ 2026-09-15 8:18 Orgad Shaneh
2026-09-15 8:18 ` [PATCH 2/2] MIPS: Octeon: offer the RedBoot parser when it is modular Orgad Shaneh
2026-09-26 9:37 ` [PATCH 1/2] MIPS: Octeon: size the swiotlb for a modular OHCI platform driver Thomas Bogendoerfer
0 siblings, 2 replies; 4+ messages in thread
From: Orgad Shaneh @ 2026-09-15 8:18 UTC (permalink / raw)
To: tsbogend; +Cc: linux-mips, linux-kernel
plat_swiotlb_setup() raises the swiotlb to 64 MB on OCTEON II with
memory above 4 GB, because that OHCI can only DMA to 32 bits. The test
is "#ifdef CONFIG_USB_OHCI_HCD_PLATFORM", which is false when the driver
is a module - the usual way to build it - so the bump is silently
skipped.
What is left depends on the rest of the function: with PCI enabled the
"memory past the BAR1 hole" branch happens to ask for the same 64 MB,
but with CONFIG_PCI off - which is normal on these SoCs when no PCI
devices are wired - swiotlbsize stays at the PAGE_SIZE it was
initialised to. A full- or low-speed device on an OCTEON II board with
more than 4 GB of RAM then has no bounce buffer to speak of.
Use IS_ENABLED() so a modular OHCI gets the same sizing as a built-in
one. Seen on a CN6635 board with 8 GB of RAM and
CONFIG_USB_OHCI_HCD_PLATFORM=m.
Fixes: a8667d706dfa ("MIPS: OCTEON: dma-octeon: fix OHCI USB config check")
Assisted-by: Claude:claude-opus-5
Signed-off-by: Orgad Shaneh <orgads@gmail.com>
---
diff --git a/arch/mips/cavium-octeon/dma-octeon.c b/arch/mips/cavium-octeon/dma-octeon.c
--- a/arch/mips/cavium-octeon/dma-octeon.c
+++ b/arch/mips/cavium-octeon/dma-octeon.c
@@ -228,7 +228,7 @@ void __init plat_swiotlb_setup(void)
swiotlbsize = 64 * (1<<20);
}
#endif
-#ifdef CONFIG_USB_OHCI_HCD_PLATFORM
+#if IS_ENABLED(CONFIG_USB_OHCI_HCD_PLATFORM)
/* OCTEON II ohci is only 32-bit. */
if (OCTEON_IS_OCTEON2() && max_addr >= 0x100000000ul)
swiotlbsize = 64 * (1<<20);
--
2.47.0
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH 2/2] MIPS: Octeon: offer the RedBoot parser when it is modular
2026-09-15 8:18 [PATCH 1/2] MIPS: Octeon: size the swiotlb for a modular OHCI platform driver Orgad Shaneh
@ 2026-09-15 8:18 ` Orgad Shaneh
2026-09-26 9:37 ` Thomas Bogendoerfer
2026-09-26 9:37 ` [PATCH 1/2] MIPS: Octeon: size the swiotlb for a modular OHCI platform driver Thomas Bogendoerfer
1 sibling, 1 reply; 4+ messages in thread
From: Orgad Shaneh @ 2026-09-15 8:18 UTC (permalink / raw)
To: tsbogend; +Cc: linux-mips, linux-kernel
The bootbus flash driver lists "RedBoot" among the partition parsers to
try under "#ifdef CONFIG_MTD_REDBOOT_PARTS", so building that parser as
a module drops it from the list and the partitions on such a chip are
never found.
Use IS_ENABLED(), like the USB device-tree fixups in octeon-platform.c.
Untested - I have no board with RedBoot partitions; the change is by
inspection, in the same family as the two above.
Assisted-by: Claude:claude-opus-5
Signed-off-by: Orgad Shaneh <orgads@gmail.com>
---
diff --git a/arch/mips/cavium-octeon/flash_setup.c b/arch/mips/cavium-octeon/flash_setup.c
--- a/arch/mips/cavium-octeon/flash_setup.c
+++ b/arch/mips/cavium-octeon/flash_setup.c
@@ -22,7 +22,7 @@ static struct map_info flash_map;
static struct mtd_info *mymtd;
static const char *part_probe_types[] = {
"cmdlinepart",
-#ifdef CONFIG_MTD_REDBOOT_PARTS
+#if IS_ENABLED(CONFIG_MTD_REDBOOT_PARTS)
"RedBoot",
#endif
NULL
--
2.47.0
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH 2/2] MIPS: Octeon: offer the RedBoot parser when it is modular
2026-09-15 8:18 ` [PATCH 2/2] MIPS: Octeon: offer the RedBoot parser when it is modular Orgad Shaneh
@ 2026-09-26 9:37 ` Thomas Bogendoerfer
0 siblings, 0 replies; 4+ messages in thread
From: Thomas Bogendoerfer @ 2026-09-26 9:37 UTC (permalink / raw)
To: Orgad Shaneh; +Cc: linux-mips, linux-kernel
On Tue, Sep 15, 2026 at 08:18:25AM +0000, Orgad Shaneh wrote:
> The bootbus flash driver lists "RedBoot" among the partition parsers to
> try under "#ifdef CONFIG_MTD_REDBOOT_PARTS", so building that parser as
> a module drops it from the list and the partitions on such a chip are
> never found.
>
> Use IS_ENABLED(), like the USB device-tree fixups in octeon-platform.c.
>
> Untested - I have no board with RedBoot partitions; the change is by
> inspection, in the same family as the two above.
>
> Assisted-by: Claude:claude-opus-5
> Signed-off-by: Orgad Shaneh <orgads@gmail.com>
> ---
> diff --git a/arch/mips/cavium-octeon/flash_setup.c b/arch/mips/cavium-octeon/flash_setup.c
> --- a/arch/mips/cavium-octeon/flash_setup.c
> +++ b/arch/mips/cavium-octeon/flash_setup.c
> @@ -22,7 +22,7 @@ static struct map_info flash_map;
> static struct mtd_info *mymtd;
> static const char *part_probe_types[] = {
> "cmdlinepart",
> -#ifdef CONFIG_MTD_REDBOOT_PARTS
> +#if IS_ENABLED(CONFIG_MTD_REDBOOT_PARTS)
> "RedBoot",
> #endif
> NULL
> --
> 2.47.0
applied to mips-next
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] MIPS: Octeon: size the swiotlb for a modular OHCI platform driver
2026-09-15 8:18 [PATCH 1/2] MIPS: Octeon: size the swiotlb for a modular OHCI platform driver Orgad Shaneh
2026-09-15 8:18 ` [PATCH 2/2] MIPS: Octeon: offer the RedBoot parser when it is modular Orgad Shaneh
@ 2026-09-26 9:37 ` Thomas Bogendoerfer
1 sibling, 0 replies; 4+ messages in thread
From: Thomas Bogendoerfer @ 2026-09-26 9:37 UTC (permalink / raw)
To: Orgad Shaneh; +Cc: linux-mips, linux-kernel
On Tue, Sep 15, 2026 at 08:18:24AM +0000, Orgad Shaneh wrote:
> plat_swiotlb_setup() raises the swiotlb to 64 MB on OCTEON II with
> memory above 4 GB, because that OHCI can only DMA to 32 bits. The test
> is "#ifdef CONFIG_USB_OHCI_HCD_PLATFORM", which is false when the driver
> is a module - the usual way to build it - so the bump is silently
> skipped.
>
> What is left depends on the rest of the function: with PCI enabled the
> "memory past the BAR1 hole" branch happens to ask for the same 64 MB,
> but with CONFIG_PCI off - which is normal on these SoCs when no PCI
> devices are wired - swiotlbsize stays at the PAGE_SIZE it was
> initialised to. A full- or low-speed device on an OCTEON II board with
> more than 4 GB of RAM then has no bounce buffer to speak of.
>
> Use IS_ENABLED() so a modular OHCI gets the same sizing as a built-in
> one. Seen on a CN6635 board with 8 GB of RAM and
> CONFIG_USB_OHCI_HCD_PLATFORM=m.
>
> Fixes: a8667d706dfa ("MIPS: OCTEON: dma-octeon: fix OHCI USB config check")
> Assisted-by: Claude:claude-opus-5
> Signed-off-by: Orgad Shaneh <orgads@gmail.com>
> ---
> diff --git a/arch/mips/cavium-octeon/dma-octeon.c b/arch/mips/cavium-octeon/dma-octeon.c
> --- a/arch/mips/cavium-octeon/dma-octeon.c
> +++ b/arch/mips/cavium-octeon/dma-octeon.c
> @@ -228,7 +228,7 @@ void __init plat_swiotlb_setup(void)
> swiotlbsize = 64 * (1<<20);
> }
> #endif
> -#ifdef CONFIG_USB_OHCI_HCD_PLATFORM
> +#if IS_ENABLED(CONFIG_USB_OHCI_HCD_PLATFORM)
> /* OCTEON II ohci is only 32-bit. */
> if (OCTEON_IS_OCTEON2() && max_addr >= 0x100000000ul)
> swiotlbsize = 64 * (1<<20);
> --
> 2.47.0
applied to mips-next
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-09-26 10:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-15 8:18 [PATCH 1/2] MIPS: Octeon: size the swiotlb for a modular OHCI platform driver Orgad Shaneh
2026-09-15 8:18 ` [PATCH 2/2] MIPS: Octeon: offer the RedBoot parser when it is modular Orgad Shaneh
2026-09-26 9:37 ` Thomas Bogendoerfer
2026-09-26 9:37 ` [PATCH 1/2] MIPS: Octeon: size the swiotlb for a modular OHCI platform driver Thomas Bogendoerfer
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.