From: Mark Brown <broonie(a)linaro.org>
As a legacy of the way 32 bit ARM did things the topology code uses a null
topology map by default and then overwrites it by mapping cores with no
information to a cluster by themselves later. In order to make it simpler
to reset things as part of recovering from parse failures in firmware
information directly set this configuration on init. A core will always be
its own sibling so there should be no risk of confusion with firmware
provided information.
Signed-off-by: Mark Brown <broonie(a)linaro.org>
---
arch/arm64/kernel/topology.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/kernel/topology.c b/arch/arm64/kernel/topology.c
index 3e06b0be4ec8..ff662b23af5f 100644
--- a/arch/arm64/kernel/topology.c
+++ b/arch/arm64/kernel/topology.c
@@ -43,9 +43,6 @@ static void update_siblings_masks(unsigned int cpuid)
* reset it to default behaviour
*/
pr_debug("CPU%u: No topology information configured\n", cpuid);
- cpuid_topo->core_id = 0;
- cpumask_set_cpu(cpuid, &cpuid_topo->core_sibling);
- cpumask_set_cpu(cpuid, &cpuid_topo->thread_sibling);
return;
}
@@ -87,9 +84,12 @@ void __init init_cpu_topology(void)
struct cpu_topology *cpu_topo = &cpu_topology[cpu];
cpu_topo->thread_id = -1;
- cpu_topo->core_id = -1;
+ cpu_topo->core_id = 0;
cpu_topo->cluster_id = -1;
+
cpumask_clear(&cpu_topo->core_sibling);
+ cpumask_set_cpu(cpu, &cpu_topo->core_sibling);
cpumask_clear(&cpu_topo->thread_sibling);
+ cpumask_set_cpu(cpu, &cpu_topo->thread_sibling);
}
}
--
1.9.2
This patch adds support for Samsung GH7 PCIe host controller.
Samsung GH7 PCIe controller driver has dependency on the PCI arm64
arch support. So, the Liviu Dudau's patcheset for creating generic
host_bridge from device tree [1] and supporting PCI in AArch64 [2]
are required.
This patch is marked as RFC, so any comment will be welcomed.
Thank you.
[1] http://www.spinics.net/lists/linux-pci/msg29786.html
[2] http://www.spinics.net/lists/linux-pci/msg29793.html
Jingoo Han (2)
PCI: designware: Add ARM64 PCI support
PCI: exynos: Add PCIe support for Samsung GH7 SoC
---
drivers/pci/host/Kconfig | 2 +-
drivers/pci/host/pci-exynos.c | 135 +++++++++++++++++++++++++++++++++---
drivers/pci/host/pcie-designware.c | 32 +++++++++
3 files changed, 158 insertions(+), 11 deletions(-)
Best regards,
Jingoo Han
From: Arnd Bergmann <arnd(a)arndb.de>
The sh_mobile_lcdcfb driver calls interfaces provided
by the corresponding "meram" helper. This fails if meram
is a module but lcdcfb is built-in.
To work around it, this uses special Kconfig magic to
only allow lcdcfb to be built if
a) both are modules,
b) meram is built-in, or
c) meram is disabled and the helpers stubbed out
Changing meram from 'y' to 'm' now forces clcd to
be a module as well, which seems to be the desired
behavior.
Signed-off-by: Arnd Bergmann <arnd(a)arndb.de>
Signed-off-by: Peter Griffin <peter.griffin(a)linaro.org>
Cc: Simon Horman <horms+renesas(a)verge.net.au>
Cc: Magnus Damm <magnus.damm(a)gmail.com>
Cc: linux-sh(a)vger.kernel.org
Cc: Jean-Christophe Plagniol-Villard <plagnioj(a)jcrosoft.com>
Cc: Tomi Valkeinen <tomi.valkeinen(a)ti.com>
Cc: linux-fbdev(a)vger.kernel.org
---
drivers/video/fbdev/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index e1f4727..a4116bf 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -1971,6 +1971,7 @@ config FB_W100
config FB_SH_MOBILE_LCDC
tristate "SuperH Mobile LCDC framebuffer support"
depends on FB && (SUPERH || ARCH_SHMOBILE) && HAVE_CLK
+ depends on FB_SH_MOBILE_MERAM || !FB_SH_MOBILE_MERAM
select FB_SYS_FILLRECT
select FB_SYS_COPYAREA
select FB_SYS_IMAGEBLIT
--
1.7.9.5
Hi,
File: hrtimer.c
Function: hrtimer_get_next_event()
I was looking closely at what's waking up my system and
found this piece of code:
ktime_t hrtimer_get_next_event(void)
{
if (!hrtimer_hres_active()) {
find next hrtimer event ....
}
}
Which probably means that: "don't consider hrtimers for getting
next timer event if we are running ticks in high resolution mode".
And I couldn't understand why is it so?
When hres_active isn't set, we run hrtimer handlers from timer
handlers, which means that timers would be sufficient in finding
the next event and we don't need to check for hrtimers.
But when hres_active is set, hrtimers could be set to fire before
the next timer event and so we must take them into account.
I am new to this whole world of core frameworks and might be
missing something very very obvious. But its always better to
ask than to ignore and think that things are probably fine and
just shut up.
Thanks for your patience during my learning curve :)
--
viresh