Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for ODroid XU3/4 Families #20

Closed
wants to merge 91 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
455c88a
(DO NOT MERGE) ODROID: drm: bridge: dw-hdmi: workaround for pinky gre…
tobetter Dec 29, 2020
de5792f
Add Mali driver from official HK odroid-5.4.y branch
MastaG Dec 23, 2020
b0a0e4c
s5p-mfc: Try again after error.
MastaG Jan 4, 2021
4b78437
Enable edid firmware blobs and add missing 480x272 resolution
MastaG Jan 4, 2021
b45c6f0
Mali fixes for Linux 5.10
MastaG Jan 4, 2021
b8f3e1f
s5p-mfc: Remove DMA_ATTR_NON_CONSISTENT as it's not supported any lon…
MastaG Jan 4, 2021
7802dda
net/sched: sch_taprio: reset child qdiscs before freeing them
dcaratti Dec 16, 2020
ca124af
mptcp: fix security context on server socket
Dec 16, 2020
d76a7ae
ethtool: fix error paths in ethnl_set_channels()
Dec 15, 2020
d46eb26
ethtool: fix string set id check
mkubecek Dec 14, 2020
5503004
md/raid10: initialize r10_bio->read_slot before use.
kevin-vigor Nov 6, 2020
36b479a
drm/amd/display: Add get_dig_frontend implementation for DCEx
rodrigosiqueira Dec 15, 2020
0467757
io_uring: close a small race gap for files cancel
isilence Dec 18, 2020
5152d91
jffs2: Allow setting rp_size to zero during remounting
Oct 14, 2020
795cb70
jffs2: Fix NULL pointer dereference in rp_size fs option parsing
Oct 12, 2020
1b69a84
spi: dw-bt1: Fix undefined devm_mux_control_get symbol
fancer Nov 27, 2020
c3185ab
opp: fix memory leak in _allocate_opp_table
wqyoung Dec 24, 2020
33a11f2
opp: Call the missing clk_put() on error
vireshk Dec 28, 2020
186c398
scsi: block: Fix a race in the runtime power management code
bvanassche Dec 9, 2020
792b7d6
mm/hugetlb: fix deadlock in hugetlb_cow error path
mjkravetz Dec 29, 2020
7452d69
mm: memmap defer init doesn't work as expected
Dec 29, 2020
bc8359c
lib/zlib: fix inflating zlib streams on s390
iii-i Dec 29, 2020
e1f2f80
io_uring: don't assume mm is constant across submits
axboe Dec 29, 2020
45aceff
io_uring: use bottom half safe lock for fixed file data
axboe Nov 23, 2020
fa4b667
io_uring: add a helper for setting a ref node
isilence Dec 30, 2020
9870a3c
io_uring: fix io_sqe_files_unregister() hangs
isilence Dec 30, 2020
1975751
uapi: move constants from <linux/kernel.h> to <linux/const.h>
pevik Dec 15, 2020
e927cee
tools headers UAPI: Sync linux/const.h with the kernel headers
acmel Dec 17, 2020
ba6155b
cgroup: Fix memory leak when parsing multiple source parameters
Dec 10, 2020
414096a
zlib: move EXPORT_SYMBOL() and MODULE_LICENSE() out of dfltcc_syms.c
rddunlap Dec 29, 2020
14af36b
scsi: cxgb4i: Fix TLS dependency
rddunlap Dec 8, 2020
60a5c06
Bluetooth: hci_h5: close serdev device and free hu in h5_close
thazhemadam Sep 29, 2020
75e307e
fbcon: Disable accelerated scrolling
danvet Oct 29, 2020
aaa6676
reiserfs: add check for an invalid ih_entry_count
rustylife Nov 1, 2020
9da5abb
misc: vmw_vmci: fix kernel info-leak by initializing dbells in vmci_c…
thazhemadam Nov 22, 2020
72a4b71
media: gp8psk: initialize stats at power control logic
mchehab Nov 27, 2020
4f22f07
f2fs: fix shift-out-of-bounds in sanity_check_raw_super()
chaseyu Dec 9, 2020
2cf5a0f
ALSA: seq: Use bool for snd_seq_queue internal flags
tiwai Dec 6, 2020
35443a9
ALSA: rawmidi: Access runtime->avail always in spinlock
tiwai Dec 6, 2020
df7228a
bfs: don't use WARNING: string when it's just info.
rddunlap Dec 16, 2020
5e37ae1
ext4: check for invalid block size early when mounting a file system
tytso Dec 9, 2020
7fb73a4
fcntl: Fix potential deadlock in send_sig{io, urg}()
fbq Nov 5, 2020
a1ede83
io_uring: check kthread stopped flag when sq thread is unparked
Nov 19, 2020
364711d
rtc: sun6i: Fix memleak in sun6i_rtc_clk_init
dinghaoliu Oct 20, 2020
2981108
module: set MODULE_STATE_GOING state when a module fails to load
mirab Oct 27, 2020
c06bdc6
quota: Don't overflow quota file offsets
jankara Nov 2, 2020
4cf7256
rtc: pl031: fix resource leak in pl031_probe
z00448126 Nov 12, 2020
355f0f4
powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe()
Oct 28, 2020
ba06a31
i3c master: fix missing destroy_workqueue() on error in i3c_master_re…
Oct 28, 2020
9af4b57
NFSv4: Fix a pNFS layout related use-after-free race when freeing the…
Nov 25, 2020
7ee41ca
f2fs: avoid race condition for shrinker count
Nov 6, 2020
a97a331
f2fs: fix race of pending_pages in decompression
Dec 5, 2020
4595092
module: delay kobject uevent until after module init call
Nov 27, 2020
a960249
powerpc/64: irq replay remove decrementer overflow check
npiggin Nov 7, 2020
8e866e9
fs/namespace.c: WARN if mnt_count has become negative
ebiggers Nov 1, 2020
6198d4c
watchdog: rti-wdt: fix reference leak in rti_wdt_probe
Oct 30, 2020
617db2a
um: random: Register random as hwrng-core device
obbardc Oct 27, 2020
bd0182b
um: ubd: Submit all data segments atomically
krisman-at-collabora Nov 22, 2020
dac017c
NFSv4.2: Don't error when exiting early on a READ_PLUS buffer overflow
Dec 8, 2020
d473599
ceph: fix inode refcount leak when ceph_fill_inode on non-I_NEW inode…
jtlayton Nov 12, 2020
86c99a1
drm/amd/display: updated wm table for Renoir
Dec 3, 2020
dd69f3f
tick/sched: Remove bogus boot "safety" check
KAGA-KOKO Dec 6, 2020
21f1cc3
s390: always clear kernel stack backchain before calling functions
hcahca Dec 4, 2020
587af9a
io_uring: remove racy overflow list fast checks
isilence Dec 17, 2020
8a4e1dc
ALSA: pcm: Clear the full allocated memory at hw_params
tiwai Dec 18, 2020
a2ded30
dm verity: skip verity work if I/O error when system is shutting down
hyeongseok-kim901 Dec 3, 2020
7f8a37e
ext4: avoid s_mb_prefetch to be zero in individual scenarios
brookxu-tx Dec 4, 2020
c9b0ed4
device-dax: Fix range release
djbw Dec 19, 2020
8ed661c
Linux 5.10.5
gregkh Jan 6, 2021
76a240a
(DO NOT MERGE) ODROID-COMMON: drm/meson: not load RGB709 to YUV709 co…
tobetter Jan 7, 2021
5717d51
Revert "drm/amd/display: Fix memory leaks in S3 resume"
agd5f Jan 5, 2021
5ab0609
Revert "mtd: spinand: Fix OOB read"
nbd168 Jan 5, 2021
4fccde3
rtc: pcf2127: move watchdog initialisation to a separate function
Sep 24, 2020
bceabd2
rtc: pcf2127: only use watchdog when explicitly available
Dec 18, 2020
04a7676
dt-bindings: rtc: add reset-source property
Dec 18, 2020
9b04a02
kdev_t: always inline major/minor helper functions
jpoimboe Dec 29, 2020
134fd17
Bluetooth: Fix attempting to set RPA timeout when unsupported
edwardvear Oct 27, 2020
fd3011f
ALSA: hda/realtek - Modify Dell platform name
kailangyang Dec 23, 2020
34a4ff0
ALSA: hda/hdmi: Fix incorrect mutex unlock in silent_stream_disable()
tiwai Jan 1, 2021
c6aeb3d
drm/i915/tgl: Fix Combo PHY DPLL fractional divider for 38.4MHz ref c…
ideak Oct 3, 2020
5f17ec2
scsi: ufs: Allow an error return value from ->device_reset()
ahunter6 Nov 3, 2020
f4d661b
scsi: ufs: Re-enable WriteBooster after device reset
Dec 8, 2020
e72946e
RDMA/core: remove use of dma_virt_ops
Nov 6, 2020
5cf6778
RDMA/siw,rxe: Make emulated devices virtual in the device tree
jgunthorpe Nov 6, 2020
281bc70
fuse: fix bad inode
Dec 10, 2020
68da6d0
perf: Break deadlock involving exec_update_mutex
Aug 28, 2020
cce44dd
rwsem: Implement down_read_killable_nested
ebiederm Dec 3, 2020
3e66df2
rwsem: Implement down_read_interruptible
ebiederm Dec 3, 2020
4cfa074
exec: Transform exec_update_mutex into a rw_semaphore
ebiederm Dec 3, 2020
7ac8f3b
mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_s…
Dec 6, 2020
f5b5b39
Linux 5.10.6
gregkh Jan 9, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions Documentation/devicetree/bindings/rtc/rtc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,11 @@ properties:
description:
Enables wake up of host system on alarm.

