Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 606da482 authored by Stefan Hengelein's avatar Stefan Hengelein Committed by Tony Lindgren
Browse files

ARM: OMAP4: remove dead kconfig option OMAP4_ERRATA_I688

The Kconfig-Option OMAP4_ERRATA_I688 is never visible due to a
contradiction in it's dependencies.
The option requires ARCH_MULTIPLATFORM to be 'disabled'. However, an
enclosing menu requires either ARCH_MULTI_V6 or ARCH_MULTI_V7 to be
enabled. These options inherit a dependency from an enclosing menu,
that requires ARCH_MULTIPLATFORM to be 'enabled'.
This is a contradiction and made this option also unavailable for
non-multiplatform configurations.

Since there are no selects on OMAP4_ERRATA_I688, which would ignore
dependencies, the code related to that option is dead and can be
removed.

This (logical) defect has been found with the undertaker tool.
(https://undertaker.cs.fau.de

)

Signed-off-by: default avatarStefan Hengelein <stefan.hengelein@fau.de>
Acked-by: default avatarSantosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 026da812
Loading
Loading
Loading
Loading
+0 −21
Original line number Diff line number Diff line
@@ -278,27 +278,6 @@ config OMAP3_SDRC_AC_TIMING
	  wish to say no.  Selecting yes without understanding what is
	  going on could result in system crashes;

config OMAP4_ERRATA_I688
	bool "OMAP4 errata: Async Bridge Corruption"
	depends on (ARCH_OMAP4 || SOC_OMAP5) && !ARCH_MULTIPLATFORM
	select ARCH_HAS_BARRIERS
	help
	  If a data is stalled inside asynchronous bridge because of back
	  pressure, it may be accepted multiple times, creating pointer
	  misalignment that will corrupt next transfers on that data path
	  until next reset of the system (No recovery procedure once the
	  issue is hit, the path remains consistently broken). Async bridge
	  can be found on path between MPU to EMIF and MPU to L3 interconnect.
	  This situation can happen only when the idle is initiated by a
	  Master Request Disconnection (which is trigged by software when
	  executing WFI on CPU).
	  The work-around for this errata needs all the initiators connected
	  through async bridge must ensure that data path is properly drained
	  before issuing WFI. This condition will be met if one Strongly ordered
	  access is performed to the target right before executing the WFI.
	  In MPU case, L3 T2ASYNC FIFO and DDR T2ASYNC FIFO needs to be drained.
	  IO barrier ensure that there is no synchronisation loss on initiators
	  operating on both interconnect port simultaneously.
endmenu

endif
+0 −1
Original line number Diff line number Diff line
@@ -30,5 +30,4 @@ int __weak omap_secure_ram_reserve_memblock(void)
void __init omap_reserve(void)
{
	omap_secure_ram_reserve_memblock();
	omap_barrier_reserve_memblock();
}
+0 −3
Original line number Diff line number Diff line
@@ -200,9 +200,6 @@ void __init omap4_map_io(void);
void __init omap5_map_io(void);
void __init ti81xx_map_io(void);

/* omap_barriers_init() is OMAP4 only */
void omap_barriers_init(void);

/**
 * omap_test_timeout - busy-loop, testing a condition
 * @cond: condition to test until it evaluates to true
+0 −2
Original line number Diff line number Diff line
@@ -306,7 +306,6 @@ void __init am33xx_map_io(void)
void __init omap4_map_io(void)
{
	iotable_init(omap44xx_io_desc, ARRAY_SIZE(omap44xx_io_desc));
	omap_barriers_init();
}
#endif

@@ -314,7 +313,6 @@ void __init omap4_map_io(void)
void __init omap5_map_io(void)
{
	iotable_init(omap54xx_io_desc, ARRAY_SIZE(omap54xx_io_desc));
	omap_barriers_init();
}
#endif
/*
+0 −7
Original line number Diff line number Diff line
@@ -70,13 +70,6 @@ extern u32 rx51_secure_dispatcher(u32 idx, u32 process, u32 flag, u32 nargs,
extern u32 rx51_secure_update_aux_cr(u32 set_bits, u32 clear_bits);
extern u32 rx51_secure_rng_call(u32 ptr, u32 count, u32 flag);

#ifdef CONFIG_OMAP4_ERRATA_I688
extern int omap_barrier_reserve_memblock(void);
#else
static inline void omap_barrier_reserve_memblock(void)
{ }
#endif

#ifdef CONFIG_SOC_HAS_REALTIME_COUNTER
void set_cntfreq(void);
#else
Loading