Skip to content

Commit e8605e8

Browse files
Merge patch series "riscv: some CMO alternative related clean up"
These cleanups came up as part of the discussion on the "riscv: Reduce ARCH_KMALLOC_MINALIGN to 8" patch set, but that needs additional work and thus will be delayed at least a cycle. * b4-shazam-merge: riscv: mm: mark noncoherent_supported as __ro_after_init riscv: mm: mark CBO relate initialization funcs as __init riscv: errata: thead: only set cbom size & noncoherent during boot Link: https://lore.kernel.org/linux-riscv/[email protected]/ Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Palmer Dabbelt <[email protected]>
2 parents a2492ca + 8500808 commit e8605e8

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

arch/riscv/errata/thead/errata.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,11 @@ static bool errata_probe_cmo(unsigned int stage,
4545
if (stage == RISCV_ALTERNATIVES_EARLY_BOOT)
4646
return false;
4747

48-
riscv_cbom_block_size = L1_CACHE_BYTES;
49-
riscv_noncoherent_supported();
48+
if (stage == RISCV_ALTERNATIVES_BOOT) {
49+
riscv_cbom_block_size = L1_CACHE_BYTES;
50+
riscv_noncoherent_supported();
51+
}
52+
5053
return true;
5154
}
5255

arch/riscv/mm/cacheflush.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,9 @@ EXPORT_SYMBOL_GPL(riscv_cbom_block_size);
104104
unsigned int riscv_cboz_block_size;
105105
EXPORT_SYMBOL_GPL(riscv_cboz_block_size);
106106

107-
static void cbo_get_block_size(struct device_node *node,
108-
const char *name, u32 *block_size,
109-
unsigned long *first_hartid)
107+
static void __init cbo_get_block_size(struct device_node *node,
108+
const char *name, u32 *block_size,
109+
unsigned long *first_hartid)
110110
{
111111
unsigned long hartid;
112112
u32 val;
@@ -126,7 +126,7 @@ static void cbo_get_block_size(struct device_node *node,
126126
}
127127
}
128128

129-
void riscv_init_cbo_blocksizes(void)
129+
void __init riscv_init_cbo_blocksizes(void)
130130
{
131131
unsigned long cbom_hartid, cboz_hartid;
132132
u32 cbom_block_size = 0, cboz_block_size = 0;

arch/riscv/mm/dma-noncoherent.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include <linux/mm.h>
1111
#include <asm/cacheflush.h>
1212

13-
static bool noncoherent_supported;
13+
static bool noncoherent_supported __ro_after_init;
1414

1515
void arch_sync_dma_for_device(phys_addr_t paddr, size_t size,
1616
enum dma_data_direction dir)

0 commit comments

Comments
 (0)