reset-source:
$ref: /schemas/types.yaml#/definitions/flag
description:
The RTC is able to reset the machine.

additionalProperties: true

...
18 changes: 18 additions & 0 deletions Documentation/gpu/todo.rst
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,24 @@ Contact: Daniel Vetter, Noralf Tronnes

Level: Advanced

Garbage collect fbdev scrolling acceleration
--------------------------------------------

Scroll acceleration is disabled in fbcon by hard-wiring p->scrollmode =
SCROLL_REDRAW. There's a ton of code this will allow us to remove:
- lots of code in fbcon.c
- a bunch of the hooks in fbcon_ops, maybe the remaining hooks could be called
directly instead of the function table (with a switch on p->rotate)
- fb_copyarea is unused after this, and can be deleted from all drivers

Note that not all acceleration code can be deleted, since clearing and cursor
support is still accelerated, which might be good candidates for further
deletion projects.

Contact: Daniel Vetter

Level: Intermediate

idr_init_base()
---------------

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 4
SUBLEVEL = 6
EXTRAVERSION =
NAME = Kleptomaniac Octopus

Expand Down
7 changes: 5 additions & 2 deletions arch/arm/configs/odroidxu4_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1681,9 +1681,12 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
# Firmware loader
#
CONFIG_FW_LOADER=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_EXTRA_FIRMWARE="edid/1024x600.bin edid/1024x768.bin edid/1152x864_75hz.bin edid/1280x1024.bin edid/1280x720.bin edid/1280x768.bin edid/1280x800.bin edid/1360x768.bin edid/1366x768.bin edid/1400x1050.bin edid/1440x900.bin edid/1600x1200.bin edid/1600x900.bin edid/1680x1050.bin edid/1792x1344.bin edid/1920x1080_23_976hz.bin edid/1920x1080_24hz.bin edid/1920x1080_50hz.bin edid/1920x1080.bin edid/1920x1200_30hz.bin edid/1920x1200_60hz.bin edid/1920x800.bin edid/480x800.bin edid/640x480.bin edid/720x480.bin edid/720x576.bin edid/800x480.bin edid/800x600.bin edid/848x480.bin edid/480x272.bin"
CONFIG_EXTRA_FIRMWARE_DIR="firmware"
# CONFIG_FW_LOADER_USER_HELPER is not set
# CONFIG_FW_LOADER_COMPRESS is not set
CONFIG_FW_LOADER_COMPRESS=y
CONFIG_FW_CACHE=y
# end of Firmware loader

