Compare commits

...

302 Commits

Author SHA1 Message Date
Stephan Raue
d2e52db7f9 config/version: set version to 4.0.4
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-06-04 14:53:02 +02:00
Stephan Raue
15d7e8992f e2fsprogs: update to e2fsprogs-1.42.10
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-06-04 13:45:44 +02:00
Olli Salonen
7dc54ed090 Fix DVB-T2 support with GeniaTech T220/August T210 devices 2014-06-04 13:41:39 +02:00
Stephan Raue
c67cdd49af xbmc: update to xbmc-13-84725b0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-06-04 08:24:58 +02:00
Stephan Raue
5d00b37172 bluez: update to bluez-5.19
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-06-03 03:03:38 +02:00
Stephan Raue
342921f171 Revert "ethtool: add support to disable WOL for broken drivers, add 'e1000e' as broken driver"
This reverts commit 1853a14d93.
2014-06-01 19:54:30 +02:00
Stephan Raue
bf3611a25d linux: update to linux-3.14.5
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-06-01 02:46:59 +02:00
Stephan Raue
af985cdd7d bcm2835-bootloader: update to bcm2835-bootloader-f15c3b5
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-06-01 02:46:02 +02:00
Stephan Raue
a031de2ba1 bcm2835-driver: update to bcm2835-driver-f15c3b5
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-06-01 02:45:58 +02:00
Stephan Raue
13ac425381 fontconfig: update to fontconfig-2.11.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-31 01:11:37 +02:00
Stephan Raue
a7094bf4ac bcm2835-driver: update to bcm2835-driver-02eed2f
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-31 00:09:41 +02:00
Stephan Raue
6dee65a10a bcm2835-bootloader: update to bcm2835-bootloader-02eed2f
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-31 00:09:31 +02:00
Stephan Raue
b228b28e9a projects/RPi/patches/linux: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-30 23:53:32 +02:00
Stephan Raue
6f7387a45f bcm2835-bootloader: update to bcm2835-bootloader-e2b77f9
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-30 23:39:30 +02:00
Stephan Raue
5dc342162a bcm2835-driver: update to bcm2835-driver-e2b77f9
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-30 23:39:27 +02:00
Stephan Raue
708b4f9e2f projects/RPi/patches/xbmc: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-30 23:18:44 +02:00
Stephan Raue
6c2e76d7c1 nettle: add patch to fix pkgconfig file, so gnutls is finding all nettle headers
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-30 20:37:19 +02:00
Stephan Raue
f769ae2642 nettle: set CC_FOR_BUILD
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-30 20:37:18 +02:00
Stephan Raue
296123b07c nettle: add patch to support out-of-tree builds
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-30 20:37:18 +02:00
Stephan Raue
666f798123 systemd: update to systemd-213
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-30 17:14:47 +02:00
Stefan Saraev
2ef5492e90 scripts/image: fix etc/os-release 2014-05-30 17:12:05 +02:00
Stephan Raue
4beff3ef6f inputproto: update to inputproto-2.3.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-30 17:06:05 +02:00
Stephan Raue
3cd530914d gnutls: update to gnutls-3.2.15
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-30 17:05:40 +02:00
Stephan Raue
3b493a0938 projects/RPi/patches/linux: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-30 14:46:45 +02:00
Stephan Raue
40cfd9986c config/version: set version back to devel
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-28 15:24:54 +02:00
Stephan Raue
61f17d8a6e config/version: set version to 4.0.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-28 02:11:53 +02:00
Stephan Raue
4078cf05c7 Revert "projects/RPi/patches/linux: update RPi support patch"
This reverts commit c4ac5bccd3.
2014-05-28 02:11:53 +02:00
Stephan Raue
c4ac5bccd3 projects/RPi/patches/linux: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-27 22:55:22 +02:00
piotrasd
fc71e3fef1 update nvidia driver to latest version 2014-05-27 18:28:14 +02:00
Stephan Raue
d9a65ad23f wlan-firmware: update to wlan-firmware-0.0.21
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-27 18:08:34 +02:00
Stephan Raue
1853a14d93 ethtool: add support to disable WOL for broken drivers, add 'e1000e' as broken driver
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-27 02:15:42 +02:00
Stephan Raue
785af56130 /projects/*/linux: disable CONFIG_MOVABLE_NODE
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-26 16:40:11 +02:00
Stephan Raue
7f4b374d8b /projects/*/linux: disable CONFIG_AMD_NUMA
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-26 16:33:11 +02:00
Stephan Raue
88fe4fb6a5 projects/*/linux: enable CONFIG_STRIP_ASM_SYMS
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-26 16:20:23 +02:00
Stephan Raue
a1c59e1d9d projects/*/linux: disable CONFIG_BOOT_PRINTK_DELAY
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-26 16:18:53 +02:00
Stephan Raue
c47a69f488 Revert "linux: build dns resolver as module"
This reverts commit 867882f5b6.
2014-05-26 13:35:06 +02:00
Stefan Saraev
867882f5b6 linux: build dns resolver as module 2014-05-26 13:23:00 +02:00
Stephan Raue
664c907253 xbmc: update to xbmc-13-4410736
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-26 13:21:40 +02:00
Stephan Raue
ab19e13cf6 e2fsprogs: remove unneeded applets from image
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-25 15:32:41 +02:00
Stephan Raue
52d1097cd0 projects/RPi/patches/linux: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-25 13:28:24 +02:00
Stephan Raue
8fd6d9f9d2 wireless-regdb: update to wireless-regdb-2014.05.19
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-25 13:28:23 +02:00
Stephan Raue
79d38dcf9f projects/RPi/patches/xbmc: fix RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-24 21:28:25 +02:00
Stefan Saraev
f043441788 alsa-utils: try improve soundconfig
pass card num via udev. no need to loop thru all. needs testing
2014-05-24 21:27:01 +02:00
Stephan Raue
afe74301c7 bcm2835-driver: update to bcm2835-driver-b163259
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-24 17:09:33 +02:00
Stephan Raue
b965e71859 bcm2835-bootloader: update to bcm2835-bootloader-b163259
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-24 17:09:33 +02:00
Stephan Raue
f58570de26 xbmc: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-24 16:31:38 +02:00
Stephan Raue
fa1adb3a60 alsa-utils: fix soundconfig script, thanks to 'seo'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-23 23:06:54 +02:00
Stefan Saraev
d684c9420a syslinux: strip target binaries 2014-05-23 22:34:04 +02:00
Stefan Saraev
7153f791b4 lm_sensors: strip target binary 2014-05-23 22:34:04 +02:00
Stephan Raue
4dc0de73b1 alsa-utils: set mixer on more cards, thanks to 'fritsch' and 'seo'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-23 22:25:44 +02:00
Stephan Raue
9ff681c139 service.openelec.settings: update to service.openelec.settings-0.3.17
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-22 22:54:14 +02:00
Stefan Saraev
22a42a2927 installer: fix misleading menu entry
"Custom Install" is not install at all, it is there to be used for
upgrade / downgrade / repair. however, people are trying to use it
and get their disks not detected (which is expected)
so, make it clear what it does
2014-05-22 21:37:34 +02:00
Stephan Raue
9790e80d41 Mesa: update to Mesa-10.1.4
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-21 00:50:36 +02:00
Stephan Raue
7756397876 v4l-utils: automatically load NEC protocol with rc6_map file, so XBOX-One remote is working ootb
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-20 17:59:27 +02:00
Stephan Raue
0ef5e46416 Revert "xbmc: wait on udev-trigger service"
This reverts commit d3c504786d.
2014-05-20 16:56:39 +02:00
Stephan Raue
080804cb0e v4l-utils: add default mapping for XBOX-One remote support (protocol needs still to be changed to 'NEC' manually until we found a automatic solution)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-20 16:56:21 +02:00
Stefan Saraev
29f1dc2555 busybox: enable locale support
this fixes unicode input in ash
2014-05-20 00:03:09 +02:00
Stefan Saraev
a1ac9c51a5 busybox: make unicode characters printable 2014-05-20 00:03:09 +02:00
Stefan Saraev
3b3a2fcb94 installer: careful when trying to handle emmc devices 2014-05-20 00:03:09 +02:00
Stephan Raue
4063daaef4 config/version: set version back to devel
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-19 19:50:10 +02:00
Stephan Raue
245b20e959 config/version: set version to 4.0.2
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-19 16:33:17 +02:00
Stephan Raue
d3c504786d xbmc: wait on udev-trigger service
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-19 16:26:21 +02:00
Stephan Raue
c4a3fb41cf projects/RPi/patches/linux: update RPi kernel patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-19 01:36:27 +02:00
Stephan Raue
8c5da501a9 bcm2835-driver: update to bcm2835-driver-97082b6
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-19 01:36:27 +02:00
Stephan Raue
1d3c298803 bcm2835-bootloader: update to bcm2835-bootloader-97082b6
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-19 01:36:27 +02:00
Stephan Raue
145937ebcc xbmc: update to xbmc-13-a6a2713
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-19 01:36:27 +02:00
Stephan Raue
5038ab0d1f projects/Generic/options: install nvidia legacy driver on i386 builds, remove radeonsi driver from i386 builds, remove r200 driver on x86_64 builds
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-19 00:42:49 +02:00
Stephan Raue
deec530914 projects/Generic/linux: buildin MMC to kernel
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-18 21:41:04 +02:00
Stephan Raue
3918637dd8 installer: add MMC support
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-18 21:34:41 +02:00
Stephan Raue
24ea5ab8a4 libXfont: update to libXfont-1.4.8
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-17 13:28:11 +02:00
Christian Hewitt
f71eb4e042 atvclient: update sources to address #3190 2014-05-17 13:27:44 +02:00
Stephan Raue
7975fa1d1e bcm_sta: update kernel 3.10 support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-17 13:27:29 +02:00
Stephan Raue
44f6afd2ec projects/Cuboxi/patches/linux: add kernel upstream patches
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-16 13:56:34 +02:00
jenkins101
0b11523b09 suspend-modules: added brcmfmac cant handle suspend right now 2014-05-15 15:36:50 +02:00
Stephan Raue
6b4084ffa6 squashfs: update to squashfs-4.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-14 13:36:30 +02:00
Stephan Raue
ec67d04f99 openvpn: update to openvpn-2.3.4
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-14 13:36:30 +02:00
Stephan Raue
4bb042ee13 config/version: set version back to devel
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-14 11:41:09 +02:00
Stephan Raue
00c2004d1a config/version: set version to 4.0.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-13 23:35:21 +02:00
Stephan Raue
e486a19f89 projects/RPi/patches/linux: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-13 23:05:41 +02:00
Stephan Raue
2b8b7cdee3 linux: update to linux-3.14.4
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-13 18:59:02 +02:00
Stephan Raue
385b41cad1 projects/Cuboxi/linux: add PWM, PWM-IMX and PWM-LED support
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-13 02:16:56 +02:00
Stephan Raue
0edc046f1b bcm2835-bootloader: update to bcm2835-bootloader-c0319ac
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-13 02:16:56 +02:00
Stephan Raue
5c2342f64b bcm2835-driver: update to bcm2835-driver-c0319ac
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-13 02:16:55 +02:00
Stephan Raue
77514cb8a3 projects/RPi/patches/linux: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-13 02:16:55 +02:00
Stephan Raue
549bc75e1c Mesa: add upstream patches to enable geometry shaders with LLVM-3.4.1 on radeonsi
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-12 18:29:00 +02:00
Stephan Raue
2d45ef07de llvm: update to llvm-3.4.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-12 18:29:00 +02:00
Stephan Raue
866c635d44 projects/RPi/patches/xbmc: update RPi patch, this should fix #3181, this should fix #2981
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-12 18:29:00 +02:00
Stephan Raue
671f55afef xbmc: update to xbmc-13-692cfba
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-12 18:29:00 +02:00
Christian Hewitt
f4a58d4b14 openvpn: enable management interface
This allows https://github.com/brianhornsby/script.openvpn to work as a
openvpn configuration interface. Once this has been road-tested we can
remove currently-broken openvpn support from connman and OE settings.
2014-05-11 11:48:53 +02:00
Stephan Raue
25bf0a9381 Mesa: update to Mesa-10.1.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-10 11:03:51 +02:00
Stephan Raue
cdb75b0e83 dvb-firmware: update to dvb-firmware-0.0.41
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-09 11:28:35 +02:00
Stephan Raue
da58897544 libva-driver-intel: update to libva-driver-intel-1.3.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-09 11:17:05 +02:00
Stephan Raue
b9ad07f793 libva: update to libva-1.3.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-09 11:17:05 +02:00
Stephan Raue
45d9551fa2 xf86-input-evdev: update to xf86-input-evdev-2.8.4
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-09 11:17:05 +02:00
Stefan Saraev
41e7553762 libva-driver-intel: add upstream patches 2014-05-09 11:14:59 +02:00
Stefan Saraev
59e057eed8 service.openelec.settings: update to service.openelec.settings-0.3.16 2014-05-06 22:11:51 +02:00
Stephan Raue
2e72cf036a xbmc: update to xbmc-13-16232cc
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-06 21:17:20 +02:00
Stephan Raue
c67ade7017 linux: update to linux-3.14.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-06 21:17:20 +02:00
Stephan Raue
de7ddab5e6 Mesa: update to Mesa-10.1.2
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-06 21:17:20 +02:00
Stephan Raue
6efdb1e75e config/version: set version back to devel
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-06 21:17:20 +02:00
Stephan Raue
91de6a70c0 config/version: set version to 4.0.0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-05 18:07:52 +02:00
Stephan Raue
265568da70 xbmc: add PR4653
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-05 18:07:52 +02:00
Stephan Raue
98bb6e8957 projects/RPi/linux: enable CMA support
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-05 14:53:15 +02:00
Stephan Raue
b86ee200ec xbmc: revert PR4642
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-05 14:48:11 +02:00
Stephan Raue
bdaceee408 projects/RPi/patches/linux: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-05 13:15:38 +02:00
Stephan Raue
16573216de linux: add upstream patch, this should fix #3080, thanks to Anssi Hannula
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-05 01:44:05 +02:00
Stephan Raue
e83618d39c xbmc: add PR4650
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-05 01:44:05 +02:00
Stephan Raue
b03f058f73 xbmc: add PR4649
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-05 01:44:05 +02:00
jenkins101
e4cee7c88f lircd_helper: lircd needs to start if there is a .config/lircd.conf
else we need every working remote in udev, 98-lircd.rules.
I dont think we want to maintane this. :-)

Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-04 15:06:10 +02:00
Stephan Raue
4adbf4f08e xbmc: add PR4647
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-04 14:44:27 +02:00
Stephan Raue
ffbc33a64a xbmc-pvr-addons: update to xbmc-pvr-addons-f38b2eb
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-04 14:44:26 +02:00
Stephan Raue
62c2b52a0c xbmc: update to xbmc-13-0d1d803
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-04 12:59:23 +02:00
Stephan Raue
3c0eaec162 bluez: update to bluez-5.18
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-04 12:59:23 +02:00
Stephan Raue
022ca91a6e projects/RPi/patches/linux: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-04 02:27:56 +02:00
Stephan Raue
54c9505cb4 bcm2835-bootloader: update to bcm2835-bootloader-680ac93
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-04 02:26:23 +02:00
Stephan Raue
512c595e88 bcm2835-driver: update to bcm2835-driver-680ac93
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-04 02:26:23 +02:00
Stephan Raue
b00e8011f4 projects/RPi/xbmc: update advancedsettings.xml, this fixes #3079
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-03 19:34:52 +02:00
andreasmn
89ee8cc204 init: optimized wake-on-lan script 2014-05-03 18:26:53 +02:00
Stephan Raue
a2b61f7c1c projects/RPi/patches/xbmc: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-03 17:58:46 +02:00
Stephan Raue
0a80bf3131 xbmc: add PR4642
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-03 17:58:46 +02:00
Stephan Raue
2cddc473ee xbmc: update to xbmc-13-60bd97b
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-03 17:58:46 +02:00
Stephan Raue
25c9b41d0b xbmc: add PR4641
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-03 16:19:47 +02:00
Peter Smorada
3f28eaef94 iptables - adds state and iprange moduls
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-03 12:47:51 +02:00
Stephan Raue
1dcb88e1c2 libdrm: update to libdrm-2.4.54
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-03 02:08:06 +02:00
Stephan Raue
8b85b8345d plymouth-lite: update splash, thanks to 'klojum'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-03 02:08:06 +02:00
Stephan Raue
428cddc4ea plymouth-lite: remove old splash files
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-03 02:08:06 +02:00
fritsch
ecd049c42a Linux: Revert 47f467ac740ebf0475a5176ddb1741acba6aad4e - it causes pixelation for USB tuners 2014-05-03 02:08:06 +02:00
Stefan Saraev
0fad3c88e4 libsmbclient: Wrap more function calls in talloc_stackframe() to protect against talloc_tos() calls
see https://bugzilla.samba.org/show_bug.cgi?id=8449
2014-05-02 15:34:32 +02:00
Stephan Raue
31552a2169 gettext: update to gettext-0.18.3.2
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-05-01 18:19:52 +02:00
Stephan Raue
1b89dae25d projects/*/linux: add TiVO Slide Bluetooth support
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-30 23:44:44 +02:00
Stephan Raue
5e57bf92bf xbmc: add PR4624
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-30 23:02:18 +02:00
Stephan Raue
50ecbe0b50 projects/Cuboxi/patches/linux: update to linux-3.10.38
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-30 15:36:54 +02:00
Stephan Raue
cd9c15bc2c linux: add CEC upstream fix
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-30 15:36:54 +02:00
Stephan Raue
2ec8b1bc94 linux: update CEC support patch from 74fc2e85c0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-30 15:36:54 +02:00
Stephan Raue
998146fc2d xf86-input-evdev: update to xf86-input-evdev-2.8.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-30 15:36:53 +02:00
jenkins101
9c02a8dd2b projects/Cuboxi: added patches from wolfgar and mk1. fixing CEC on Cuboxi 2014-04-30 15:36:53 +02:00
Stephan Raue
a29c5fba5e tools/mkpkg: move mkpkg_xbmc script to mkpkg_xbmc-gotham, add mkpkg_xbmc which checks out xbmc master
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-29 13:19:09 +02:00
Stephan Raue
93267e3e28 projects/Cuboxi/options: dont build with 'RTL8812AU' driver support
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-29 13:19:09 +02:00
Stephan Raue
cc0cae480a xbmc: add upstream patch, this fixes #3148, thanks to 'JoseAntonioRodriguez' and 'fernetmenta'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-29 13:19:09 +02:00
Stephan Raue
85721b2b0b util-linux: update to util-linux-2.24.2
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-29 13:19:09 +02:00
Sören Beye
e701d06a52 Fixed a typo 2014-04-29 13:17:34 +02:00
Stephan Raue
a847567948 config/version: set version back to devel
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-29 00:36:27 +02:00
Stephan Raue
beb7ba7faf config/version: set version to 3.95.7
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 18:40:29 +02:00
Stephan Raue
694cb782dc scripts/image: update /etc/os-release
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 18:08:53 +02:00
Stephan Raue
e4408091ad RTL8188EU: add patch to support build with gcc-4.9
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 18:08:53 +02:00
Stephan Raue
f15e666c8b Revert "projects/*: switch to kernel R8188EU driver"
This reverts commit 277991c44b.

Conflicts:
	projects/ATV/options
	projects/Generic/options
	projects/RPi/options

Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 18:08:53 +02:00
Stephan Raue
65880ff902 projects/RPi/patches/xbmc: update RPi patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 17:22:43 +02:00
Stephan Raue
cb4c45ae66 linux: move patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 17:22:43 +02:00
Stephan Raue
5b78d785ea xbmc: update to xbmc-13-482ccd3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 15:45:46 +02:00
Stephan Raue
cda8078ad7 bcm2835-bootloader: update to bcm2835-bootloader-cd50136
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 15:45:46 +02:00
Stephan Raue
a2b7aefff6 bcm2835-driver: update to bcm2835-driver-cd50136
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 15:45:46 +02:00
Stephan Raue
4a6689da57 projects/RPi/patches/xbmc: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 15:45:46 +02:00
Stephan Raue
6c4eea25e3 projects/RPi/patches/linux: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 15:45:46 +02:00
Stephan Raue
29f6fbe958 linux: add upstream patch to Work around BIOS defects in Intel MCH area reporting
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 15:45:45 +02:00
Stephan Raue
e820574a12 service.openelec.settings: update to service.openelec.settings-0.3.15
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 15:45:45 +02:00
eidottermihi
aec1da246c provide a /etc/os-release file (see http://0pointer.de/blog/projects/os-release) 2014-04-28 15:45:45 +02:00
Matt DeVillier
56592bf95e mceusb xhci fix 2014-04-28 15:45:45 +02:00
Stefan Saraev
42a5476386 linux: firmware: add BONAIRE_vce.bin
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-28 15:45:45 +02:00
Stefan Saraev
043e532bb9 linux: update radeon PLL patch 2014-04-28 01:15:37 +02:00
Prashant Somashekar
68d6051696 linux: update to linux-3.14.2 2014-04-28 01:15:31 +02:00
Stefan Saraev
86df4d695a pciutils: build with lto 2014-04-27 08:50:48 +02:00
Stefan Saraev
09b28bb171 wpa_supplicant: build with lto 2014-04-27 08:50:48 +02:00
Stefan Saraev
2d6fa0cef8 openssh: build with lto 2014-04-27 08:50:48 +02:00
Stefan Saraev
9828485c47 glib: build with lto 2014-04-27 08:50:48 +02:00
Stefan Saraev
ee81551b11 elfutils: build with lto 2014-04-27 08:50:48 +02:00
Stefan Saraev
1d5b082907 flac: build with lto 2014-04-27 08:50:48 +02:00
Stephan Raue
fd13a921a6 gcc: update to gcc-4.9.0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-27 08:49:52 +02:00
Stephan Raue
c08f4a5fc6 e2fsprogs: fails to build with LTO support on gcc-4.9
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-27 08:49:36 +02:00
Stephan Raue
ad5f45de0c zlib: remove 'init' target
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-26 18:55:11 +02:00
Stefan Saraev
54126994c3 eglibc:init: dont install libm 2014-04-26 18:55:11 +02:00
Stefan Saraev
a725f3e11d plymouth-lite: link libm/libz static
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-26 18:55:11 +02:00
Stephan Raue
0a78159c94 projects/*/linux: enable 'CONFIG_DRM_LOAD_EDID_FIRMWARE'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-26 14:33:35 +02:00
Stephan Raue
30f1853321 libcec: cleanup
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-26 14:33:35 +02:00
Stephan Raue
0adfa62f70 projects/Cuboxi/linux: cleanup kernel config
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-26 14:33:35 +02:00
Stephan Raue
fdab1262bf config/optimize: dont build with '-ffast-math'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-25 23:12:20 +02:00
andreasmn
f9bfc5f916 init: added wake-on-lan script 2014-04-25 23:10:26 +02:00
andreasmn
2e770ba9f4 busybox (initramfs): add 'ping' and 'ether-wake' applet 2014-04-25 23:10:26 +02:00
Stefan Saraev
c7aa19e3ba fluxbox: avoid potential SIGFPE in Menu::updateMenu() 2014-04-25 23:09:56 +02:00
Stefan Saraev
de188e8cfd fluxbox: disable xft/xpm/fribidi. not used anyway 2014-04-25 23:09:56 +02:00
adlerre
b0e1d29cac fix compile on enabeld data-time check 2014-04-25 18:09:04 +02:00
Stefan Saraev
06df6fd2ac scripts/mkimage: set 'installer' as default boot option
some people dont enable "usb legacy support" in bios (or dont know how)
thus they can't access installer at all. live mode is non-important
2014-04-25 17:19:22 +02:00
Stefan Saraev
ea4e3d8240 remove package: autoconf-2.64 2014-04-24 22:14:31 +02:00
Stefan Saraev
10126efe5c remove package: autoconf-2.68 2014-04-24 22:14:31 +02:00
Stefan Saraev
f07e60233c gcc: dont require autoconf-2.64 2014-04-24 22:14:31 +02:00
Stefan Saraev
1ff8736146 eglibc: dont require autoconf-2.68 2014-04-24 22:14:31 +02:00
Stephan Raue
4c264fa0af projects/Cuboxi: add bootloader update script
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-24 19:52:12 +02:00
Stephan Raue
c8113901e5 linux: install bootloaderfiles to /usr/share/bootloader
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-24 19:52:12 +02:00
Stephan Raue
03e09eff66 u-boot: install bootloaderfiles to /usr/share/bootloader
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-24 19:52:12 +02:00
Stephan Raue
ee7f996b38 busybox (initramfs): add applet 'basename'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-24 19:52:12 +02:00
Georgi Georgiev
cb33cc5e35 Remove a duplicate check
This seems to be caused by a merge gone wrong: 77031582ee
2014-04-24 13:52:29 +02:00
Stephan Raue
c5ba98fcd7 linux: add patch to enable Nuvoton CIR driver on probing, see https://patchwork.linuxtv.org/patch/22339/
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-24 13:19:05 +02:00
Stephan Raue
aac56ddf36 projects/Cuboxi/patches/xbmc: remove unneeded patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-24 13:19:05 +02:00
Stephan Raue
80f22e4c11 xbmc: add PR4592
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-24 13:19:05 +02:00
Stephan Raue
62716648d6 projects/Cuboxi/patches/xbmc: update IMX6 support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-24 13:19:05 +02:00
Stephan Raue
3920d4e15d RTL8192CU: add patch to support build with gcc-4.9
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stephan Raue
69be6f1e71 linux: update DVBSky patch to support build with gcc-4.9
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stephan Raue
bf6eae1e4b fuse: fails to build with GOLD support with building with gcc-4.9
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stephan Raue
04a58d139b wpa_supplicant: force linking against libm, needed for upcoming gcc-4.9 support
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stephan Raue
703b50e051 libxshmfence: build with '-fPIC -DPIC'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stephan Raue
dad9226ad2 libxcb: build with '-fPIC -DPIC'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stephan Raue
da3414e4dc libXxf86vm: build with '-fPIC -DPIC'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stephan Raue
4a7674e9a0 libXmu: build with '-fPIC -DPIC'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stephan Raue
4c26ac03cd libXau: build with '-fPIC -DPIC'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stephan Raue
a4311e1310 lockdev: build with '-fPIC -DPIC'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stephan Raue
af943fd39f libftdi: build with '-fPIC -DPIC'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stephan Raue
f4480b7ed6 dbus-glib: build with '-fPIC -DPIC'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-23 12:53:48 +02:00
Stefan Saraev
058c9ab61b xf86-video-nvidia: update to xf86-video-nvidia-331.67 2014-04-23 12:53:48 +02:00
Stephan Raue
9d438da095 projects/RPi/patches/xbmc: update RPi patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-22 18:16:26 +02:00
Stefan Saraev
20f47fe3ed connman: loopback.service: remove ExecStartPre.. 2014-04-22 13:38:16 +02:00
Stephan Raue
400327862e dvb-firmware: update to dvb-firmware-0.0.40
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-22 13:38:16 +02:00
Stephan Raue
b05b850443 eventlircd: change delayrate to 200ms for 'gpio-rc-recv'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-21 22:23:50 +02:00
Stephan Raue
822dff55c4 projects/Cuboxi/patches/linux: add patch to specify the rc-rc6-mce as the default keymap used with 'gpio-ir-receiver'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-21 22:23:50 +02:00
Stephan Raue
26ba8822bd projects/Cuboxi/linux: compile RC Maps in kernel
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-21 22:23:50 +02:00
Stephan Raue
c4eb30e2c3 projects/Cuboxi/linux: sync kernel config with other projects, disable build INPUT_POLLDEV support together with MMA8450 accelerometer and MMA8451 hwmon support.
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-21 22:23:50 +02:00
Stephan Raue
8fdee1dfef projects/Cuboxi/linux: build MC13xxx regulator drivers as modules, build SPDIF sound driver as modules (this forces to load the SPDIF as second audio driver, so HDMI Audio will be the default device), add SGTL5000 sound driver
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-21 22:23:31 +02:00
Manuel Grob
261855b09e Modified before units of systemd in xbmc-(halt|poweroff|reboot) services. 2014-04-21 18:52:24 +02:00
Stephan Raue
81010268c8 wlan-firmware: update to wlan-firmware-0.0.20
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-21 14:04:01 +02:00
Stephan Raue
774f9d51f8 projects/Cuboxi/linux: switch to 'ondemand', cleanup kernel config
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-21 14:04:01 +02:00
Stephan Raue
2980d9ad03 libcec: temporary disable imx6 support, needs a fixed kernel driver
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-21 14:04:01 +02:00
Stephan Raue
e87f98f1f8 config/noobs: update partition and file size
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-20 21:24:02 +02:00
Stephan Raue
c3cf0ef3b4 projects/Cuboxi/patches/xbmc: add upstream patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-20 21:23:40 +02:00
Stephan Raue
651372d503 Mesa: update to Mesa-10.1.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-19 16:58:14 +02:00
Stephan Raue
afd05eed2c config/version: set version back to devel
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-19 16:56:15 +02:00
Stephan Raue
5b9bb12894 config/version: set version to 3.95.6
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-19 02:41:55 +02:00
Stephan Raue
4f18d6c536 xbmc: update to xbmc-13-482ccd3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-19 02:41:28 +02:00
Stephan Raue
9b8715ec57 projects/RPi/patches/linux: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-18 20:47:19 +02:00
Stephan Raue
91785e09fb xorg-server: add support for 4k output
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-18 15:10:22 +02:00
Stephan Raue
77cf33ca92 xorg-server: remove old script
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-18 15:10:22 +02:00
Stephan Raue
0eabe8d2ac xbmc: update to xbmc-13-4540f80
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-18 15:10:22 +02:00
fritsch
c4d708cb69 Radeon: More PLL finetuning 2014-04-18 15:09:58 +02:00
Stephan Raue
d9b91c7a1e xbmc: update to xbmc-13-0a5b020
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-16 12:58:27 +02:00
Stephan Raue
542ec5a67b bcm2835-bootloader: update to bcm2835-bootloader-29dca67
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-16 11:09:23 +02:00
Stephan Raue
9de0e6f614 bcm2835-driver: update to bcm2835-driver-29dca67
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-16 11:09:23 +02:00
Stephan Raue
f6ccd7a44b openvpn: update to openvpn-2.3.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-15 17:28:15 +02:00
Stephan Raue
d2fb9ec8ea libva-driver-intel: update to libva-driver-intel-1.3.0 2014-04-15 17:28:15 +02:00
Stephan Raue
b59a02a51a libva: update to libva-1.3.0 2014-04-15 17:28:15 +02:00
Stephan Raue
839a03fdcd projects/Cuboxi/linux: remove rfkill support, add PCF8523 RTC driver
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-15 17:28:15 +02:00
guyldn
99380b68ae SAMSUNG remote keymap update
EXIT and RETURN key codes swapped
2014-04-15 06:08:37 +02:00
Stephan Raue
c158f374bd projects/Cuboxi/patches/linux: add kernel upstream patches
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-15 06:05:50 +02:00
Stephan Raue
7b81850c50 projects/RPi/patches/xbmc: update RPi backport patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-15 06:05:50 +02:00
Stephan Raue
c4309ed2c7 xbmc: add PR4562
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-15 06:05:50 +02:00
Stephan Raue
2b9fa76413 xbmc: add upstream patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-15 06:05:50 +02:00
Stephan Raue
ce7acbd33e xorg-server: update to xorg-server-1.15.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-15 06:05:49 +02:00
Stephan Raue
58f13d591c xproto: update to xproto-7.0.26
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-15 06:05:49 +02:00
Stephan Raue
b9dc833ceb linux: update to linux-3.14.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-15 06:05:49 +02:00
Stephan Raue
982f94d84e xbmc: move RPi project specific patch to projects folder
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 18:48:22 +02:00
Stephan Raue
6727205fce u-boot: install bootloader configs to image and release dir
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 18:48:05 +02:00
Stephan Raue
ccbab20fbf projects/Cuboxi/bootloader: update bootloader config
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 18:47:43 +02:00
Stephan Raue
959da55bdf libcec: remove unneeded patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 18:47:17 +02:00
Stephan Raue
a29909a816 projects/Cuboxi/patches/libcec: update imx6 patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 15:34:38 +02:00
Stephan Raue
4c2a944928 projects/Cuboxi/patches/linux: add some upstream patches, found on openbricks.org
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 15:20:37 +02:00
Stephan Raue
dee56e767f RTL8192DU: remove overlapping usbid's
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 15:20:37 +02:00
Stephan Raue
29a02d71e9 projects/Cuboxi/linux: update kernel config
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 15:20:37 +02:00
Stephan Raue
8f75ede7de remove package 'libfslcodec'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 15:20:37 +02:00
Stephan Raue
b653fc80be remove package 'libfslparser'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 15:20:37 +02:00
Stephan Raue
af458da091 remove package 'imx-lib'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 15:20:37 +02:00
Stephan Raue
ff34f71f2c wlan-firmware: update to wlan-firmware-0.0.19
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 15:20:37 +02:00
Stephan Raue
dfd2d26ba4 projects/Cuboxi/options: enable bluetooth support
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 15:20:36 +02:00
Stephan Raue
e78b94daa7 projects/Cuboxi/linux: update kernel config
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 15:20:36 +02:00
Stephan Raue
a0206ba829 projects/Cuboxi/linux: update kernel config
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 02:55:09 +02:00
Stephan Raue
e3a821a1df libfslvpuwrap: dont install /usr/share
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 02:55:09 +02:00
Stephan Raue
656142fad5 libfslparser: seperate between hardfp and softfp install
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 02:55:09 +02:00
Stephan Raue
2e2705c1f9 imx-vpu: depends on 'firmware-imx'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-14 02:55:08 +02:00
Stephan Raue
ffb291cf48 projects/Cuboxi/patches/xbmc: update imx patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 21:34:19 +02:00
Stephan Raue
ec2a339fce libfslvpuwrap: update to libfslvpuwrap-3.10.9-1.0.0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:02:26 +02:00
Stephan Raue
6e9e7869ff libfslparser: update to libfslparser-3.10.9-1.0.0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:02:26 +02:00
Stephan Raue
727e267a67 libfslcodec: update to libfslcodec-3.10.9-1.0.0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:02:26 +02:00
Stephan Raue
5a82523ae1 gpu-viv-bin-mx6q: update to gpu-viv-bin-mx6q-3.10.17-1.0.0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:02:26 +02:00
Stephan Raue
b62d98c82a imx-lib: update to imx-lib-3.10.17-1.0.0_beta
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:02:26 +02:00
Stephan Raue
77884ecbcb new package: add package 'imx-vpu'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:02:26 +02:00
Stephan Raue
8fa76b050f projects/Cuboxi/patches/xbmc: remove old patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:02:26 +02:00
Stephan Raue
f884e001af linux: remove old patches and 3.13 support
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:02:26 +02:00
jenkins101
30b16a37fd linux: update cubox kernel to 3.10.30
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:01:07 +02:00
jenkins101
2abad30bbc Cuboxi: updated bootenv files 2014-04-13 20:01:07 +02:00
jenkins101
88e8443d9f Cuboxi: u-boot enable zImage boot test 2014-04-13 20:01:07 +02:00
jenkins101
d59526e9af Cuboxi: added uEnv.txt 2014-04-13 20:01:07 +02:00
jenkins101
345024e40a Cuboxi: added u-boot zImage patch 2014-04-13 20:01:07 +02:00
jenkins101
f7d216ae10 u-boot: update to u-boot-imx6-ed888a1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:01:07 +02:00
Stephan Raue
02b19de50e projects/RPi/options: enable experimental ALSA support
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:01:07 +02:00
Stephan Raue
fa6cd55383 linux: update PLL numbers patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:01:07 +02:00
Stephan Raue
35c991c604 xbmc: add RPi backports patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:01:07 +02:00
Stephan Raue
bee7e1edac elfutils: update to elfutils-0.158
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-13 20:01:07 +02:00
Stephan Raue
e6af4972b5 remove package 'RTL8723AU', seems to be not needed actually
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-12 03:30:43 +02:00
Stephan Raue
87c0aee3f3 projects/*/options: enable RTL8812AU driver
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-12 03:30:43 +02:00
Stephan Raue
3e89fa35db new package: add package 'RTL8812AU'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-12 03:30:43 +02:00
Stephan Raue
550add0500 Revert "gcc: add patch to workaround aginst bug GCC-49423" not more needed if we dont build RTL8723AU
This reverts commit 46b8216871.
2014-04-12 03:30:42 +02:00
Stephan Raue
3af07bbf04 projects/*/options: dont build RTL8723AU anymore, it dont contains the requested drivers and will be avaible in kernel 3.15 if needed
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-12 03:30:42 +02:00
Stephan Raue
df1ee6ee19 xbmc: update to xbmc-13-7f24c56
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-12 03:30:42 +02:00
Stephan Raue
dd56a8f658 libdrm: update to libdrm-2.4.53
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-12 03:30:42 +02:00
Stephan Raue
f76cb9a6dd alsa-utils: add upstream patches, thanks to Anssi
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-12 03:30:42 +02:00
Stephan Raue
37dc490d20 bluez: update to bluez-5.17
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-12 03:30:42 +02:00
Stephan Raue
a8e9261c81 projects/*/linux: disable CONFIG_EARLY_PRINTK
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-12 03:30:42 +02:00
Stephan Raue
c22581f948 projects/*: switch to kernel R8188EU driver
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-12 03:30:42 +02:00
Wiktor Stasiak
01ade933db xf86-video-nvidia: fix acpi support 2014-04-12 02:41:33 +02:00
Stephan Raue
156e6d86d0 Mesa: depends on package 'presentproto'
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-10 11:51:51 +02:00
Stephan Raue
28430fe379 xbmc-pvr-addons: add PR288
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-10 11:36:58 +02:00
Stephan Raue
b58d4c2db7 xbmc-pvr-addons: update to xbmc-pvr-addons-82dd3c4
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-10 10:57:14 +02:00
Stephan Raue
7c9945c983 linux: update upstream patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-10 10:57:14 +02:00
Stephan Raue
efbcdb6087 RTL8192CU: add 050D:21F2 device id, this should fix #3081
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-09 04:29:30 +02:00
Stephan Raue
00ab9d1574 projects/*/linux: (re)enable userspace firmware loader support, this should fix #3083
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-09 04:29:29 +02:00
Stephan Raue
2ff789c071 dvb-firmware: update to dvb-firmware-0.0.39
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-09 04:29:29 +02:00
Stephan Raue
9df93e241a config/version: set version back to devel
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-04-08 21:06:27 +02:00
277 changed files with 68600 additions and 52465 deletions

