On 12/15/2014 01:24 PM, Aaro Koskinen wrote:
Hi,
On Mon, Dec 15, 2014 at 09:03:20PM +0300, Aleksey Makarov wrote:
if (current_cpu_type() == CPU_CAVIUM_OCTEON2) {
union cvmx_mio_rst_boot rst_boot;
+
rst_boot.u64 = cvmx_read_csr(CVMX_MIO_RST_BOOT);
rdiv = rst_boot.s.c_mul; /* CPU clock */
sdiv = rst_boot.s.pnr_mul; /* I/O clock */
f = (0x8000000000000000ull / sdiv) * 2;
+ } else if (current_cpu_type() == CPU_CAVIUM_OCTEON3) {
+ union cvmx_rst_boot rst_boot;
+
+ rst_boot.u64 = cvmx_read_csr(CVMX_RST_BOOT);
+ rdiv = rst_boot.s.c_mul; /* CPU clock */
+ sdiv = rst_boot.s.pnr_mul; /* I/O clock */
+ f = (0x8000000000000000ull / sdiv) * 2;
}
The f = ... part could be moved outside the if blocks to avoid copy paste.
No, If you look at the rest of the file, you will find that there are
checks in the form:
if (f != 0) ...
There is a reason that we leave f with its default value of zero in some
of the cases.
David Daney