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

Commit c6ad7b7d authored by Maciej W. Rozycki's avatar Maciej W. Rozycki Committed by Ralf Baechle
Browse files

Use macros for the RM7k cp0.config bits instead of magic numbers.


Minor clean-ups.

Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 8a185d14
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -103,7 +103,7 @@ static __init void __rm7k_sc_enable(void)
{
	int i;

	set_c0_config(R7K_CONF_SE);
	set_c0_config(RM7K_CONF_SE);

	write_c0_taglo(0);
	write_c0_taghi(0);
@@ -122,16 +122,16 @@ static __init void __rm7k_sc_enable(void)

static __init void rm7k_sc_enable(void)
{
	if (read_c0_config() & R7K_CONF_SE)
	if (read_c0_config() & RM7K_CONF_SE)
		return;

	printk(KERN_INFO "Enabling secondary cache...");
	printk(KERN_INFO "Enabling secondary cache...\n");
	run_uncached(__rm7k_sc_enable);
}

static void rm7k_sc_disable(void)
{
	clear_c0_config(R7K_CONF_SE);
	clear_c0_config(RM7K_CONF_SE);
}

struct bcache_ops rm7k_sc_ops = {
@@ -145,19 +145,19 @@ void __init rm7k_sc_init(void)
{
	unsigned int config = read_c0_config();

	if ((config >> 31) & 1)		/* Bit 31 set -> no S-Cache */
	if ((config & RM7K_CONF_SC))
		return;

	printk(KERN_INFO "Secondary cache size %dK, linesize %d bytes.\n",
	       (scache_size >> 10), sc_lsize);

	if (!(config & R7K_CONF_SE))
	if (!(config & RM7K_CONF_SE))
		rm7k_sc_enable();

	/*
	 * While we're at it let's deal with the tertiary cache.
	 */
	if (!((config >> 17) & 1)) {
	if (!(config & RM7K_CONF_TC)) {

		/*
		 * We can't enable the L3 cache yet. There may be board-specific
@@ -170,9 +170,9 @@ void __init rm7k_sc_init(void)
		 * to probe it.
		 */
		printk(KERN_INFO "Tertiary cache present, %s enabled\n",
		       config&(1<<12) ? "already" : "not (yet)");
		       (config & RM7K_CONF_TE) ? "already" : "not (yet)");

		if ((config >> 12) & 1)
		if ((config & RM7K_CONF_TE))
			rm7k_tcache_enabled = 1;
	}

+7 −2
Original line number Diff line number Diff line
@@ -425,6 +425,7 @@
#define CONF_SM			(_ULCAST_(1) << 16)
#define CONF_SC			(_ULCAST_(1) << 17)
#define CONF_EW			(_ULCAST_(3) << 18)
#define CONF_SB			(_ULCAST_(3) << 22)
#define CONF_EP			(_ULCAST_(15)<< 24)
#define CONF_EC			(_ULCAST_(7) << 28)
#define CONF_CM			(_ULCAST_(1) << 31)
@@ -432,14 +433,18 @@
/* Bits specific to the R4xx0.  */
#define R4K_CONF_SW		(_ULCAST_(1) << 20)
#define R4K_CONF_SS		(_ULCAST_(1) << 21)
#define R4K_CONF_SB		(_ULCAST_(3) << 22)

/* Bits specific to the R5000.  */
#define R5K_CONF_SE		(_ULCAST_(1) << 12)
#define R5K_CONF_SS		(_ULCAST_(3) << 20)

/* Bits specific to the RM7000.  */
#define R7K_CONF_SE		(_ULCAST_(1) << 3)
#define RM7K_CONF_SE		(_ULCAST_(1) <<  3)
#define RM7K_CONF_TE		(_ULCAST_(1) << 12)
#define RM7K_CONF_CLK		(_ULCAST_(1) << 16)
#define RM7K_CONF_TC		(_ULCAST_(1) << 17)
#define RM7K_CONF_SI		(_ULCAST_(3) << 20)
#define RM7K_CONF_SC		(_ULCAST_(1) << 31)

/* Bits specific to the R10000.  */
#define R10K_CONF_DN		(_ULCAST_(3) <<  3)