Messages in this thread |  | | From | Greentime Hu <> | Date | Sat, 20 Jan 2018 00:34:38 +0800 | Subject | Re: [PATCH v6 06/36] nds32: Kernel booting and initialization |
| |
Hi, Arnd:
2018-01-18 18:11 GMT+08:00 Arnd Bergmann <arnd@arndb.de>: > On Mon, Jan 15, 2018 at 6:53 AM, Greentime Hu <green.hu@gmail.com> wrote: > > I had not looked at this patch in enough detail earlier, sorry about > that. It should be > easy enough to fix though. > >> +#ifdef CONFIG_VGA_CONSOLE >> +struct screen_info screen_info; >> +#endif > > I would assume that you can't ever have a VGA console. Just drop all > the references > here and instead send a patch to the fbdev maintainer to add the dependency > at CONFIG_VGA_CONSOLE to prevent selecting it with nds32.
I found it can be built pass for now because we disable it in defconfig. Should I send the patch in v7 series?
>> + >> +extern void __init early_init_devtree(void *params); >> +extern void __init early_trap_init(void); > > similarly, these are declared in include/linux/of_fdt.h >
early_trap_init is a nds32 function. I will move it to nds32.h
>> +void __init setup_arch(char **cmdline_p) >> +{ >> + early_init_devtree(__atags_pointer ? >> + phys_to_virt(__atags_pointer) : __dtb_start); > > The reference to '__atags_pointer' appears to be a leftover from pre-DT > days. Can you just remove that?
Yes, I will remove it.
>> +void calibrate_delay(void) >> +{ >> + const int *val; >> + struct device_node *cpu = NULL; >> + cpu = of_find_compatible_node(NULL, NULL, "andestech,nds32v3"); >> + val = of_get_property(cpu, "clock-frequency", NULL); >> + if (!val || !*val) >> + panic("no cpu 'clock-frequency' parameter in device tree"); >> + loops_per_jiffy = be32_to_cpup(val) / HZ; >> + pr_cont("%lu.%02lu BogoMIPS (lpj=%lu)\n", >> + loops_per_jiffy / (500000 / HZ), >> + (loops_per_jiffy / (5000 / HZ)) % 100, loops_per_jiffy); >> +} > > This seems very odd to me: The 'clock-frequency' property in the > cpu node should refer to the actual frequency it is running at, but that > tends to be different from the bogomips as needed by the ndelay() > function. Can you explain what is going on here? >
This implementation is referenced from openrisc. https://lkml.org/lkml/2017/11/17/228
Thank you.
|  |