CONFIG_WANT_DEV_COREDUMP=y
Expand Down
4 changes: 2 additions & 2 deletions arch/ia64/mm/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@ virtual_memmap_init(u64 start, u64 end, void *arg)

if (map_start < map_end)
memmap_init_zone((unsigned long)(map_end - map_start),
args->nid, args->zone, page_to_pfn(map_start),
args->nid, args->zone, page_to_pfn(map_start), page_to_pfn(map_end),
MEMINIT_EARLY, NULL, MIGRATE_MOVABLE);
return 0;
}
Expand All @@ -546,7 +546,7 @@ memmap_init (unsigned long size, int nid, unsigned long zone,
unsigned long start_pfn)
{
if (!vmem_map) {
memmap_init_zone(size, nid, zone, start_pfn,
memmap_init_zone(size, nid, zone, start_pfn, start_pfn + size,
MEMINIT_EARLY, NULL, MIGRATE_MOVABLE);
} else {
struct page *start;
Expand Down
53 changes: 4 additions & 49 deletions arch/powerpc/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,6 @@ static inline notrace unsigned long get_irq_happened(void)
return happened;
}

static inline notrace int decrementer_check_overflow(void)
{
u64 now = get_tb();
u64 *next_tb = this_cpu_ptr(&decrementers_next_tb);

return now >= *next_tb;
}

#ifdef CONFIG_PPC_BOOK3E

/* This is called whenever we are re-enabling interrupts
Expand Down Expand Up @@ -142,35 +134,6 @@ notrace unsigned int __check_irq_replay(void)
trace_hardirqs_on();
trace_hardirqs_off();

/*
* We are always hard disabled here, but PACA_IRQ_HARD_DIS may
* not be set, which means interrupts have only just been hard
* disabled as part of the local_irq_restore or interrupt return
* code. In that case, skip the decrementr check becaus it's
* expensive to read the TB.
*
* HARD_DIS then gets cleared here, but it's reconciled later.
* Either local_irq_disable will replay the interrupt and that
* will reconcile state like other hard interrupts. Or interrupt
* retur will replay the interrupt and in that case it sets
* PACA_IRQ_HARD_DIS by hand (see comments in entry_64.S).
*/
if (happened & PACA_IRQ_HARD_DIS) {
local_paca->irq_happened &= ~PACA_IRQ_HARD_DIS;

/*
* We may have missed a decrementer interrupt if hard disabled.
* Check the decrementer register in case we had a rollover
* while hard disabled.
*/
if (!(happened & PACA_IRQ_DEC)) {
if (decrementer_check_overflow()) {
local_paca->irq_happened |= PACA_IRQ_DEC;
happened |= PACA_IRQ_DEC;
}
}
}

if (happened & PACA_IRQ_DEC) {
local_paca->irq_happened &= ~PACA_IRQ_DEC;
return 0x900;
Expand All @@ -186,6 +149,9 @@ notrace unsigned int __check_irq_replay(void)
return 0x280;
}

if (happened & PACA_IRQ_HARD_DIS)
local_paca->irq_happened &= ~PACA_IRQ_HARD_DIS;

/* There should be nothing left ! */
BUG_ON(local_paca->irq_happened != 0);

Expand Down Expand Up @@ -229,18 +195,6 @@ void replay_soft_interrupts(void)
if (IS_ENABLED(CONFIG_PPC_IRQ_SOFT_MASK_DEBUG))
WARN_ON_ONCE(mfmsr() & MSR_EE);

if (happened & PACA_IRQ_HARD_DIS) {
/*
* We may have missed a decrementer interrupt if hard disabled.
* Check the decrementer register in case we had a rollover
* while hard disabled.
*/
if (!(happened & PACA_IRQ_DEC)) {
if (decrementer_check_overflow())
happened |= PACA_IRQ_DEC;
}
}

/*
* Force the delivery of pending soft-disabled interrupts on PS3.
* Any HV call will have this side effect.
Expand Down Expand Up @@ -345,6 +299,7 @@ notrace void arch_local_irq_restore(unsigned long mask)
if (IS_ENABLED(CONFIG_PPC_IRQ_SOFT_MASK_DEBUG))
WARN_ON_ONCE(!(mfmsr() & MSR_EE));
__hard_irq_disable();
local_paca->irq_happened |= PACA_IRQ_HARD_DIS;
} else {
/*
* We should already be hard disabled here. We had bugs
Expand Down
9 changes: 3 additions & 6 deletions arch/powerpc/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -552,14 +552,11 @@ void timer_interrupt(struct pt_regs *regs)
struct pt_regs *old_regs;
u64 now;

/* Some implementations of hotplug will get timer interrupts while
* offline, just ignore these and we also need to set
* decrementers_next_tb as MAX to make sure __check_irq_replay
* don't replay timer interrupt when return, otherwise we'll trap
* here infinitely :(
/*
* Some implementations of hotplug will get timer interrupts while
* offline, just ignore these.
*/
if (unlikely(!cpu_online(smp_processor_id()))) {
*next_tb = ~(u64)0;
set_dec(decrementer_max);
return;
}
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/platforms/powernv/opal.c
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@ int opal_hmi_exception_early2(struct pt_regs *regs)
return 1;
}

/* HMI exception handler called in virtual mode during check_irq_replay. */
/* HMI exception handler called in virtual mode when irqs are next enabled. */
int opal_handle_hmi_exception(struct pt_regs *regs)
{
/*
Expand Down
2 changes: 1 addition & 1 deletion arch/powerpc/sysdev/mpic_msgr.c
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ static int mpic_msgr_probe(struct platform_device *dev)

/* IO map the message register block. */
of_address_to_resource(np, 0, &rsrc);
msgr_block_addr = ioremap(rsrc.start, resource_size(&rsrc));
msgr_block_addr = devm_ioremap(&dev->dev, rsrc.start, resource_size(&rsrc));
if (!msgr_block_addr) {
dev_err(&dev->dev, "Failed to iomap MPIC message registers");
return -EFAULT;
Expand Down
12 changes: 6 additions & 6 deletions arch/s390/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,7 @@ ENTRY(system_call)
mvc __PT_PSW(16,%r11),__LC_SVC_OLD_PSW
mvc __PT_INT_CODE(4,%r11),__LC_SVC_ILC
stg %r14,__PT_FLAGS(%r11)
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
ENABLE_INTS
.Lsysc_do_svc:
# clear user controlled register to prevent speculative use
Expand All @@ -422,7 +423,6 @@ ENTRY(system_call)
jnl .Lsysc_nr_ok
slag %r8,%r1,3
.Lsysc_nr_ok:
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
stg %r2,__PT_ORIG_GPR2(%r11)
stg %r7,STACK_FRAME_OVERHEAD(%r15)
lg %r9,0(%r8,%r10) # get system call add.
Expand Down Expand Up @@ -712,8 +712,8 @@ ENTRY(pgm_check_handler)
mvc __THREAD_per_address(8,%r14),__LC_PER_ADDRESS
mvc __THREAD_per_cause(2,%r14),__LC_PER_CODE
mvc __THREAD_per_paid(1,%r14),__LC_PER_ACCESS_ID
6: RESTORE_SM_CLEAR_PER
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
6: xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
RESTORE_SM_CLEAR_PER
larl %r1,pgm_check_table
llgh %r10,__PT_INT_CODE+2(%r11)
nill %r10,0x007f
Expand All @@ -734,8 +734,8 @@ ENTRY(pgm_check_handler)
# PER event in supervisor state, must be kprobes
#
.Lpgm_kprobe:
RESTORE_SM_CLEAR_PER
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
RESTORE_SM_CLEAR_PER
lgr %r2,%r11 # pass pointer to pt_regs
brasl %r14,do_per_trap
j .Lpgm_return
Expand Down Expand Up @@ -777,10 +777,10 @@ ENTRY(io_int_handler)
stmg %r8,%r9,__PT_PSW(%r11)
mvc __PT_INT_CODE(12,%r11),__LC_SUBCHANNEL_ID
xc __PT_FLAGS(8,%r11),__PT_FLAGS(%r11)
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
TSTMSK __LC_CPU_FLAGS,_CIF_IGNORE_IRQ
jo .Lio_restore
TRACE_IRQS_OFF
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
.Lio_loop:
lgr %r2,%r11 # pass pointer to pt_regs
lghi %r3,IO_INTERRUPT
Expand Down Expand Up @@ -980,10 +980,10 @@ ENTRY(ext_int_handler)
mvc __PT_INT_PARM(4,%r11),__LC_EXT_PARAMS
mvc __PT_INT_PARM_LONG(8,%r11),0(%r1)
xc __PT_FLAGS(8,%r11),__PT_FLAGS(%r11)
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
TSTMSK __LC_CPU_FLAGS,_CIF_IGNORE_IRQ
jo .Lio_restore
TRACE_IRQS_OFF
xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15)
lgr %r2,%r11 # pass pointer to pt_regs
lghi %r3,EXT_INTERRUPT
brasl %r14,do_IRQ
Expand Down
Loading