Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Closed
Show file tree
Hide file tree
Changes from 45 commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
c8d7278
Makefile: those hacks are needed to build AMLogic drivers on newer GCC's
mdrjr Oct 15, 2014
c6813ed
ump: fix ump include
mdrjr Oct 15, 2014
9ba3b55
FIXME: this code block removes emmc partitions while kernel boot
tobetter Oct 14, 2014
bc00425
config:ODROIDC: Enable a sysfs interface for GPIOs.
tobetter Oct 15, 2014
7f7e8a6
defconfig: update defconfig to include drivers/Linux Support
mdrjr Oct 15, 2014
2eed558
defconfig: enable Mali DRM
mdrjr Oct 15, 2014
3a17cff
mali: fixes mali drm in-tree building
mdrjr Oct 15, 2014
a501bb6
config:ODROIDC: Kernel porting to ODROIDC board (rev 1.0)
tobetter Oct 13, 2014
707fbd4
config: disable LCD support, backlight support and other ethernet phy…
mdrjr Oct 15, 2014
8aace15
ODROIDC: rtc: Supporting RTC hwclock
Oct 23, 2014
d31a826
dtd: ODROIDC: Remove dummy PMU device nodes
tobetter Oct 15, 2014
39248e3
ODROIDC:usb: USB Hub reset control, OTG VBUS control
Oct 23, 2014
53b0e22
mtd/nand: Fix build error since NAND feature is disabled
tobetter Nov 3, 2014
5134a48
mmc/sdhc: Fix clk_div for maximum clock
Oct 30, 2014
7f9b6dd
apply dos2unix to some of the AMLogic files so patch's applies cleanly
mdrjr Nov 19, 2014
c425e6a
amlogic patch to support: 640x480, 1280x1024 and 1920x1200
mdrjr Nov 19, 2014
46b7fb4
ODROIDC: use generic partition tables on MBR
tobetter Oct 14, 2014
6958289
ODROIDC:input: Removi GPIOKEY device nodes
tobetter Nov 10, 2014
e6d5521
ODROIDC:audio: Add dummy_codec to support SPDIF
Nov 3, 2014
9880c4f
ODROIDC:dtd: Add 'change-frequent-only' property to DVFS node.
Nov 4, 2014
59f928f
ODROIDC:dtd: Remove ADC keypad node
Nov 5, 2014
a9f48b7
ODROIDC:hdmi: Try to read proper mode before video stream out
codewalkerster Nov 13, 2014
f090980
ODROIDC:dtd: Managing single device tree for SDCARD or eMMC boot
tobetter Nov 13, 2014
6f644f1
ODROIDC: mmc: Support UHS-1 micro sdcard
Oct 21, 2014
ab3bd6b
ODROIDC:dtd: remove eMMC dtd as its not being used anymore
mdrjr Nov 19, 2014
ff6f6b4
ODROIDC:sdhc: Fix to dedicate SDHC as mmcblk0 device always
Nov 11, 2014
9f68df1
ODROIDC:defconfig: add LCD_BACKLIGHT just to clear a warning
mdrjr Nov 19, 2014
6735315
osd: complete modesetting on probe
mdrjr Nov 22, 2014
8b1d653
enc_clk_config: 480p has wrong clocking setting giving us a out of ra…
mdrjr Nov 22, 2014
970ce6d
ODROIDC:dtd: remove unnecessary property nodes on aml_m8_sound_card
tobetter Nov 21, 2014
b4135e1
ODROIDC:audio: Disable HP detection on sound driver
tobetter Nov 21, 2014
6c8d8d6
Revert "ODROIDC:hdmi: Try to read proper mode before video stream out"
tobetter Nov 21, 2014
02dcb20
ODROIDC:Ethernet MAC_address using efuse data
Nov 20, 2014
92a96c2
osd: disable free scale during initial mode set
mdrjr Nov 22, 2014
13aafdb
ODROIDC:config: remove kernel feature CONFIG_SECURITYKEY
tobetter Nov 24, 2014
fb2cfca
ODROIDC:dtd: Remove Securitykey device node
tobetter Nov 24, 2014
078bcb4
kgid/kuid: I have no idea why someone needs to touch it.. But lets fi…
mdrjr Nov 27, 2014
37bc4f8
odroidc: defconfig: update to enable required symbols to Ubuntu work …
mdrjr Nov 27, 2014
1532af8
AMLOGIC: Support 1280x800
mdrjr Nov 27, 2014
de3b865
Remove mkimage and let the kernel use the OS mkimage instead of this …
mdrjr Nov 27, 2014
290709b
ODROIDC:power: Add reboot condition for power-off
tobetter Nov 21, 2014
e2d4b7e
drivers/gpio/gliolib_of: Replace of_get_named_gpio_flags(...)
Nov 20, 2014
1221495
ODROIDC:dtd: If U-Boot default is 720p, so should be the kernel
mdrjr Dec 1, 2014
3705f71
amlogic:logo: new modes should be usable on hdmimode= as well
mdrjr Dec 1, 2014
ff09e4f
ODROIDC:defconfig: minor updates for Ubuntu
mdrjr Dec 1, 2014
03a2484
ODROIDC:defconfig: More stuff needed by Ubuntu
mdrjr Dec 2, 2014
082752c
AMLOGIC: add 800x480 60hz support
mdrjr Dec 2, 2014
9ef11d8
amlogic:logo: add 800x480p60hz to boot flags as well
mdrjr Dec 2, 2014
03e1ec2
ODROIDC:disable meson8b ADC keypad. enable realtek wifi modules.
Dec 6, 2014
33ae721
ODROIDC:led: enable to LED class drivers
tobetter Dec 5, 2014
87d66cf
ODROIDC:dtd: Fix to support ODROID IO-Kit.
Dec 5, 2014
62bb668
odroid-c:hdmi spdif audio output 2-ch fixed.
Dec 4, 2014
9d68b65
ODROIDC:dtd Remove 'audio_spdif_pins' of SPDIF
Nov 21, 2014
ec75b65
ODROIDC:dtd: add gpio-based LED as heartbeat
tobetter Dec 5, 2014
48da337
ODROIDC:dvfs: Deprecate AMLogic's DVFS driver
tobetter Dec 4, 2014
9e82802
Mali: frequency/PP locks
mdrjr Dec 6, 2014
dd9a6d2
meson8b: stop spamming the logs when a frequency is change
mdrjr Dec 8, 2014
81bc000
Revert "odroid-c:hdmi spdif audio output 2-ch fixed."
mdrjr Dec 9, 2014
3b868b9
aml_spdif: fix the hardcoded number of channels and the align of data
mdrjr Dec 9, 2014
9c727fd
defconfig: prepare for production image
mdrjr Dec 9, 2014
dc496ec
ODROIDC:net/phy/rtl8211f: Add for EMI restriciton
tobetter Dec 3, 2014
f0ca444
ODROIDC:Supports user mode SPI protocol drivers.(AMLogic SPI Master, …
Dec 10, 2014
22fff28
mm: frontswap: invalidate expired data on a dup-store failure
Dec 2, 2014
4542246
mm: fix swapoff hang after page migration and fork
Dec 2, 2014
0a8c00c
xen-netfront: Remove BUGs on paged skb data which crosses a page boun…
Nov 26, 2014
daeac09
i2c: omap: fix NACK and Arbitration Lost irq handling
akochetkov Nov 18, 2014
2cf6922
i2c: omap: fix i207 errata handling
akochetkov Nov 21, 2014
99dfbb3
i2c: davinci: generate STP always when NACK is received
grygoriyS Dec 1, 2014
eae1f51
drm/radeon: kernel panic in drm_calc_vbltimestamp_from_scanoutpos wit…
pmladek Nov 27, 2014
ca372d7
drm/i915: Unlock panel even when LVDS is disabled
danvet Dec 1, 2014
df33000
media: smiapp: Only some selection targets are settable
Nov 6, 2014
4c2098f
AHCI: Add DeviceIDs for Sunrise Point-LP SATA controller
dryles-intel Nov 7, 2014
7d1da80
ahci: disable MSI on SAMSUNG 0xa800 SSD
htejun Dec 4, 2014
6905216
sata_fsl: fix error handling of irq_of_parse_and_map
dtor Nov 14, 2014
c556ebe
ipv6: gre: fix wrong skb->protocol in WCCP
Nov 24, 2014
a72e06f
tg3: fix ring init when there are more TX than RX channels
Nov 25, 2014
cfcff6a
net/mlx4_core: Limit count field to 24 bits in qp_alloc_res
Nov 25, 2014
1973ac3
rtnetlink: release net refcnt on error in do_setlink()
NicolasDichtel Nov 27, 2014
8df2d2d
net: mvneta: fix Tx interrupt delay
wtarreau Dec 2, 2014
751e562
net: sctp: use MAX_HEADER for headroom reserve in output path
Dec 3, 2014
4ca178a
nEPT: Nested INVEPT
Aug 5, 2013
b083f7c
ext2: Fix oops in ext2_get_block() called from ext2_quota_write()
jankara Dec 3, 2013
e6a18c1
igb: bring link up when PHY is powered up
Jun 17, 2014
7f45ce8
ARM: sched_clock: Load cycle count after epoch stabilizes
bebarino Jun 17, 2013
4088246
powerpc: 32 bit getcpu VDSO function uses 64 bit instructions
antonblanchard Nov 26, 2014
4b36a91
ALSA: usb-audio: Don't resubmit pending URBs at MIDI error recovery
tiwai Dec 6, 2014
a472efc
Linux 3.10.63
gregkh Dec 16, 2014
608ed9a
Don't make the dtd+dtb Instead of that lets just move back to the cur…
mdrjr Dec 17, 2014
733a012
amlogic: make the mac address reading sane
mdrjr Dec 18, 2014
e1b4cc9
Makefile: restore ARCH/CrossCompile to its defaults
mdrjr Dec 18, 2014
3d41941
Makefile: correct permission
mdrjr Dec 18, 2014
b857f2a
defconfigs: clean up unused ones to not cause confusion
mdrjr Dec 18, 2014
6545d90
ODROIDC: fix defconfig permissions
mdrjr Dec 18, 2014
096909d
ARM: fix misc permissions
mdrjr Dec 18, 2014
04b59df
mach-meson8b: fix permissions again
mdrjr Dec 18, 2014
6cb0bdb
Merge tag 'v3.10.34' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Dec 18, 2014
0efe638
ODROIDC: defconfig: enable IOTOP support
mdrjr Dec 18, 2014
32bdb7c
ODROIDC: defconfig: disable Android LMK
mdrjr Dec 18, 2014
9ee92c4
amlogic: hdmi_tx: silence
mdrjr Dec 18, 2014
7cc2fbc
ODROIDC: dts: clean up unused stuff
mdrjr Dec 18, 2014
983e303
mm: Move CMA to HIGH Memory
mdrjr Dec 18, 2014
f6d7254
ODROIDC:defconfig: Fix CMA value
mdrjr Dec 18, 2014
19c6922
AMLOGIC: net: silence
mdrjr Dec 18, 2014
fe646b4
Merge tag 'v3.10.35' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Dec 18, 2014
0fbcf73
Merge tag 'v3.10.36' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Dec 18, 2014
0e474f2
Merge tag 'v3.10.37' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Dec 18, 2014
8673b23
Merge tag 'v3.10.38' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Dec 18, 2014
d6371f3
Merge tag 'v3.10.39' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Dec 18, 2014
acd5c42
Merge tag 'v3.10.40' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Dec 18, 2014
3ea7a97
Merge tag 'v3.10.41' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Dec 18, 2014
b3159f5
Merge tag 'v3.10.42' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Dec 18, 2014
71d2615
ODROIDC:defconfig: enable displaylink support
mdrjr Dec 20, 2014
0551ba1
ODROIDC:defconfig: enable FB Tilling
mdrjr Dec 20, 2014
a9e9a19
ODROIDC: defconfig: enable vlan support
mdrjr Dec 20, 2014
4f784a7
defconfig: enable autofs
mdrjr Dec 22, 2014
3870999
ODROIDC: blue led heartbeat(GPIOAO_13 pinmux)
Dec 22, 2014
314ac60
amlogic:new_remote: silence the pressed events
mdrjr Dec 23, 2014
9dcb0d9
AMLOGIC:sound: silence
mdrjr Dec 23, 2014
c866c60
ODROIDC:defconfig: enable w1 support
mdrjr Dec 23, 2014
889f621
deconfig: enable btusb
mdrjr Dec 24, 2014
35ff693
Merge tag 'v3.10.43' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Dec 24, 2014
2a139a3
defconfig: enabling usbmon and kinetic support
mdrjr Dec 30, 2014
22d7f4e
ODROIDC: Support hardware PWM(GPIOX_11, GPIOX_10)
Dec 30, 2014
64baccb
Merge "defconfig: enabling usbmon and kinetic support" into odroidc-3…
mdrjr Dec 31, 2014
590d258
ODROIDC:sd: Add to disable UHS-I support on kernel parameter
tobetter Dec 31, 2014
ae27bd8
hdmi_tx: handle between hdmi and dvi modes using vout= parameter
mdrjr Dec 30, 2014
4baf91a
Merge branch 'odroidc-3.10.y' into odroidc-3.10.y
mdrjr Jan 2, 2015
94c61f7
Merge branch 'odroidc-3.10.y' into odroidc-3.10.y
mdrjr Jan 2, 2015
5cf197f
usb: attempt to revert AMLogic USB Autosuspend
mdrjr Jan 2, 2015
4a3f102
hdmi_tx: handle between hdmi and dvi modes using vout= parameter
mdrjr Dec 30, 2014
1339ef7
Merge branch 'odroidc-3.10.y' of odroidc-3.10.y
mdrjr Jan 2, 2015
5f297fc
Merge branch 'odroidc-3.10.y' into odroidc-3.10.y
mdrjr Jan 2, 2015
e498a54
ODROIDC:sd: Fix "Uart in" error if UHS is disabled
tobetter Jan 2, 2015
4b2eeac
Merge "usb: attempt to revert AMLogic USB Autosuspend" into odroidc-3…
mdrjr Jan 2, 2015
c3447c6
Merge branch 'odroidc-3.10.y' into odroidc-3.10.y
mdrjr Jan 2, 2015
4a0a08b
Merge branch 'odroidc-3.10.y' into odroidc-3.10.y
mdrjr Jan 2, 2015
9a62d32
defconfig: enable support for 3g/lte dongles
mdrjr Jan 2, 2015
17eb144
defconfig: enable rndis support
mdrjr Jan 2, 2015
f7bf383
defconfig: enabling more congestion control algorithms
mdrjr Jan 2, 2015
98b2d8a
defconfig: enable hiddev and hidraw
mdrjr Jan 3, 2015
91dc53e
defconfig: enabling PS3 Eye camera
mdrjr Jan 3, 2015
537312b
hid: revert everything back to 3.10 original so the led's can work:
mdrjr Jan 5, 2015
5df72f4
PD#99098(98799):Fix sys pll mode for m8baby project
Aug 27, 2014
f4ee3bf
PD #98650(97418):merge pcr master .
Oct 16, 2014
35470d6
PD#98650(97418)::DVB:To switch the pcrmaster to vmaster in the wrong …
Oct 29, 2014
f641f64
PD#98604(98390)fix audio memleak for monkeytest from Xujian
Oct 14, 2014
bc4d6b2
PD #98603(98115): Increase delay to 500us after reset PLL for lock er…
kongsuozt Oct 14, 2014
c7456bb
PD#98722(98613 and 98479): don't call osd_ioctl to avoid scale set fail
Oct 15, 2014
e93d34d
PD #98831(97021): fit cpu frequent out of avaliable table to proper c…
kongsuozt Sep 2, 2014
49183c0
PD #98820(95658): hdmitx: reset ENC & VPU to prevent Async
mdrjr Jan 5, 2015
4fe74a1
PD #99138(97419): Add video aspect ratio match function.
gongke-cn Oct 11, 2014
6d0015c
PD#99059: default use bicubic osd scale filter parameter
dongtao3869169 Oct 29, 2014
104b780
pd#99113(98057),not to do hevc recover when vbuf level is very low. i…
Oct 17, 2014
3550463
pd#99070(96514), add cropping process for right
Aug 26, 2014
662fa7b
PD #99163(97320): Fix bug of can't change frequent after enable 'chan…
kongsuozt Sep 10, 2014
df1eb46
PD #99375(94807): fix ionvideo pts error
Aug 29, 2014
e0f8492
pd #100665:Make vpp in vskip mode when vide is not full screen &&
Dec 8, 2014
6536f54
pd #100847:Change mx4.4 vpp_process_speed_check the same as mx4.2
Dec 11, 2014
4197913
defconfig: enable AMAUDIO
mdrjr Jan 5, 2015
5864417
restore the kernel version handling back to 3.10 stocks.
mdrjr Jan 8, 2015
1fe5620
isofs: Fix infinite looping over CE entries
jankara Dec 15, 2014
359d2d7
x86/tls: Validate TLS entries to protect espfix
amluto Dec 5, 2014
84f5383
x86/tls: Disallow unusual TLS segments
amluto Dec 5, 2014
cb7977a
x86_64, switch_to(): Load TLS descriptors before switching DS and ES
amluto Dec 8, 2014
9d2b613
x86, kvm: Clear paravirt_enabled on KVM guests for espfix32's benefit
amluto Dec 6, 2014
1522555
md/bitmap: always wait for writes on unplug.
neilbrown Sep 9, 2014
3e6845b
mfd: tc6393xb: Fail ohci suspend if full state restore is required
lumag Oct 24, 2014
5d316a3
mmc: block: add newline to sysfs display of force_ro
baruchsiach Sep 22, 2014
72f7a5c
megaraid_sas: corrected return of wait_event from abort frame path
Nov 17, 2014
f30d637
nfs41: fix nfs4_proc_layoutget error handling
Nov 17, 2014
e1102c5
dm bufio: fix memleak when using a dm_buffer's inline bio
djwong Nov 26, 2014
81f250e
dm space map metadata: fix sm_bootstrap_get_nr_blocks()
Nov 29, 2014
d011d58
x86/tls: Don't validate lm in set_thread_area() after all
amluto Dec 17, 2014
684f4c0
isofs: Fix unchecked printing of ER records
jankara Dec 18, 2014
18b41bd
KEYS: Fix stale key registration at error path
tiwai Dec 4, 2014
47e6016
mac80211: fix multicast LED blinking and counter
Dec 12, 2014
5f37daa
mac80211: free management frame keys when removing station
jmberg-intel Dec 17, 2014
4be461b
mnt: Implicitly add MNT_NODEV on remount when it was implicitly added…
ebiederm Aug 13, 2014
260cb8f
mnt: Update unprivileged remount test
ebiederm Aug 22, 2014
c65d3b0
umount: Disallow unprivileged mount force
ebiederm Oct 4, 2014
4accc8c
groups: Consolidate the setgroups permission checks
ebiederm Dec 5, 2014
b8a0441
userns: Document what the invariant required for safe unprivileged ma…
ebiederm Dec 5, 2014
fc9b65e
userns: Don't allow setgroups until a gid mapping has been setablished
ebiederm Dec 6, 2014
ba0922a
userns: Don't allow unprivileged creation of gid mappings
ebiederm Dec 6, 2014
f028f2d
userns: Check euid no fsuid when establishing an unprivileged uid map…
ebiederm Dec 6, 2014
a182139
userns: Only allow the creator of the userns unprivileged mappings
ebiederm Nov 27, 2014
6eaab78
userns: Rename id_map_mutex to userns_state_mutex
ebiederm Dec 9, 2014
1c587ee
userns: Add a knob to disable setgroups on a per user namespace basis
ebiederm Dec 2, 2014
afb5285
userns: Allow setting gid_maps without privilege when setgroups is di…
ebiederm Dec 6, 2014
3150a5a
userns: Unbreak the unprivileged remount tests
ebiederm Dec 2, 2014
3d53f1f
crypto: af_alg - fix backlog handling
vwax Dec 19, 2014
cb22aba
ncpfs: return proper error from NCP_IOC_SETROOT ioctl
jankara Dec 10, 2014
1227935
exit: pidns: alloc_pid() leaks pid_namespace if child_reaper is exiting
oleg-nesterov Dec 10, 2014
5fdeca1
udf: Verify symlink size before loading it
jankara Dec 19, 2014
ed775f3
eCryptfs: Force RO mount when encrypted view is enabled
tyhicks Oct 7, 2014
6601298
eCryptfs: Remove buggy and unnecessary write in file name decode routine
mhalcrow-google Nov 26, 2014
d8bf9ec
Btrfs: do not move em to modified list when unpinning
Nov 14, 2014
5f55aee
Btrfs: fix fs corruption on transaction abort if device supports discard
fdmanana Dec 7, 2014
46a490c
Linux 3.10.64
gregkh Jan 8, 2015
d7db972
Merge tag 'v3.10.44' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 9, 2015
62f4c5c
defconfig: enable mce usb
mdrjr Jan 9, 2015
3b322d3
hdmi_tx: kill pwm touch's here
mdrjr Jan 9, 2015
152ecbe
hdmi: add the following extra resolutions:
mdrjr Jan 9, 2015
b81388f
restore the kernel version handling back to 3.10 stocks.
mdrjr Jan 8, 2015
2961993
Merge "restore the kernel version handling back to 3.10 stocks." into…
mdrjr Jan 9, 2015
981b066
Merge branch 'odroidc-3.10.y' into c1_working
mdrjr Jan 9, 2015
a8c8ac1
Merge branch 'c1_working' into odroidc-3.10.y
mdrjr Jan 9, 2015
7302e7a
aml_logo: small fix on the res name
mdrjr Jan 9, 2015
ca1aeb1
scripts: don't append + to the version
mdrjr Jan 10, 2015
764e57b
defconfig: don't touch localversion
mdrjr Jan 10, 2015
097accf
Merge tag 'v3.10.45' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
208b760
Merge tag 'v3.10.46' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
cc100d2
Merge tag 'v3.10.47' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
78f3dd9
Merge tag 'v3.10.48' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
6d71fb5
Merge tag 'v3.10.49' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
da803f2
Merge tag 'v3.10.50' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
84842ba
Merge tag 'v3.10.51' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
c2a1986
Merge tag 'v3.10.52' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
fc7e795
Merge tag 'v3.10.53' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
68330bf
Merge tag 'v3.10.54' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
d344bdb
Merge tag 'v3.10.55' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
487da61
Merge tag 'v3.10.56' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
525eb9a
Merge tag 'v3.10.57' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
738de26
Merge tag 'v3.10.58' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
fd6c004
Merge tag 'v3.10.59' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
de6850a
Merge tag 'v3.10.60' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
1a2cd6a
Merge tag 'v3.10.61' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
9cb29f6
Merge tag 'v3.10.62' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
e1599d4
Merge tag 'v3.10.63' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
0ec11cc
Merge tag 'v3.10.64' of git://git.kernel.org/pub/scm/linux/kernel/git…
mdrjr Jan 11, 2015
b1d2c39
kernel/power: a few reverts back to 3.10 stock
mdrjr Jan 12, 2015
4014ca4
defconfig: expand on 3.10.64
mdrjr Jan 12, 2015
9328ff2
dts: disable unused uarts
mdrjr Jan 12, 2015
5992f71
ODROIDC:3.2" TFT SPI Touch device driver added.
Jan 8, 2015
319d62f
video/fbtft: Add notro fbtft device driver
Jan 9, 2015
fa6c68b
efuse: workaround to read hwmac
tobetter Jan 12, 2015
510ac30
Merge "efuse: workaround to read hwmac" into odroidc-3.10.y
mdrjr Jan 12, 2015
96686b3
squash! ODROIDC:3.2" TFT SPI Touch device driver added.
Jan 9, 2015
e36a1b9
efuse: another work around to fix mac
tobetter Jan 13, 2015
016eaa2
misc: add si1132, si702x sensor drivers for WEATHER-BOARD
Jan 13, 2015
6d041a9
Merge "misc: add si1132, si702x sensor drivers for WEATHER-BOARD" int…
mdrjr Jan 14, 2015
d3fd371
vout/enc_clk_config: Fix invalid clock divider for 800x480p60hz
tobetter Jan 14, 2015
7789d94
defconfig: enable usb_printer
mdrjr Jan 15, 2015
d262a1c
ethernet: merge mlinuxguy (Markham) patch's to improove the network s…
mdrjr Jan 15, 2015
f405d6e
ODROIDC:Odroid TFT 3.2" Driver add.
Jan 15, 2015
1116cc4
usb/dwc_otg: dedicate irq handler to CPU3 in force
tobetter Jan 15, 2015
35bced4
Merge changes I47407dcc,I43e29584 into odroidc-3.10.y
tobetter Jan 16, 2015
0fc4732
Merge "dts: disable unused uarts" into odroidc-3.10.y
mdrjr Jan 16, 2015
c19a654
Merge "usb/dwc_otg: dedicate irq handler to CPU3 in force" into odroi…
mdrjr Jan 17, 2015
c878f10
Remove executable bit from source/header files.
Fisiu Jan 19, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 164 additions & 0 deletions Documentation/lzo.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@

LZO stream format as understood by Linux's LZO decompressor
===========================================================

Introduction

This is not a specification. No specification seems to be publicly available
for the LZO stream format. This document describes what input format the LZO
decompressor as implemented in the Linux kernel understands. The file subject
of this analysis is lib/lzo/lzo1x_decompress_safe.c. No analysis was made on
the compressor nor on any other implementations though it seems likely that
the format matches the standard one. The purpose of this document is to
better understand what the code does in order to propose more efficient fixes
for future bug reports.

Description

The stream is composed of a series of instructions, operands, and data. The
instructions consist in a few bits representing an opcode, and bits forming
the operands for the instruction, whose size and position depend on the
opcode and on the number of literals copied by previous instruction. The
operands are used to indicate :

- a distance when copying data from the dictionary (past output buffer)
- a length (number of bytes to copy from dictionary)
- the number of literals to copy, which is retained in variable "state"
as a piece of information for next instructions.

Optionally depending on the opcode and operands, extra data may follow. These
extra data can be a complement for the operand (eg: a length or a distance
encoded on larger values), or a literal to be copied to the output buffer.

The first byte of the block follows a different encoding from other bytes, it
seems to be optimized for literal use only, since there is no dictionary yet
prior to that byte.

Lengths are always encoded on a variable size starting with a small number
of bits in the operand. If the number of bits isn't enough to represent the
length, up to 255 may be added in increments by consuming more bytes with a
rate of at most 255 per extra byte (thus the compression ratio cannot exceed
around 255:1). The variable length encoding using #bits is always the same :

length = byte & ((1 << #bits) - 1)
if (!length) {
length = ((1 << #bits) - 1)
length += 255*(number of zero bytes)
length += first-non-zero-byte
}
length += constant (generally 2 or 3)

For references to the dictionary, distances are relative to the output
pointer. Distances are encoded using very few bits belonging to certain
ranges, resulting in multiple copy instructions using different encodings.
Certain encodings involve one extra byte, others involve two extra bytes
forming a little-endian 16-bit quantity (marked LE16 below).

After any instruction except the large literal copy, 0, 1, 2 or 3 literals
are copied before starting the next instruction. The number of literals that
were copied may change the meaning and behaviour of the next instruction. In
practice, only one instruction needs to know whether 0, less than 4, or more
literals were copied. This is the information stored in the <state> variable
in this implementation. This number of immediate literals to be copied is
generally encoded in the last two bits of the instruction but may also be
taken from the last two bits of an extra operand (eg: distance).

End of stream is declared when a block copy of distance 0 is seen. Only one
instruction may encode this distance (0001HLLL), it takes one LE16 operand
for the distance, thus requiring 3 bytes.

IMPORTANT NOTE : in the code some length checks are missing because certain
instructions are called under the assumption that a certain number of bytes
follow because it has already been garanteed before parsing the instructions.
They just have to "refill" this credit if they consume extra bytes. This is
an implementation design choice independant on the algorithm or encoding.

Byte sequences

First byte encoding :

0..17 : follow regular instruction encoding, see below. It is worth
noting that codes 16 and 17 will represent a block copy from
the dictionary which is empty, and that they will always be
invalid at this place.

18..21 : copy 0..3 literals
state = (byte - 17) = 0..3 [ copy <state> literals ]
skip byte

22..255 : copy literal string
length = (byte - 17) = 4..238
state = 4 [ don't copy extra literals ]
skip byte

Instruction encoding :

0 0 0 0 X X X X (0..15)
Depends on the number of literals copied by the last instruction.
If last instruction did not copy any literal (state == 0), this
encoding will be a copy of 4 or more literal, and must be interpreted
like this :

0 0 0 0 L L L L (0..15) : copy long literal string
length = 3 + (L ?: 15 + (zero_bytes * 255) + non_zero_byte)
state = 4 (no extra literals are copied)

If last instruction used to copy between 1 to 3 literals (encoded in
the instruction's opcode or distance), the instruction is a copy of a
2-byte block from the dictionary within a 1kB distance. It is worth
noting that this instruction provides little savings since it uses 2
bytes to encode a copy of 2 other bytes but it encodes the number of
following literals for free. It must be interpreted like this :

0 0 0 0 D D S S (0..15) : copy 2 bytes from <= 1kB distance
length = 2
state = S (copy S literals after this block)
Always followed by exactly one byte : H H H H H H H H
distance = (H << 2) + D + 1

If last instruction used to copy 4 or more literals (as detected by
state == 4), the instruction becomes a copy of a 3-byte block from the
dictionary from a 2..3kB distance, and must be interpreted like this :

0 0 0 0 D D S S (0..15) : copy 3 bytes from 2..3 kB distance
length = 3
state = S (copy S literals after this block)
Always followed by exactly one byte : H H H H H H H H
distance = (H << 2) + D + 2049

0 0 0 1 H L L L (16..31)
Copy of a block within 16..48kB distance (preferably less than 10B)
length = 2 + (L ?: 7 + (zero_bytes * 255) + non_zero_byte)
Always followed by exactly one LE16 : D D D D D D D D : D D D D D D S S
distance = 16384 + (H << 14) + D
state = S (copy S literals after this block)
End of stream is reached if distance == 16384

0 0 1 L L L L L (32..63)
Copy of small block within 16kB distance (preferably less than 34B)
length = 2 + (L ?: 31 + (zero_bytes * 255) + non_zero_byte)
Always followed by exactly one LE16 : D D D D D D D D : D D D D D D S S
distance = D + 1
state = S (copy S literals after this block)

0 1 L D D D S S (64..127)
Copy 3-4 bytes from block within 2kB distance
state = S (copy S literals after this block)
length = 3 + L
Always followed by exactly one byte : H H H H H H H H
distance = (H << 3) + D + 1

1 L L D D D S S (128..255)
Copy 5-8 bytes from block within 2kB distance
state = S (copy S literals after this block)
length = 5 + L
Always followed by exactly one byte : H H H H H H H H
distance = (H << 3) + D + 1

Authors

This document was written by Willy Tarreau <[email protected]> on 2014/07/19 during an
analysis of the decompression code available in Linux 3.16-rc5. The code is
tricky, it is possible that this document contains mistakes or that a few
corner cases were overlooked. In any case, please report any doubt, fix, or
proposed updates to the author(s) so that the document can be updated.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
VERSION = 3
PATCHLEVEL = 10
SUBLEVEL = 58
SUBLEVEL = 59
EXTRAVERSION =
NAME = TOSSUG Baby Fish

Expand Down
1 change: 1 addition & 0 deletions arch/arm/mach-at91/clock.c
Original file line number Diff line number Diff line change
Expand Up @@ -947,6 +947,7 @@ static int __init at91_clock_reset(void)
}

at91_pmc_write(AT91_PMC_SCDR, scdr);
at91_pmc_write(AT91_PMC_PCDR, pcdr);
if (cpu_is_sama5d3())
at91_pmc_write(AT91_PMC_PCDR1, pcdr1);

Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/include/asm/compat.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ typedef s32 compat_ssize_t;
typedef s32 compat_time_t;
typedef s32 compat_clock_t;
typedef s32 compat_pid_t;
typedef u32 __compat_uid_t;
typedef u32 __compat_gid_t;
typedef u16 __compat_uid_t;
typedef u16 __compat_gid_t;
typedef u16 __compat_uid16_t;
typedef u16 __compat_gid16_t;
typedef u32 __compat_uid32_t;
Expand Down
6 changes: 6 additions & 0 deletions arch/m68k/mm/hwtest.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,11 @@
int hwreg_present( volatile void *regp )
{
int ret = 0;
unsigned long flags;
long save_sp, save_vbr;
long tmp_vectors[3];

local_irq_save(flags);
__asm__ __volatile__
( "movec %/vbr,%2\n\t"
"movel #Lberr1,%4@(8)\n\t"
Expand All @@ -46,6 +48,7 @@ int hwreg_present( volatile void *regp )
: "=&d" (ret), "=&r" (save_sp), "=&r" (save_vbr)
: "a" (regp), "a" (tmp_vectors)
);
local_irq_restore(flags);

return( ret );
}
Expand All @@ -58,9 +61,11 @@ EXPORT_SYMBOL(hwreg_present);
int hwreg_write( volatile void *regp, unsigned short val )
{
int ret;
unsigned long flags;
long save_sp, save_vbr;
long tmp_vectors[3];

local_irq_save(flags);
__asm__ __volatile__
( "movec %/vbr,%2\n\t"
"movel #Lberr2,%4@(8)\n\t"
Expand All @@ -78,6 +83,7 @@ int hwreg_write( volatile void *regp, unsigned short val )
: "=&d" (ret), "=&r" (save_sp), "=&r" (save_vbr)
: "a" (regp), "a" (tmp_vectors), "g" (val)
);
local_irq_restore(flags);

return( ret );
}
Expand Down
1 change: 1 addition & 0 deletions arch/s390/kvm/interrupt.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ static int __interrupt_is_deliverable(struct kvm_vcpu *vcpu,
return 0;
if (vcpu->arch.sie_block->gcr[0] & 0x2000ul)
return 1;
return 0;
case KVM_S390_INT_EMERGENCY:
if (psw_extint_disabled(vcpu))
return 0;
Expand Down
1 change: 1 addition & 0 deletions arch/x86/include/asm/kvm_host.h
Original file line number Diff line number Diff line change
Expand Up @@ -463,6 +463,7 @@ struct kvm_vcpu_arch {
u64 mmio_gva;
unsigned access;
gfn_t mmio_gfn;
u64 mmio_gen;

struct kvm_pmu pmu;

Expand Down
15 changes: 15 additions & 0 deletions arch/x86/kernel/cpu/intel.c
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,21 @@ static void __cpuinit early_init_intel(struct cpuinfo_x86 *c)
setup_clear_cpu_cap(X86_FEATURE_ERMS);
}
}

/*
* Intel Quark Core DevMan_001.pdf section 6.4.11
* "The operating system also is required to invalidate (i.e., flush)
* the TLB when any changes are made to any of the page table entries.
* The operating system must reload CR3 to cause the TLB to be flushed"
*
* As a result cpu_has_pge() in arch/x86/include/asm/tlbflush.h should
* be false so that __flush_tlb_all() causes CR3 insted of CR4.PGE
* to be modified
*/
if (c->x86 == 5 && c->x86_model == 9) {
pr_info("Disabling PGE capability bit\n");
setup_clear_cpu_cap(X86_FEATURE_PGE);
}
}

#ifdef CONFIG_X86_32
Expand Down
2 changes: 1 addition & 1 deletion arch/x86/kvm/mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -3072,7 +3072,7 @@ static void mmu_sync_roots(struct kvm_vcpu *vcpu)
if (!VALID_PAGE(vcpu->arch.mmu.root_hpa))
return;

vcpu_clear_mmio_info(vcpu, ~0ul);
vcpu_clear_mmio_info(vcpu, MMIO_GVA_ANY);
kvm_mmu_audit(vcpu, AUDIT_PRE_SYNC);
if (vcpu->arch.mmu.root_level == PT64_ROOT_LEVEL) {
hpa_t root = vcpu->arch.mmu.root_hpa;
Expand Down
20 changes: 15 additions & 5 deletions arch/x86/kvm/x86.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,31 +78,41 @@ static inline void vcpu_cache_mmio_info(struct kvm_vcpu *vcpu,
vcpu->arch.mmio_gva = gva & PAGE_MASK;
vcpu->arch.access = access;
vcpu->arch.mmio_gfn = gfn;
vcpu->arch.mmio_gen = kvm_memslots(vcpu->kvm)->generation;
}

static inline bool vcpu_match_mmio_gen(struct kvm_vcpu *vcpu)
{
return vcpu->arch.mmio_gen == kvm_memslots(vcpu->kvm)->generation;
}

/*
* Clear the mmio cache info for the given gva,
* specially, if gva is ~0ul, we clear all mmio cache info.
* Clear the mmio cache info for the given gva. If gva is MMIO_GVA_ANY, we
* clear all mmio cache info.
*/
#define MMIO_GVA_ANY (~(gva_t)0)

static inline void vcpu_clear_mmio_info(struct kvm_vcpu *vcpu, gva_t gva)
{
if (gva != (~0ul) && vcpu->arch.mmio_gva != (gva & PAGE_MASK))
if (gva != MMIO_GVA_ANY && vcpu->arch.mmio_gva != (gva & PAGE_MASK))
return;

vcpu->arch.mmio_gva = 0;
}

static inline bool vcpu_match_mmio_gva(struct kvm_vcpu *vcpu, unsigned long gva)
{
if (vcpu->arch.mmio_gva && vcpu->arch.mmio_gva == (gva & PAGE_MASK))
if (vcpu_match_mmio_gen(vcpu) && vcpu->arch.mmio_gva &&
vcpu->arch.mmio_gva == (gva & PAGE_MASK))
return true;

return false;
}

static inline bool vcpu_match_mmio_gpa(struct kvm_vcpu *vcpu, gpa_t gpa)
{
if (vcpu->arch.mmio_gfn && vcpu->arch.mmio_gfn == gpa >> PAGE_SHIFT)
if (vcpu_match_mmio_gen(vcpu) && vcpu->arch.mmio_gfn &&
vcpu->arch.mmio_gfn == gpa >> PAGE_SHIFT)
return true;

return false;
Expand Down
3 changes: 3 additions & 0 deletions drivers/base/firmware_class.c
Original file line number Diff line number Diff line change
Expand Up @@ -1021,6 +1021,9 @@ _request_firmware(const struct firmware **firmware_p, const char *name,
if (!firmware_p)
return -EINVAL;

if (!name || name[0] == '\0')
return -EINVAL;

ret = _request_firmware_prepare(&fw, name, device);
if (ret <= 0) /* error or already assigned */
goto out;
Expand Down
8 changes: 6 additions & 2 deletions drivers/base/regmap/regmap-debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -460,16 +460,20 @@ void regmap_debugfs_init(struct regmap *map, const char *name)
{
struct rb_node *next;
struct regmap_range_node *range_node;
const char *devname = "dummy";

INIT_LIST_HEAD(&map->debugfs_off_cache);
mutex_init(&map->cache_lock);

if (map->dev)
devname = dev_name(map->dev);

if (name) {
map->debugfs_name = kasprintf(GFP_KERNEL, "%s-%s",
dev_name(map->dev), name);
devname, name);
name = map->debugfs_name;
} else {
name = dev_name(map->dev);
name = devname;
}

map->debugfs = debugfs_create_dir(name, regmap_debugfs_root);
Expand Down
4 changes: 2 additions & 2 deletions drivers/base/regmap/regmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -1177,7 +1177,7 @@ int _regmap_write(struct regmap *map, unsigned int reg,
}

#ifdef LOG_DEVICE
if (strcmp(dev_name(map->dev), LOG_DEVICE) == 0)
if (map->dev && strcmp(dev_name(map->dev), LOG_DEVICE) == 0)
dev_info(map->dev, "%x <= %x\n", reg, val);
#endif

Expand Down Expand Up @@ -1437,7 +1437,7 @@ static int _regmap_read(struct regmap *map, unsigned int reg,
ret = map->reg_read(context, reg, val);
if (ret == 0) {
#ifdef LOG_DEVICE
if (strcmp(dev_name(map->dev), LOG_DEVICE) == 0)
if (map->dev && strcmp(dev_name(map->dev), LOG_DEVICE) == 0)
dev_info(map->dev, "%x => %x\n", reg, *val);
#endif

Expand Down
Loading