Re: [linux-yocto] [PATCH v4.14&v4.15] linux-yocto: Fix the Ethernet broken on mpc8315e-rdb board

2018-03-21 Thread Bruce Ashfield

On 03/21/2018 02:32 AM, Kevin Hao wrote:

This patch series fix the Ethernet broken on the mpc8315erdb board introduced
by commit b6b5e8a69118 ("gianfar: Disable EEE autoneg by default").

The two kernel patches are based some suggestions from Andrew Lunn(PHY 
maintainer),
and I have sent them to netdev mail list, and get no objection so far.


Good enough for me.

I've merged these changes and will send SRCREV updates in a day or so.

If there are any changes based on the upstream comments, send additional
patches.

Bruce



Thanks,
Kevin



--
___
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto


Re: [linux-yocto] [kernel-cache][PATCH] features/wifi: Add WiFi driver fragments for various vendors/interfaces

2018-03-21 Thread Bruce Ashfield

On 03/20/2018 10:10 AM, Nathan Rossi wrote:

This change adds WiFi driver configuration fragments. The fragments are
split into vendor and interface files to allow for easy selection of
drivers for specific interface types (USB, PCI, SDIO) which is useful
for BSPs with specific interfaces. The specific vendor/interface config
fragments can be included by specific BSPs in its .scc files.

However .scc files (wifi-*.scc) are provided to allow enabling interface
specific or all interfaces drivers via KERNEL_FEATURES or inclusion via
other .scc files. And wifi-common.scc is provided to enable the base
config options required for all WiFi drivers, which is done to ensure
correct configuration for default no config setups (e.g.
linux-yocto-tiny).

This patch only enables a limited set of drivers, which is based on what
the common-pc-wifi.cfg fragment sets as well as some additional drivers,
that primarily appear in USB WiFi devices.



These changes look good to me. I'll let them sit on the list for
another day or so, and see if anyone else has any comments.



Signed-off-by: Nathan Rossi 
---
These changes are very similar to a set of configuration fragments that
were included (?) in minnow branches in ~2013. However they never made
it into the current set of configuration fragments.

https://lists.yoctoproject.org/pipermail/linux-yocto/2013-November/001393.html


Interesting. I'm not sure how they ended up getting dropped or
lost, but when I merge this, it will go into the versioned
branches and master, so it can't be lost again.



Also whilst not in this patch, if accepted these fragments could replace
the common-pc-wifi.cfg to reduce duplication.


Indeed. We can look at that in follow up commits.



For completeness I have tested these fragments on linux-yocto version
v4.14 and v4.15 for qemux86, qemux86-64 and qemuarm builds as well as
for the beaglebone-yocto target. For v4.12 compatibility, due to the
iwlwifi fragments adding patches (which do not apply correctly to
standard/base) the fragments would need to be modified.


What configuration were you building to trigger those errors ? Just
qemux86-64 ? something else ? The patches should have been ignored,
as long as the fragment wasn't directly on the SRC_URI.

Bruce


---
  features/wifi/atheros-pci.cfg   | 11 +++
  features/wifi/atheros-usb.cfg   |  8 
  features/wifi/broadcom-pci.cfg  | 11 +++
  features/wifi/broadcom-sdio.cfg | 11 +++
  features/wifi/broadcom-usb.cfg  |  7 +++
  features/wifi/mediatek-pci.cfg  |  3 +++
  features/wifi/mediatek-usb.cfg  |  3 +++
  features/wifi/ralink-pci.cfg| 15 +++
  features/wifi/ralink-usb.cfg| 12 
  features/wifi/realtek-pci.cfg   | 18 ++
  features/wifi/realtek-usb.cfg   | 11 +++
  features/wifi/wifi-all.scc  |  7 +++
  features/wifi/wifi-common.cfg   |  4 
  features/wifi/wifi-common.scc   |  7 +++
  features/wifi/wifi-pci.scc  | 14 ++
  features/wifi/wifi-sdio.scc |  7 +++
  features/wifi/wifi-usb.scc  | 11 +++
  17 files changed, 160 insertions(+)
  create mode 100644 features/wifi/atheros-pci.cfg
  create mode 100644 features/wifi/atheros-usb.cfg
  create mode 100644 features/wifi/broadcom-pci.cfg
  create mode 100644 features/wifi/broadcom-sdio.cfg
  create mode 100644 features/wifi/broadcom-usb.cfg
  create mode 100644 features/wifi/mediatek-pci.cfg
  create mode 100644 features/wifi/mediatek-usb.cfg
  create mode 100644 features/wifi/ralink-pci.cfg
  create mode 100644 features/wifi/ralink-usb.cfg
  create mode 100644 features/wifi/realtek-pci.cfg
  create mode 100644 features/wifi/realtek-usb.cfg
  create mode 100644 features/wifi/wifi-all.scc
  create mode 100644 features/wifi/wifi-common.cfg
  create mode 100644 features/wifi/wifi-common.scc
  create mode 100644 features/wifi/wifi-pci.scc
  create mode 100644 features/wifi/wifi-sdio.scc
  create mode 100644 features/wifi/wifi-usb.scc

diff --git a/features/wifi/atheros-pci.cfg b/features/wifi/atheros-pci.cfg
new file mode 100644
index 00..1c48a0528a
--- /dev/null
+++ b/features/wifi/atheros-pci.cfg
@@ -0,0 +1,11 @@
+CONFIG_WLAN_VENDOR_ATH=y
+
+# ath5k
+CONFIG_ATH5K=m
+
+# ath9k
+CONFIG_ATH9K=m
+CONFIG_ATH9K_RFKILL=y
+CONFIG_ATH9K_PCOEM=y
+CONFIG_ATH9K_PCI=y
+
diff --git a/features/wifi/atheros-usb.cfg b/features/wifi/atheros-usb.cfg
new file mode 100644
index 00..b9767dc164
--- /dev/null
+++ b/features/wifi/atheros-usb.cfg
@@ -0,0 +1,8 @@
+CONFIG_WLAN_VENDOR_ATH=y
+
+# ath9k
+CONFIG_ATH9K=m
+CONFIG_ATH9K_RFKILL=y
+CONFIG_ATH9K_PCOEM=y
+CONFIG_ATH9K_HTC=y
+
diff --git a/features/wifi/broadcom-pci.cfg b/features/wifi/broadcom-pci.cfg
new file mode 100644
index 00..2b5abe5842
--- /dev/null
+++ b/features/wifi/broadcom-pci.cfg
@@ -0,0 +1,11 @@
+CONFIG_WLAN_VENDOR_BROADCOM=y
+
+# brcm80211
+CONFIG_BRCMUTIL=m
+CONFIG_BRCMSMAC=m
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_PCIE=y
+
+# b43
+CONFIG_B43

Re: [linux-yocto] [PATCH 077/269] kernel/irq/manage.c: Fix irq_set_affinity to allow use with buslocks

2018-03-21 Thread Bruce Ashfield

On 03/02/2018 12:46 PM, Daniel Dragomir wrote:

From: David Mercado 

Modify irq_set_affinity() to allow usage of bus locks with "slow bus" IRQ
controllers.  This only affects those BSPs that use bus locks in their IRQ
controllers, such as the LSI Axxia GIC.  The recommendation for this
change originated from Thomax Gleixner at Linutronix.

