14 Dec, 2020
33 commits
-
This patch provids netlink method to configure the TSN protocols hardwares.
TSN guaranteed packet transport with bounded low latency, low packet delay
variation, and low packet loss by hardware and software methods.The three basic components of TSN are:
1. Time synchronization: This was implement by 8021AS which base on the
IEEE1588 precision Time Protocol. This is configured by the other way
in kernel.
8021AS not included in this patch.2. Scheduling and traffic shaping and per-stream filter policing:
This patch support Qbv/Qci/Qbu/8021CB/Qav etc.3. Selection of communication paths:
This patch not support the pure software only TSN protocols(like Qcc)
but hardware related configuration.TSN Protocols supports by this patch: Qbv/Qci/Qbu/Credit-base Shaper(Qav).
This patch verified on NXP ls1028ardb board.Signed-off-by: Po Liu
-
* origin/arch/qoriq: (6 commits)
soc: fsl: qbman: Ensure device cleanup is run for kexec
drivers/soc/fsl: add EPU FSM configuration for deep sleep
fsl_pmc: update device bindings
powerpc/pm: Fix suspend=n in menuconfig for e500mc platforms.
powerpc/pm: add sleep and deep sleep on QorIQ SoCs
... -
* origin/arch/core: (14 commits)
MLK-16912 PL310: unlock ways during initialization
LF-2438 arm64: kernel: smp: Add workaround for i.MX8MQ ERR11171
LF-363 arm64: kernel: TKT340553 Errata workaround update for i.MX8QM
MLK-16005-2 arm64: tlb: add the SW workaround for i.MX8QM TKT340553
MLK-21599-1 arm64: Kconfig: Make FORCE_MAX_ZONEORDER configurable
... -
* origin/core: (6 commits)
LF-2702 scripts: gcc-plugins: make GCC_PLUGINS not default to y
ENGR00279980 ubi: attach: do not return -EINVAL if the mtd->numeraseregions is 1
of: of_reserved_mem: Ensure cma reserved region not cross the low/high memory
mm: Re-export ioremap_page_range
drivers/base: add sysfs entries for suppliers and consumers
... -
Make sure that the QBMan device cleanup routines are executed
when the device was previously initialized. This is needed for
kexec since the device will keep it's state from the previous
kernel that was executing.Signed-off-by: Roy Pledge
-
In the last stage of deep sleep, software will trigger a Finite
State Machine (FSM) to control the hardware procedure, such a
board isolation, killing PLLs, removing power, and so on.When the system is waked up by an interrupt, the FSM controls
the hardware to complete the early resume procedure.This patch configure the EPU FSM preparing for deep sleep.
Signed-off-by: Hongbo Zhang
Signed-off-by: Chenhui Zhao
Signed-off-by: Ran Wang -
Signed-off-by: Li Yang
Signed-off-by: Zhao Chenhui
Signed-off-by: Ran Wang -
Also, unselect FSL_PMC which is for older platfroms instead.
Signed-off-by: Ran Wang
-
In sleep mode, the clocks of CPU core and unused IP blocks are turned
off (IP blocks allowed to wake up system will running).Some QorIQ SoCs like MPC8536, P1022 and T104x, have deep sleep PM mode
in addtion to the sleep PM mode. While in deep sleep mode,
additionally, the power supply is removed from CPU core and most IP
blocks. Only the blocks needed to wake up the chip out of deep sleep
are ON.This feature supports 32-bit and 36-bit address space.
The sleep mode is equal to the Standby state in Linux. The deep sleep
mode is equal to the Suspend-to-RAM state of Linux Power Management.
Command to enter sleep mode.
echo standby > /sys/power/state
Command to enter deep sleep mode.
echo mem > /sys/power/stateSigned-off-by: Dave Liu
Signed-off-by: Li Yang
Signed-off-by: Jin Qing
Signed-off-by: Jerry Huang
Signed-off-by: Ramneek Mehresh
Signed-off-by: Zhao Chenhui
Signed-off-by: Wang Dongsheng
Signed-off-by: Tang Yuantian
Signed-off-by: Xie Xiaobo
Signed-off-by: Zhao Qiang
Signed-off-by: Shengzhou Liu
Signed-off-by: Ran Wang -
FPGA on LX2160AQDS/LX2160ARDB connected on I2C bus, so add qixis driver
which is basically an i2c client driver to control FPGA.Signed-off-by: Pankaj Bansal
-
This change affects all i.MX 6 with PL310 L2 Cache controller.
When Linux runs in Non-secure World the PL310 has already
been initialized by the ARM secure World running OP-TEE os.
However, in order to have a proper Linux Initialization all the
L2 cache ways have been locked by the secure world.This patch unlock all the ways during pl310 initialization.
Signed-off-by: Cedric Neveux
Signed-off-by: Arulpandiyan Vadivel
(cherry picked from commit 5133fbe9aaafd24add7d92b1aa2d3474b7a13723) -
Since commit 5cebfd2d47c214 "arm64: Kill __smp_cross_call and co",
the workaround for ERR11171 for i.MX8MQ needs a different approach.
In order to do go to EL3 to power up/down the cores, right after
the ipi was raised, we call imx_gpcv2_raise_softirq which is
only built if the CONFIG_IMX_GPCV2 is enabled. Then, in
imx_gpcv2_raise_softirq depending on the existance of the ERR11171
on any platform, we call into EL3 or skip everything and get out.Signed-off-by: Abel Vesa
-
As per latest i.MX8QM SOC Errata, TKT340553 workaround needs to be
updated to unconditionally downgrade TLB operations and instruction
cache maintenance.[ Leo: move TKT340553_SW_WORKAROUND from soc driver to arch ]
Signed-off-by: Nitin Garg
Signed-off-by: Anson Huang
Acked-by: Peng Fan -
on i.MX8QM 1.0/1.1,TLB maintenance through DVM messages over ARADDR channel,
some bits (see the following) will be corrupted:ASID[15:12] VA[48:45] VA[44:41] VA[39:36]
This issue will result in the TLB aintenance across the clusters not working
as expected due to some VA and ASID bits get corruptedThe SW workaround is: use the vmalle1is if VA larger than 36bits or
ASID[15:12] is not zero, otherwise, we use original TLB maintenance path.Note: To simplify the code, we did not check VA[40] bit specifically
[ Leo: split arch change from drivers/soc change ]
Signed-off-by: Jason Liu
Reviewed-by: Anson Huang -
Older imx releases increased this based on SOC_IMX8 but that symbol is
gone and the expectation is that SOC-selection symbols like "ARCH_MXC"
will almost always be defined and shouldn't be used to make incompatible
config decisions.Make the value of FORCE_MAX_ZONEORDER configurable so this can be
adjusted in a .config file.Signed-off-by: Leonard Crestez
Reviewed-by: Li Yang
Signed-off-by: Dong Aisheng -
Signed-off-by: Madalin Bucur
-
Signed-off-by: Haiying Wang
Reviewed-by: Roy Pledge
Reviewed-by: Stuart Yoder -
Signed-off-by: Haiying Wang
-
Signed-off-by: Haiying Wang
Reviewed-by: Roy Pledge
Reviewed-by: Stuart Yoder -
Signed-off-by: Jianhua Xie
-
Signed-off-by: Pan Jiafei
Signed-off-by: Roy Pledge -
Signed-off-by: Horia Geantă
-
Need to be separated when submitting upstream.
Signed-off-by: Li Yang
-
Various e500 core have different cache architecture, so they
need different cache flush operations. Therefore, add a callback
function cpu_flush_caches to the struct cpu_spec. The cache flush
operation for the specific kind of e500 is selected at init time.
The callback function will flush all caches in the current cpu.Signed-off-by: Chenhui Zhao
Reviewed-by: Yang Li
Reviewed-by: Jose Rivera
Signed-off-by: Ran Wang -
Currently CONFIG_GCC_PLUGINS is auto enabled by detecting host
build environment as follows:
"depends on $(success,$(srctree)/scripts/gcc-plugin.sh $(CC))"This potentially cause an inconsistency issue of images built
from two machines e.g. kernel modules built by ourselves
maybe unable to load with a prebuilt kernel image and vice versa.
(Affected by STACKPROTECTOR_PER_TASK which is also default y and
depends on GCC_PLUGINS)In order to address this image inconsistency issue, we make the
GCC_PLUGINS option not default to y and reply on users to select it
from defconfig file once their host environment can meet the requirement
and want this option enabled.This issue happened with GCC 10.2 toolchain and have gcc-10-plugin-dev
package installed on host after migrated to Yocto 3.2.Acked-by: Jason Liu
Signed-off-by: Dong Aisheng -
If the master mtd does not have any slave mtd partitions,
and its numeraseregions is one(only has one erease block), and
we attach the master mtd with : ubiattach -m 0 -d 0We will meet the error:
-------------------------------------------------------
root@freescale ~$ ubiattach /dev/ubi_ctrl -m 0 -d 0
UBI: attaching mtd0 to ubi0
UBI error: io_init: multiple regions, not implemented
ubiattach: error!: cannot attach mtd0
error 22 (Invalid argument)
-------------------------------------------------------In fact, if there is only one "erase block", we should not
prevent the attach.This patch fixes it.
Signed-off-by: Huang Shijie
(cherry picked from commit 361cdc47fc4c4db31c5485560cdabd94f409bd81)
(cherry picked from commit ebee7d74914fad3cf7223af84496811c9d2488a1)Signed-off-by: Vipul Kumar
Signed-off-by: Han Xu
-
Need ensure the cma reserved region not cross the low/high memory boundary
when using the dynamic allocation methond through device-tree, otherwise,
kernel will fail to boot up when cma reserved region cross how/high mem.Signed-off-by: Jason Liu
Cc: Laura Abbott
Cc: Frank Rowand
Cc: Rob Herring
Cc: stable@vger.kernel.org
Signed-off-by: Arulpandiyan Vadivel -
We need this in Jailhouse to map at specific virtual addresses, at
least for the moment.Signed-off-by: Jan Kiszka
(cherry picked from commit 94bb285491a9a9e15c82c0761505b1073d6b7a47) -
Instead of scraping dmesg for messages such as 'Linked as a consumer to'
or 'Dropping the link to' export two new sysfs entries in the device
folder that list the consumer and supplier devices.Signed-off-by: Ioana Ciornei
-
Adding back skb_recycle() as it's used by the DPAA Ethernet driver.
This was removed from the upstream kernel because it was lacking users.Signed-off-by: Madalin Bucur
-
Pull x86 fixes from Thomas Gleixner:
"A set of x86 and membarrier fixes:- Correct a few problems in the x86 and the generic membarrier
implementation. Small corrections for assumptions about visibility
which have turned out not to be true.- Make the PAT bits for memory encryption correct vs 4K and 2M/1G
page table entries as they are at a different location.- Fix a concurrency issue in the the local bandwidth readout of
resource control leading to incorrect values- Fix the ordering of allocating a vector for an interrupt. The order
missed to respect the provided cpumask when the first attempt of
allocating node local in the mask fails. It then tries the node
instead of trying the full provided mask first. This leads to
erroneous error messages and breaking the (user) supplied affinity
request. Reorder it.- Make the INT3 padding detection in optprobe work correctly"
* tag 'x86-urgent-2020-12-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/kprobes: Fix optprobe to detect INT3 padding correctly
x86/apic/vector: Fix ordering in vector assignment
x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled
x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP
membarrier: Execute SYNC_CORE on the calling thread
membarrier: Explicitly sync remote cores when SYNC_CORE is requested
membarrier: Add an actual barrier before rseq_preempt()
x86/membarrier: Get rid of a dubious optimization -
Pull block fixes from Jens Axboe:
"This should be it for 5.10.Mike and Song looked into the warning case, and thankfully it appears
the fix was pretty trivial - we can just change the md device chunk
type to unsigned int to get rid of it. They cannot currently be < 0,
and nobody is checking for that either.We're reverting the discard changes as the corruption reports came in
very late, and there's just no time to attempt to deal with it at this
point. Reverting the changes in question is the right call for 5.10"* tag 'block-5.10-2020-12-12' of git://git.kernel.dk/linux-block:
md: change mddev 'chunk_sectors' from int to unsigned
Revert "md: add md_submit_discard_bio() for submitting discard bio"
Revert "md/raid10: extend r10bio devs to raid disks"
Revert "md/raid10: pull codes that wait for blocked dev into one function"
Revert "md/raid10: improve raid10 discard request"
Revert "md/raid10: improve discard request for far layout"
Revert "dm raid: remove unnecessary discard limits for raid10"
13 Dec, 2020
7 commits
-
Pull SCSI fixes from James Bottomley:
"Five small fixes. Four in drivers:- hisi_sas: fix internal queue timeout
- be2iscsi: revert a prior fix causing problems
- bnx2i: add missing dependency
- storvsc: late arriving revert of a problem fix
and one in the core.
The core one is a minor change to stop paying attention to the busy
count when returning out of resources because there's a race window
where the queue might not restart due to missing returning I/O"* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
Revert "scsi: storvsc: Validate length of incoming packet in storvsc_on_channel_callback()"
scsi: hisi_sas: Select a suitable queue for internal I/Os
scsi: core: Fix race between handling STS_RESOURCE and completion
scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
scsi: bnx2i: Requires MMU -
Pull i2c fix from Wolfram Sang:
"Bugfix for the AT24 EEPROM driver"* 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
misc: eeprom: at24: fix NVMEM name with custom AT24 device name -
Pull kvm fixes from Paolo Bonzini:
"Bugfixes for ARM, x86 and tools"* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
tools/kvm_stat: Exempt time-based counters
KVM: mmu: Fix SPTE encoding of MMIO generation upper half
kvm: x86/mmu: Use cpuid to determine max gfn
kvm: svm: de-allocate svm_cpu_data for all cpus in svm_cpu_uninit()
selftests: kvm/set_memory_region_test: Fix race in move region test
KVM: arm64: Add usage of stage 2 fault lookup level in user_mem_abort()
KVM: arm64: Fix handling of merging tables into a block entry
KVM: arm64: Fix memory leak on stage2 update of a valid PTE -
Pull xen fixes from Juergen Gross:
"A short series fixing a regression introduced in 5.9 for running as
Xen dom0 on a system with NVMe backed storage"* tag 'for-linus-5.10c-rc8-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
xen: don't use page->lru for ZONE_DEVICE memory
xen: add helpers for caching grant mapping pages -
Pull RISC-V fix from Palmer Dabbelt:
"Just one fix. It's nothing critical, just a randconfig that wasn't
building. That said, it does seem pretty safe and is technically a
regression so I'm sending it along for 5.10:- define get_cycles64() all the time, as it's used by most
configurations"* tag 'riscv-for-linus-5.10-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
RISC-V: Define get_cycles64() regardless of M-mode -
Pull io_uring fixes from Jens Axboe:
"Two fixes in here, fixing issues introduced in this merge window"* tag 'io_uring-5.10-2020-12-11' of git://git.kernel.dk/linux-block:
io_uring: fix file leak on error path of io ctx creation
io_uring: fix mis-seting personality's creds -
Pull input fixes from Dmitry Torokhov:
- a fix for cm109 stomping on its own control URB if it tries to toggle
buzzer immediately after userspace opens input device (found by
syzcaller)- another fix for Raydium touchscreens that do not like splitting
command transfers- quirks for i8042, soc_button_array, and goodix drivers to make them
work better with certain hardware.* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
Input: cm109 - do not stomp on control URB
Input: i8042 - add Acer laptops to the i8042 reset list
Input: cros_ec_keyb - send 'scancodes' in addition to key events
Input: soc_button_array - add Lenovo Yoga Tablet2 1051L to the dmi_use_low_level_irq list
Input: raydium_ts_i2c - do not split tx transactions