[Top] [All Lists]

Re: O2 RM7000 Issues

To: Ralf Baechle <>
Subject: Re: O2 RM7000 Issues
From: "Gleb O. Raiko" <>
Date: Tue, 17 Jul 2007 11:54:36 +0400
Cc: Sergey Rogozhkin <>,,
In-reply-to: <>
Organization: NIISI RAN
Original-recipient: rfc822;
References: <> <> <> <> <> <> <>
User-agent: Thunderbird (Windows/20070221)

Considering RM7k the latest kernel improperly sets some hazards. At least, mtc0_tlbw_hazard and tlbw_use_hazard shall contain 4 nops, not 2.

Also, there shall be 10 nops after modification of the K0 field of the config register. The suspicious place I see is in arch/mips/mm/c-r4k.c:coherency_setup():
        change_c0_config(CONF_CM_CMASK, CONF_CM_DEFAULT);

If the K0 field has the value different than CONF_CM_DEFAULT, we definitely need nops here and, I'm afraid, even the line shall be executed uncached.

Strictly speaking, manual doesn't clearly define the term "modification". I expect, if I write the same value in the K0 field, it doesn't consider "modification".

And I guess all boards with RM7k select DMA_NONCOHERENT. Otherwise, CONF_CM_DEFAULT will have a garbage in case of RM7k. Perhaps, it's worth
to select DMA_NONCOHERENT inside the "config CPU_RM7000" block.


<Prev in Thread] Current Thread [Next in Thread>