Signed-off-by: David Mercado 
---
  kernel/irq/manage.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 425170d..ff0 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -244,16 +244,16 @@ int irq_set_affinity_locked(struct irq_data *data, const 
struct cpumask *mask,
  
  int __irq_set_affinity(unsigned int irq, const struct cpumask *mask, bool force)

  {
-   struct irq_desc *desc = irq_to_desc(irq);
unsigned long flags;
+   struct irq_desc *desc = irq_get_desc_buslock(irq, &flags,
+   IRQ_GET_DESC_CHECK_GLOBAL);
int ret;
  
  	if (!desc)

return -EINVAL;
  
-	raw_spin_lock_irqsave(&desc->lock, flags);

ret = irq_set_affinity_locked(irq_desc_get_irq_data(desc), mask, force);
-   raw_spin_unlock_irqrestore(&desc->lock, flags);
+   irq_put_desc_busunlock(desc, flags);


I'd suggest that this just be an #idef'd implementation of the entire
__irq_set_affinity(). Make it selected by the board's top level Kconfig.

Bruce


return ret;
  }
  



--
___
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto


Re: [linux-yocto] [PATCH 052/269] arch/arm: arm changes to support the axxia BSP

2018-03-21 Thread Bruce Ashfield

On 03/02/2018 12:46 PM, Daniel Dragomir wrote:

From: Charlie Paul 

These files were changed to support the LSI axxia 5500 board.


I'm finally looking at these, sorry for the delay. See some
questions below.

I have questions, since this commit log has no details. :D




Signed-off-by: Charlie Paul 
Signed-off-by: John Jacques 
---
  arch/arm/Kconfig  | 84 ++-
  arch/arm/Kconfig.debug|  4 ++
  arch/arm/Makefile |  2 +-
  arch/arm/include/asm/kmap_types.h |  5 +++
  arch/arm/include/asm/spinlock.h   |  6 +++
  arch/arm/kernel/head.S|  8 
  arch/arm/kernel/irq.c |  2 +-
  arch/arm/kernel/perf_event_v7.c   |  3 +-
  arch/arm/tools/mach-types |  1 +
  9 files changed, 111 insertions(+), 4 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index c0fcab6..0f6c9e0 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -359,6 +359,29 @@ config ARM_SINGLE_ARMV7M
select SPARSE_IRQ
select USE_OF
  
+config ARCH_AXXIA

+   bool "LSI Axxia family"
+   select ARCH_PHYS_ADDR_T_64BIT
+   select ARCH_DMA_ADDR_T_64BIT
+   select ARCH_WANT_OPTIONAL_GPIOLIB
+   select ARM_AMBA
+   select COMMON_CLK
+   select CLKDEV_LOOKUP
+   select CLKSRC_MMIO
+   select GENERIC_CLOCKEVENTS
+   select HAVE_CLK
+   select HAVE_PATA_PLATFORM
+   select ARM_TIMER_SP804
+   select ICST
+   select NEED_MACH_IO_H
+   select ZONE_DMA
+   select PCI
+   select PCI_DOMAINS if PCI
+   select ARCH_SUPPORTS_MSI if PCI
+   select HAS_RAPIDIO
+   help
+ This enables support for the LSI Axxia boards.
+
  config ARCH_EBSA110
bool "EBSA-110"
select ARCH_USES_GETTIMEOFFSET
@@ -839,6 +862,8 @@ source "arch/arm/mach-ux500/Kconfig"
  
  source "arch/arm/mach-versatile/Kconfig"
  
+source "arch/arm/mach-axxia/Kconfig"

+
  source "arch/arm/mach-vexpress/Kconfig"
  source "arch/arm/plat-versatile/Kconfig"
  
@@ -1268,6 +1293,19 @@ source "drivers/pci/Kconfig"
  
  source "drivers/pcmcia/Kconfig"
  
+config HAS_RAPIDIO

+   bool
+   default n
+
+config RAPIDIO
+   bool "RapidIO support"
+   depends on HAS_RAPIDIO || PCI


Shouldn't this be an "&&", not an "||" ? This is going to get
turned on for every config that has PCI, which from the HAS_RAPIDIO
doesn't look to be the intent.


+   help
+  If you say Y here, the kernel will include drivers and
+  infrastructure code to support RapidIO interconnect devices.
+
+source "drivers/rapidio/Kconfig"
+
  endmenu
  
  menu "Kernel Features"

@@ -1438,12 +1476,46 @@ config NR_CPUS
depends on SMP
default "4"
  
+menu "Support for hot-pluggable CPUs"

+
  config HOTPLUG_CPU
bool "Support for hot-pluggable CPUs"
-   depends on SMP
+   depends on SMP && HOTPLUG


I don't see why this is being changed. Depending on SMP should
still be enough.


help
  Say Y here to experiment with turning CPUs off and on.  CPUs
  can be controlled through /sys/devices/system/cpu.
+choice
+   prompt "CPU Power Down Mode"
+   default HOTPLUG_CPU_COMPLETE_POWER_DOWN
+   help
+   This is used to select how the CPU is going to be powered down. 
If LOW POWER
+   is selected then the CPU enters a WFI state and waits for an 
interrupt to
+   wake up. If COMPLETE POWER down is selected the CPU power is 
turned off. The only
+   way to power on the CPU is to execute a command.
+
+config HOTPLUG_CPU_COMPLETE_POWER_DOWN
+   bool "Power off the CPU"
+   help
+   This will power off the CPU completely. The irqs are migrated
+   to another CPU.
+
+config HOTPLUG_CPU_LOW_POWER
+   bool "Low Power CPU (wfi)"
+   help
+   This will put the CPU into a low power mode wfi mode. When an 
interrupt
+   is received the CPU will power on again.
+
+endchoice
+
+config HOTPLUG_CPU_L2_POWER_DOWN
+   bool "Power Off L2 Cache"
+   depends on HOTPLUG_CPU_COMPLETE_POWER_DOWN
+   default n if HOTPLUG_CPU_LOW_POWER
+   help
+   Select this if you want to power down the L2 cache when
+   all CPUS of a cluster have been powered off.
+
+endmenu
  
  config ARM_PSCI

bool "Support for the ARM Power State Coordination Interface (PSCI)"
@@ -1456,6 +1528,16 @@ config ARM_PSCI
  0022A ("Power State Coordination Interface System Software on
  ARM processors").
  
+config LOCAL_TIMERS

+   bool "Use local timer interrupts"
+   depends on SMP
+   default y


A new option, should never be default 'y'. This should be default 'n'
and just add it to your config frags, or select it in the top level
board Kconfig.


+   help
+ Enable support for local timers on SMP platforms, rather then the
+ legacy IPI broadcast method.  Local timers all