Re: O2 RM7000 Issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ralf,

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.

Regards,
Gleb.


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux