mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-22 15:11:33 +00:00
ARC: Cache: Refactor arc_ioc_setup()
Move all checks before cache flush and IOC setup. Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
This commit is contained in:
parent
9f0253c61a
commit
6b85b26e4b
1 changed files with 6 additions and 6 deletions
|
@ -386,11 +386,15 @@ static void arc_ioc_setup(void)
|
||||||
if (!dcache_enabled())
|
if (!dcache_enabled())
|
||||||
panic("Try to enable IOC but L1 D$ is disabled");
|
panic("Try to enable IOC but L1 D$ is disabled");
|
||||||
|
|
||||||
flush_n_invalidate_dcache_all();
|
|
||||||
|
|
||||||
if (!is_power_of_2(ap_size) || ap_size < 4096)
|
if (!is_power_of_2(ap_size) || ap_size < 4096)
|
||||||
panic("IOC Aperture size must be power of 2 and bigger 4Kib");
|
panic("IOC Aperture size must be power of 2 and bigger 4Kib");
|
||||||
|
|
||||||
|
/* IOC Aperture start must be aligned to the size of the aperture */
|
||||||
|
if (ap_base % ap_size != 0)
|
||||||
|
panic("IOC Aperture start must be aligned to the size of the aperture");
|
||||||
|
|
||||||
|
flush_n_invalidate_dcache_all();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IOC Aperture size decoded as 2 ^ (SIZE + 2) KB,
|
* IOC Aperture size decoded as 2 ^ (SIZE + 2) KB,
|
||||||
* so setting 0x11 implies 512M, 0x12 implies 1G...
|
* so setting 0x11 implies 512M, 0x12 implies 1G...
|
||||||
|
@ -398,10 +402,6 @@ static void arc_ioc_setup(void)
|
||||||
write_aux_reg(ARC_AUX_IO_COH_AP0_SIZE,
|
write_aux_reg(ARC_AUX_IO_COH_AP0_SIZE,
|
||||||
order_base_2(ap_size / 1024) - 2);
|
order_base_2(ap_size / 1024) - 2);
|
||||||
|
|
||||||
/* IOC Aperture start must be aligned to the size of the aperture */
|
|
||||||
if (ap_base % ap_size != 0)
|
|
||||||
panic("IOC Aperture start must be aligned to the size of the aperture");
|
|
||||||
|
|
||||||
write_aux_reg(ARC_AUX_IO_COH_AP0_BASE, ap_base >> 12);
|
write_aux_reg(ARC_AUX_IO_COH_AP0_BASE, ap_base >> 12);
|
||||||
write_aux_reg(ARC_AUX_IO_COH_PARTIAL, 1);
|
write_aux_reg(ARC_AUX_IO_COH_PARTIAL, 1);
|
||||||
write_aux_reg(ARC_AUX_IO_COH_ENABLE, 1);
|
write_aux_reg(ARC_AUX_IO_COH_ENABLE, 1);
|
||||||
|
|
Loading…
Add table
Reference in a new issue