View File

@@ -3,9 +3,9 @@
{
"label": "System",
"filesystem_type": "FAT",
"partition_size_nominal": 128,
"partition_size_nominal": 160,
"want_maximised": false,
"uncompressed_tarball_size": 110,
"uncompressed_tarball_size": 120,
"mkfs_options": ""
},
{

View File

@@ -4,17 +4,17 @@ if [ "$OPTIMIZATIONS" = normal ];then
fi
if [ "$OPTIMIZATIONS" = size ];then
GCC_OPTIM="-Os -fexcess-precision=fast -ffast-math"
GCC_OPTIM="-Os -fexcess-precision=fast"
LD_OPTIM="-Wl,--as-needed"
fi
if [ "$LTO_SUPPORT" = yes ];then
GCC_OPTIM="$GCC_OPTIM -flto"
LD_OPTIM="$LD_OPTIM -fuse-linker-plugin -flto"
GCC_OPTIM_LTO="-flto -ffat-lto-objects"
LD_OPTIM_LTO="-fuse-linker-plugin -flto"
fi
if [ "$GOLD_SUPPORT" = yes ];then
LD_OPTIM="$LD_OPTIM -fuse-ld=gold"
LD_OPTIM_GOLD="-fuse-ld=gold"
fi
if [ "$DEBUG" = yes ]; then
@@ -28,9 +28,9 @@ else
fi
TARGET_CPPFLAGS=
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $PROJECT_CFLAGS"
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $GCC_OPTIM_LTO $PROJECT_CFLAGS"
TARGET_CXXFLAGS="$TARGET_CFLAGS"
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $GCC_OPTIM"
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $LD_OPTIM_GOLD $LD_OPTIM_LTO $GCC_OPTIM"
TARGET_LIBDIR="$SYSROOT_PREFIX/lib $SYSROOT_PREFIX/usr/lib"
TARGET_INCDIR="$SYSROOT_PREFIX/include $SYSROOT_PREFIX/usr/include"

View File

@@ -1,5 +1,5 @@
# VERSION: set full version, use "devel" for development version
OPENELEC_VERSION="3.95.5"
OPENELEC_VERSION="4.0.4"
# OS_VERSION: OS Version
OS_VERSION="4.0"

View File

@@ -0,0 +1,36 @@
From 180283e2307b07bbd3958d24382aab8271dd4c1d Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi.hannula@iki.fi>
Date: Mon, 30 Sep 2013 23:46:50 +0300
Subject: [PATCH 1/1] amixer: actually print all TLVs in a container TLV
Due to a wrong indexing of tlv[] decode_tlv() always skips to the end of
the container TLV since the used tlv[1] contains the container TLV size
instead of the intended element size.
This causes, for example, only the first HDMI channel map TLV to be
shown.
Fix the indexing to actually use the element size.
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
amixer/amixer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/amixer/amixer.c b/amixer/amixer.c
index 7727943..b83b0c3 100644
--- a/amixer/amixer.c
+++ b/amixer/amixer.c
@@ -468,7 +468,7 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
return;
}
decode_tlv(spaces + 2, tlv + idx, tlv[idx+1] + 8);
- idx += 2 + (tlv[1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
+ idx += 2 + (tlv[idx+1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
}
break;
case SND_CTL_TLVT_DB_SCALE:
--
1.7.11.7

View File

@@ -0,0 +1,42 @@
From f1e991e81350e9388ab6cf04a64ac4b4389a588c Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi.hannula@iki.fi>
Date: Tue, 1 Oct 2013 23:46:53 +0300
Subject: [PATCH] amixer: fix indentation when printing container TLV contents
decode_tlv() adds indentation in the beginning, with the expectation
that the TLV will be printed on the line afterwards in a switch-case.
However, in the case of a container TLV the switch-case simply adds
another level of indentation and calls decode_tlv() for the inner TLVs.
This causes the first inner TLV to be printed with too much indentation
and double '|'.
Fix that by printing "container" and a newline for container TLVs, so
that the result is as follows:
: values=0,0,0,0,0,0,0,0
| container
| chmap-variable=FL,FR
| chmap-variable=FL,FR,LFE
| chmap-variable=FL,FR,FC
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
amixer/amixer.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/amixer/amixer.c b/amixer/amixer.c
index b83b0c3..cf82892 100644
--- a/amixer/amixer.c
+++ b/amixer/amixer.c
@@ -460,6 +460,7 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
}
switch (type) {
case SND_CTL_TLVT_CONTAINER:
+ printf("container\n");
size += sizeof(unsigned int) -1;
size /= sizeof(unsigned int);
while (idx < size) {
--
1.7.11.7

View File

@@ -0,0 +1,232 @@
From a1992044d5813371ce71f5252187942f943b198d Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi.hannula@iki.fi>
Date: Tue, 12 Nov 2013 00:04:02 +0200
Subject: [PATCH] speaker-test: Fix chmapped channel selection without
specified chmap
The channel selection currently does not work properly when there is a
driver-provided non-ALSA-traditional channel map but no manual channel
map was explicitely requested with "-m".
For example, the CEA/HDMI 8ch map is FL,FR,RLC,RRC,FC,LFE,RL,RR. Note
that it is otherwise the same as the traditional ALSA channel map,
except that the traditional rear speakers are considered
rear-center speakers and the traditional side speakers are considered
rear speakers.
Speaker-test tries to play back channels in this following order:
0, /* Front Left */
4, /* Center */
1, /* Front Right */
7, /* Side Right */
3, /* Rear Right */
2, /* Rear Left */
6, /* Side Left */
5, /* LFE */
When it is the time to play back Side Left/Right, speaker-test tries to
look for SL/SR in the chmap, but doesn't find it, so it just plays back
channels 6/7 (which indeed are the side speakers, or RL/RR in this
channel map - so the correct channels are selected).
When it becomes the time to playback Rear Left/Right, speaker-test again
tries to find RL/RR in the chmap, and this time it does find them in the
chmap positions 6/7.
So the channels 6/7 are tested twice and 2/3 are never tested.
To fix this, define a generic playback order channel_order[] to be used
when the channel map is present (but not user-defined) and generate a
(speaker/playback number => channel number) mapping with the channels
ordered in the following order:
1. regular channels found in channel_order[] in the defined order,
2. channels not found in channel_order[] ordered by channel number.
3. UNKNOWN channels ordered by channel number.
4. NA channels ordered by channel number.
For channels outside the channel map just use their channel numbers (so
they will be last after all of the above).
For example, if the playback device has a fictional default channel map
of FR,FL,UNKNOWN1,FOO,BAR,RR,RL,UNKNOWN2, the playback order will be
FL,FR,RR,RL,FOO,BAR,UNKNOWN1,UNKNOWN2(,any_extra_channels).
When the channel mapping is specified manually, the specified order is
used for playback as before.
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
speaker-test/speaker-test.c | 113 +++++++++++++++++++++++++++++++++++---------
1 file changed, 91 insertions(+), 22 deletions(-)
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
index d35065f..25b08dc 100644
--- a/speaker-test/speaker-test.c
+++ b/speaker-test/speaker-test.c
@@ -88,6 +88,8 @@ enum {
#define BE_INT(v) (v)
#endif
+#define ARRAY_SIZE(x) (int)(sizeof(x)/sizeof(x[0]))
+
static char *device = "default"; /* playback device */
static snd_pcm_format_t format = SND_PCM_FORMAT_S16; /* sample format */
static unsigned int rate = 48000; /* stream rate */
@@ -110,6 +112,7 @@ static snd_pcm_t *pcm_handle = NULL;
#ifdef CONFIG_SUPPORT_CHMAP
static snd_pcm_chmap_t *channel_map;
static int channel_map_set;
+static unsigned int *ordered_channels;
#endif
static const char *const channel_name[MAX_CHANNELS] = {
@@ -156,36 +159,94 @@ static const int channels8[] = {
5, /* LFE */
};
-static int get_mapped_channel(int chn)
-{
#ifdef CONFIG_SUPPORT_CHMAP
- static const int maps[MAX_CHANNELS] = {
- SND_CHMAP_FL,
- SND_CHMAP_FR,
- SND_CHMAP_RL,
- SND_CHMAP_RR,
- SND_CHMAP_FC,
- SND_CHMAP_LFE,
- SND_CHMAP_SL,
- SND_CHMAP_SR,
- };
+/* circular clockwise and bottom-to-top order */
+static const int channel_order[] = {
+ [SND_CHMAP_FLW] = 10,
+ [SND_CHMAP_FL] = 20,
+ [SND_CHMAP_TFL] = 30,
+ [SND_CHMAP_FLC] = 40,
+ [SND_CHMAP_TFLC] = 50,
+ [SND_CHMAP_FC] = 60,
+ [SND_CHMAP_TFC] = 70,
+ [SND_CHMAP_FRC] = 80,
+ [SND_CHMAP_TFRC] = 90,
+ [SND_CHMAP_FR] = 100,
+ [SND_CHMAP_TFR] = 110,
+ [SND_CHMAP_FRW] = 120,
+ [SND_CHMAP_SR] = 130,
+ [SND_CHMAP_TSR] = 140,
+ [SND_CHMAP_RR] = 150,
+ [SND_CHMAP_TRR] = 160,
+ [SND_CHMAP_RRC] = 170,
+ [SND_CHMAP_RC] = 180,
+ [SND_CHMAP_TRC] = 190,
+ [SND_CHMAP_RLC] = 200,
+ [SND_CHMAP_RL] = 210,
+ [SND_CHMAP_TRL] = 220,
+ [SND_CHMAP_SL] = 230,
+ [SND_CHMAP_TSL] = 240,
+ [SND_CHMAP_BC] = 250,
+ [SND_CHMAP_TC] = 260,
+ [SND_CHMAP_LLFE] = 270,
+ [SND_CHMAP_LFE] = 280,
+ [SND_CHMAP_RLFE] = 290,
+ /* not in table = 10000 */
+ [SND_CHMAP_UNKNOWN] = 20000,
+ [SND_CHMAP_NA] = 30000,
+};
- if (channel_map && maps[chn]) {
- int i;
- for (i = 0; i < channel_map->channels; i++) {
- if (channel_map->pos[i] == maps[chn])
- return i;
- }
+static int chpos_cmp(const void *chnum1p, const void *chnum2p)
+{
+ int chnum1 = *(int *)chnum1p;
+ int chnum2 = *(int *)chnum2p;
+ int chpos1 = channel_map->pos[chnum1];
+ int chpos2 = channel_map->pos[chnum2];
+ int weight1 = 10000;
+ int weight2 = 10000;
+
+ if (chpos1 < ARRAY_SIZE(channel_order) && channel_order[chpos1])
+ weight1 = channel_order[chpos1];
+ if (chpos2 < ARRAY_SIZE(channel_order) && channel_order[chpos2])
+ weight2 = channel_order[chpos2];
+
+ if (weight1 == weight2) {
+ /* order by channel number if both have the same position (e.g. UNKNOWN)
+ * or if neither is in channel_order[] */
+ return chnum1 - chnum2;
}
-#endif
- return chn;
+
+ /* order according to channel_order[] */
+ return weight1 - weight2;
+}
+
+static int *order_channels(void)
+{
+ /* create a (playback order => channel number) table with channels ordered
+ * according to channel_order[] values */
+ int i;
+ int *ordered_chs;
+
+ ordered_chs = calloc(channel_map->channels, sizeof(*ordered_chs));
+ if (!ordered_chs)
+ return NULL;
+
+ for (i = 0; i < channel_map->channels; i++)
+ ordered_chs[i] = i;
+
+ qsort(ordered_chs, channel_map->channels, sizeof(*ordered_chs), chpos_cmp);
+
+ return ordered_chs;
}
+#endif
static int get_speaker_channel(int chn)
{
#ifdef CONFIG_SUPPORT_CHMAP
- if (channel_map_set)
+ if (channel_map_set || (ordered_channels && chn >= channel_map->channels))
return chn;
+ if (ordered_channels)
+ return ordered_channels[chn];
#endif
switch (channels) {
@@ -200,7 +261,7 @@ static int get_speaker_channel(int chn)
break;
}
- return get_mapped_channel(chn);
+ return chn;
}
static const char *get_channel_name(int chn)
@@ -611,6 +672,11 @@ static int config_chmap(snd_pcm_t *handle, const char *mapstr)
}
channel_map = snd_pcm_get_chmap(handle);
+
+ /* create a channel order table for default layouts */
+ if (channel_map)
+ ordered_channels = order_channels();
+
return 0;
}
#endif
@@ -1230,6 +1296,9 @@ int main(int argc, char *argv[]) {
free(frames);
+#ifdef CONFIG_SUPPORT_CHMAP
+ free(ordered_channels);
+#endif
return prg_exit(EXIT_SUCCESS);
}
--
1.7.11.7

View File

@@ -0,0 +1,44 @@
From 5b0c6da0d8166cd404379740c5f75fda44ca5806 Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi.hannula@iki.fi>
Date: Sun, 10 Nov 2013 20:29:18 +0200
Subject: [PATCH] speaker-test: Always show chmap channel names if available
Currently speaker-test only uses channel names retrieved by
snd_pcm_chmap_long_name() when a channel map has been manually set.
However, the device may provide a default (or fixed) channel map that
differs from the traditional ALSA map, in which case wrong channel names
are shown.
Fix that by always using the name from the channel map when a channel
map is present.
Note that the names retrieved by snd_pcm_chmap_long_name() are not
currently localized via gettext.
Also note that Linux kernel HDMI driver reported wrong default channel
maps before 56cac413dd6d43af8355f5d1f90a199b540f73fc ("ALSA: hda - hdmi:
Fix reported channel map on common default layouts").
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
speaker-test/speaker-test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
index 25b08dc..101bb0d 100644
--- a/speaker-test/speaker-test.c
+++ b/speaker-test/speaker-test.c
@@ -267,7 +267,7 @@ static int get_speaker_channel(int chn)
static const char *get_channel_name(int chn)
{
#ifdef CONFIG_SUPPORT_CHMAP
- if (channel_map_set && chn < channel_map->channels) {
+ if (channel_map && chn < channel_map->channels) {
const char *name = snd_pcm_chmap_long_name(channel_map->pos[chn]);
return name ? name : "Unknown";
}
--
1.7.11.7

View File

@@ -0,0 +1,41 @@
From 58752c3ae32e03d676fa225c99c9a8dde9de39ed Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi.hannula@iki.fi>
Date: Sun, 10 Nov 2013 20:29:19 +0200
Subject: [PATCH] speaker-test: Show out-of-chmap channels as Unknown
Currently speaker-test falls back to ALSA default channel names for
channels out-of-chmap.
This causes e.g. the 4th channel of
$ speaker-test -c4 -Dhdmi -m "FR,FL,FC"
to be shown as "Rear Right".
Change the code to show such channels as Unknown instead, similar to
when snd_pcm_chmap_long_name() does not know the name.
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
speaker-test/speaker-test.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
index 101bb0d..261f399 100644
--- a/speaker-test/speaker-test.c
+++ b/speaker-test/speaker-test.c
@@ -267,8 +267,10 @@ static int get_speaker_channel(int chn)
static const char *get_channel_name(int chn)
{
#ifdef CONFIG_SUPPORT_CHMAP
- if (channel_map && chn < channel_map->channels) {
- const char *name = snd_pcm_chmap_long_name(channel_map->pos[chn]);
+ if (channel_map) {
+ const char *name = NULL;
+ if (chn < channel_map->channels)
+ name = snd_pcm_chmap_long_name(channel_map->pos[chn]);
return name ? name : "Unknown";
}
#endif
--
1.7.11.7

View File

@@ -37,101 +37,95 @@ if [ -f $HOME/.config/sound.conf ]; then
else
# get card num
card=`echo $1 | sed 's/[^0-9]*//g'`
# set common mixer params
mixer 0 Master 100%
mixer 0 Front 100%
mixer 0 PCM 100%
mixer 0 Synth 100%
mixer $card Master 100%
mixer $card Front 100%
mixer $card PCM 100%
mixer $card Synth 100%
# mute CD, since using digital audio instead
mixer 0 CD 0% mute
mixer $card CD 0% mute
# Only unmute Line and Aux if they are possibly used.
# mixer 0 Line 100%
# mixer 0 Aux 100%
# mixer $card Line 100%
# mixer $card Aux 100%
# mute mic
mixer 0 Mic 0% mute
mixer $card Mic 0% mute
# ESS 1969 chipset has 2 PCM channels
mixer 0 PCM,1 100%
mixer $card PCM,1 100%
# Trident/YMFPCI/emu10k1
mixer 0 Wave 100%
mixer 0 Music 100%
mixer 0 AC97 100%
mixer 0 Surround 90%
mixer 0 'Surround Digital' 90%
mixer 0 'Wave Surround' 90%
mixer 0 'Duplicate Front' 90%
mixer 0 'Sigmatel 4-Speaker Stereo' 90%
mixer $card Wave 100%
mixer $card Music 100%
mixer $card AC97 100%
mixer $card Surround 90%
mixer $card 'Surround Digital' 90%
mixer $card 'Wave Surround' 90%
mixer $card 'Duplicate Front' 90%
mixer $card 'Sigmatel 4-Speaker Stereo' 90%
# CS4237B chipset:
mixer 0 'Master Digital' 100%
mixer $card 'Master Digital' 100%
# DRC
mixer 0 'Dynamic Range Compression' 90%
mixer $card 'Dynamic Range Compression' 90%
# Envy24 chips with analog outs
mixer 0 DAC 100%
mixer 0 DAC,0 100%
mixer 0 DAC,1 100%
mixer $card DAC 100%
mixer $card DAC,0 100%
mixer $card DAC,1 100%
# some notebooks use headphone instead of master
mixer 0 Headphone 100%
mixer 0 Speaker 100%
mixer 0 'Internal Speaker' 0% mute
mixer 0 Playback 100%
mixer 1 Headphone 100%
mixer 1 Speaker 100%
mixer 0 Center 100%
mixer 0 LFE 100%
mixer 0 Center/LFE 100%
mixer $card Headphone 100%
mixer $card Speaker 100%
mixer $card 'Internal Speaker' 0% mute
mixer $card Playback 100%
mixer $card Headphone 100%
mixer $card Speaker 100%
mixer $card Center 100%
mixer $card LFE 100%
mixer $card Center/LFE 100%
# Intel P4P800-MX (Ubuntu bug #5813)
mixer 0 'Master Playback Switch' on
mixer $card 'Master Playback Switch' on
# set digital output mixer params
mixer 0 'IEC958' 100% on
mixer 0 'IEC958 Output' 100%
mixer 0 'IEC958 Coaxial' 100%
mixer 0 'IEC958 LiveDrive' 100%
mixer 0 'IEC958 Optical Raw' 100%
mixer 0 'SPDIF Out' 100%
mixer 0 'SPDIF Front' 100%
mixer 0 'SPDIF Rear' 100%
mixer 0 'SPDIF Center/LFE' 100%
mixer 0 'Master Digital' 100%
mixer $card 'IEC958' 100% on
mixer $card 'IEC958 Output' 100%
mixer $card 'IEC958 Coaxial' 100%
mixer $card 'IEC958 LiveDrive' 100%
mixer $card 'IEC958 Optical Raw' 100%
mixer $card 'SPDIF Out' 100%
mixer $card 'SPDIF Front' 100%
mixer $card 'SPDIF Rear' 100%
mixer $card 'SPDIF Center/LFE' 100%
mixer $card 'Master Digital' 100%
mixer 0 'Analog Front' 100%
mixer 0 'Analog Rear' 100%
mixer 0 'Analog Center/LFE' 100%
mixer $card 'Analog Front' 100%
mixer $card 'Analog Rear' 100%
mixer $card 'Analog Center/LFE' 100%
# ASRock ION 330 (and perhaps others) has 2 IEC958 channels
mixer 0 IEC958,0 on
mixer 0 IEC958,1 on
mixer $card IEC958,0 on
mixer $card IEC958,1 on
# some ION2 has much more IEC958 channels ...
mixer 0 IEC958,2 on
mixer 0 IEC958,3 on
# ... or "simply" more soundchips
mixer 1 IEC958,0 on
mixer 1 IEC958,1 on
mixer 1 IEC958,2 on
mixer 1 IEC958,3 on
mixer $card IEC958,2 on
mixer $card IEC958,3 on
# ASRock ION 330 has Master Front set to 0
mixer 0 'Master Front' 100%
mixer $card 'Master Front' 100%
# Shuttle XS35GT needs this too
mixer 0 'Master',0 100% on
mixer $card 'Master',0 100% on
# and this for various Fusion devices like Zotac ZBOX
mixer 1 'Master',0 100% on
mixer 1 'Front',0 100% on
mixer $card 'Front',0 100% on
fi
exit 0

View File

@@ -17,4 +17,4 @@
################################################################################
# When a sound device is detected, restore the volume settings
KERNEL=="controlC[0-9]*", NAME="snd/%k", ACTION=="add", RUN+="soundconfig"
KERNEL=="controlC[0-9]*", NAME="snd/%k", ACTION=="add", RUN+="soundconfig %k"

View File

@@ -49,11 +49,6 @@ else
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-sse"
fi
pre_configure_target() {
# flac-1.3.0 fails to build with LTO support
strip_lto
}
post_makeinstall_target() {
rm -rf $INSTALL/usr/bin
}

View File

@@ -25,7 +25,6 @@ PKG_SITE="http://www.zlib.net"
PKG_URL="http://www.zlib.net/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_DEPENDS_HOST=""
PKG_DEPENDS_INIT="toolchain"
PKG_PRIORITY="optional"
PKG_SECTION="compress"
PKG_SHORTDESC="zlib: A general purpose (ZIP) data compression library"
@@ -36,7 +35,6 @@ PKG_AUTORECONF="no"
TARGET_CONFIGURE_OPTS="--prefix=/usr"
HOST_CONFIGURE_OPTS="--prefix=$ROOT/$TOOLCHAIN"
INIT_CONFIGURE_OPTS="--prefix=/"
pre_build_target() {
mkdir -p $PKG_BUILD/.$TARGET_NAME
@@ -47,8 +45,3 @@ pre_build_host() {
mkdir -p $PKG_BUILD/.$HOST_NAME
cp -RP $PKG_BUILD/* $PKG_BUILD/.$HOST_NAME
}
pre_build_init() {
mkdir -p $PKG_BUILD/.$TARGET_NAME-init
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME-init
}

View File

@@ -1,62 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="autoconf-2.64"
PKG_VERSION="legacy"
PKG_SOURCE_DIR="$PKG_NAME"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://sources.redhat.com/autoconf/"
PKG_URL="http://ftp.gnu.org/gnu/autoconf/$PKG_NAME.tar.bz2"
PKG_SOURCE_DIR="$PKG_NAME"
PKG_DEPENDS_HOST="ccache:host m4:host"
PKG_PRIORITY="optional"
PKG_SECTION="devel"
PKG_SHORTDESC="autoconf: A GNU tool for automatically configuring source code"
PKG_LONGDESC="Autoconf is an extensible package of m4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of m4 macro calls."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
PKG_CONFIGURE_OPTS_HOST="EMACS=no \
ac_cv_path_M4=$ROOT/$TOOLCHAIN/bin/m4 \
ac_cv_prog_gnu_m4_gnu=no \
--target=$TARGET_NAME \
--program-suffix=-2.64"
make_host() {
: # nothing todo
}
makeinstall_host() {
make install \
prefix=$ROOT/$TOOLCHAIN \
pkgdatadir=$ROOT/$TOOLCHAIN/share/$PKG_NAME \
pkgdatadir=$ROOT/$TOOLCHAIN/lib/$PKG_NAME \
pkgdatadir=$ROOT/$TOOLCHAIN/include/$PKG_NAME \
install
make clean
make install \
prefix=$SYSROOT_PREFIX/usr \
pkgdatadir=$SYSROOT_PREFIX/usr/share/$PKG_NAME \
pkgdatadir=$SYSROOT_PREFIX/usr/lib/$PKG_NAME \
pkgdatadir=$SYSROOT_PREFIX/usr/include/$PKG_NAME \
install
}

View File

@@ -1,62 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="autoconf-2.68"
PKG_VERSION="legacy"
PKG_SOURCE_DIR="$PKG_NAME"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://sources.redhat.com/autoconf/"
PKG_URL="http://ftp.gnu.org/gnu/autoconf/$PKG_NAME.tar.bz2"
PKG_SOURCE_DIR="$PKG_NAME"
PKG_DEPENDS_HOST="ccache:host m4:host"
PKG_PRIORITY="optional"
PKG_SECTION="devel"
PKG_SHORTDESC="autoconf: A GNU tool for automatically configuring source code"
PKG_LONGDESC="Autoconf is an extensible package of m4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of m4 macro calls."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
PKG_CONFIGURE_OPTS_HOST="EMACS=no \
ac_cv_path_M4=$ROOT/$TOOLCHAIN/bin/m4 \
ac_cv_prog_gnu_m4_gnu=no \
--target=$TARGET_NAME \
--program-suffix=-2.68"
make_host() {
: # nothing todo
}
makeinstall_host() {
make install \
prefix=$ROOT/$TOOLCHAIN \
pkgdatadir=$ROOT/$TOOLCHAIN/share/$PKG_NAME \
pkgdatadir=$ROOT/$TOOLCHAIN/lib/$PKG_NAME \
pkgdatadir=$ROOT/$TOOLCHAIN/include/$PKG_NAME \
install
make clean
make install \
prefix=$SYSROOT_PREFIX/usr \
pkgdatadir=$SYSROOT_PREFIX/usr/share/$PKG_NAME \
pkgdatadir=$SYSROOT_PREFIX/usr/lib/$PKG_NAME \
pkgdatadir=$SYSROOT_PREFIX/usr/include/$PKG_NAME \
install
}

View File

@@ -48,6 +48,10 @@ PKG_CONFIGURE_OPTS_HOST="--disable-tests \
--disable-bash-completion \
--enable-asserts=yes"
pre_configure_target() {
CFLAGS="$CFLAGS -fPIC -DPIC"
}
post_makeinstall_target() {
rm -rf $INSTALL/usr/bin/dbus-binding-tool
}

View File

@@ -23,7 +23,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.eglibc.org/"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="ccache:host autotools:host autoconf-2.68:host linux:host gcc:bootstrap"
PKG_DEPENDS_TARGET="ccache:host autotools:host autoconf:host linux:host gcc:bootstrap"
PKG_DEPENDS_INIT="eglibc"
PKG_PRIORITY="optional"
PKG_SECTION="toolchain/devel"
@@ -70,7 +70,7 @@ EGLIBC_EXCLUDE_BIN="$EGLIBC_EXCLUDE_BIN xtrace zdump zic"
pre_build_target() {
cd $PKG_BUILD
aclocal --force --verbose
autoconf-2.68 --force --verbose
autoconf --force --verbose
cd -
}
@@ -200,7 +200,6 @@ makeinstall_init() {
mkdir -p $INSTALL/lib
cp -PR $ROOT/$PKG_BUILD/.$TARGET_NAME/elf/ld*.so* $INSTALL/lib
cp $ROOT/$PKG_BUILD/.$TARGET_NAME/libc.so.6 $INSTALL/lib
cp $ROOT/$PKG_BUILD/.$TARGET_NAME/math/libm.so.6 $INSTALL/lib
cp $ROOT/$PKG_BUILD/.$TARGET_NAME/nptl/libpthread.so.0 $INSTALL/lib
if [ "$TARGET_ARCH" = "arm" -a "$TARGET_FLOAT" = "hard" ]; then

View File

@@ -0,0 +1,28 @@
From b702bd4fdb4aaebb6aadb3ce773bcc9eea8d2dc8 Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Thu, 24 Apr 2014 22:05:37 +0300
Subject: [PATCH] allow newer autoconf
---
aclocal.m4 | 5 -----
1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/aclocal.m4 b/aclocal.m4
index bc48586..0e3c7f4 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -2,11 +2,6 @@ dnl We require that everyone use exactly the same Autoconf version so that
dnl the internal functions defined and used by the main configure script
dnl match those expected by the fragments.
m4_define([GLIBC_AUTOCONF_VERSION], [2.68])
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), GLIBC_AUTOCONF_VERSION, [],
- [m4_fatal(m4_flatten(
-Exactly version GLIBC_AUTOCONF_VERSION of Autoconf is required but you have
-m4_defn([AC_AUTOCONF_VERSION])
-), [63])])dnl
dnl
dnl We define the macro GLIBC_PROVIDES to do an AC_PROVIDE for each macro
dnl which appears in configure.ac before the sysdep configure scripts are run.
--
1.7.2.5

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="elfutils"
PKG_VERSION="0.155"
PKG_VERSION="0.158"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
@@ -32,16 +32,14 @@ PKG_LONGDESC="Elfutils is a collection of utilities, including eu-ld (a linker),
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
PKG_CONFIGURE_OPTS_TARGET="--disable-werror \
PKG_CONFIGURE_OPTS_TARGET="utrace_cv_cc_biarch=false \
--disable-werror \
--disable-progs \
--with-zlib \
--without-bzlib \
--without-lzma"
pre_configure_target() {
# elfutils fails to build with LTO support
strip_lto
export CFLAGS="$CFLAGS -fPIC -DPIC"
}

View File

@@ -1,92 +0,0 @@
Allow the usage of an external implementation of the argp functions
uClibc lack the argp family of functions that glibc has. Therefore, we
add a check in the configure script to see if argp_parse is available
in the C library. If not, we look if it is available in the additional
'argp' library. If so, we link against that library. If not, we error
out.
This allows to build elfutils against uClibc with an external argp
library.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/configure.ac
===================================================================
--- a/configure.ac
+++ b/configure.ac
@@ -269,6 +269,13 @@
enable_progs=yes)
AM_CONDITIONAL(ENABLE_PROGS, test "$enable_progs" = yes)
+AC_CHECK_FUNC([argp_parse])
+if test "$ac_cv_func_argp_parse" != yes; then
+ AC_CHECK_LIB([argp],[argp_parse],ARGP_LIBS=-largp,
+ AC_MSG_ERROR([No argp_parse function available.]))
+fi
+AC_SUBST(ARGP_LIBS)
+
dnl Test for zlib and bzlib, gives ZLIB/BZLIB .am
dnl conditional and config.h USE_ZLIB/USE_BZLIB #define.
save_LIBS="$LIBS"
Index: b/src/Makefile.am
===================================================================
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -98,26 +98,29 @@
# Buggy old compilers.
readelf_no_Werror = yes
-readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
+ $(ARGP_LIBS)
nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
- $(demanglelib)
-size_LDADD = $(libelf) $(libeu) $(libmudflap)
-strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
-ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
+ $(demanglelib) $(ARGP_LIBS)
+size_LDADD = $(libelf) $(libeu) $(libmudflap) $(ARGP_LIBS)
+strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl $(ARGP_LIBS)
+ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl $(ARGP_LIBS)
if NATIVE_LD
# -ldl is always needed for libebl.
ld_LDADD += libld_elf.a
endif
ld_LDFLAGS = -rdynamic
-elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
-findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap)
-addr2line_LDADD = $(libdw) $(libelf) $(libmudflap)
-elfcmp_LDADD = $(libebl) $(libelf) $(libmudflap) -ldl
-objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
-ranlib_LDADD = libar.a $(libelf) $(libeu) $(libmudflap)
-strings_LDADD = $(libelf) $(libeu) $(libmudflap)
-ar_LDADD = libar.a $(libelf) $(libeu) $(libmudflap)
-unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libmudflap) -ldl
+elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl $(ARGP_LIBS)
+findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap) $(ARGP_LIBS)
+addr2line_LDADD = $(libdw) $(libelf) $(libmudflap) $(ARGP_LIBS)
+elfcmp_LDADD = $(libebl) $(libelf) $(libmudflap) -ldl $(ARGP_LIBS)
+objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
+ $(ARGP_LIBS)
+ranlib_LDADD = libar.a $(libelf) $(libeu) $(libmudflap) $(ARGP_LIBS)
+strings_LDADD = $(libelf) $(libeu) $(libmudflap) $(ARGP_LIBS)
+ar_LDADD = libar.a $(libelf) $(libeu) $(libmudflap) $(ARGP_LIBS)
+unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libmudflap) -ldl \
+ $(ARGP_LIBS)
ldlex.o: ldscript.c
ldlex_no_Werror = yes
Index: b/libdw/Makefile.am
===================================================================
--- a/libdw/Makefile.am
+++ b/libdw/Makefile.am
@@ -111,7 +111,7 @@
-Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
-Wl,--version-script,$<,--no-undefined \
-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
- -ldl $(zip_LIBS)
+ -ldl $(zip_LIBS) $(ARGP_LIBS)
if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
ln -fs $@ $@.$(VERSION)

View File

@@ -1,24 +0,0 @@
Provide a compatibility alias __memcpy
For some reason, libelf uses the internal glibc alias __memcpy, which
doesn't exist in uClibc. Add a manual alias so that the build can
proceed with uClibc.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/libelf/libelf.h
===================================================================
--- a/libelf/libelf.h
+++ b/libelf/libelf.h
@@ -34,6 +34,11 @@
/* Get the ELF types. */
#include <elf.h>
+#ifndef _LIBC
+#ifndef __mempcpy
+#define __mempcpy mempcpy
+#endif
+#endif
/* Known translation types. */
typedef enum

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,28 @@
commit 7f1eec317db79627b473c5b149a22a1b20d1f68f
Author: Mark Wielaard <mjw@redhat.com>
Date: Wed Apr 9 11:33:23 2014 +0200
CVE-2014-0172 Check for overflow before calling malloc to uncompress data.
https://bugzilla.redhat.com/show_bug.cgi?id=1085663
Reported-by: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Mark Wielaard <mjw@redhat.com>
diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
index 79daeac..34ea373 100644
--- a/libdw/dwarf_begin_elf.c
+++ b/libdw/dwarf_begin_elf.c
@@ -282,6 +282,12 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
memcpy (&size, data->d_buf + 4, sizeof size);
size = be64toh (size);
+ /* Check for unsigned overflow so malloc always allocated
+ enough memory for both the Elf_Data header and the
+ uncompressed section data. */
+ if (unlikely (sizeof (Elf_Data) + size < size))
+ break;
+
Elf_Data *zdata = malloc (sizeof (Elf_Data) + size);
if (unlikely (zdata == NULL))
break;

View File

@@ -0,0 +1,62 @@
commit 65cefbd0793c0f9e90a326d7bebf0a47c93294ad
Author: Josh Stone <jistone@redhat.com>
Date: Tue Mar 11 10:19:28 2014 -0700
libdwfl: dwfl_module_getdwarf.c (open_elf) only (re)set mod->e_type once.
As noted in https://sourceware.org/bugzilla/show_bug.cgi?id=16676#c2 for
systemtap, the heuristic used by open_elf to set the kernel Dwfl_Module
type to ET_DYN, even if the underlying ELF file e_type was set to
ET_EXEC, could trigger erroneously for non-kernel/non-main (debug or
aux) files. Make sure we only set the e_type of the module once when
processing the main file (when the phdrs can be trusted).
diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c
index c4bd739..f8de80b 100644
--- a/libdwfl/dwfl_module_getdwarf.c
+++ b/libdwfl/dwfl_module_getdwarf.c
@@ -1,5 +1,5 @@
/* Find debugging and symbol information for a module in libdwfl.
- Copyright (C) 2005-2012 Red Hat, Inc.
+ Copyright (C) 2005-2012, 2014 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -77,7 +77,7 @@ open_elf (Dwfl_Module *mod, struct dwfl_file *file)
return DWFL_E (LIBELF, elf_errno ());
}
- if (mod->e_type != ET_REL)
+ if (ehdr->e_type != ET_REL)
{
/* In any non-ET_REL file, we compute the "synchronization address".
@@ -131,11 +131,24 @@ open_elf (Dwfl_Module *mod, struct dwfl_file *file)
}
}
- mod->e_type = ehdr->e_type;
+ /* We only want to set the module e_type explictly once, derived from
+ the main ELF file. (It might be changed for the kernel, because
+ that is special - see below.) open_elf is always called first for
+ the main ELF file, because both find_dw and find_symtab call
+ __libdwfl_getelf first to open the main file. So don't let debug
+ or aux files override the module e_type. The kernel heuristic
+ below could otherwise trigger for non-kernel/non-main files, since
+ their phdrs might not match the actual load addresses. */
+ if (file == &mod->main)
+ {
+ mod->e_type = ehdr->e_type;
- /* Relocatable Linux kernels are ET_EXEC but act like ET_DYN. */
- if (mod->e_type == ET_EXEC && file->vaddr != mod->low_addr)
- mod->e_type = ET_DYN;
+ /* Relocatable Linux kernels are ET_EXEC but act like ET_DYN. */
+ if (mod->e_type == ET_EXEC && file->vaddr != mod->low_addr)
+ mod->e_type = ET_DYN;
+ }
+ else
+ assert (mod->main.elf != NULL);
return DWFL_E_NOERROR;
}

View File

@@ -1,77 +0,0 @@
diff -Naur elfutils-0.155/libasm/Makefile.am elfutils-0.155.patch/libasm/Makefile.am
--- elfutils-0.155/libasm/Makefile.am 2012-08-27 20:27:31.000000000 +0200
+++ elfutils-0.155.patch/libasm/Makefile.am 2013-03-05 18:11:43.841545009 +0100
@@ -69,7 +69,6 @@
-Wl,--version-script,$(srcdir)/libasm.map,--no-undefined \
-Wl,--soname,$@.$(VERSION) \
../libebl/libebl.a ../libelf/libelf.so $(libasm_so_LDLIBS)
- if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
ln -fs $@ $@.$(VERSION)
install: install-am libasm.so
diff -Naur elfutils-0.155/libasm/Makefile.in elfutils-0.155.patch/libasm/Makefile.in
--- elfutils-0.155/libasm/Makefile.in 2012-08-27 20:29:45.000000000 +0200
+++ elfutils-0.155.patch/libasm/Makefile.in 2013-03-05 18:12:05.604432305 +0100
@@ -654,7 +654,6 @@
@MUDFLAP_FALSE@ -Wl,--version-script,$(srcdir)/libasm.map,--no-undefined \
@MUDFLAP_FALSE@ -Wl,--soname,$@.$(VERSION) \
@MUDFLAP_FALSE@ ../libebl/libebl.a ../libelf/libelf.so $(libasm_so_LDLIBS)
-@MUDFLAP_FALSE@ if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
@MUDFLAP_FALSE@ ln -fs $@ $@.$(VERSION)
@MUDFLAP_FALSE@install: install-am libasm.so
diff -Naur elfutils-0.155/libdw/Makefile.am elfutils-0.155.patch/libdw/Makefile.am
--- elfutils-0.155/libdw/Makefile.am 2012-08-27 20:27:31.000000000 +0200
+++ elfutils-0.155.patch/libdw/Makefile.am 2013-03-05 18:12:26.753322780 +0100
@@ -112,7 +112,6 @@
-Wl,--version-script,$<,--no-undefined \
-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
-ldl $(zip_LIBS)
- if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
ln -fs $@ $@.$(VERSION)
install: install-am libdw.so
diff -Naur elfutils-0.155/libdw/Makefile.in elfutils-0.155.patch/libdw/Makefile.in
--- elfutils-0.155/libdw/Makefile.in 2012-08-27 20:29:45.000000000 +0200
+++ elfutils-0.155.patch/libdw/Makefile.in 2013-03-05 18:12:41.272246520 +0100
@@ -844,7 +844,6 @@
@MUDFLAP_FALSE@ -Wl,--version-script,$<,--no-undefined \
@MUDFLAP_FALSE@ -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
@MUDFLAP_FALSE@ -ldl $(zip_LIBS)
-@MUDFLAP_FALSE@ if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
@MUDFLAP_FALSE@ ln -fs $@ $@.$(VERSION)
@MUDFLAP_FALSE@install: install-am libdw.so
diff -Naur elfutils-0.155/libelf/Makefile.am elfutils-0.155.patch/libelf/Makefile.am
--- elfutils-0.155/libelf/Makefile.am 2012-08-27 20:27:31.000000000 +0200
+++ elfutils-0.155.patch/libelf/Makefile.am 2013-03-05 18:13:23.328024851 +0100
@@ -106,7 +106,6 @@
$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
-Wl,--version-script,$(srcdir)/libelf.map,--no-undefined \
-Wl,--soname,$@.$(VERSION),-z,defs,-z,relro $(libelf_so_LDLIBS)
- if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
ln -fs $@ $@.$(VERSION)
install: install-am libelf.so
diff -Naur elfutils-0.155/libelf/Makefile.in elfutils-0.155.patch/libelf/Makefile.in
--- elfutils-0.155/libelf/Makefile.in 2012-08-27 20:29:45.000000000 +0200
+++ elfutils-0.155.patch/libelf/Makefile.in 2013-03-05 18:13:37.270951393 +0100
@@ -830,7 +830,6 @@
@MUDFLAP_FALSE@ $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
@MUDFLAP_FALSE@ -Wl,--version-script,$(srcdir)/libelf.map,--no-undefined \
@MUDFLAP_FALSE@ -Wl,--soname,$@.$(VERSION),-z,defs,-z,relro $(libelf_so_LDLIBS)
-@MUDFLAP_FALSE@ if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
@MUDFLAP_FALSE@ ln -fs $@ $@.$(VERSION)
@MUDFLAP_FALSE@install: install-am libelf.so
diff -Naur elfutils-0.155/src/Makefile.in elfutils-0.155.patch/src/Makefile.in
--- elfutils-0.155/src/Makefile.in 2012-08-27 20:29:46.000000000 +0200
+++ elfutils-0.155.patch/src/Makefile.in 2013-03-05 18:14:22.361713943 +0100
@@ -867,7 +867,6 @@
@NATIVE_LD_FALSE@ $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
@NATIVE_LD_FALSE@ $(libelf) $(libeu) \
@NATIVE_LD_FALSE@ -Wl,--version-script,$(srcdir)/libld_elf_i386.map
-@NATIVE_LD_FALSE@ $(textrel_check)
# Special rule to make it possible to define libld_elf_a_SOURCES as we do.
# Otherwise make would complain.

View File

@@ -1,26 +0,0 @@
diff -Naur elfutils-0.155/Makefile.am elfutils-0.155.patch/Makefile.am
--- elfutils-0.155/Makefile.am 2012-08-27 20:27:31.000000000 +0200
+++ elfutils-0.155.patch/Makefile.am 2013-03-05 18:38:47.565095550 +0100
@@ -23,8 +23,7 @@
pkginclude_HEADERS = version.h
# Add doc back when we have some real content.
-SUBDIRS = config m4 lib libelf libebl libdwfl libdw libcpu libasm backends \
- src po tests
+SUBDIRS = config m4 lib libelf libebl libdwfl libdw
EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
COPYING COPYING-GPLV2 COPYING-LGPLV3
diff -Naur elfutils-0.155/Makefile.in elfutils-0.155.patch/Makefile.in
--- elfutils-0.155/Makefile.in 2012-08-27 20:29:45.000000000 +0200
+++ elfutils-0.155.patch/Makefile.in 2013-03-05 18:39:11.176974119 +0100
@@ -256,8 +256,7 @@
pkginclude_HEADERS = version.h
# Add doc back when we have some real content.
-SUBDIRS = config m4 lib libelf libebl libdwfl libdw libcpu libasm backends \
- src po tests
+SUBDIRS = config m4 lib libelf libebl libdwfl libdw
EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
COPYING COPYING-GPLV2 COPYING-LGPLV3

View File

@@ -1,6 +1,6 @@
--- elfutils/libdwfl/ChangeLog
+++ elfutils/libdwfl/ChangeLog
@@ -52,6 +52,11 @@
@@ -680,6 +680,11 @@
* dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
Reported by Kurt Roeckx <kurt@roeckx.be>.
@@ -21,7 +21,7 @@
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -457,7 +457,10 @@ relocate_section (Dwfl_Module *mod, Elf
@@ -456,7 +456,10 @@ relocate_section (Dwfl_Module *mod, Elf
}
}
@@ -33,7 +33,7 @@
size_t complete = 0;
if (shdr->sh_type == SHT_REL)
for (size_t relidx = 0; !result && relidx < nrels; ++relidx)
@@ -559,7 +562,7 @@ relocate_section (Dwfl_Module *mod, Elf
@@ -558,7 +561,7 @@ relocate_section (Dwfl_Module *mod, Elf
nrels = next;
}
@@ -44,7 +44,7 @@
--- elfutils/libelf/ChangeLog
+++ elfutils/libelf/ChangeLog
@@ -703,10 +703,53 @@
@@ -754,10 +754,53 @@
If section content hasn't been read yet, do it before looking for the
block size. If no section data present, infer size of section header.
@@ -253,7 +253,7 @@
--- elfutils/libelf/elf_getarsym.c
+++ elfutils/libelf/elf_getarsym.c
@@ -181,6 +181,9 @@ elf_getarsym (elf, ptr)
@@ -183,6 +183,9 @@ elf_getarsym (elf, ptr)
size_t index_size = atol (tmpbuf);
if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size
@@ -902,7 +902,7 @@
#endif /* libelfP.h */
--- elfutils/src/ChangeLog
+++ elfutils/src/ChangeLog
@@ -344,6 +344,12 @@
@@ -702,6 +702,12 @@
* readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature.
@@ -915,7 +915,7 @@
2011-02-11 Roland McGrath <roland@redhat.com>
* elfcmp.c (verbose): New variable.
@@ -2056,6 +2062,16 @@
@@ -2414,6 +2420,16 @@
object symbols or symbols with unknown type.
(check_rel): Likewise.
@@ -932,7 +932,7 @@
2005-06-08 Roland McGrath <roland@redhat.com>
* readelf.c (print_ops): Add consts.
@@ -2101,6 +2117,19 @@
@@ -2459,6 +2475,19 @@
* readelf.c (dwarf_tag_string): Add new tags.
@@ -1027,7 +1027,7 @@
}
if (sym->st_shndx == SHN_XINDEX)
@@ -1032,9 +1042,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
@@ -1040,9 +1050,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
{
GElf_Shdr rcshdr_mem;
const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem);
@@ -1041,7 +1041,7 @@
{
/* Found the dynamic section. Look through it. */
Elf_Data *d = elf_getdata (scn, NULL);
@@ -1044,7 +1056,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
@@ -1052,7 +1064,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
{
GElf_Dyn dyn_mem;
GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem);
@@ -1052,7 +1052,7 @@
if (dyn->d_tag == DT_RELCOUNT)
{
@@ -1058,7 +1072,9 @@ section [%2d] '%s': DT_RELCOUNT used for
@@ -1066,7 +1080,9 @@ section [%2d] '%s': DT_RELCOUNT used for
/* Does the number specified number of relative
relocations exceed the total number of
relocations? */
@@ -1063,7 +1063,7 @@
ERROR (gettext ("\
section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
idx, section_name (ebl, idx),
@@ -1218,7 +1234,8 @@ section [%2d] '%s': no relocations for m
@@ -1226,7 +1242,8 @@ section [%2d] '%s': no relocations for m
}
}
@@ -1073,7 +1073,7 @@
ERROR (gettext (reltype == ELF_T_RELA ? "\
section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\
section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
@@ -1441,7 +1458,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
@@ -1449,7 +1466,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
Elf_Data *symdata = elf_getdata (symscn, NULL);
enum load_state state = state_undecided;
@@ -1083,7 +1083,7 @@
{
GElf_Rela rela_mem;
GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
@@ -1491,7 +1509,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
@@ -1499,7 +1517,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
Elf_Data *symdata = elf_getdata (symscn, NULL);
enum load_state state = state_undecided;
@@ -1093,7 +1093,7 @@
{
GElf_Rel rel_mem;
GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
@@ -1590,7 +1609,8 @@ section [%2d] '%s': referenced as string
@@ -1598,7 +1617,8 @@ section [%2d] '%s': referenced as string
shdr->sh_link, section_name (ebl, shdr->sh_link),
idx, section_name (ebl, idx));
@@ -1103,7 +1103,7 @@
ERROR (gettext ("\
section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"),
idx, section_name (ebl, idx));
@@ -1600,7 +1620,7 @@ section [%2d] '%s': section entry size d
@@ -1608,7 +1628,7 @@ section [%2d] '%s': section entry size d
idx, section_name (ebl, idx));
bool non_null_warned = false;
@@ -1112,7 +1112,7 @@
{
GElf_Dyn dyn_mem;
GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
@@ -1872,6 +1892,8 @@ section [%2d] '%s': entry size does not
@@ -1880,6 +1900,8 @@ section [%2d] '%s': entry size does not
idx, section_name (ebl, idx));
if (symshdr != NULL
@@ -1121,7 +1121,7 @@
&& (shdr->sh_size / shdr->sh_entsize
< symshdr->sh_size / symshdr->sh_entsize))
ERROR (gettext ("\
@@ -1898,6 +1920,12 @@ section [%2d] '%s': extended section ind
@@ -1906,6 +1928,12 @@ section [%2d] '%s': extended section ind
}
Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
@@ -1134,7 +1134,7 @@
if (*((Elf32_Word *) data->d_buf) != 0)
ERROR (gettext ("symbol 0 should have zero extended section index\n"));
@@ -1940,7 +1968,7 @@ section [%2d] '%s': hash table section i
@@ -1948,7 +1976,7 @@ section [%2d] '%s': hash table section i
size_t maxidx = nchain;
@@ -1143,7 +1143,7 @@
{
size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
@@ -1951,18 +1979,28 @@ section [%2d] '%s': hash table section i
@@ -1959,18 +1987,28 @@ section [%2d] '%s': hash table section i
maxidx = symsize;
}
@@ -1174,7 +1174,7 @@
}
@@ -1992,18 +2030,28 @@ section [%2d] '%s': hash table section i
@@ -2000,18 +2038,28 @@ section [%2d] '%s': hash table section i
maxidx = symsize;
}
@@ -1206,7 +1206,7 @@
}
@@ -2028,7 +2076,7 @@ section [%2d] '%s': bitmask size not pow
@@ -2036,7 +2084,7 @@ section [%2d] '%s': bitmask size not pow
if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))
{
ERROR (gettext ("\
@@ -1215,7 +1215,7 @@
idx, section_name (ebl, idx), (long int) shdr->sh_size,
(long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)));
return;
@@ -2700,8 +2748,9 @@ section [%2d] '%s' refers in sh_link to
@@ -2708,8 +2756,9 @@ section [%2d] '%s' refers in sh_link to
/* The number of elements in the version symbol table must be the
same as the number of symbols. */
@@ -1229,7 +1229,7 @@
idx, section_name (ebl, idx),
--- elfutils/src/readelf.c
+++ elfutils/src/readelf.c
@@ -1189,6 +1189,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
@@ -1364,6 +1364,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
GElf_Sym sym_mem;
@@ -1238,7 +1238,7 @@
printf ((grpref[0] & GRP_COMDAT)
? ngettext ("\
\nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n",
@@ -1201,8 +1203,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
@@ -1376,8 +1378,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
data->d_size / sizeof (Elf32_Word) - 1),
elf_ndxscn (scn),
elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
@@ -1249,7 +1249,7 @@
?: gettext ("<INVALID SYMBOL>"),
data->d_size / sizeof (Elf32_Word) - 1);
@@ -1353,10 +1355,12 @@ static void
@@ -1528,10 +1530,12 @@ static void
handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
{
int class = gelf_getclass (ebl->elf);
@@ -1263,7 +1263,7 @@
/* Get the data of the section. */
data = elf_getdata (scn, NULL);
@@ -1368,21 +1372,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
@@ -1543,21 +1547,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
error (EXIT_FAILURE, 0,
gettext ("cannot get section header string table index"));
@@ -1296,7 +1296,7 @@
{
GElf_Dyn dynmem;
GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dynmem);
@@ -1531,7 +1540,8 @@ static void
@@ -1706,7 +1715,8 @@ static void
handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
{
int class = gelf_getclass (ebl->elf);
@@ -1306,7 +1306,7 @@
/* Get the data of the section. */
Elf_Data *data = elf_getdata (scn, NULL);
@@ -1717,7 +1727,8 @@ static void
@@ -1892,7 +1902,8 @@ static void
handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
{
int class = gelf_getclass (ebl->elf);
@@ -1316,7 +1316,7 @@
/* Get the data of the section. */
Elf_Data *data = elf_getdata (scn, NULL);
@@ -1964,6 +1975,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
@@ -2139,6 +2150,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
error (EXIT_FAILURE, 0,
gettext ("cannot get section header string table index"));
@@ -1330,7 +1330,7 @@
/* Now we can compute the number of entries in the section. */
unsigned int nsyms = data->d_size / (class == ELFCLASS32
? sizeof (Elf32_Sym)
@@ -1974,15 +1992,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
@@ -2149,15 +2167,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
nsyms),
(unsigned int) elf_ndxscn (scn),
elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
@@ -1347,7 +1347,7 @@
fputs_unlocked (class == ELFCLASS32
? gettext ("\
@@ -2218,7 +2233,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
@@ -2393,7 +2408,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
error (EXIT_FAILURE, 0,
gettext ("cannot get section header string table index"));
@@ -1362,7 +1362,7 @@
printf (ngettext ("\
\nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
"\
@@ -2229,9 +2250,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
@@ -2404,9 +2425,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
shdr->sh_offset,
(unsigned int) shdr->sh_link,
@@ -1373,7 +1373,7 @@
unsigned int offset = 0;
for (int cnt = shdr->sh_info; --cnt >= 0; )
@@ -2284,8 +2303,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
@@ -2459,8 +2478,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
error (EXIT_FAILURE, 0,
gettext ("cannot get section header string table index"));
@@ -1389,7 +1389,7 @@
printf (ngettext ("\
\nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
"\
@@ -2297,9 +2322,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
@@ -2472,9 +2497,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
shdr->sh_offset,
(unsigned int) shdr->sh_link,
@@ -1400,7 +1400,7 @@
unsigned int offset = 0;
for (int cnt = shdr->sh_info; --cnt >= 0; )
@@ -2561,25 +2584,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
@@ -2736,25 +2759,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
filename = NULL;
}
@@ -1438,7 +1438,7 @@
{
if (cnt % 2 == 0)
printf ("\n %4d:", cnt);
@@ -2628,7 +2656,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
@@ -2803,7 +2831,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt)
++counts[lengths[cnt]];
@@ -1457,7 +1457,7 @@
printf (ngettext ("\
\nHistogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
"\
@@ -2641,9 +2679,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
@@ -2816,9 +2854,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
shdr->sh_addr,
shdr->sh_offset,
(unsigned int) shdr->sh_link,
@@ -1468,7 +1468,7 @@
if (extrastr != NULL)
fputs (extrastr, stdout);
@@ -2903,7 +2939,8 @@ print_liblist (Ebl *ebl)
@@ -3078,7 +3114,8 @@ print_liblist (Ebl *ebl)
if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST)
{
@@ -1478,7 +1478,7 @@
printf (ngettext ("\
\nLibrary list section [%2zu] '%s' at offset %#0" PRIx64 " contains %d entry:\n",
"\
@@ -4164,6 +4201,16 @@ print_debug_aranges_section (Dwfl_Module
@@ -4398,6 +4435,16 @@ print_decoded_aranges_section (Ebl *ebl,
return;
}
@@ -1497,7 +1497,7 @@
"\
--- elfutils/src/strip.c
+++ elfutils/src/strip.c
@@ -564,6 +564,11 @@ handle_elf (int fd, Elf *elf, const char
@@ -565,6 +565,11 @@ handle_elf (int fd, Elf *elf, const char
goto fail_close;
}
@@ -1509,7 +1509,7 @@
/* Storage for section information. We leave room for two more
entries since we unconditionally create a section header string
table. Maybe some weird tool created an ELF file without one.
@@ -585,7 +590,7 @@ handle_elf (int fd, Elf *elf, const char
@@ -586,7 +591,7 @@ handle_elf (int fd, Elf *elf, const char
{
/* This should always be true (i.e., there should not be any
holes in the numbering). */
@@ -1518,7 +1518,7 @@
shdr_info[cnt].scn = scn;
@@ -598,6 +603,7 @@ handle_elf (int fd, Elf *elf, const char
@@ -599,6 +604,7 @@ handle_elf (int fd, Elf *elf, const char
shdr_info[cnt].shdr.sh_name);
if (shdr_info[cnt].name == NULL)
{
@@ -1526,7 +1526,7 @@
error (0, 0, gettext ("illformed file '%s'"), fname);
goto fail_close;
}
@@ -607,6 +613,8 @@ handle_elf (int fd, Elf *elf, const char
@@ -608,6 +614,8 @@ handle_elf (int fd, Elf *elf, const char
/* Remember the shdr.sh_link value. */
shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link;
@@ -1535,7 +1535,7 @@
/* Sections in files other than relocatable object files which
are not loaded can be freely moved by us. In relocatable
@@ -619,7 +627,7 @@ handle_elf (int fd, Elf *elf, const char
@@ -620,7 +628,7 @@ handle_elf (int fd, Elf *elf, const char
appropriate reference. */
if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX))
{
@@ -1544,7 +1544,7 @@
shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt;
}
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP))
@@ -636,7 +644,12 @@ handle_elf (int fd, Elf *elf, const char
@@ -637,7 +645,12 @@ handle_elf (int fd, Elf *elf, const char
for (inner = 1;
inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
++inner)
@@ -1557,7 +1557,7 @@
if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0))
/* If the section group contains only one element and this
@@ -647,7 +660,7 @@ handle_elf (int fd, Elf *elf, const char
@@ -648,7 +661,7 @@ handle_elf (int fd, Elf *elf, const char
}
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym))
{
@@ -1566,7 +1566,7 @@
shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt;
}
@@ -655,7 +668,7 @@ handle_elf (int fd, Elf *elf, const char
@@ -656,7 +669,7 @@ handle_elf (int fd, Elf *elf, const char
discarded right away. */
if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0)
{
@@ -1575,7 +1575,7 @@
if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
{
@@ -731,10 +744,14 @@ handle_elf (int fd, Elf *elf, const char
@@ -732,10 +745,14 @@ handle_elf (int fd, Elf *elf, const char
{
/* If a relocation section is marked as being removed make
sure the section it is relocating is removed, too. */
@@ -1593,7 +1593,7 @@
/* If a group section is marked as being removed make
sure all the sections it contains are being removed, too. */
@@ -778,7 +795,7 @@ handle_elf (int fd, Elf *elf, const char
@@ -779,7 +796,7 @@ handle_elf (int fd, Elf *elf, const char
if (shdr_info[cnt].symtab_idx != 0
&& shdr_info[shdr_info[cnt].symtab_idx].data == NULL)
{
@@ -1602,7 +1602,7 @@
shdr_info[shdr_info[cnt].symtab_idx].data
= elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
@@ -818,6 +835,9 @@ handle_elf (int fd, Elf *elf, const char
@@ -819,6 +836,9 @@ handle_elf (int fd, Elf *elf, const char
else if (scnidx == SHN_XINDEX)
scnidx = xndx;
@@ -1612,7 +1612,7 @@
if (shdr_info[scnidx].idx == 0)
/* This symbol table has a real symbol in
a discarded section. So preserve the
@@ -848,12 +868,16 @@ handle_elf (int fd, Elf *elf, const char
@@ -849,12 +869,16 @@ handle_elf (int fd, Elf *elf, const char
}
/* Handle references through sh_info. */
@@ -1631,7 +1631,7 @@
/* Mark the section as investigated. */
shdr_info[cnt].idx = 2;
@@ -994,7 +1018,7 @@ handle_elf (int fd, Elf *elf, const char
@@ -995,7 +1019,7 @@ handle_elf (int fd, Elf *elf, const char
error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"),
elf_errmsg (-1));
@@ -1640,7 +1640,7 @@
/* Add this name to the section header string table. */
shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0);
@@ -1031,7 +1055,7 @@ handle_elf (int fd, Elf *elf, const char
@@ -1032,7 +1056,7 @@ handle_elf (int fd, Elf *elf, const char
error (EXIT_FAILURE, 0,
gettext ("while create section header section: %s"),
elf_errmsg (-1));
@@ -1649,7 +1649,7 @@
shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn);
if (shdr_info[cnt].data == NULL)
@@ -1087,7 +1111,7 @@ handle_elf (int fd, Elf *elf, const char
@@ -1089,7 +1113,7 @@ handle_elf (int fd, Elf *elf, const char
error (EXIT_FAILURE, 0,
gettext ("while create section header section: %s"),
elf_errmsg (-1));
@@ -1658,7 +1658,7 @@
/* Finalize the string table and fill in the correct indices in the
section headers. */
@@ -1177,20 +1201,20 @@ handle_elf (int fd, Elf *elf, const char
@@ -1179,20 +1203,20 @@ handle_elf (int fd, Elf *elf, const char
shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
NULL);
@@ -1682,7 +1682,7 @@
>= shdr_info[cnt].data->d_size / elsize);
}
@@ -1245,7 +1269,7 @@ handle_elf (int fd, Elf *elf, const char
@@ -1247,7 +1271,7 @@ handle_elf (int fd, Elf *elf, const char
sec = shdr_info[sym->st_shndx].idx;
else
{
@@ -1691,7 +1691,7 @@
sec = shdr_info[xshndx].idx;
}
@@ -1266,7 +1290,7 @@ handle_elf (int fd, Elf *elf, const char
@@ -1268,7 +1292,7 @@ handle_elf (int fd, Elf *elf, const char
nxshndx = sec;
}
@@ -1700,7 +1700,7 @@
if ((inner != destidx || nshndx != sym->st_shndx
|| (shndxdata != NULL && nxshndx != xshndx))
@@ -1293,9 +1317,11 @@ handle_elf (int fd, Elf *elf, const char
@@ -1295,9 +1319,11 @@ handle_elf (int fd, Elf *elf, const char
{
size_t sidx = (sym->st_shndx != SHN_XINDEX
? sym->st_shndx : xshndx);
@@ -1715,7 +1715,7 @@
}
}
@@ -1483,11 +1509,11 @@ handle_elf (int fd, Elf *elf, const char
@@ -1485,11 +1511,11 @@ handle_elf (int fd, Elf *elf, const char
{
GElf_Sym sym_mem;
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
@@ -1729,7 +1729,7 @@
size_t hidx = elf_hash (name) % nbucket;
if (bucket[hidx] == 0)
@@ -1506,8 +1532,8 @@ handle_elf (int fd, Elf *elf, const char
@@ -1508,8 +1534,8 @@ handle_elf (int fd, Elf *elf, const char
else
{
/* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */
@@ -1740,7 +1740,7 @@
Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
@@ -1537,11 +1563,11 @@ handle_elf (int fd, Elf *elf, const char
@@ -1539,11 +1565,11 @@ handle_elf (int fd, Elf *elf, const char
{
GElf_Sym sym_mem;
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="gettext"
PKG_VERSION="0.18.3.1"
PKG_VERSION="0.18.3.2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@@ -78,11 +78,6 @@ pre_configure_host() {
export LIBFFI_LIBS="-L$ROOT/$TOOLCHAIN/lib -lffi"
}
pre_configure_target() {
# glib segfaults with LTO optimization
strip_lto
}
post_makeinstall_host() {
cp -f gobject/.libs/glib-genmarshal $ROOT/$TOOLCHAIN/bin
cp -f gobject/glib-mkenums $ROOT/$TOOLCHAIN/bin

View File

@@ -52,8 +52,6 @@ else
fi
if [ "$XBMCPLAYER_DRIVER" = "libfslvpuwrap" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS"
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-imx6"
else
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-imx6"

View File

@@ -41,6 +41,10 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_path_HAVELIBUSB=$ROOT/$TOOLCHAIN/bin/libusb-con
--without-examples \
--without-docs"
pre_configure_target() {
CFLAGS="$CFLAGS -fPIC -DPIC"
}
post_makeinstall_target() {
rm -rf $INSTALL/usr/bin
}

View File

@@ -34,6 +34,10 @@ PKG_AUTORECONF="yes"
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared"
pre_configure_target() {
CFLAGS="$CFLAGS -fPIC -DPIC"
}
post_makeinstall_target() {
rm -rf $INSTALL/usr
}

View File

@@ -17,13 +17,13 @@
################################################################################
PKG_NAME="Mesa"
PKG_VERSION="10.1.0"
PKG_VERSION="10.1.4"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.mesa3d.org/"
PKG_URL="ftp://freedesktop.org/pub/mesa/10.1/MesaLib-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain Python:host makedepend:host libxml2:host expat glproto dri2proto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11 systemd dri3proto libxshmfence"
PKG_URL="ftp://freedesktop.org/pub/mesa/$PKG_VERSION/MesaLib-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain Python:host makedepend:host libxml2:host expat glproto dri2proto presentproto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11 systemd dri3proto libxshmfence"
PKG_PRIORITY="optional"
PKG_SECTION="graphics"
PKG_SHORTDESC="mesa: 3-D graphics library with OpenGL API"

View File

@@ -1,39 +0,0 @@
From 92e543c45da4581b1940178a94e6f2d66c749367 Mon Sep 17 00:00:00 2001
From: Christian König <christian.koenig@amd.com>
Date: Sat, 22 Mar 2014 20:30:07 +0000
Subject: st/mesa: recreate sampler view on context change v3
With shared glx contexts it is possible that a texture is create and used
in one context and then used in another one resulting in incorrect
sampler view usage.
v2: avoid template copy
v3: add XXX comment
Signed-off-by: Christian König <christian.koenig@amd.com>
Cc: "10.0 10.1" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
---
diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c
index 3557a3f..75e6fac 100644
--- a/src/mesa/state_tracker/st_atom_texture.c
+++ b/src/mesa/state_tracker/st_atom_texture.c
@@ -198,6 +198,16 @@ st_get_texture_sampler_view_from_stobj(struct st_texture_object *stObj,
if (!stObj->sampler_view) {
stObj->sampler_view =
st_create_texture_sampler_view_from_stobj(pipe, stObj, samp, format);
+
+ } else if (stObj->sampler_view->context != pipe) {
+ /* Recreate view in correct context, use existing view as template */
+ /* XXX: This isn't optimal, we should try to use more than one view.
+ Otherwise we create/destroy the view all the time
+ */
+ struct pipe_sampler_view *sv =
+ pipe->create_sampler_view(pipe, stObj->pt, stObj->sampler_view);
+ pipe_sampler_view_reference(&stObj->sampler_view, NULL);
+ stObj->sampler_view = sv;
}
return stObj->sampler_view;
--
cgit v0.9.0.2-2-gbebe

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="bcm2835-driver"
PKG_VERSION="3ade415"
PKG_VERSION="f15c3b5"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="nonfree"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="gpu-viv-bin-mx6q"
PKG_VERSION="3.5.7-1.0.0"
PKG_VERSION="3.10.17-1.0.0"
PKG_REV="1"
PKG_ARCH="arm"
PKG_LICENSE="nonfree"
@@ -53,6 +53,7 @@ makeinstall_target() {
$FLOAT/usr/lib/libGLES_CM.so \
$FLOAT/usr/lib/libGLESv1_CL.so* \
$FLOAT/usr/lib/libGLESv1_CM.so* \
$FLOAT/usr/lib/libGLESv2-fb.so \
$FLOAT/usr/lib/libGLESv2.so* \
$FLOAT/usr/lib/libGAL-fb.so \
$FLOAT/usr/lib/libGAL.so* \
@@ -68,6 +69,7 @@ makeinstall_target() {
$FLOAT/usr/lib/libGLES_CM.so \
$FLOAT/usr/lib/libGLESv1_CL.so* \
$FLOAT/usr/lib/libGLESv1_CM.so* \
$FLOAT/usr/lib/libGLESv2-fb.so \
$FLOAT/usr/lib/libGLESv2.so* \
$FLOAT/usr/lib/libGLSLC.so* \
$FLOAT/usr/lib/libGAL-fb.so \

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="libdrm"
PKG_VERSION="2.4.52"
PKG_VERSION="2.4.54"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@@ -17,15 +17,15 @@
################################################################################
PKG_NAME="gcc"
PKG_VERSION="4.8.2"
PKG_VERSION="4.9.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://gcc.gnu.org/"
PKG_URL="ftp://ftp.gnu.org/gnu/gcc/$PKG_NAME-$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_BOOTSTRAP="ccache:host autoconf-2.64:host binutils:host gmp:host mpfr:host mpc:host cloog:host ppl:host"
PKG_DEPENDS_BOOTSTRAP="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host cloog:host ppl:host"
PKG_DEPENDS_TARGET="gcc:host"
PKG_DEPENDS_HOST="ccache:host autoconf-2.64:host binutils:host gmp:host mpfr:host mpc:host cloog:host ppl:host eglibc"
PKG_DEPENDS_HOST="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host cloog:host ppl:host eglibc"
PKG_PRIORITY="optional"
PKG_SECTION="lang"
PKG_SHORTDESC="gcc: The GNU Compiler Collection Version 4 (aka GNU C Compiler)"
@@ -129,7 +129,7 @@ post_make_host() {
post_makeinstall_host() {
cp -PR $TARGET_NAME/libstdc++-v3/src/.libs/libstdc++.so* $SYSROOT_PREFIX/usr/lib
GCC_VERSION=`$ROOT/$TOOLCHAIN/$TARGET_NAME/bin/gcc -dumpversion`
GCC_VERSION=`$ROOT/$TOOLCHAIN/bin/${TARGET_NAME}-gcc -dumpversion`
DATE="0501`echo $GCC_VERSION | sed 's/\([0-9]\)/0\1/g' | sed 's/\.//g'`"
CROSS_CC=$TARGET_CC-$GCC_VERSION
CROSS_CXX=$TARGET_CXX-$GCC_VERSION

View File

@@ -1,10 +0,0 @@
--- a/gcc/config/arm/arm.c
+++ a/gcc/config/arm/arm.c
@@ -26547,6 +26547,7 @@ arm_expand_epilogue_apcs_frame (bool really_return)
num_regs = bit_count (saved_regs_mask);
if ((offsets->outgoing_args != (1 + num_regs)) || cfun->calls_alloca)
{
+ emit_insn (gen_blockage ());
/* Unwind the stack to just below the saved registers. */
emit_insn (gen_addsi3 (stack_pointer_rtx,
hard_frame_pointer_rtx,

View File

@@ -1,60 +0,0 @@
diff -Naur gcc-4.8.2/gcc/config/i386/linux64.h gcc-4.8.2.patch/gcc/config/i386/linux64.h
--- gcc-4.8.2/gcc/config/i386/linux64.h 2013-01-10 21:38:27.000000000 +0100
+++ gcc-4.8.2.patch/gcc/config/i386/linux64.h 2014-01-25 00:09:27.179269461 +0100
@@ -28,5 +28,5 @@
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+#define GLIBC_DYNAMIC_LINKERX32 "/lib/ld-linux-x32.so.2"
diff -Naur gcc-4.8.2/gcc/config/mips/linux64.h gcc-4.8.2.patch/gcc/config/mips/linux64.h
--- gcc-4.8.2/gcc/config/mips/linux64.h 2013-01-10 21:38:27.000000000 +0100
+++ gcc-4.8.2.patch/gcc/config/mips/linux64.h 2014-01-25 00:09:31.217263893 +0100
@@ -23,9 +23,9 @@
#define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1"
-#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
-#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld.so.1"
+#define GLIBC_DYNAMIC_LINKERN32 "/lib/ld.so.1"
+#define UCLIBC_DYNAMIC_LINKERN32 "/lib/ld-uClibc.so.0"
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
#define GNU_USER_DYNAMIC_LINKERN32 \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
diff -Naur gcc-4.8.2/gcc/config/rs6000/linux64.h gcc-4.8.2.patch/gcc/config/rs6000/linux64.h
--- gcc-4.8.2/gcc/config/rs6000/linux64.h 2013-06-19 03:18:38.000000000 +0200
+++ gcc-4.8.2.patch/gcc/config/rs6000/linux64.h 2014-01-25 00:09:31.217263893 +0100
@@ -351,7 +351,7 @@
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1"
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
#if DEFAULT_LIBC == LIBC_UCLIBC
diff -Naur gcc-4.8.2/gcc/config/sparc/linux64.h gcc-4.8.2.patch/gcc/config/sparc/linux64.h
--- gcc-4.8.2/gcc/config/sparc/linux64.h 2013-01-10 21:38:27.000000000 +0100
+++ gcc-4.8.2.patch/gcc/config/sparc/linux64.h 2014-01-25 00:09:31.217263893 +0100
@@ -93,7 +93,7 @@
done. */
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
#ifdef SPARC_BI_ARCH
@@ -201,7 +201,7 @@
#else /* !SPARC_BI_ARCH */
#undef LINK_SPEC
-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
+#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib %{shared:-shared} \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \

View File

@@ -0,0 +1,32 @@
From c611cd5416ff1042a4adec0e1b12c71e307b508d Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Thu, 24 Apr 2014 22:33:27 +0300
Subject: [PATCH] allow newer autoconf
---
config/override.m4 | 9 ---------
1 files changed, 0 insertions(+), 9 deletions(-)
diff --git a/config/override.m4 b/config/override.m4
index 52bd1c3..6c39656 100644
--- a/config/override.m4
+++ b/config/override.m4
@@ -38,15 +38,6 @@ dnl m4_define([_GCC_AUTOCONF_VERSION], [X.Y])
dnl in configure.ac before AC_INIT,
dnl without rewriting this file.
dnl Or for updating the whole tree at once with the definition above.
-AC_DEFUN([_GCC_AUTOCONF_VERSION_CHECK],
-[m4_if(m4_defn([_GCC_AUTOCONF_VERSION]),
- m4_defn([m4_PACKAGE_VERSION]), [],
- [m4_fatal([Please use exactly Autoconf ]_GCC_AUTOCONF_VERSION[ instead of ]m4_defn([m4_PACKAGE_VERSION])[.])])
-])
-m4_define([AC_INIT], m4_defn([AC_INIT])[
-_GCC_AUTOCONF_VERSION_CHECK
-])
-
dnl Ensure we do not use a buggy M4.
m4_if(m4_index([..wi.d.], [.d.]), [-1],
--
1.7.2.5

View File

@@ -0,0 +1,71 @@
diff -Naur gcc-4.9.0/gcc/config/i386/linux64.h gcc-4.9.0.patch/gcc/config/i386/linux64.h
--- gcc-4.9.0/gcc/config/i386/linux64.h 2014-01-02 23:23:26.000000000 +0100
+++ gcc-4.9.0.patch/gcc/config/i386/linux64.h 2014-04-22 20:27:05.853832561 +0200
@@ -28,5 +28,5 @@
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
+#define GLIBC_DYNAMIC_LINKERX32 "/lib/ld-linux-x32.so.2"
diff -Naur gcc-4.9.0/gcc/config/mips/linux64.h gcc-4.9.0.patch/gcc/config/mips/linux64.h
--- gcc-4.9.0/gcc/config/mips/linux64.h 2014-01-02 23:23:26.000000000 +0100
+++ gcc-4.9.0.patch/gcc/config/mips/linux64.h 2014-04-22 20:28:54.699515966 +0200
@@ -25,9 +25,9 @@
#define GLIBC_DYNAMIC_LINKER32 \
"%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
#define GLIBC_DYNAMIC_LINKER64 \
- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
+ "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
#define GLIBC_DYNAMIC_LINKERN32 \
- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
+ "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
#undef UCLIBC_DYNAMIC_LINKER32
#define UCLIBC_DYNAMIC_LINKER32 \
@@ -36,7 +36,7 @@
#define UCLIBC_DYNAMIC_LINKER64 \
"%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
#define UCLIBC_DYNAMIC_LINKERN32 \
- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
+ "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
#define GNU_USER_DYNAMIC_LINKERN32 \
diff -Naur gcc-4.9.0/gcc/config/rs6000/linux64.h gcc-4.9.0.patch/gcc/config/rs6000/linux64.h
--- gcc-4.9.0/gcc/config/rs6000/linux64.h 2014-01-02 23:23:26.000000000 +0100
+++ gcc-4.9.0.patch/gcc/config/rs6000/linux64.h 2014-04-22 20:30:39.567210839 +0200
@@ -369,9 +369,9 @@
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
#ifdef LINUX64_DEFAULT_ABI_ELFv2
-#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:/lib64/ld64.so.1;:/lib64/ld64.so.2}"
+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:/lib/ld64.so.1;:/lib/ld64.so.2}"
#else
-#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:/lib64/ld64.so.2;:/lib64/ld64.so.1}"
+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:/lib/ld64.so.2;:/lib/ld64.so.1}"
#endif
#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
diff -Naur gcc-4.9.0/gcc/config/sparc/linux64.h gcc-4.9.0.patch/gcc/config/sparc/linux64.h
--- gcc-4.9.0/gcc/config/sparc/linux64.h 2014-01-02 23:23:26.000000000 +0100
+++ gcc-4.9.0.patch/gcc/config/sparc/linux64.h 2014-04-22 20:27:05.854832558 +0200
@@ -93,7 +93,7 @@
done. */
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
#ifdef SPARC_BI_ARCH
@@ -201,7 +201,7 @@
#else /* !SPARC_BI_ARCH */
#undef LINK_SPEC
-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
+#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib %{shared:-shared} \
%{!shared: \
%{!static: \
%{rdynamic:-export-dynamic} \

View File

@@ -1,118 +0,0 @@
Date: Tue, 18 Jun 2013 16:42:13 +0100
From: Julian Brown <julian at codesourcery dot com>
To: <gcc-patches at gcc dot gnu dot org>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Ramana Radhakrishnan <ramrad01 at arm dot com>
Subject: [PATCH, ARM] Reintroduce minipool ranges for zero-extension insn patterns
Hi,
The following patch removed pool_range/neg_pool_range attributes from
several instructions as a cleanup, which I believe to have been
incorrect:
http://gcc.gnu.org/ml/gcc-patches/2010-07/msg01036.html
On a Mentor-local branch, this caused problems with instructions like:
(insn 77 53 87 (set (reg:SI 8 r8 [orig:197 s.4 ] [197])
(zero_extend:SI (mem/u/c:HI (symbol_ref/u:SI ("*.LC0") [flags 0x2]) [7 S2 A16]))) [...] 161 {*arm_zero_extendhisi2_v6}
(nil))
The reasoning behind the cleanup was that the instructions in question
have no immediate constraints -- but the minipool code is used for more
than just immediates, e.g. in the above case where a symbol reference
("m") is loaded.
I don't have a test case for the problem on mainline at present, but I
believe it is still a latent bug. Tested with the default multilibs (ARM
& Thumb mode) on arm-none-eabi, with no regressions. (The patch has
also been tested with more multilibs on our local branches for a while,
and I did ensure previously that it did not adversely affect Bernd's
patch linked above.)
OK to apply?
Thanks,
Julian
ChangeLog
gcc/
* arm.md (*thumb1_zero_extendhisi2, *arm_zero_extendhisi2)
(*arm_zero_extendhisi2_v6, *thumb1_zero_extendqisi2)
(*thumb1_zero_extendqisi2_v6, *arm_zero_extendqisi2)
(*arm_zero_extendqisi2_v6): Add pool_range, neg_pool_range
attributes.
Index: gcc/config/arm/arm.md
===================================================================
--- a/gcc/config/arm/arm.md (revision 200171)
+++ b/gcc/config/arm/arm.md (working copy)
@@ -5313,7 +5313,8 @@
[(if_then_else (eq_attr "is_arch6" "yes")
(const_int 2) (const_int 4))
(const_int 4)])
- (set_attr "type" "simple_alu_shift, load_byte")]
+ (set_attr "type" "simple_alu_shift, load_byte")
+ (set_attr "pool_range" "*,60")]
)
(define_insn "*arm_zero_extendhisi2"
@@ -5324,7 +5325,9 @@
#
ldr%(h%)\\t%0, %1"
[(set_attr "type" "alu_shift,load_byte")
- (set_attr "predicable" "yes")]
+ (set_attr "predicable" "yes")
+ (set_attr "pool_range" "*,256")
+ (set_attr "neg_pool_range" "*,244")]
)
(define_insn "*arm_zero_extendhisi2_v6"
@@ -5335,7 +5338,9 @@
uxth%?\\t%0, %1
ldr%(h%)\\t%0, %1"
[(set_attr "predicable" "yes")
- (set_attr "type" "simple_alu_shift,load_byte")]
+ (set_attr "type" "simple_alu_shift,load_byte")
+ (set_attr "pool_range" "*,256")
+ (set_attr "neg_pool_range" "*,244")]
)
(define_insn "*arm_zero_extendhisi2addsi"
@@ -5405,7 +5410,8 @@
uxtb\\t%0, %1
ldrb\\t%0, %1"
[(set_attr "length" "2")
- (set_attr "type" "simple_alu_shift,load_byte")]
+ (set_attr "type" "simple_alu_shift,load_byte")
+ (set_attr "pool_range" "*,32")]
)
(define_insn "*arm_zero_extendqisi2"
@@ -5417,7 +5423,9 @@
ldr%(b%)\\t%0, %1\\t%@ zero_extendqisi2"
[(set_attr "length" "8,4")
(set_attr "type" "alu_shift,load_byte")
- (set_attr "predicable" "yes")]
+ (set_attr "predicable" "yes")
+ (set_attr "pool_range" "*,4096")
+ (set_attr "neg_pool_range" "*,4084")]
)
(define_insn "*arm_zero_extendqisi2_v6"
@@ -5428,7 +5436,9 @@
uxtb%(%)\\t%0, %1
ldr%(b%)\\t%0, %1\\t%@ zero_extendqisi2"
[(set_attr "type" "simple_alu_shift,load_byte")
- (set_attr "predicable" "yes")]
+ (set_attr "predicable" "yes")
+ (set_attr "pool_range" "*,4096")
+ (set_attr "neg_pool_range" "*,4084")]
)
(define_insn "*arm_zero_extendqisi2addsi"
--MP_/ERKB4.gCWGZVf9oWJO6IZSe--

View File

@@ -17,12 +17,13 @@
################################################################################
PKG_NAME="llvm"
PKG_VERSION="3.4"
PKG_VERSION="3.4.1"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://llvm.org/"
PKG_URL="http://llvm.org/releases/3.4/${PKG_NAME}-${PKG_VERSION}.src.tar.gz"
PKG_URL="http://llvm.org/releases/$PKG_VERSION/${PKG_NAME}-${PKG_VERSION}.src.tar.gz"
PKG_SOURCE_DIR="${PKG_NAME}-${PKG_VERSION}.src"
PKG_DEPENDS_HOST=""
PKG_DEPENDS_TARGET="toolchain llvm:host"
PKG_PRIORITY="optional"

View File

@@ -0,0 +1,11 @@
diff -Naur RTL8188EU-fcc9034/os_dep/usb_intf.c RTL8188EU-fcc9034.patch/os_dep/usb_intf.c
--- RTL8188EU-fcc9034/os_dep/usb_intf.c 2014-03-25 15:05:52.000000000 +0100
+++ RTL8188EU-fcc9034.patch/os_dep/usb_intf.c 2014-04-28 17:42:46.059538024 +0200
@@ -865,7 +865,6 @@
RT_TRACE(_module_hci_intfs_c_, _drv_err_, ("+rtw_drv_entry\n"));
DBG_88E(DRV_NAME " driver version=%s\n", DRIVERVERSION);
- DBG_88E("build time: %s %s\n", __DATE__, __TIME__);
rtw_suspend_lock_init();

View File

@@ -1,6 +1,6 @@
diff -Naur RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c
--- RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c 2013-09-11 05:56:55.000000000 +0200
+++ RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c 2014-04-01 20:21:56.601914791 +0200
+++ RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c 2014-04-09 02:51:25.318208735 +0200
@@ -96,6 +96,7 @@
{USB_DEVICE(0x2019, 0xED17)},/* PCI - Edimax */ \
{USB_DEVICE(0x0DF6, 0x0052)},/* Sitecom - Edimax */ \
@@ -9,3 +9,11 @@ diff -Naur RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c RTL8192CU-v4.0
{USB_DEVICE(0x07B8, 0x8189)},/* Abocom - Abocom */ \
{USB_DEVICE(0x0EB0, 0x9071)},/* NO Brand - Etop */ \
{USB_DEVICE(0x06F8, 0xE033)},/* Hercules - Edimax */ \
@@ -146,6 +147,7 @@
{USB_DEVICE(0x4855, 0x0091)},/* - Feixun */ \
{USB_DEVICE(0x050D, 0x2102)},/* Belkin - Sercomm */ \
{USB_DEVICE(0x050D, 0x2103)},/* Belkin - Edimax */ \
+ {USB_DEVICE(0x050D, 0x21F2)},/* Belkin - Edimax */ \
{USB_DEVICE(0x20F4, 0x624D)},/* TRENDnet */ \
{USB_DEVICE(0x0DF6, 0x0061)},/* Sitecom - Edimax */ \
{USB_DEVICE(0x0B05, 0x17AB)},/* ASUS - Edimax */ \

View File

@@ -0,0 +1,22 @@
diff -Naur RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/pci_intf.c RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/pci_intf.c
--- RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/pci_intf.c 2013-09-11 05:56:55.000000000 +0200
+++ RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/pci_intf.c 2014-04-22 23:25:02.082908033 +0200
@@ -1963,7 +1963,6 @@
RT_TRACE(_module_hci_intfs_c_,_drv_err_,("+rtw_drv_entry\n"));
DBG_871X("rtw driver version=%s\n", DRIVERVERSION);
- DBG_871X("Build at: %s %s\n", __DATE__, __TIME__);
pci_drvpriv.drv_registered = _TRUE;
rtw_suspend_lock_init();
diff -Naur RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c
--- RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c 2013-09-11 05:56:55.000000000 +0200
+++ RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c 2014-04-22 23:25:21.337862827 +0200
@@ -1577,7 +1577,6 @@
RT_TRACE(_module_hci_intfs_c_,_drv_err_,("+rtw_drv_entry\n"));
DBG_871X(DRV_NAME " driver version=%s\n", DRIVERVERSION);
- DBG_871X("build time: %s %s\n", __DATE__, __TIME__);
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24))
//console_suspend_enabled=0;

View File

@@ -0,0 +1,12 @@
diff -Naur RTL8192DU-085e206/os_dep/usb_intf.c RTL8192DU-085e206.patch/os_dep/usb_intf.c
--- RTL8192DU-085e206/os_dep/usb_intf.c 2014-03-25 15:48:57.000000000 +0100
+++ RTL8192DU-085e206.patch/os_dep/usb_intf.c 2014-04-11 09:23:12.097223906 +0200
@@ -137,7 +137,7 @@
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8194)},/* 8192DU-VS */ \
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8111)},/* Realtek 5G dongle for WiFi Display */ \
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0193)},/* 8192DE-VAU */ \
- {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8171)},/* 8192DU-VC */ \
+/* {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8171)}, 8192DU-VC overlaps with in-kernel rtl8192se */ \
/*=== Customer ID ===*/ \
/****** 8192DU-VC ********/ \
{USB_DEVICE(0x2019, 0xAB2C)},/* PCI - Abocm */ \

View File

@@ -16,19 +16,19 @@
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="RTL8723AU"
PKG_VERSION="9af1588"
PKG_NAME="RTL8812AU"
PKG_VERSION="b22cbdf"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lwfinger/rtl8723au"
PKG_SITE="git@github.com:wuzzeb/rtl8812AU_8821AU_linux.git"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain linux"
PKG_NEED_UNPACK="$LINUX_DEPENDS"
PKG_PRIORITY="optional"
PKG_SECTION="driver"
PKG_SHORTDESC="Realtek RTL8723AU Linux 3.x driver"
PKG_LONGDESC="Realtek RTL8723AU Linux 3.x driver"
PKG_SHORTDESC="Realtek RTL8812AU Linux 3.x driver"
PKG_LONGDESC="Realtek RTL8812AU Linux 3.x driver"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"

View File

@@ -1,8 +1,7 @@
diff --git a/x86-32/src/wl/sys/wl_linux.c b/x86-32/src/wl/sys/wl_linux.c
index 9ee69e1..409bda7 100644
--- a/x86-32/src/wl/sys/wl_linux.c
+++ b/x86-32/src/wl/sys/wl_linux.c
@@ -2693,7 +2693,7 @@ wl_tkip_keyset(wl_info_t *wl, wsec_key_t *key)
diff -Naur bcm_sta-6.20.155.1/x86-32/src/wl/sys/wl_linux.c bcm_sta-6.20.155.1.patch/x86-32/src/wl/sys/wl_linux.c
--- bcm_sta-6.20.155.1/x86-32/src/wl/sys/wl_linux.c 2013-04-14 23:10:38.000000000 +0200
+++ bcm_sta-6.20.155.1.patch/x86-32/src/wl/sys/wl_linux.c 2014-05-14 21:47:59.249976234 +0200
@@ -2681,7 +2681,7 @@
void
wl_tkip_printstats(wl_info_t *wl, bool group_key)
{
@@ -11,7 +10,7 @@ index 9ee69e1..409bda7 100644
char debug_buf[512];
int idx;
if (wl->tkipmodops) {
@@ -2855,6 +2855,7 @@ wl_linux_watchdog(void *ctx)
@@ -2843,6 +2843,7 @@
return 0;
}
@@ -19,7 +18,7 @@ index 9ee69e1..409bda7 100644
static int
wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
{
@@ -2909,18 +2910,89 @@ wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *d
@@ -2897,18 +2898,89 @@
return length;
}
@@ -99,7 +98,7 @@ index 9ee69e1..409bda7 100644
+ wl->proc_entry->read_proc = wl_proc_read;
+ wl->proc_entry->write_proc = wl_proc_write;
+ wl->proc_entry->data = wl;
+ }
+ }
+#else
+ wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_proc_fops, wl);
+#endif
@@ -113,24 +112,10 @@ index 9ee69e1..409bda7 100644
- wl->proc_entry->data = wl;
return 0;
}
diff --git a/x86-32/src/wl/sys/wl_linux.c.orig b/x86-32/src/wl/sys/wl_linux.c.orig
index 38206ab..9ee69e1 100644
--- a/x86-32/src/wl/sys/wl_linux.c.orig
+++ b/x86-32/src/wl/sys/wl_linux.c.orig
@@ -219,7 +219,7 @@ module_param(nompc, int, 0);
#define quote_str(s) to_str(s)
#ifndef BRCM_WLAN_IFNAME
-#define BRCM_WLAN_IFNAME eth%d
+#define BRCM_WLAN_IFNAME wlan%d
#endif
static char intf_name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME);
diff --git a/x86-64/src/wl/sys/wl_linux.c b/x86-64/src/wl/sys/wl_linux.c
index 9ee69e1..409bda7 100644
--- a/x86-64/src/wl/sys/wl_linux.c
+++ b/x86-64/src/wl/sys/wl_linux.c
@@ -2693,7 +2693,7 @@ wl_tkip_keyset(wl_info_t *wl, wsec_key_t *key)
diff -Naur bcm_sta-6.20.155.1/x86-64/src/wl/sys/wl_linux.c bcm_sta-6.20.155.1.patch/x86-64/src/wl/sys/wl_linux.c
--- bcm_sta-6.20.155.1/x86-64/src/wl/sys/wl_linux.c 2013-04-14 23:10:38.000000000 +0200
+++ bcm_sta-6.20.155.1.patch/x86-64/src/wl/sys/wl_linux.c 2014-05-14 21:48:16.002975186 +0200
@@ -2681,7 +2681,7 @@
void
wl_tkip_printstats(wl_info_t *wl, bool group_key)
{
@@ -139,7 +124,7 @@ index 9ee69e1..409bda7 100644
char debug_buf[512];
int idx;
if (wl->tkipmodops) {
@@ -2855,6 +2855,7 @@ wl_linux_watchdog(void *ctx)
@@ -2843,6 +2843,7 @@
return 0;
}
@@ -147,7 +132,7 @@ index 9ee69e1..409bda7 100644
static int
wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
{
@@ -2909,18 +2910,89 @@ wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *d
@@ -2897,18 +2898,89 @@
return length;
}
@@ -227,7 +212,7 @@ index 9ee69e1..409bda7 100644
+ wl->proc_entry->read_proc = wl_proc_read;
+ wl->proc_entry->write_proc = wl_proc_write;
+ wl->proc_entry->data = wl;
+ }
+ }
+#else
+ wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_proc_fops, wl);
+#endif
@@ -241,16 +226,3 @@ index 9ee69e1..409bda7 100644
- wl->proc_entry->data = wl;
return 0;
}
diff --git a/x86-64/src/wl/sys/wl_linux.c.orig b/x86-64/src/wl/sys/wl_linux.c.orig
index 38206ab..9ee69e1 100644
--- a/x86-64/src/wl/sys/wl_linux.c.orig
+++ b/x86-64/src/wl/sys/wl_linux.c.orig
@@ -219,7 +219,7 @@ module_param(nompc, int, 0);
#define quote_str(s) to_str(s)
#ifndef BRCM_WLAN_IFNAME
-#define BRCM_WLAN_IFNAME eth%d
+#define BRCM_WLAN_IFNAME wlan%d
#endif
static char intf_name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME);

View File

@@ -0,0 +1,27 @@
--- a/x86-32/src/wl/sys/wl_linux.c
+++ b/x86-32/src/wl/sys/wl_linux.c
@@ -1773,8 +1773,8 @@
void
wl_dump_ver(wl_info_t *wl, struct bcmstrbuf *b)
{
- bcm_bprintf(b, "wl%d: %s %s version %s\n", wl->pub->unit,
- __DATE__, __TIME__, EPI_VERSION_STR);
+ bcm_bprintf(b, "wl%d: version %s\n", wl->pub->unit,
+ EPI_VERSION_STR);
}
#if defined(BCMDBG)
--- a/x86-64/src/wl/sys/wl_linux.c
+++b/x86-64/src/wl/sys/wl_linux.c
@@ -1773,8 +1773,8 @@
void
wl_dump_ver(wl_info_t *wl, struct bcmstrbuf *b)
{
- bcm_bprintf(b, "wl%d: %s %s version %s\n", wl->pub->unit,
- __DATE__, __TIME__, EPI_VERSION_STR);
+ bcm_bprintf(b, "wl%d: version %s\n", wl->pub->unit,
+ EPI_VERSION_STR);
}
#if defined(BCMDBG)

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="dvb-firmware"
PKG_VERSION="0.0.38"
PKG_VERSION="0.0.41"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Free-to-use"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="wlan-firmware"
PKG_VERSION="0.0.18"
PKG_VERSION="0.0.21"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Free-to-use"

Binary file not shown.

View File

@@ -19,15 +19,11 @@
PKG_NAME="linux"
case "$LINUX" in
imx6)
PKG_VERSION="imx_3.0.35_4.1.0-5c73417"
PKG_VERSION="cuboxi-592b2d9"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
;;
3.13)
PKG_VERSION="3.13.7"
PKG_URL="http://www.kernel.org/pub/linux/kernel/v3.x/$PKG_NAME-$PKG_VERSION.tar.xz"
;;
*)
PKG_VERSION="3.14"
PKG_VERSION="3.14.5"
PKG_URL="http://www.kernel.org/pub/linux/kernel/v3.x/$PKG_NAME-$PKG_VERSION.tar.xz"
;;
esac
@@ -175,9 +171,9 @@ make_target() {
makeinstall_target() {
if [ "$BOOTLOADER" = "u-boot" ]; then
mkdir -p $INSTALL/usr/share/u-boot
mkdir -p $INSTALL/usr/share/bootloader
for dtb in arch/arm/boot/dts/*.dtb; do
cp $dtb $INSTALL/usr/share/u-boot
cp $dtb $INSTALL/usr/share/bootloader
done
fi

File diff suppressed because it is too large Load Diff

View File

@@ -1,115 +0,0 @@
From e28f3bbe9ce8cb3c81f289487a8724a7b4a6ddb2 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 27 Nov 2013 22:52:53 +0000
Subject: [PATCH 061/114] dvb: Add support for CableStar Device
---
drivers/media/dvb-core/dvb-usb-ids.h | 1 +
drivers/media/usb/dvb-usb-v2/az6007.c | 59 +++++++++++++++++++++++++++++++++++
2 files changed, 60 insertions(+)
diff --git a/drivers/media/dvb-core/dvb-usb-ids.h b/drivers/media/dvb-core/dvb-usb-ids.h
index 7e0f619..8407178 100644
--- a/drivers/media/dvb-core/dvb-usb-ids.h
+++ b/drivers/media/dvb-core/dvb-usb-ids.h
@@ -366,6 +366,7 @@
#define USB_PID_TERRATEC_DVBS2CI_V2 0x10ac
#define USB_PID_TECHNISAT_USB2_HDCI_V1 0x0001
#define USB_PID_TECHNISAT_USB2_HDCI_V2 0x0002
+#define USB_PID_TECHNISAT_USB2_CABLESTAR_HDCI 0x0003
#define USB_PID_TECHNISAT_AIRSTAR_TELESTICK_2 0x0004
#define USB_PID_TECHNISAT_USB2_DVB_S2 0x0500
#define USB_PID_CPYTO_REDI_PC50A 0xa803
diff --git a/drivers/media/usb/dvb-usb-v2/az6007.c b/drivers/media/usb/dvb-usb-v2/az6007.c
index 44c64ef3..c1051c3 100644
--- a/drivers/media/usb/dvb-usb-v2/az6007.c
+++ b/drivers/media/usb/dvb-usb-v2/az6007.c
@@ -68,6 +68,19 @@ struct az6007_device_state {
.microcode_name = "dvb-usb-terratec-h7-drxk.fw",
};
+static struct drxk_config cablestar_hdci_drxk = {
+ .adr = 0x29,
+ .parallel_ts = true,
+ .dynamic_clk = true,
+ .single_master = true,
+ .enable_merr_cfg = true,
+ .no_i2c_bridge = false,
+ .chunk_size = 64,
+ .mpeg_out_clk_strength = 0x02,
+ .qam_demod_parameter_count = 2,
+ .microcode_name = "dvb-usb-technisat-cablestar-hdci-drxk.fw",
+};
+
static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)
{
struct az6007_device_state *st = fe_to_priv(fe);
@@ -630,6 +643,27 @@ static int az6007_frontend_attach(struct dvb_usb_adapter *adap)
return 0;
}
+static int az6007_cablestar_hdci_frontend_attach(struct dvb_usb_adapter *adap)
+{
+ struct az6007_device_state *st = adap_to_priv(adap);
+ struct dvb_usb_device *d = adap_to_d(adap);
+
+ pr_debug("attaching demod drxk\n");
+
+ adap->fe[0] = dvb_attach(drxk_attach, &cablestar_hdci_drxk,
+ &d->i2c_adap);
+ if (!adap->fe[0])
+ return -EINVAL;
+
+ adap->fe[0]->sec_priv = adap;
+ st->gate_ctrl = adap->fe[0]->ops.i2c_gate_ctrl;
+ adap->fe[0]->ops.i2c_gate_ctrl = drxk_gate_ctrl;
+
+ az6007_ci_init(adap);
+
+ return 0;
+}
+
static int az6007_tuner_attach(struct dvb_usb_adapter *adap)
{
struct dvb_usb_device *d = adap_to_d(adap);
@@ -868,6 +902,29 @@ static int az6007_download_firmware(struct dvb_usb_device *d,
}
};
+static struct dvb_usb_device_properties az6007_cablestar_hdci_props = {
+ .driver_name = KBUILD_MODNAME,
+ .owner = THIS_MODULE,
+ .firmware = AZ6007_FIRMWARE,
+
+ .adapter_nr = adapter_nr,
+ .size_of_priv = sizeof(struct az6007_device_state),
+ .i2c_algo = &az6007_i2c_algo,
+ .tuner_attach = az6007_tuner_attach,
+ .frontend_attach = az6007_cablestar_hdci_frontend_attach,
+ .streaming_ctrl = az6007_streaming_ctrl,
+/* ditch get_rc_config as it can't work (TS35 remote, I believe it's rc5) */
+ .get_rc_config = NULL,
+ .read_mac_address = az6007_read_mac_addr,
+ .download_firmware = az6007_download_firmware,
+ .identify_state = az6007_identify_state,
+ .power_ctrl = az6007_power_ctrl,
+ .num_adapters = 1,
+ .adapter = {
+ { .stream = DVB_USB_STREAM_BULK(0x02, 10, 4096), }
+ }
+};
+
static struct usb_device_id az6007_usb_table[] = {
{DVB_USB_DEVICE(USB_VID_AZUREWAVE, USB_PID_AZUREWAVE_6007,
&az6007_props, "Azurewave 6007", RC_MAP_EMPTY)},
@@ -875,6 +932,8 @@ static int az6007_download_firmware(struct dvb_usb_device *d,
&az6007_props, "Terratec H7", RC_MAP_NEC_TERRATEC_CINERGY_XS)},
{DVB_USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_H7_2,
&az6007_props, "Terratec H7", RC_MAP_NEC_TERRATEC_CINERGY_XS)},
+ {DVB_USB_DEVICE(USB_VID_TECHNISAT, USB_PID_TECHNISAT_USB2_CABLESTAR_HDCI,
+ &az6007_cablestar_hdci_props, "Technisat CableStar Combo HD CI", RC_MAP_EMPTY)},
{0},
};
--
1.8.5.5

View File

@@ -0,0 +1,17 @@
diff --git a/drivers/media/rc/nuvoton-cir.c b/drivers/media/rc/nuvoton-cir.c
index b41e52e..b81325d 100644
--- a/drivers/media/rc/nuvoton-cir.c
+++ b/drivers/media/rc/nuvoton-cir.c
@@ -985,6 +985,12 @@ static int nvt_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id)
goto exit_free_dev_rdev;
ret = -ENODEV;
+ /* activate pnp device */
+ if (pnp_activate_dev(pdev) < 0) {
+ dev_err(&pdev->dev, "Could not activate PNP device!\n");
+ goto exit_free_dev_rdev;
+ }
+
/* validate pnp resources */
if (!pnp_port_valid(pdev, 0) ||
pnp_port_len(pdev, 0) < CIR_IOREG_LENGTH) {

View File

@@ -0,0 +1,138 @@
From cb171f7abb9a1a250fb41d088b81799f75bd1357 Mon Sep 17 00:00:00 2001
From: Bjorn Helgaas <bhelgaas@google.com>
Date: Wed, 23 Apr 2014 10:21:06 -0600
Subject: PNP: Work around BIOS defects in Intel MCH area reporting
Work around BIOSes that don't report the entire Intel MCH area.
MCHBAR is not an architected PCI BAR, so MCH space is usually reported as a
PNP0C02 resource. The MCH space was once 16KB, but is 32KB in newer parts.
Some BIOSes still report a PNP0C02 resource that is only 16KB, which means
the rest of the MCH space is consumed but unreported.
This can cause resource map sanity check warnings or (theoretically) a
device conflict if we assigned the unreported space to another device.
The Intel perf event uncore driver tripped over this when it claimed the
MCH region:
resource map sanity check conflict: 0xfed10000 0xfed15fff 0xfed10000 0xfed13fff pnp 00:01
Info: mapping multiple BARs. Your kernel is fine.
To prevent this, if we find a PNP0C02 resource that covers part of the MCH
space, extend it to cover the entire space.
References: http://lkml.kernel.org/r/20140224162400.GE16457@pd.tnic
Reported-and-tested-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Borislav Petkov <bp@suse.de>
Acked-by: Stephane Eranian <eranian@google.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c
index 258fef2..3736bc4 100644
--- a/drivers/pnp/quirks.c
+++ b/drivers/pnp/quirks.c
@@ -15,6 +15,7 @@
#include <linux/types.h>
#include <linux/kernel.h>
+#include <linux/pci.h>
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/pnp.h>
@@ -334,6 +335,81 @@ static void quirk_amd_mmconfig_area(struct pnp_dev *dev)
}
#endif
+#ifdef CONFIG_X86
+/* Device IDs of parts that have 32KB MCH space */
+static const unsigned int mch_quirk_devices[] = {
+ 0x0154, /* Ivy Bridge */
+ 0x0c00, /* Haswell */
+};
+
+static struct pci_dev *get_intel_host(void)
+{
+ int i;
+ struct pci_dev *host;
+
+ for (i = 0; i < ARRAY_SIZE(mch_quirk_devices); i++) {
+ host = pci_get_device(PCI_VENDOR_ID_INTEL, mch_quirk_devices[i],
+ NULL);
+ if (host)
+ return host;
+ }
+ return NULL;
+}
+
+static void quirk_intel_mch(struct pnp_dev *dev)
+{
+ struct pci_dev *host;
+ u32 addr_lo, addr_hi;
+ struct pci_bus_region region;
+ struct resource mch;
+ struct pnp_resource *pnp_res;
+ struct resource *res;
+
+ host = get_intel_host();
+ if (!host)
+ return;
+
+ /*
+ * MCHBAR is not an architected PCI BAR, so MCH space is usually
+ * reported as a PNP0C02 resource. The MCH space was originally
+ * 16KB, but is 32KB in newer parts. Some BIOSes still report a
+ * PNP0C02 resource that is only 16KB, which means the rest of the
+ * MCH space is consumed but unreported.
+ */
+
+ /*
+ * Read MCHBAR for Host Member Mapped Register Range Base
+ * https://www-ssl.intel.com/content/www/us/en/processors/core/4th-gen-core-family-desktop-vol-2-datasheet
+ * Sec 3.1.12.
+ */
+ pci_read_config_dword(host, 0x48, &addr_lo);
+ region.start = addr_lo & ~0x7fff;
+ pci_read_config_dword(host, 0x4c, &addr_hi);
+ region.start |= (u64) addr_hi << 32;
+ region.end = region.start + 32*1024 - 1;
+
+ memset(&mch, 0, sizeof(mch));
+ mch.flags = IORESOURCE_MEM;
+ pcibios_bus_to_resource(host->bus, &mch, &region);
+
+ list_for_each_entry(pnp_res, &dev->resources, list) {
+ res = &pnp_res->res;
+ if (res->end < mch.start || res->start > mch.end)
+ continue; /* no overlap */
+ if (res->start == mch.start && res->end == mch.end)
+ continue; /* exact match */
+
+ dev_info(&dev->dev, FW_BUG "PNP resource %pR covers only part of %s Intel MCH; extending to %pR\n",
+ res, pci_name(host), &mch);
+ res->start = mch.start;
+ res->end = mch.end;
+ break;
+ }
+
+ pci_dev_put(host);
+}
+#endif
+
/*
* PnP Quirks
* Cards or devices that need some tweaking due to incomplete resource info
@@ -364,6 +440,9 @@ static struct pnp_fixup pnp_fixups[] = {
#ifdef CONFIG_AMD_NB
{"PNP0c01", quirk_amd_mmconfig_area},
#endif
+#ifdef CONFIG_X86
+ {"PNP0c02", quirk_intel_mch},
+#endif
{""}
};
--
cgit v0.10.1

View File

@@ -1,8 +1,8 @@
diff --git a/drivers/media/dvb-frontends/Kconfig b/drivers/media/dvb-frontends/Kconfig
index fb77062..f6f1afa 100644
index 49db718..6ddcfc9 100644
--- a/drivers/media/dvb-frontends/Kconfig
+++ b/drivers/media/dvb-frontends/Kconfig
@@ -214,6 +214,20 @@ config DVB_CX24117
@@ -248,6 +248,20 @@ config DVB_CX24117
help
A Dual DVB-S/S2 tuner module. Say Y when you want to support this frontend.
@@ -24,10 +24,10 @@ index fb77062..f6f1afa 100644
tristate "Silicon Labs SI21XX based"
depends on DVB_CORE && I2C
diff --git a/drivers/media/dvb-frontends/Makefile b/drivers/media/dvb-frontends/Makefile
index c08b7f0..e8de9b6 100644
index 9b21488..edaae0d 100644
--- a/drivers/media/dvb-frontends/Makefile
+++ b/drivers/media/dvb-frontends/Makefile
@@ -108,4 +108,5 @@ obj-$(CONFIG_DVB_RTL2830) += rtl2830.o
@@ -112,4 +112,5 @@ obj-$(CONFIG_DVB_RTL2830) += rtl2830.o
obj-$(CONFIG_DVB_RTL2832) += rtl2832.o
obj-$(CONFIG_DVB_M88RS2000) += m88rs2000.o
obj-$(CONFIG_DVB_AF9033) += af9033.o
@@ -36,7 +36,7 @@ index c08b7f0..e8de9b6 100644
+obj-$(CONFIG_DVB_DVBSKY_M88DC2800) += dvbsky_m88dc2800.o
diff --git a/drivers/media/dvb-frontends/dvbsky_m88dc2800.c b/drivers/media/dvb-frontends/dvbsky_m88dc2800.c
new file mode 100644
index 0000000..f876a11
index 0000000..3c933b4
--- /dev/null
+++ b/drivers/media/dvb-frontends/dvbsky_m88dc2800.c
@@ -0,0 +1,2124 @@
@@ -2166,7 +2166,7 @@ index 0000000..f876a11
+MODULE_VERSION("1.00");
diff --git a/drivers/media/dvb-frontends/dvbsky_m88dc2800.h b/drivers/media/dvb-frontends/dvbsky_m88dc2800.h
new file mode 100644
index 0000000..2184322
index 0000000..0844a66
--- /dev/null
+++ b/drivers/media/dvb-frontends/dvbsky_m88dc2800.h
@@ -0,0 +1,44 @@
@@ -2216,7 +2216,7 @@ index 0000000..2184322
+#endif /* dvbsky_m88dc2800_H */
diff --git a/drivers/media/dvb-frontends/dvbsky_m88ds3103.c b/drivers/media/dvb-frontends/dvbsky_m88ds3103.c
new file mode 100644
index 0000000..9d525da
index 0000000..99985a7
--- /dev/null
+++ b/drivers/media/dvb-frontends/dvbsky_m88ds3103.c
@@ -0,0 +1,1707 @@
@@ -3929,7 +3929,7 @@ index 0000000..9d525da
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/dvb-frontends/dvbsky_m88ds3103.h b/drivers/media/dvb-frontends/dvbsky_m88ds3103.h
new file mode 100644
index 0000000..e3b96b2
index 0000000..df95253
--- /dev/null
+++ b/drivers/media/dvb-frontends/dvbsky_m88ds3103.h
@@ -0,0 +1,53 @@
@@ -3988,7 +3988,7 @@ index 0000000..e3b96b2
+#endif /* dvbsky_m88ds3103_H */
diff --git a/drivers/media/dvb-frontends/dvbsky_m88ds3103_priv.h b/drivers/media/dvb-frontends/dvbsky_m88ds3103_priv.h
new file mode 100644
index 0000000..2838514
index 0000000..dfb3f8b
--- /dev/null
+++ b/drivers/media/dvb-frontends/dvbsky_m88ds3103_priv.h
@@ -0,0 +1,403 @@
@@ -4396,7 +4396,7 @@ index 0000000..2838514
+
+#endif /* dvbsky_m88ds3103_PRIV_H */
diff --git a/drivers/media/pci/cx23885/Kconfig b/drivers/media/pci/cx23885/Kconfig
index d1dcb1d..478f3dc 100644
index d1dcb1d..a5fbc89 100644
--- a/drivers/media/pci/cx23885/Kconfig
+++ b/drivers/media/pci/cx23885/Kconfig
@@ -23,6 +23,8 @@ config VIDEO_CX23885
@@ -4745,7 +4745,7 @@ index edcd79d..4b57eef 100644
break;
}
diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c
index 0549205..86c0cf2 100644
index 0549205..201523a 100644
--- a/drivers/media/pci/cx23885/cx23885-dvb.c
+++ b/drivers/media/pci/cx23885/cx23885-dvb.c
@@ -52,6 +52,8 @@
@@ -5019,7 +5019,7 @@ index 8a49e7c..a5e4639 100644
/* Integrated CX23885 IR controller */
driver_type = RC_DRIVER_IR_RAW;
diff --git a/drivers/media/pci/cx23885/cx23885.h b/drivers/media/pci/cx23885/cx23885.h
index 0fa4048..bd33b00 100644
index 0fa4048..7084a4e 100644
--- a/drivers/media/pci/cx23885/cx23885.h
+++ b/drivers/media/pci/cx23885/cx23885.h
@@ -97,6 +97,14 @@
@@ -5047,7 +5047,7 @@ index 0fa4048..bd33b00 100644
u32 force_bff;
};
diff --git a/drivers/media/pci/cx88/Kconfig b/drivers/media/pci/cx88/Kconfig
index a63a9ad..ccf0e6a 100644
index a63a9ad..7deb300 100644
--- a/drivers/media/pci/cx88/Kconfig
+++ b/drivers/media/pci/cx88/Kconfig
@@ -57,6 +57,7 @@ config VIDEO_CX88_DVB
@@ -5106,7 +5106,7 @@ index e18a7ac..317511d 100644
diff --git a/drivers/media/pci/cx88/cx88-dvb.c b/drivers/media/pci/cx88/cx88-dvb.c
index 053ed1b..b4269a8 100644
index 053ed1b..955b916 100644
--- a/drivers/media/pci/cx88/cx88-dvb.c
+++ b/drivers/media/pci/cx88/cx88-dvb.c
@@ -54,6 +54,7 @@
@@ -5250,7 +5250,7 @@ index 28893a6..5fa5f48 100644
enum cx88_itype {
CX88_VMUX_COMPOSITE1 = 1,
diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile
index b1cde8c..563a109 100644
index 0b8c549..abf6079 100644
--- a/drivers/media/rc/keymaps/Makefile
+++ b/drivers/media/rc/keymaps/Makefile
@@ -28,6 +28,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \
@@ -5346,7 +5346,7 @@ index 0000000..bfc41fb
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Nibble Max <nibble.max@gmail.com>");
diff --git a/drivers/media/usb/dvb-usb-v2/Kconfig b/drivers/media/usb/dvb-usb-v2/Kconfig
index 2059d0c..1dc0600 100644
index 2059d0c..24a4ec2 100644
--- a/drivers/media/usb/dvb-usb-v2/Kconfig
+++ b/drivers/media/usb/dvb-usb-v2/Kconfig
@@ -147,3 +147,9 @@ config DVB_USB_RTL28XXU
@@ -5360,7 +5360,7 @@ index 2059d0c..1dc0600 100644
+ help
+ Say Y here to support the USB receivers from DVBSky.
diff --git a/drivers/media/usb/dvb-usb-v2/Makefile b/drivers/media/usb/dvb-usb-v2/Makefile
index 2c06714..e002b57 100644
index 2c06714..926f12d 100644
--- a/drivers/media/usb/dvb-usb-v2/Makefile
+++ b/drivers/media/usb/dvb-usb-v2/Makefile
@@ -40,6 +40,9 @@ obj-$(CONFIG_DVB_USB_MXL111SF) += mxl111sf-tuner.o
@@ -5375,10 +5375,10 @@ index 2c06714..e002b57 100644
ccflags-y += -I$(srctree)/drivers/media/tuners
diff --git a/drivers/media/usb/dvb-usb-v2/dvbsky.c b/drivers/media/usb/dvb-usb-v2/dvbsky.c
new file mode 100644
index 0000000..45bedfc
index 0000000..9033d92
--- /dev/null
+++ b/drivers/media/usb/dvb-usb-v2/dvbsky.c
@@ -0,0 +1,741 @@
@@ -0,0 +1,739 @@
+/*
+ * Driver for DVBSky USB2.0 receiver
+ *
@@ -5984,8 +5984,6 @@ index 0000000..45bedfc
+ struct dvb_usb_device *d = adap_to_d(adap);
+ int ret = 0;
+
+ dprintk("%s, build on %s %s()\n", __func__, __DATE__,__TIME__);
+
+ dvbsky_gpio_ctrl(d, 0x04, 1);
+
+ dvbsky_gpio_ctrl(d, 0x83, 0);
@@ -6121,7 +6119,7 @@ index 0000000..45bedfc
+MODULE_DESCRIPTION("Driver for DVBSky USB2.0");
+MODULE_LICENSE("GPL");
diff --git a/include/media/rc-map.h b/include/media/rc-map.h
index 6628f5d..64646e3 100644
index a20ed97..73f8c92 100644
--- a/include/media/rc-map.h
+++ b/include/media/rc-map.h
@@ -119,6 +119,7 @@ void rc_map_init(void);

View File

@@ -0,0 +1,97 @@
diff --git a/drivers/media/dvb-frontends/cxd2820r.h b/drivers/media/dvb-frontends/cxd2820r.h
index 82b3d93..6095dbc 100644
--- a/drivers/media/dvb-frontends/cxd2820r.h
+++ b/drivers/media/dvb-frontends/cxd2820r.h
@@ -52,6 +52,12 @@ struct cxd2820r_config {
*/
u8 ts_mode;
+ /* TS clock inverted.
+ * Default: 0
+ * Values: 0, 1
+ */
+ bool ts_clock_inv;
+
/* IF AGC polarity.
* Default: 0
* Values: 0, 1
diff --git a/drivers/media/dvb-frontends/cxd2820r_c.c b/drivers/media/dvb-frontends/cxd2820r_c.c
index 5c6ab49..0f4657e 100644
--- a/drivers/media/dvb-frontends/cxd2820r_c.c
+++ b/drivers/media/dvb-frontends/cxd2820r_c.c
@@ -45,6 +45,7 @@ int cxd2820r_set_frontend_c(struct dvb_frontend *fe)
{ 0x1008b, 0x07, 0xff },
{ 0x1001f, priv->cfg.if_agc_polarity << 7, 0x80 },
{ 0x10070, priv->cfg.ts_mode, 0xff },
+ { 0x10071, !priv->cfg.ts_clock_inv << 4, 0x10 },
};
dev_dbg(&priv->i2c->dev, "%s: frequency=%d symbol_rate=%d\n", __func__,
diff --git a/drivers/media/dvb-frontends/cxd2820r_t.c b/drivers/media/dvb-frontends/cxd2820r_t.c
index fa184ca..9b5a45b 100644
--- a/drivers/media/dvb-frontends/cxd2820r_t.c
+++ b/drivers/media/dvb-frontends/cxd2820r_t.c
@@ -46,6 +46,7 @@ int cxd2820r_set_frontend_t(struct dvb_frontend *fe)
{ 0x00088, 0x01, 0xff },
{ 0x00070, priv->cfg.ts_mode, 0xff },
+ { 0x00071, !priv->cfg.ts_clock_inv << 4, 0x10 },
{ 0x000cb, priv->cfg.if_agc_polarity << 6, 0x40 },
{ 0x000a5, 0x00, 0x01 },
{ 0x00082, 0x20, 0x60 },
diff --git a/drivers/media/dvb-frontends/cxd2820r_t2.c b/drivers/media/dvb-frontends/cxd2820r_t2.c
index 2ba130e..9c0c4f4 100644
--- a/drivers/media/dvb-frontends/cxd2820r_t2.c
+++ b/drivers/media/dvb-frontends/cxd2820r_t2.c
@@ -47,6 +47,7 @@ int cxd2820r_set_frontend_t2(struct dvb_frontend *fe)
{ 0x02083, 0x0a, 0xff },
{ 0x020cb, priv->cfg.if_agc_polarity << 6, 0x40 },
{ 0x02070, priv->cfg.ts_mode, 0xff },
+ { 0x02071, !priv->cfg.ts_clock_inv << 6, 0x40 },
{ 0x020b5, priv->cfg.spec_inv << 4, 0x10 },
{ 0x02567, 0x07, 0x0f },
{ 0x02569, 0x03, 0x03 },
diff --git a/drivers/media/usb/dvb-usb/dw2102.c b/drivers/media/usb/dvb-usb/dw2102.c
index ae0f56a..7135a3e 100644
--- a/drivers/media/usb/dvb-usb/dw2102.c
+++ b/drivers/media/usb/dvb-usb/dw2102.c
@@ -1109,6 +1109,7 @@ static struct ds3000_config su3000_ds3000_config = {
static struct cxd2820r_config cxd2820r_config = {
.i2c_address = 0x6c, /* (0xd8 >> 1) */
.ts_mode = 0x38,
+ .ts_clock_inv = 1,
};
static struct tda18271_config tda18271_config = {
@@ -1387,20 +1388,27 @@ static int su3000_frontend_attach(struct dvb_usb_adapter *d)
static int t220_frontend_attach(struct dvb_usb_adapter *d)
{
- u8 obuf[3] = { 0xe, 0x80, 0 };
+ u8 obuf[3] = { 0xe, 0x87, 0 };
u8 ibuf[] = { 0 };
if (dvb_usb_generic_rw(d->dev, obuf, 3, ibuf, 1, 0) < 0)
err("command 0x0e transfer failed.");
obuf[0] = 0xe;
- obuf[1] = 0x83;
+ obuf[1] = 0x86;
+ obuf[2] = 1;
+
+ if (dvb_usb_generic_rw(d->dev, obuf, 3, ibuf, 1, 0) < 0)
+ err("command 0x0e transfer failed.");
+
+ obuf[0] = 0xe;
+ obuf[1] = 0x80;
obuf[2] = 0;
if (dvb_usb_generic_rw(d->dev, obuf, 3, ibuf, 1, 0) < 0)
err("command 0x0e transfer failed.");
- msleep(100);
+ msleep(50);
obuf[0] = 0xe;
obuf[1] = 0x80;

View File

@@ -0,0 +1,92 @@
--- linux-3.14.1/drivers/media/rc/mceusb.c 2014-04-09 12:37:46.510492000 -0500
+++ linux-3.14.1/drivers/media/rc/mceusb.c 2014-04-23 17:58:17.224854949 -0500
@@ -761,11 +761,18 @@ static void mce_request_packet(struct mc
}
/* outbound data */
- pipe = usb_sndintpipe(ir->usbdev,
- ir->usb_ep_out->bEndpointAddress);
- usb_fill_int_urb(async_urb, ir->usbdev, pipe,
- async_buf, size, mce_async_callback,
- ir, ir->usb_ep_out->bInterval);
+ if (usb_endpoint_xfer_int(ir->usb_ep_out)) {
+ pipe = usb_sndintpipe(ir->usbdev,
+ ir->usb_ep_out->bEndpointAddress);
+ usb_fill_int_urb(async_urb, ir->usbdev, pipe, async_buf,
+ size, mce_async_callback, ir,
+ ir->usb_ep_out->bInterval);
+ } else {
+ pipe = usb_sndbulkpipe(ir->usbdev,
+ ir->usb_ep_out->bEndpointAddress);
+ usb_fill_bulk_urb(async_urb, ir->usbdev, pipe, async_buf,
+ size, mce_async_callback, ir);
+ }
memcpy(async_buf, data, size);
} else if (urb_type == MCEUSB_RX) {
@@ -1283,34 +1290,26 @@ static int mceusb_dev_probe(struct usb_i
for (i = 0; i < idesc->desc.bNumEndpoints; ++i) {
ep = &idesc->endpoint[i].desc;
- if ((ep_in == NULL)
- && ((ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK)
- == USB_DIR_IN)
- && (((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
- == USB_ENDPOINT_XFER_BULK)
- || ((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
- == USB_ENDPOINT_XFER_INT))) {
-
- ep_in = ep;
- ep_in->bmAttributes = USB_ENDPOINT_XFER_INT;
- ep_in->bInterval = 1;
- mce_dbg(&intf->dev, "acceptable inbound endpoint "
- "found\n");
+ if (ep_in == NULL) {
+ if (usb_endpoint_is_bulk_in(ep)) {
+ ep_in = ep;
+ mce_dbg(&intf->dev, "acceptable bulk inbound endpoint found\n");
+ } else if (usb_endpoint_is_int_in(ep)) {
+ ep_in = ep;
+ ep_in->bInterval = 1;
+ mce_dbg(&intf->dev, "acceptable interrupt inbound endpoint found\n");
+ }
}
- if ((ep_out == NULL)
- && ((ep->bEndpointAddress & USB_ENDPOINT_DIR_MASK)
- == USB_DIR_OUT)
- && (((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
- == USB_ENDPOINT_XFER_BULK)
- || ((ep->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK)
- == USB_ENDPOINT_XFER_INT))) {
-
- ep_out = ep;
- ep_out->bmAttributes = USB_ENDPOINT_XFER_INT;
- ep_out->bInterval = 1;
- mce_dbg(&intf->dev, "acceptable outbound endpoint "
- "found\n");
+ if (ep_out == NULL) {
+ if (usb_endpoint_is_bulk_out(ep)) {
+ ep_out = ep;
+ mce_dbg(&intf->dev, "acceptable bulk outbound endpoint found\n");
+ } else if (usb_endpoint_is_int_out(ep)) {
+ ep_out = ep;
+ ep_out->bInterval = 1;
+ mce_dbg(&intf->dev, "acceptable interrupt outbound endpoint found\n");
+ }
}
}
if (ep_in == NULL) {
@@ -1318,7 +1317,11 @@ static int mceusb_dev_probe(struct usb_i
return -ENODEV;
}
- pipe = usb_rcvintpipe(dev, ep_in->bEndpointAddress);
+ if (usb_endpoint_xfer_int(ep_in)) {
+ pipe = usb_rcvintpipe(dev, ep_in->bEndpointAddress);
+ } else {
+ pipe = usb_rcvbulkpipe(dev, ep_in->bEndpointAddress);
+ }
maxp = usb_maxpacket(dev, pipe, usb_pipeout(pipe));
ir = kzalloc(sizeof(struct mceusb_dev), GFP_KERNEL);

View File

@@ -0,0 +1,944 @@
From 709b25580e01df28a97152a81010ce40f06ec01e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Fri, 28 Mar 2014 18:55:10 +0100
Subject: [PATCH 1/6] drm/radeon: rework finding display PLL numbers v2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This completely reworks how the PLL parameters are generated and
should result in better matching dot clock frequencies.
Probably needs quite a bit of testing.
bugs: https://bugs.freedesktop.org/show_bug.cgi?id=76564
v2: more cleanup and comments.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
---
drivers/gpu/drm/radeon/radeon_display.c | 243 ++++++++++++++++++++------------
1 file changed, 153 insertions(+), 90 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index fbd8b93..4e83ffd 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -34,6 +34,8 @@
#include <drm/drm_crtc_helper.h>
#include <drm/drm_edid.h>
+#include <linux/gcd.h>
+
static void avivo_crtc_load_lut(struct drm_crtc *crtc)
{
struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
@@ -799,66 +801,57 @@ int radeon_ddc_get_modes(struct radeon_connector *radeon_connector)
}
/* avivo */
-static void avivo_get_fb_div(struct radeon_pll *pll,
- u32 target_clock,
- u32 post_div,
- u32 ref_div,
- u32 *fb_div,
- u32 *frac_fb_div)
-{
- u32 tmp = post_div * ref_div;
- tmp *= target_clock;
- *fb_div = tmp / pll->reference_freq;
- *frac_fb_div = tmp % pll->reference_freq;
-
- if (*fb_div > pll->max_feedback_div)
- *fb_div = pll->max_feedback_div;
- else if (*fb_div < pll->min_feedback_div)
- *fb_div = pll->min_feedback_div;
-}
-
-static u32 avivo_get_post_div(struct radeon_pll *pll,
- u32 target_clock)
+/**
+ * avivo_reduce_ratio - fractional number reduction
+ *
+ * @nom: nominator
+ * @den: denominator
+ * @nom_min: minimum value for nominator
+ * @den_min: minimum value for denominator
+ *
+ * Find the greatest common divisor and apply it on both nominator and
+ * denominator, but make nominator and denominator are at least as large
+ * as their minimum values.
+ */
+static void avivo_reduce_ratio(unsigned *nom, unsigned *den,
+ unsigned nom_min, unsigned den_min)
{
- u32 vco, post_div, tmp;
-
- if (pll->flags & RADEON_PLL_USE_POST_DIV)
- return pll->post_div;
-
- if (pll->flags & RADEON_PLL_PREFER_MINM_OVER_MAXP) {
- if (pll->flags & RADEON_PLL_IS_LCD)
- vco = pll->lcd_pll_out_min;
- else
- vco = pll->pll_out_min;
- } else {
- if (pll->flags & RADEON_PLL_IS_LCD)
- vco = pll->lcd_pll_out_max;
- else
- vco = pll->pll_out_max;
+ unsigned tmp;
+
+ /* reduce the numbers to a simpler ratio */
+ tmp = gcd(*nom, *den);
+ *nom /= tmp;
+ *den /= tmp;
+
+ /* make sure nominator is large enough */
+ if (*nom < nom_min) {
+ tmp = (nom_min + *nom - 1) / *nom;
+ *nom *= tmp;
+ *den *= tmp;
}
- post_div = vco / target_clock;
- tmp = vco % target_clock;
-
- if (pll->flags & RADEON_PLL_PREFER_MINM_OVER_MAXP) {
- if (tmp)
- post_div++;
- } else {
- if (!tmp)
- post_div--;
+ /* make sure the denominator is large enough */
+ if (*den < den_min) {
+ tmp = (den_min + *den - 1) / *den;
+ *nom *= tmp;
+ *den *= tmp;
}
-
- if (post_div > pll->max_post_div)
- post_div = pll->max_post_div;
- else if (post_div < pll->min_post_div)
- post_div = pll->min_post_div;
-
- return post_div;
}
-#define MAX_TOLERANCE 10
-
+/**
+ * radeon_compute_pll_avivo - compute PLL paramaters
+ *
+ * @pll: information about the PLL
+ * @dot_clock_p: resulting pixel clock
+ * fb_div_p: resulting feedback divider
+ * frac_fb_div_p: fractional part of the feedback divider
+ * ref_div_p: resulting reference divider
+ * post_div_p: resulting reference divider
+ *
+ * Try to calculate the PLL parameters to generate the given frequency:
+ * dot_clock = (ref_freq * feedback_div) / (ref_div * post_div)
+ */
void radeon_compute_pll_avivo(struct radeon_pll *pll,
u32 freq,
u32 *dot_clock_p,
@@ -867,53 +860,123 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
u32 *ref_div_p,
u32 *post_div_p)
{
- u32 target_clock = freq / 10;
- u32 post_div = avivo_get_post_div(pll, target_clock);
- u32 ref_div = pll->min_ref_div;
- u32 fb_div = 0, frac_fb_div = 0, tmp;
+ unsigned fb_div_min, fb_div_max, fb_div;
+ unsigned post_div_min, post_div_max, post_div;
+ unsigned ref_div_min, ref_div_max, ref_div;
+ unsigned post_div_best, diff_best;
+ unsigned nom, den, tmp;
- if (pll->flags & RADEON_PLL_USE_REF_DIV)
- ref_div = pll->reference_div;
+ /* determine allowed feedback divider range */
+ fb_div_min = pll->min_feedback_div;
+ fb_div_max = pll->max_feedback_div;
if (pll->flags & RADEON_PLL_USE_FRAC_FB_DIV) {
- avivo_get_fb_div(pll, target_clock, post_div, ref_div, &fb_div, &frac_fb_div);
- frac_fb_div = (100 * frac_fb_div) / pll->reference_freq;
- if (frac_fb_div >= 5) {
- frac_fb_div -= 5;
- frac_fb_div = frac_fb_div / 10;
- frac_fb_div++;
+ fb_div_min *= 10;
+ fb_div_max *= 10;
+ }
+
+ /* determine allowed ref divider range */
+ if (pll->flags & RADEON_PLL_USE_REF_DIV)
+ ref_div_min = pll->reference_div;
+ else
+ ref_div_min = pll->min_ref_div;
+ ref_div_max = pll->max_ref_div;
+
+ /* determine allowed post divider range */
+ if (pll->flags & RADEON_PLL_USE_POST_DIV) {
+ post_div_min = pll->post_div;
+ post_div_max = pll->post_div;
+ } else {
+ unsigned target_clock = freq / 10;
+ unsigned vco_min, vco_max;
+
+ if (pll->flags & RADEON_PLL_IS_LCD) {
+ vco_min = pll->lcd_pll_out_min;
+ vco_max = pll->lcd_pll_out_max;
+ } else {
+ vco_min = pll->pll_out_min;
+ vco_max = pll->pll_out_max;
}
- if (frac_fb_div >= 10) {
- fb_div++;
- frac_fb_div = 0;
+
+ post_div_min = vco_min / target_clock;
+ if ((target_clock * post_div_min) < vco_min)
+ ++post_div_min;
+ if (post_div_min < pll->min_post_div)
+ post_div_min = pll->min_post_div;
+
+ post_div_max = vco_max / target_clock;
+ if ((target_clock * post_div_max) > vco_max)
+ --post_div_max;
+ if (post_div_max > pll->max_post_div)
+ post_div_max = pll->max_post_div;
+ }
+
+ /* represent the searched ratio as fractional number */
+ nom = pll->flags & RADEON_PLL_USE_FRAC_FB_DIV ? freq : freq / 10;
+ den = pll->reference_freq;
+
+ /* reduce the numbers to a simpler ratio */
+ avivo_reduce_ratio(&nom, &den, fb_div_min, post_div_min);
+
+ /* now search for a post divider */
+ if (pll->flags & RADEON_PLL_PREFER_MINM_OVER_MAXP)
+ post_div_best = post_div_min;
+ else
+ post_div_best = post_div_max;
+ diff_best = ~0;
+
+ for (post_div = post_div_min; post_div <= post_div_max; ++post_div) {
+ unsigned diff = abs(den - den / post_div * post_div);
+ if (diff < diff_best || (diff == diff_best &&
+ !(pll->flags & RADEON_PLL_PREFER_MINM_OVER_MAXP))) {
+
+ post_div_best = post_div;
+ diff_best = diff;
}
+ }
+ post_div = post_div_best;
+
+ /* get matching reference and feedback divider */
+ ref_div = max(den / post_div, 1u);
+ fb_div = nom;
+
+ /* we're almost done, but reference and feedback
+ divider might be to large now */
+
+ tmp = ref_div;
+
+ if (fb_div > fb_div_max) {
+ ref_div = ref_div * fb_div_max / fb_div;
+ fb_div = fb_div_max;
+ }
+
+ if (ref_div > ref_div_max) {
+ ref_div = ref_div_max;
+ fb_div = nom * ref_div_max / tmp;
+ }
+
+ /* reduce the numbers to a simpler ratio once more */
+ /* this also makes sure that the reference divider is large enough */
+ avivo_reduce_ratio(&fb_div, &ref_div, fb_div_min, ref_div_min);
+
+ /* and finally save the result */
+ if (pll->flags & RADEON_PLL_USE_FRAC_FB_DIV) {
+ *fb_div_p = fb_div / 10;
+ *frac_fb_div_p = fb_div % 10;
} else {
- while (ref_div <= pll->max_ref_div) {
- avivo_get_fb_div(pll, target_clock, post_div, ref_div,
- &fb_div, &frac_fb_div);
- if (frac_fb_div >= (pll->reference_freq / 2))
- fb_div++;
- frac_fb_div = 0;
- tmp = (pll->reference_freq * fb_div) / (post_div * ref_div);
- tmp = (tmp * 10000) / target_clock;
-
- if (tmp > (10000 + MAX_TOLERANCE))
- ref_div++;
- else if (tmp >= (10000 - MAX_TOLERANCE))
- break;
- else
- ref_div++;
- }
+ *fb_div_p = fb_div;
+ *frac_fb_div_p = 0;
}
- *dot_clock_p = ((pll->reference_freq * fb_div * 10) + (pll->reference_freq * frac_fb_div)) /
- (ref_div * post_div * 10);
- *fb_div_p = fb_div;
- *frac_fb_div_p = frac_fb_div;
+ *dot_clock_p = ((pll->reference_freq * *fb_div_p * 10) +
+ (pll->reference_freq * *frac_fb_div_p)) /
+ (ref_div * post_div * 10);
*ref_div_p = ref_div;
*post_div_p = post_div;
- DRM_DEBUG_KMS("%d, pll dividers - fb: %d.%d ref: %d, post %d\n",
- *dot_clock_p, fb_div, frac_fb_div, ref_div, post_div);
+
+ DRM_DEBUG_KMS("%d - %d, pll dividers - fb: %d.%d ref: %d, post %d\n",
+ freq, *dot_clock_p, *fb_div_p, *frac_fb_div_p,
+ ref_div, post_div);
}
/* pre-avivo */
--
1.9.1
From 514738e09ec3ec0d1fb15cc3eabe4698b0d51358 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Fri, 4 Apr 2014 13:45:42 +0200
Subject: [PATCH 2/6] drm/radeon: apply more strict limits for PLL params v2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Letting post and refernce divider get to big is bad for signal stability.
v2: increase the limit to 210
Signed-off-by: Christian König <christian.koenig@amd.com>
---
drivers/gpu/drm/radeon/radeon_display.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index 4e83ffd..35129ad 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -936,6 +936,9 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
}
post_div = post_div_best;
+ /* limit reference * post divider to a maximum */
+ ref_div_max = min(210 / post_div, ref_div_max);
+
/* get matching reference and feedback divider */
ref_div = max(den / post_div, 1u);
fb_div = nom;
--
1.9.1
From 97856db97ccbf06adf0cd6ede973b922e59d3eaa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Wed, 16 Apr 2014 11:54:21 +0200
Subject: [PATCH 3/6] drm/radeon: improve PLL params if we don't match exactly
v2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Otherwise we might be quite off on older chipsets.
v2: keep ref_div minimum
Signed-off-by: Christian König <christian.koenig@amd.com>
---
drivers/gpu/drm/radeon/radeon_display.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index 35129ad..00f63d28 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -864,7 +864,7 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
unsigned post_div_min, post_div_max, post_div;
unsigned ref_div_min, ref_div_max, ref_div;
unsigned post_div_best, diff_best;
- unsigned nom, den, tmp;
+ unsigned nom, den;
/* determine allowed feedback divider range */
fb_div_min = pll->min_feedback_div;
@@ -940,22 +940,23 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
ref_div_max = min(210 / post_div, ref_div_max);
/* get matching reference and feedback divider */
- ref_div = max(den / post_div, 1u);
- fb_div = nom;
+ ref_div = max(DIV_ROUND_CLOSEST(den, post_div), 1u);
+ fb_div = DIV_ROUND_CLOSEST(nom * ref_div * post_div, den);
/* we're almost done, but reference and feedback
divider might be to large now */
- tmp = ref_div;
+ nom = fb_div;
+ den = ref_div;
if (fb_div > fb_div_max) {
- ref_div = ref_div * fb_div_max / fb_div;
+ ref_div = DIV_ROUND_CLOSEST(den * fb_div_max, nom);
fb_div = fb_div_max;
}
if (ref_div > ref_div_max) {
ref_div = ref_div_max;
- fb_div = nom * ref_div_max / tmp;
+ fb_div = DIV_ROUND_CLOSEST(nom * ref_div_max, den);
}
/* reduce the numbers to a simpler ratio once more */
--
1.9.1
From 537669e14063df59dd0b1004382842e278e19aa2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Sat, 19 Apr 2014 18:57:14 +0200
Subject: [PATCH 4/6] drm/radeon: use fixed PPL ref divider if needed
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Christian König <christian.koenig@amd.com>
---
drivers/gpu/drm/radeon/radeon_display.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index 00f63d28..0c26b3c 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -880,7 +880,12 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
ref_div_min = pll->reference_div;
else
ref_div_min = pll->min_ref_div;
- ref_div_max = pll->max_ref_div;
+
+ if (pll->flags & RADEON_PLL_USE_FRAC_FB_DIV &&
+ pll->flags & RADEON_PLL_USE_REF_DIV)
+ ref_div_max = pll->reference_div;
+ else
+ ref_div_max = pll->max_ref_div;
/* determine allowed post divider range */
if (pll->flags & RADEON_PLL_USE_POST_DIV) {
--
1.9.1
From 09535920958a819e90f0178e9d6831dba0577aa0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Sun, 20 Apr 2014 13:24:32 +0200
Subject: [PATCH 5/6] drm/radeon: improve PLL limit handling in post div
calculation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This improves the PLL parameters when we work at
the limits of the allowed ranges.
Signed-off-by: Christian König <christian.koenig@amd.com>
---
drivers/gpu/drm/radeon/radeon_display.c | 77 ++++++++++++++++++++++-----------
1 file changed, 51 insertions(+), 26 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index 0c26b3c..12a01e9 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -840,6 +840,38 @@ static void avivo_reduce_ratio(unsigned *nom, unsigned *den,
}
/**
+ * avivo_get_fb_ref_div - feedback and ref divider calculation
+ *
+ * @nom: nominator
+ * @den: denominator
+ * @post_div: post divider
+ * @fb_div_max: feedback divider maximum
+ * @ref_div_max: reference divider maximum
+ * @fb_div: resulting feedback divider
+ * @ref_div: resulting reference divider
+ *
+ * Calculate feedback and reference divider for a given post divider. Makes
+ * sure we stay within the limits.
+ */
+static void avivo_get_fb_ref_div(unsigned nom, unsigned den, unsigned post_div,
+ unsigned fb_div_max, unsigned ref_div_max,
+ unsigned *fb_div, unsigned *ref_div)
+{
+ /* limit reference * post divider to a maximum */
+ ref_div_max = min(210 / post_div, ref_div_max);
+
+ /* get matching reference and feedback divider */
+ *ref_div = min(max(DIV_ROUND_CLOSEST(den, post_div), 1u), ref_div_max);
+ *fb_div = DIV_ROUND_CLOSEST(nom * *ref_div * post_div, den);
+
+ /* limit fb divider to its maximum */
+ if (*fb_div > fb_div_max) {
+ *ref_div = DIV_ROUND_CLOSEST(*ref_div * fb_div_max, *fb_div);
+ *fb_div = fb_div_max;
+ }
+}
+
+/**
* radeon_compute_pll_avivo - compute PLL paramaters
*
* @pll: information about the PLL
@@ -860,6 +892,9 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
u32 *ref_div_p,
u32 *post_div_p)
{
+ unsigned target_clock = pll->flags & RADEON_PLL_USE_FRAC_FB_DIV ?
+ freq : freq / 10;
+
unsigned fb_div_min, fb_div_max, fb_div;
unsigned post_div_min, post_div_max, post_div;
unsigned ref_div_min, ref_div_max, ref_div;
@@ -892,7 +927,6 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
post_div_min = pll->post_div;
post_div_max = pll->post_div;
} else {
- unsigned target_clock = freq / 10;
unsigned vco_min, vco_max;
if (pll->flags & RADEON_PLL_IS_LCD) {
@@ -903,6 +937,11 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
vco_max = pll->pll_out_max;
}
+ if (pll->flags & RADEON_PLL_USE_FRAC_FB_DIV) {
+ vco_min *= 10;
+ vco_max *= 10;
+ }
+
post_div_min = vco_min / target_clock;
if ((target_clock * post_div_min) < vco_min)
++post_div_min;
@@ -917,7 +956,7 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
}
/* represent the searched ratio as fractional number */
- nom = pll->flags & RADEON_PLL_USE_FRAC_FB_DIV ? freq : freq / 10;
+ nom = target_clock;
den = pll->reference_freq;
/* reduce the numbers to a simpler ratio */
@@ -931,7 +970,12 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
diff_best = ~0;
for (post_div = post_div_min; post_div <= post_div_max; ++post_div) {
- unsigned diff = abs(den - den / post_div * post_div);
+ unsigned diff;
+ avivo_get_fb_ref_div(nom, den, post_div, fb_div_max,
+ ref_div_max, &fb_div, &ref_div);
+ diff = abs(target_clock - (pll->reference_freq * fb_div) /
+ (ref_div * post_div));
+
if (diff < diff_best || (diff == diff_best &&
!(pll->flags & RADEON_PLL_PREFER_MINM_OVER_MAXP))) {
@@ -941,28 +985,9 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
}
post_div = post_div_best;
- /* limit reference * post divider to a maximum */
- ref_div_max = min(210 / post_div, ref_div_max);
-
- /* get matching reference and feedback divider */
- ref_div = max(DIV_ROUND_CLOSEST(den, post_div), 1u);
- fb_div = DIV_ROUND_CLOSEST(nom * ref_div * post_div, den);
-
- /* we're almost done, but reference and feedback
- divider might be to large now */
-
- nom = fb_div;
- den = ref_div;
-
- if (fb_div > fb_div_max) {
- ref_div = DIV_ROUND_CLOSEST(den * fb_div_max, nom);
- fb_div = fb_div_max;
- }
-
- if (ref_div > ref_div_max) {
- ref_div = ref_div_max;
- fb_div = DIV_ROUND_CLOSEST(nom * ref_div_max, den);
- }
+ /* get the feedback and reference divider for the optimal value */
+ avivo_get_fb_ref_div(nom, den, post_div, fb_div_max, ref_div_max,
+ &fb_div, &ref_div);
/* reduce the numbers to a simpler ratio once more */
/* this also makes sure that the reference divider is large enough */
@@ -984,7 +1009,7 @@ void radeon_compute_pll_avivo(struct radeon_pll *pll,
*post_div_p = post_div;
DRM_DEBUG_KMS("%d - %d, pll dividers - fb: %d.%d ref: %d, post %d\n",
- freq, *dot_clock_p, *fb_div_p, *frac_fb_div_p,
+ freq, *dot_clock_p * 10, *fb_div_p, *frac_fb_div_p,
ref_div, post_div);
}
--
1.9.1
From 6e26c28955078c20a78a41e03911d67b5f85bd55 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Wed, 23 Apr 2014 20:46:06 +0200
Subject: [PATCH 6/6] drm/radeon: use pflip irq on R600+
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Christian König <christian.koenig@amd.com>
---
drivers/gpu/drm/radeon/cik.c | 76 +++++++++++++++++++++++++++++++++
drivers/gpu/drm/radeon/cikd.h | 9 ++++
drivers/gpu/drm/radeon/evergreen.c | 28 +++++++++---
drivers/gpu/drm/radeon/r600.c | 10 +++--
drivers/gpu/drm/radeon/radeon.h | 6 +++
drivers/gpu/drm/radeon/radeon_display.c | 4 ++
drivers/gpu/drm/radeon/si.c | 28 +++++++++---
7 files changed, 144 insertions(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index bbb1784..e29c9b2 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -6662,6 +6662,19 @@ static void cik_disable_interrupt_state(struct radeon_device *rdev)
WREG32(LB_INTERRUPT_MASK + EVERGREEN_CRTC4_REGISTER_OFFSET, 0);
WREG32(LB_INTERRUPT_MASK + EVERGREEN_CRTC5_REGISTER_OFFSET, 0);
}
+ /* pflip */
+ if (rdev->num_crtc >= 2) {
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET, 0);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET, 0);
+ }
+ if (rdev->num_crtc >= 4) {
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET, 0);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET, 0);
+ }
+ if (rdev->num_crtc >= 6) {
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET, 0);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET, 0);
+ }
/* dac hotplug */
WREG32(DAC_AUTODETECT_INT_CONTROL, 0);
@@ -7018,6 +7031,25 @@ int cik_irq_set(struct radeon_device *rdev)
WREG32(LB_INTERRUPT_MASK + EVERGREEN_CRTC5_REGISTER_OFFSET, crtc6);
}
+ if (rdev->num_crtc >= 2) {
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ }
+ if (rdev->num_crtc >= 4) {
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ }
+ if (rdev->num_crtc >= 6) {
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ }
+
WREG32(DC_HPD1_INT_CONTROL, hpd1);
WREG32(DC_HPD2_INT_CONTROL, hpd2);
WREG32(DC_HPD3_INT_CONTROL, hpd3);
@@ -7054,6 +7086,29 @@ static inline void cik_irq_ack(struct radeon_device *rdev)
rdev->irq.stat_regs.cik.disp_int_cont5 = RREG32(DISP_INTERRUPT_STATUS_CONTINUE5);
rdev->irq.stat_regs.cik.disp_int_cont6 = RREG32(DISP_INTERRUPT_STATUS_CONTINUE6);
+ rdev->irq.stat_regs.cik.d1grph_int = RREG32(GRPH_INT_STATUS +
+ EVERGREEN_CRTC0_REGISTER_OFFSET);
+ rdev->irq.stat_regs.cik.d2grph_int = RREG32(GRPH_INT_STATUS +
+ EVERGREEN_CRTC1_REGISTER_OFFSET);
+ if (rdev->num_crtc >= 4) {
+ rdev->irq.stat_regs.cik.d3grph_int = RREG32(GRPH_INT_STATUS +
+ EVERGREEN_CRTC2_REGISTER_OFFSET);
+ rdev->irq.stat_regs.cik.d4grph_int = RREG32(GRPH_INT_STATUS +
+ EVERGREEN_CRTC3_REGISTER_OFFSET);
+ }
+ if (rdev->num_crtc >= 6) {
+ rdev->irq.stat_regs.cik.d5grph_int = RREG32(GRPH_INT_STATUS +
+ EVERGREEN_CRTC4_REGISTER_OFFSET);
+ rdev->irq.stat_regs.cik.d6grph_int = RREG32(GRPH_INT_STATUS +
+ EVERGREEN_CRTC5_REGISTER_OFFSET);
+ }
+
+ if (rdev->irq.stat_regs.cik.d1grph_int & GRPH_PFLIP_INT_OCCURRED)
+ WREG32(GRPH_INT_STATUS + EVERGREEN_CRTC0_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_CLEAR);
+ if (rdev->irq.stat_regs.cik.d2grph_int & GRPH_PFLIP_INT_OCCURRED)
+ WREG32(GRPH_INT_STATUS + EVERGREEN_CRTC1_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_CLEAR);
if (rdev->irq.stat_regs.cik.disp_int & LB_D1_VBLANK_INTERRUPT)
WREG32(LB_VBLANK_STATUS + EVERGREEN_CRTC0_REGISTER_OFFSET, VBLANK_ACK);
if (rdev->irq.stat_regs.cik.disp_int & LB_D1_VLINE_INTERRUPT)
@@ -7064,6 +7119,12 @@ static inline void cik_irq_ack(struct radeon_device *rdev)
WREG32(LB_VLINE_STATUS + EVERGREEN_CRTC1_REGISTER_OFFSET, VLINE_ACK);
if (rdev->num_crtc >= 4) {
+ if (rdev->irq.stat_regs.cik.d3grph_int & GRPH_PFLIP_INT_OCCURRED)
+ WREG32(GRPH_INT_STATUS + EVERGREEN_CRTC2_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_CLEAR);
+ if (rdev->irq.stat_regs.cik.d4grph_int & GRPH_PFLIP_INT_OCCURRED)
+ WREG32(GRPH_INT_STATUS + EVERGREEN_CRTC3_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_CLEAR);
if (rdev->irq.stat_regs.cik.disp_int_cont2 & LB_D3_VBLANK_INTERRUPT)
WREG32(LB_VBLANK_STATUS + EVERGREEN_CRTC2_REGISTER_OFFSET, VBLANK_ACK);
if (rdev->irq.stat_regs.cik.disp_int_cont2 & LB_D3_VLINE_INTERRUPT)
@@ -7075,6 +7136,12 @@ static inline void cik_irq_ack(struct radeon_device *rdev)
}
if (rdev->num_crtc >= 6) {
+ if (rdev->irq.stat_regs.cik.d5grph_int & GRPH_PFLIP_INT_OCCURRED)
+ WREG32(GRPH_INT_STATUS + EVERGREEN_CRTC4_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_CLEAR);
+ if (rdev->irq.stat_regs.cik.d6grph_int & GRPH_PFLIP_INT_OCCURRED)
+ WREG32(GRPH_INT_STATUS + EVERGREEN_CRTC5_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_CLEAR);
if (rdev->irq.stat_regs.cik.disp_int_cont4 & LB_D5_VBLANK_INTERRUPT)
WREG32(LB_VBLANK_STATUS + EVERGREEN_CRTC4_REGISTER_OFFSET, VBLANK_ACK);
if (rdev->irq.stat_regs.cik.disp_int_cont4 & LB_D5_VLINE_INTERRUPT)
@@ -7426,6 +7493,15 @@ restart_ih:
break;
}
break;
+ case 8: /* D1 page flip */
+ case 9: /* D2 page flip */
+ case 10: /* D3 page flip */
+ case 11: /* D4 page flip */
+ case 12: /* D5 page flip */
+ case 13: /* D6 page flip */
+ DRM_DEBUG("IH: D%d flip\n", src_id - 7);
+ radeon_crtc_handle_flip(rdev, src_id - 8);
+ break;
case 42: /* HPD hotplug */
switch (src_data) {
case 0:
diff --git a/drivers/gpu/drm/radeon/cikd.h b/drivers/gpu/drm/radeon/cikd.h
index 98bae9d7..d1b2c71 100644
--- a/drivers/gpu/drm/radeon/cikd.h
+++ b/drivers/gpu/drm/radeon/cikd.h
@@ -882,6 +882,15 @@
# define DC_HPD6_RX_INTERRUPT (1 << 18)
#define DISP_INTERRUPT_STATUS_CONTINUE6 0x6780
+/* 0x6858, 0x7458, 0x10058, 0x10c58, 0x11858, 0x12458 */
+#define GRPH_INT_STATUS 0x6858
+# define GRPH_PFLIP_INT_OCCURRED (1 << 0)
+# define GRPH_PFLIP_INT_CLEAR (1 << 8)
+/* 0x685c, 0x745c, 0x1005c, 0x10c5c, 0x1185c, 0x1245c */
+#define GRPH_INT_CONTROL 0x685c
+# define GRPH_PFLIP_INT_MASK (1 << 0)
+# define GRPH_PFLIP_INT_TYPE (1 << 8)
+
#define DAC_AUTODETECT_INT_CONTROL 0x67c8
#define DC_HPD1_INT_STATUS 0x601c
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c
index 27b0ff1..8ffee2b 100644
--- a/drivers/gpu/drm/radeon/evergreen.c
+++ b/drivers/gpu/drm/radeon/evergreen.c
@@ -4375,7 +4375,6 @@ int evergreen_irq_set(struct radeon_device *rdev)
u32 crtc1 = 0, crtc2 = 0, crtc3 = 0, crtc4 = 0, crtc5 = 0, crtc6 = 0;
u32 hpd1, hpd2, hpd3, hpd4, hpd5, hpd6;
u32 grbm_int_cntl = 0;
- u32 grph1 = 0, grph2 = 0, grph3 = 0, grph4 = 0, grph5 = 0, grph6 = 0;
u32 afmt1 = 0, afmt2 = 0, afmt3 = 0, afmt4 = 0, afmt5 = 0, afmt6 = 0;
u32 dma_cntl, dma_cntl1 = 0;
u32 thermal_int = 0;
@@ -4558,15 +4557,21 @@ int evergreen_irq_set(struct radeon_device *rdev)
WREG32(INT_MASK + EVERGREEN_CRTC5_REGISTER_OFFSET, crtc6);
}
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET, grph1);
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET, grph2);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
if (rdev->num_crtc >= 4) {
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET, grph3);
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET, grph4);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
}
if (rdev->num_crtc >= 6) {
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET, grph5);
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET, grph6);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
}
WREG32(DC_HPD1_INT_CONTROL, hpd1);
@@ -4955,6 +4960,15 @@ restart_ih:
break;
}
break;
+ case 8: /* D1 page flip */
+ case 9: /* D2 page flip */
+ case 10: /* D3 page flip */
+ case 11: /* D4 page flip */
+ case 12: /* D5 page flip */
+ case 13: /* D6 page flip */
+ DRM_DEBUG("IH: D%d flip\n", src_id - 7);
+ radeon_crtc_handle_flip(rdev, src_id - 8);
+ break;
case 42: /* HPD hotplug */
switch (src_data) {
case 0:
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
index 647ef40..114a3ef 100644
--- a/drivers/gpu/drm/radeon/r600.c
+++ b/drivers/gpu/drm/radeon/r600.c
@@ -3509,7 +3509,6 @@ int r600_irq_set(struct radeon_device *rdev)
u32 hpd1, hpd2, hpd3, hpd4 = 0, hpd5 = 0, hpd6 = 0;
u32 grbm_int_cntl = 0;
u32 hdmi0, hdmi1;
- u32 d1grph = 0, d2grph = 0;
u32 dma_cntl;
u32 thermal_int = 0;
@@ -3618,8 +3617,8 @@ int r600_irq_set(struct radeon_device *rdev)
WREG32(CP_INT_CNTL, cp_int_cntl);
WREG32(DMA_CNTL, dma_cntl);
WREG32(DxMODE_INT_MASK, mode_int);
- WREG32(D1GRPH_INTERRUPT_CONTROL, d1grph);
- WREG32(D2GRPH_INTERRUPT_CONTROL, d2grph);
+ WREG32(D1GRPH_INTERRUPT_CONTROL, DxGRPH_PFLIP_INT_MASK);
+ WREG32(D2GRPH_INTERRUPT_CONTROL, DxGRPH_PFLIP_INT_MASK);
WREG32(GRBM_INT_CNTL, grbm_int_cntl);
if (ASIC_IS_DCE3(rdev)) {
WREG32(DC_HPD1_INT_CONTROL, hpd1);
@@ -3922,6 +3921,11 @@ restart_ih:
break;
}
break;
+ case 9: /* D1 pflip */
+ case 10: /* D2 pflip */
+ DRM_DEBUG("IH: D%d flip\n", src_id - 8);
+ radeon_crtc_handle_flip(rdev, src_id - 9);
+ break;
case 19: /* HPD/DAC hotplug */
switch (src_data) {
case 0:
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index e887d02..5587de9 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -733,6 +733,12 @@ struct cik_irq_stat_regs {
u32 disp_int_cont4;
u32 disp_int_cont5;
u32 disp_int_cont6;
+ u32 d1grph_int;
+ u32 d2grph_int;
+ u32 d3grph_int;
+ u32 d4grph_int;
+ u32 d5grph_int;
+ u32 d6grph_int;
};
union radeon_irq_stat_regs {
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index 12a01e9..5e4326f 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -284,6 +284,10 @@ void radeon_crtc_handle_flip(struct radeon_device *rdev, int crtc_id)
u32 update_pending;
int vpos, hpos;
+ /* can happen during initialization */
+ if (radeon_crtc == NULL)
+ return;
+
spin_lock_irqsave(&rdev->ddev->event_lock, flags);
work = radeon_crtc->unpin_work;
if (work == NULL ||
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
index 9a124d0..2b47e53 100644
--- a/drivers/gpu/drm/radeon/si.c
+++ b/drivers/gpu/drm/radeon/si.c
@@ -5777,7 +5777,6 @@ int si_irq_set(struct radeon_device *rdev)
u32 crtc1 = 0, crtc2 = 0, crtc3 = 0, crtc4 = 0, crtc5 = 0, crtc6 = 0;
u32 hpd1 = 0, hpd2 = 0, hpd3 = 0, hpd4 = 0, hpd5 = 0, hpd6 = 0;
u32 grbm_int_cntl = 0;
- u32 grph1 = 0, grph2 = 0, grph3 = 0, grph4 = 0, grph5 = 0, grph6 = 0;
u32 dma_cntl, dma_cntl1;
u32 thermal_int = 0;
@@ -5916,16 +5915,22 @@ int si_irq_set(struct radeon_device *rdev)
}
if (rdev->num_crtc >= 2) {
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET, grph1);
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET, grph2);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
}
if (rdev->num_crtc >= 4) {
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET, grph3);
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET, grph4);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
}
if (rdev->num_crtc >= 6) {
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET, grph5);
- WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET, grph6);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
+ WREG32(GRPH_INT_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET,
+ GRPH_PFLIP_INT_MASK);
}
if (!ASIC_IS_NODCE(rdev)) {
@@ -6289,6 +6294,15 @@ restart_ih:
break;
}
break;
+ case 8: /* D1 page flip */
+ case 9: /* D2 page flip */
+ case 10: /* D3 page flip */
+ case 11: /* D4 page flip */
+ case 12: /* D5 page flip */
+ case 13: /* D6 page flip */
+ DRM_DEBUG("IH: D%d flip\n", src_id - 7);
+ radeon_crtc_handle_flip(rdev, src_id - 8);
+ break;
case 42: /* HPD hotplug */
switch (src_data) {
case 0:
--
1.9.1

View File

@@ -0,0 +1,43 @@
From b6d7efd33fd2843fbafe2b2d4b8119b217779a6a Mon Sep 17 00:00:00 2001
From: fritsch <Peter.Fruehberger@gmail.com>
Date: Sat, 3 May 2014 00:08:24 +0200
Subject: [PATCH] Revert "Revert "xhci: Set scatter-gather limit to avoid
failed block writes.""
This reverts commit 47f467ac740ebf0475a5176ddb1741acba6aad4e.
---
drivers/usb/host/xhci.c | 4 ++--
drivers/usb/host/xhci.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 5a646a6..cfa5995 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -4716,8 +4716,8 @@ int xhci_gen_setup(struct usb_hcd *hcd, xhci_get_quirks_t get_quirks)
struct device *dev = hcd->self.controller;
int retval;
- /* Accept arbitrarily long scatter-gather lists */
- hcd->self.sg_tablesize = ~0;
+ /* Limit the block layer scatter-gather lists to half a segment. */
+ hcd->self.sg_tablesize = TRBS_PER_SEGMENT / 2;
/* support to build packet from discontinuous buffers */
hcd->self.no_sg_constraint = 1;
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 03c74b7..c283cf1 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1260,7 +1260,7 @@ union xhci_trb {
* since the command ring is 64-byte aligned.
* It must also be greater than 16.
*/
-#define TRBS_PER_SEGMENT 64
+#define TRBS_PER_SEGMENT 256
/* Allow two commands + a link TRB, along with any reserved command TRBs */
#define MAX_RSVD_CMD_TRBS (TRBS_PER_SEGMENT - 3)
#define TRB_SEGMENT_SIZE (TRBS_PER_SEGMENT*16)
--
1.9.1

View File

@@ -0,0 +1,55 @@
From 299db7189ad00fdddae62c9841c25a4b7c835ce5 Mon Sep 17 00:00:00 2001
From: Anssi Hannula <anssi.hannula@iki.fi>
Date: Mon, 5 May 2014 01:32:48 +0300
Subject: [PATCH 1/2] ALSA: hda - hdmi: Set converter channel count even
without sink
Since commit 1df5a06a ("ALSA: hda - hdmi: Fix programmed active channel
count") channel count is no longer being set if monitor_present is 0.
This is because setting the count was moved after the CA value is
determined, which is only after the monitor_present check in
hdmi_setup_audio_infoframe().
Unfortunately, in some cases, such as with a non-spec-compliant codec or
with a problematic video driver, monitor_present is always 0. As a
specific example, this seems to happen with gen1 ATV (SiI1390 codec),
causing left-channel-only stereo playback (multi-channel playback has
apparently never worked with this codec despite it reporting 8 channels,
reason unknown).
Simply setting converter channel count without setting the pin infoframe
and channel mapping as well does not theoretically make much sense as
this will just mean they are out-of-sync and multichannel playback will
have a wrong channel mapping.
However, adding back just setting the converter channel count even in
no-monitor case is the safest change which at least fixes the stereo
playback regression on SiI1390 codec. Do that.
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Reported-by: Stephan Raue <stephan@openelec.tv>
Tested-by: Stephan Raue <stephan@openelec.tv>
Cc: <stable@vger.kernel.org> # 3.12+
---
sound/pci/hda/patch_hdmi.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 0cb5b89cd0c8..1edbb9c47c2d 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1127,8 +1127,10 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec,
AMP_OUT_UNMUTE);
eld = &per_pin->sink_eld;
- if (!eld->monitor_present)
+ if (!eld->monitor_present) {
+ hdmi_set_channel_count(codec, per_pin->cvt_nid, channels);
return;
+ }
if (!non_pcm && per_pin->chmap_set)
ca = hdmi_manual_channel_allocation(channels, per_pin->chmap);
--
1.8.4.5

View File

@@ -1,21 +0,0 @@
diff --git a/init/main.c b/init/main.c
index 9484f4b..db55edd 100644
--- a/init/main.c
+++ b/init/main.c
@@ -880,8 +880,14 @@ static noinline void __init kernel_init_freeable(void)
do_basic_setup();
/* Open the /dev/console on the rootfs, this should never fail */
- if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
- pr_err("Warning: unable to open an initial console.\n");
+ char *console = "/dev_console";
+
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0) {
+ sys_mknod(console, S_IFCHR|0600, (TTYAUX_MAJOR<<8)|1);
+ if (sys_open(console, O_RDWR, 0) < 0)
+ printk(KERN_WARNING "Warning: unable to open an initial console.\n");
+ sys_unlink(console);
+ }
(void) sys_dup(0);
(void) sys_dup(0);

View File

@@ -1,12 +0,0 @@
diff -Naur linux-3.0/drivers/media/rc/nuvoton-cir.c linux-3.0.patch/drivers/media/rc/nuvoton-cir.c
--- linux-3.0/drivers/media/rc/nuvoton-cir.c 2011-07-22 04:17:23.000000000 +0200
+++ linux-3.0.patch/drivers/media/rc/nuvoton-cir.c 2011-07-22 21:30:48.374591146 +0200
@@ -1110,7 +1110,7 @@
rdev->dev.parent = &pdev->dev;
rdev->driver_name = NVT_DRIVER_NAME;
rdev->map_name = RC_MAP_RC6_MCE;
- rdev->timeout = MS_TO_NS(100);
+ rdev->timeout = US_TO_NS(1000);
/* rx resolution is hardwired to 50us atm, 1, 25, 100 also possible */
rdev->rx_resolution = US_TO_NS(CIR_SAMPLE_PERIOD);
#if 0

View File

@@ -1,12 +0,0 @@
diff -Naur linux-3.13-rc1/drivers/media/usb/dvb-usb-v2/rtl28xxu.c linux-3.13-rc1.patch/drivers/media/usb/dvb-usb-v2/rtl28xxu.c
--- linux-3.13-rc1/drivers/media/usb/dvb-usb-v2/rtl28xxu.c 2013-11-22 20:30:55.000000000 +0100
+++ linux-3.13-rc1.patch/drivers/media/usb/dvb-usb-v2/rtl28xxu.c 2013-11-24 19:44:45.617201463 +0100
@@ -1427,6 +1427,8 @@
&rtl2832u_props, "Leadtek WinFast DTV Dongle mini", NULL) },
{ DVB_USB_DEVICE(USB_VID_GTEK, USB_PID_CPYTO_REDI_PC50A,
&rtl2832u_props, "Crypto ReDi PC 50 A", NULL) },
+ { DVB_USB_DEVICE(USB_VID_GTEK, 0xa803,
+ &rtl2832u_props, "Realtek RTL2832U reference design", NULL) },
{ DVB_USB_DEVICE(USB_VID_HANFTEK, 0x0131,
&rtl2832u_props, "Astrometa DVB-T2", NULL) },

View File

@@ -1,12 +0,0 @@
diff -Naur linux-3.7.2/drivers/media/dvb-frontends/stb0899_drv.c linux-3.7.2.patch/drivers/media/dvb-frontends/stb0899_drv.c
--- linux-3.7.2/drivers/media/dvb-frontends/stb0899_drv.c 2013-01-11 18:19:28.000000000 +0100
+++ linux-3.7.2.patch/drivers/media/dvb-frontends/stb0899_drv.c 2013-01-16 10:25:43.479645317 +0100
@@ -1581,7 +1581,7 @@
.frequency_max = 2150000,
.frequency_stepsize = 0,
.frequency_tolerance = 0,
- .symbol_rate_min = 5000000,
+ .symbol_rate_min = 1000000,
.symbol_rate_max = 45000000,
.caps = FE_CAN_INVERSION_AUTO |

View File

@@ -1,138 +0,0 @@
diff -Naur linux-3.7.2/drivers/media/dvb-frontends/stb0899_algo.c linux-3.7.2.patch/drivers/media/dvb-frontends/stb0899_algo.c
--- linux-3.7.2/drivers/media/dvb-frontends/stb0899_algo.c 2013-01-11 18:19:28.000000000 +0100
+++ linux-3.7.2.patch/drivers/media/dvb-frontends/stb0899_algo.c 2013-01-16 10:28:33.633409961 +0100
@@ -206,7 +206,6 @@
static enum stb0899_status stb0899_search_tmg(struct stb0899_state *state)
{
struct stb0899_internal *internal = &state->internal;
- struct stb0899_params *params = &state->params;
short int derot_step, derot_freq = 0, derot_limit, next_loop = 3;
int index = 0;
@@ -216,10 +215,9 @@
/* timing loop computation & symbol rate optimisation */
derot_limit = (internal->sub_range / 2L) / internal->mclk;
- derot_step = (params->srate / 2L) / internal->mclk;
+ derot_step = internal->derot_step * 4; /* dertot_step = decreasing delta */
while ((stb0899_check_tmg(state) != TIMINGOK) && next_loop) {
- index++;
derot_freq += index * internal->direction * derot_step; /* next derot zig zag position */
if (abs(derot_freq) > derot_limit)
@@ -230,6 +228,7 @@
STB0899_SETFIELD_VAL(CFRL, cfr[1], LSB(state->config->inversion * derot_freq));
stb0899_write_regs(state, STB0899_CFRM, cfr, 2); /* derotator frequency */
}
+ index++;
internal->direction = -internal->direction; /* Change zigzag direction */
}
@@ -278,14 +277,18 @@
{
struct stb0899_internal *internal = &state->internal;
- short int derot_freq = 0, last_derot_freq = 0, derot_limit, next_loop = 3;
+ short int derot_freq = 0, last_derot_freq = 0, derot_limit, derot_step, next_loop = 3;
int index = 0;
+ int base_freq;
u8 cfr[2];
u8 reg;
internal->status = NOCARRIER;
derot_limit = (internal->sub_range / 2L) / internal->mclk;
derot_freq = internal->derot_freq;
+ derot_step = internal->derot_step * 2;
+ last_derot_freq = internal->derot_freq;
+ base_freq = internal->derot_freq;
reg = stb0899_read_reg(state, STB0899_CFD);
STB0899_SETFIELD_VAL(CFD_ON, reg, 1);
@@ -294,11 +297,10 @@
do {
dprintk(state->verbose, FE_DEBUG, 1, "Derot Freq=%d, mclk=%d", derot_freq, internal->mclk);
if (stb0899_check_carrier(state) == NOCARRIER) {
- index++;
last_derot_freq = derot_freq;
- derot_freq += index * internal->direction * internal->derot_step; /* next zig zag derotator position */
+ derot_freq += index * internal->direction * derot_step; /* next zig zag derotator position */
- if(abs(derot_freq) > derot_limit)
+ if (derot_freq > base_freq + derot_limit || derot_freq < base_freq - derot_limit)
next_loop--;
if (next_loop) {
@@ -310,9 +312,10 @@
STB0899_SETFIELD_VAL(CFRL, cfr[1], LSB(state->config->inversion * derot_freq));
stb0899_write_regs(state, STB0899_CFRM, cfr, 2); /* derotator frequency */
}
+ index++;
+ internal->direction = -internal->direction; /* Change zigzag direction */
}
- internal->direction = -internal->direction; /* Change zigzag direction */
} while ((internal->status != CARRIEROK) && next_loop);
if (internal->status == CARRIEROK) {
@@ -338,6 +341,7 @@
int lock = 0, index = 0, dataTime = 500, loop;
u8 reg;
+ msleep(1);
internal->status = NODATA;
/* RESET FEC */
@@ -348,6 +352,7 @@
reg = stb0899_read_reg(state, STB0899_TSTRES);
STB0899_SETFIELD_VAL(FRESACS, reg, 0);
stb0899_write_reg(state, STB0899_TSTRES, reg);
+ msleep(1);
if (params->srate <= 2000000)
dataTime = 2000;
@@ -363,6 +368,7 @@
stb0899_write_reg(state, STB0899_DSTATUS2, 0x00); /* force search loop */
while (1) {
+ msleep(1); // Alex: added 1 mSec
/* WARNING! VIT LOCKED has to be tested before VIT_END_LOOOP */
reg = stb0899_read_reg(state, STB0899_VSTATUS);
lock = STB0899_GETFIELD(VSTATUS_LOCKEDVIT, reg);
@@ -390,20 +396,21 @@
short int derot_freq, derot_step, derot_limit, next_loop = 3;
u8 cfr[2];
u8 reg;
- int index = 1;
+ int index = 0;
+ int base_freq;
struct stb0899_internal *internal = &state->internal;
- struct stb0899_params *params = &state->params;
- derot_step = (params->srate / 4L) / internal->mclk;
+ derot_step = internal->derot_step;
derot_limit = (internal->sub_range / 2L) / internal->mclk;
derot_freq = internal->derot_freq;
+ base_freq = internal->derot_freq;
do {
if ((internal->status != CARRIEROK) || (stb0899_check_data(state) != DATAOK)) {
derot_freq += index * internal->direction * derot_step; /* next zig zag derotator position */
- if (abs(derot_freq) > derot_limit)
+ if (derot_freq > base_freq + derot_limit || derot_freq < base_freq - derot_limit)
next_loop--;
if (next_loop) {
@@ -417,9 +424,9 @@
stb0899_write_regs(state, STB0899_CFRM, cfr, 2); /* derotator frequency */
stb0899_check_carrier(state);
- index++;
}
}
+ index++;
internal->direction = -internal->direction; /* change zig zag direction */
} while ((internal->status != DATAOK) && next_loop);

View File

@@ -1,11 +0,0 @@
--- linux-3.9.2/drivers/net/ethernet/broadcom/tg3.c 2013-05-11 18:19:28.000000000 +0400
+++ linux-3.9.2/drivers/net/ethernet/broadcom/tg3.c 2013-05-25 20:55:00.282972605 +0400
@@ -333,6 +333,8 @@
{PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5720)},
{PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57762)},
{PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57766)},
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57782)},
+ {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_57786)},
{PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5762)},
{PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5725)},
{PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, TG3PCI_DEVICE_TIGON3_5727)},

View File

@@ -1,12 +0,0 @@
diff -uNr linux-3.6.4-orig/arch/x86/kernel/tsc.c linux-3.6.4-new/arch/x86/kernel/tsc.c
--- linux-3.6.4-orig/arch/x86/kernel/tsc.c 2012-11-03 14:19:55.000000000 +0100
+++ linux-3.6.4-new/arch/x86/kernel/tsc.c 2012-11-03 14:23:05.000000000 +0100
@@ -374,7 +374,7 @@
goto success;
}
}
- pr_err("Fast TSC calibration failed\n");
+ pr_info("Fast TSC calibration failed\n");
return 0;
success:

Some files were not shown because too many files have changed in this diff Show More