mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
Compare commits
346 Commits
a59b1b1600
...
3.2.4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e714e3d093 | ||
|
|
9bb6e46d7e | ||
|
|
4d46d108fe | ||
|
|
62e1e366e3 | ||
|
|
18316505fb | ||
|
|
575a1973e6 | ||
|
|
9b101db9f2 | ||
|
|
6309022390 | ||
|
|
35dbafdab0 | ||
|
|
b308ebf043 | ||
|
|
e6486d4ace | ||
|
|
b8142ecfe5 | ||
|
|
bfff3c500f | ||
|
|
d23044433d | ||
|
|
4168524cc0 | ||
|
|
2aaf8fc616 | ||
|
|
972ea49447 | ||
|
|
478f72469a | ||
|
|
28553ab3d3 | ||
|
|
7caa451af3 | ||
|
|
002885a148 | ||
|
|
6d0fe04c60 | ||
|
|
c242244292 | ||
|
|
b20aba9bc1 | ||
|
|
ef22fb8c48 | ||
|
|
925bf9fb8e | ||
|
|
8cca6e8edc | ||
|
|
1e338441c5 | ||
|
|
071190c807 | ||
|
|
3267d26cae | ||
|
|
bdf9e8f63e | ||
|
|
664a373128 | ||
|
|
3a764bd33d | ||
|
|
9ae3879b7f | ||
|
|
c865d63b9c | ||
|
|
ed9337d7df | ||
|
|
ec3f62a52b | ||
|
|
a8dc35ebf4 | ||
|
|
76928db47b | ||
|
|
8caaa821ee | ||
|
|
fd074b6cc6 | ||
|
|
473c0b00ec | ||
|
|
228cca1987 | ||
|
|
016b5789d0 | ||
|
|
8bd6b306e0 | ||
|
|
85c0611573 | ||
|
|
cbc36d3d9d | ||
|
|
170bf7c603 | ||
|
|
d13f153bf0 | ||
|
|
8435dcc676 | ||
|
|
077d5307cf | ||
|
|
b8bf3440a8 | ||
|
|
88be3d9730 | ||
|
|
90c1c0eade | ||
|
|
eae0dbdd16 | ||
|
|
f3434b0c20 | ||
|
|
e83a8d17d1 | ||
|
|
378f08c1a8 | ||
|
|
c50abbdbf0 | ||
|
|
830929dc24 | ||
|
|
c235210ccc | ||
|
|
0777dafe3e | ||
|
|
051d9b0a6b | ||
|
|
32dcdfd035 | ||
|
|
14a7f69177 | ||
|
|
bd24a25e68 | ||
|
|
ff3dfd1145 | ||
|
|
aa6b5ead52 | ||
|
|
d9afed5188 | ||
|
|
871e5a6ff0 | ||
|
|
033ca03061 | ||
|
|
b215146460 | ||
|
|
fcf96af8b6 | ||
|
|
29d3466f68 | ||
|
|
c7355fea81 | ||
|
|
070b0b51d9 | ||
|
|
e1e4830b79 | ||
|
|
ed0432189b | ||
|
|
ba636f3046 | ||
|
|
acdac581a4 | ||
|
|
d78926aa58 | ||
|
|
7dc915c3e0 | ||
|
|
8507fd911c | ||
|
|
13136a173c | ||
|
|
bef46172d9 | ||
|
|
ab4a03587e | ||
|
|
b09b273459 | ||
|
|
4d533cf6fd | ||
|
|
484c79f22a | ||
|
|
ca97416124 | ||
|
|
77fa73c6f2 | ||
|
|
2f921ac9bc | ||
|
|
6d6c4293f4 | ||
|
|
153d5d89ad | ||
|
|
67b9840c7d | ||
|
|
cc7c1f31bc | ||
|
|
d7eec71681 | ||
|
|
83940cebc9 | ||
|
|
77cf7db434 | ||
|
|
ce3c0d4a9f | ||
|
|
770ec225a5 | ||
|
|
75424db37d | ||
|
|
0d8cda6373 | ||
|
|
8a9ee50597 | ||
|
|
d4e6c29942 | ||
|
|
5de64302a9 | ||
|
|
7258392bb7 | ||
|
|
ab4d7b089d | ||
|
|
31667b1b37 | ||
|
|
a478ec57f3 | ||
|
|
bc6805e050 | ||
|
|
b57cf4586b | ||
|
|
f7783cfde4 | ||
|
|
9c56370a56 | ||
|
|
5cbefc1216 | ||
|
|
a202884c56 | ||
|
|
14d98ce389 | ||
|
|
bcf238a870 | ||
|
|
d07cc5dbae | ||
|
|
5b0e33a756 | ||
|
|
2d2734f641 | ||
|
|
0ce7748896 | ||
|
|
a0cfe8ed3f | ||
|
|
608826b2bd | ||
|
|
88c0affc83 | ||
|
|
269fb0bd31 | ||
|
|
c12deeb86d | ||
|
|
6f57c5ec05 | ||
|
|
93759f3638 | ||
|
|
08105940c8 | ||
|
|
6eb447df8c | ||
|
|
1e69699c12 | ||
|
|
2421cd7eee | ||
|
|
bb619385b9 | ||
|
|
3dea23493f | ||
|
|
d2bea7fc02 | ||
|
|
0af1e73758 | ||
|
|
4c617dccb7 | ||
|
|
639dc3fd69 | ||
|
|
7790376dbb | ||
|
|
a25cdca0ba | ||
|
|
5712e1f242 | ||
|
|
4743568aac | ||
|
|
989955988b | ||
|
|
a749baa433 | ||
|
|
1cbf8a2ab2 | ||
|
|
0e54bb5796 | ||
|
|
053d2e2ddf | ||
|
|
63495287d2 | ||
|
|
283a71d57e | ||
|
|
a61d9ad892 | ||
|
|
8d04e2048d | ||
|
|
7a3503a56a | ||
|
|
be4f98b55b | ||
|
|
60ffdf439b | ||
|
|
7c172439a8 | ||
|
|
75773a78fb | ||
|
|
4fbed8af2b | ||
|
|
a131b6a5a1 | ||
|
|
6229af93a8 | ||
|
|
65bac0d623 | ||
|
|
ecaca13d33 | ||
|
|
a9c4230bfe | ||
|
|
13b0844e25 | ||
|
|
bfdceba982 | ||
|
|
427e2cf203 | ||
|
|
9408daee62 | ||
|
|
b274da6233 | ||
|
|
166fdda61a | ||
|
|
66dd06f584 | ||
|
|
0e98d3eb50 | ||
|
|
aa015e3da7 | ||
|
|
8637a0a573 | ||
|
|
8f2c9e0bbb | ||
|
|
b5c8fb6d39 | ||
|
|
c2ee9937a3 | ||
|
|
7db600fda0 | ||
|
|
dd1e898c7c | ||
|
|
f740b7f8b0 | ||
|
|
be159f4127 | ||
|
|
dec93b479c | ||
|
|
7513d13bca | ||
|
|
9e5537603d | ||
|
|
17af1cd4ed | ||
|
|
558e93a2a1 | ||
|
|
5fc6101f95 | ||
|
|
902ad5077f | ||
|
|
49fbdbec5a | ||
|
|
f12563c251 | ||
|
|
5b732555a9 | ||
|
|
7275c04dbc | ||
|
|
2235f4a592 | ||
|
|
a5003ff22c | ||
|
|
414b490a74 | ||
|
|
c47b95b9ed | ||
|
|
df0518dd52 | ||
|
|
4c1c5c7b91 | ||
|
|
f33b6a8834 | ||
|
|
fc0373334d | ||
|
|
ae290cb802 | ||
|
|
017402f8c7 | ||
|
|
f42cc9aa65 | ||
|
|
4054977500 | ||
|
|
7a929d7470 | ||
|
|
c67abe1ca6 | ||
|
|
09f9706280 | ||
|
|
f8d76b1247 | ||
|
|
d240d0b7da | ||
|
|
9780a29c0a | ||
|
|
0c4153f4f0 | ||
|
|
151ed4b80b | ||
|
|
a44daf056b | ||
|
|
46debaab9d | ||
|
|
0abf671571 | ||
|
|
da121952cc | ||
|
|
dbe33687bb | ||
|
|
bb57defc88 | ||
|
|
6db992eb5f | ||
|
|
f8b1b44d98 | ||
|
|
9d6bcec2b3 | ||
|
|
c2ec491ae4 | ||
|
|
34d3cfc6c4 | ||
|
|
c5f68022c2 | ||
|
|
71fc5f4d5f | ||
|
|
75feb99c06 | ||
|
|
e009bd2206 | ||
|
|
b5bd546b48 | ||
|
|
ab566572aa | ||
|
|
1dd3eef57a | ||
|
|
7e4209d858 | ||
|
|
9083afe01f | ||
|
|
bf5d408ad4 | ||
|
|
0a83da34a2 | ||
|
|
729c01cac7 | ||
|
|
33ed5368bf | ||
|
|
a56ebf80e9 | ||
|
|
592f8bdfb6 | ||
|
|
c018e53a5c | ||
|
|
c745b4f215 | ||
|
|
aa5bb2685b | ||
|
|
3e61385d5e | ||
|
|
f48eeb0e64 | ||
|
|
c86bbaed18 | ||
|
|
a3fa6bbcf3 | ||
|
|
8dfa8dfffb | ||
|
|
6518835a4a | ||
|
|
13a6e53502 | ||
|
|
f7fe38fc3e | ||
|
|
bdfccaf2a7 | ||
|
|
613553c633 | ||
|
|
28b767d59c | ||
|
|
cc90d3d97f | ||
|
|
8c4be98b3a | ||
|
|
b5e183384f | ||
|
|
a51b68b601 | ||
|
|
1f4cf2c806 | ||
|
|
5769bb8faf | ||
|
|
14eff068b3 | ||
|
|
d93ef191a3 | ||
|
|
03b54b0e6b | ||
|
|
56cbbecc29 | ||
|
|
4fbf8013cf | ||
|
|
f81e4c5c43 | ||
|
|
d15f86876e | ||
|
|
b12118f308 | ||
|
|
acbbf203e3 | ||
|
|
88b3f106c7 | ||
|
|
fe3ccad039 | ||
|
|
b8d22d979a | ||
|
|
19dbb51213 | ||
|
|
879e902778 | ||
|
|
26b1fa7caf | ||
|
|
ab0a1fa698 | ||
|
|
a985777e06 | ||
|
|
5f914d57c9 | ||
|
|
bdcee0635d | ||
|
|
df36949f6b | ||
|
|
9bb771ce3e | ||
|
|
fa759e4bc4 | ||
|
|
bce65e4499 | ||
|
|
5caf868588 | ||
|
|
7ed4ac14d8 | ||
|
|
86126f3047 | ||
|
|
2a353f2ed3 | ||
|
|
a73023a03c | ||
|
|
fd39b9263e | ||
|
|
ed4bb37ba1 | ||
|
|
2ed25f0499 | ||
|
|
dcc754290f | ||
|
|
7d1849bb5b | ||
|
|
6430ea226d | ||
|
|
4867ee49c8 | ||
|
|
66d2ad9933 | ||
|
|
d73971101e | ||
|
|
b5d0d27e98 | ||
|
|
6b14f7af92 | ||
|
|
7a9d3aceef | ||
|
|
40b4df7067 | ||
|
|
0f6a51efe5 | ||
|
|
3c63275e77 | ||
|
|
54ec21ff27 | ||
|
|
82149276ab | ||
|
|
12d15bf92a | ||
|
|
53495545ee | ||
|
|
4e25ec08b6 | ||
|
|
611f2ba1a7 | ||
|
|
2744b1fe1b | ||
|
|
a70ae4b865 | ||
|
|
e4fe33bbe7 | ||
|
|
37e802c6bb | ||
|
|
dae3ae4b27 | ||
|
|
2c8011bb7e | ||
|
|
59e76da5c1 | ||
|
|
6ce195d536 | ||
|
|
634d580400 | ||
|
|
50dd5c76da | ||
|
|
bf1304c5cb | ||
|
|
ac2a7c311f | ||
|
|
1cf51b2254 | ||
|
|
83c534a6d6 | ||
|
|
f9a69fd50f | ||
|
|
f8ae2267b8 | ||
|
|
7bdab20d19 | ||
|
|
90048c4732 | ||
|
|
24a72beb6d | ||
|
|
4f3f7a6a97 | ||
|
|
52f3cf3cf4 | ||
|
|
c28ca60e37 | ||
|
|
68621d9b5d | ||
|
|
0c847a2217 | ||
|
|
fd9df54583 | ||
|
|
150b125231 | ||
|
|
c739d3e44e | ||
|
|
eb4a2733f3 | ||
|
|
aa30393bf3 | ||
|
|
1302a1f6c3 | ||
|
|
7f60f8e51b | ||
|
|
948b01fb87 | ||
|
|
2e33a154be | ||
|
|
90e6969e25 | ||
|
|
117f8e728b | ||
|
|
98e725ef53 | ||
|
|
43a0ca39f0 | ||
|
|
9dedd64af4 | ||
|
|
3d0e9d00da | ||
|
|
218c17afdc |
21
CHANGELOG
21
CHANGELOG
@@ -1,20 +1,3 @@
|
||||
OpenELEC (Version 2.1)
|
||||
for a changelog see:
|
||||
|
||||
Changelog OpenELEC-2.0 to OpenELEC-2.1
|
||||
|
||||
Added packages:
|
||||
- add package 'ppp'
|
||||
- add package 'pptp'
|
||||
|
||||
Package updates:
|
||||
- update linux to linux-3.5
|
||||
- update dialog to dialog-1.1-20120215
|
||||
- update connman to connman-1.4
|
||||
|
||||
Added functions:
|
||||
- sshd can be enabled via OpenELEC Settings addon
|
||||
- add PPTP support
|
||||
|
||||
Changed functions:
|
||||
|
||||
Removed functions:
|
||||
https://github.com/OpenELEC/OpenELEC.tv/commits/openelec-3.2
|
||||
@@ -95,18 +95,21 @@ get_graphicdrivers() {
|
||||
if [ "$drv" = "r200" ]; then
|
||||
DRI_DRIVERS="$DRI_DRIVERS,r200"
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "r300" ]; then
|
||||
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,r300"
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "r600" ]; then
|
||||
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,r600"
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "vmware" ]; then
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# VERSION: set full version, use "devel" for development version
|
||||
OPENELEC_VERSION="devel"
|
||||
OPENELEC_VERSION="3.2.4"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="3.2"
|
||||
|
||||
@@ -33,19 +33,13 @@ PKG_SHORTDESC="libmad: MPEG Audio Decoder"
|
||||
PKG_LONGDESC="MAD is a high-quality MPEG audio decoder. It currently supports MPEG-1 and the MPEG-2 extension to Lower Sampling Frequencies, as well as the so-called MPEG 2.5 format. All three audio layers (Layer I, Layer II, and Layer III a.k.a. MP3) are fully implemented."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
# package specific configure options
|
||||
if [ $TARGET_ARCH == "x86_64" ] ; then
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-accuracy --enable-fpm=64bit"
|
||||
fi
|
||||
|
||||
pre_configure_target() {
|
||||
# some fixes for autoreconf
|
||||
touch ../NEWS ../AUTHORS ../ChangeLog
|
||||
do_autoreconf ../
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
mkdir -p $SYSROOT_PREFIX/usr/lib/pkgconfig
|
||||
cat > $SYSROOT_PREFIX/usr/lib/pkgconfig/mad.pc << "EOF"
|
||||
|
||||
@@ -48,4 +48,5 @@ make_target() {
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
cp zip $INSTALL/usr/bin
|
||||
$STRIP $INSTALL/usr/bin/zip
|
||||
}
|
||||
|
||||
@@ -18,19 +18,20 @@
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="e2fsprogs-initramfs"
|
||||
PKG_NAME="corefonts"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://e2fsprogs.sourceforge.net/"
|
||||
PKG_SITE="http://www.openelec.tv"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain e2fsprogs"
|
||||
PKG_DEPENDS="liberation-fonts-ttf"
|
||||
PKG_BUILD_DEPENDS="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="tools"
|
||||
PKG_SHORTDESC="e2fsprogs: Utilities for use with the ext2 filesystem"
|
||||
PKG_LONGDESC="The filesystem utilities for the EXT2 filesystem, including e2fsck, mke2fs, dumpe2fs, fsck, and others."
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_SECTION="virtual"
|
||||
PKG_SHORTDESC="corefonts: Metapackage for installing fonts"
|
||||
PKG_LONGDESC="corefonts is a Metapackage for installing fonts"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
|
||||
strip_lto
|
||||
|
||||
CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
|
||||
cd $PKG_BUILD
|
||||
./configure --host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
@@ -46,4 +48,4 @@ mkdir -p $SYSROOT_PREFIX/usr/lib
|
||||
cp libelf/libelf.a $SYSROOT_PREFIX/usr/lib
|
||||
cp libdw/libdw.a $SYSROOT_PREFIX/usr/lib
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
$SCRIPTS/unpack file
|
||||
|
||||
setup_toolchain host
|
||||
|
||||
cd $BUILD/file-*
|
||||
|
||||
mkdir -p .build-host && cd .build-host
|
||||
../configure --host=$HOST_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=$ROOT/$TOOLCHAIN \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--enable-fsect-man5 \
|
||||
|
||||
make -C src
|
||||
make -C src install
|
||||
@@ -1,36 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="file"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
PKG_SITE="http://www.darwinsys.com/file/"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="file: File type identification utility"
|
||||
PKG_LONGDESC="These are the sources to Darwin's file(1) utility and master magic(4) file, now maintained by Christos Zoulas. The file(1) utility is used to determine the types of various files."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
||||
@@ -1,37 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
cd $PKG_BUILD
|
||||
mkdir -p .build-target
|
||||
cd .build-target
|
||||
../configure --host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--enable-fsect-man5 \
|
||||
|
||||
make
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
cp $PKG_BUILD/.build-target/src/.libs/file $INSTALL/usr/bin
|
||||
|
||||
mkdir -p $INSTALL/usr/lib
|
||||
cp -P $PKG_BUILD/.build-target/src/.libs/libmagic.so* $INSTALL/usr/lib
|
||||
|
||||
mkdir -p $INSTALL/usr/share/misc
|
||||
cp $PKG_BUILD/.build-target/magic/magic.mgc $INSTALL/usr/share/misc
|
||||
@@ -26,7 +26,7 @@ PKG_LICENSE="BSD"
|
||||
PKG_SITE="http://www.darwinsys.com/file/"
|
||||
PKG_URL="ftp://ftp.astron.com/pub/file/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS="zlib"
|
||||
PKG_BUILD_DEPENDS="toolchain zlib file-host"
|
||||
PKG_BUILD_DEPENDS_TARGET="toolchain zlib file:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="file: File type identification utility"
|
||||
@@ -34,3 +34,6 @@ PKG_LONGDESC="These are the sources to Darwin's file(1) utility and master magic
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--enable-fsect-man5"
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-fsect-man5"
|
||||
@@ -26,7 +26,7 @@ PKG_LICENSE="LGPL"
|
||||
PKG_SITE="http://www.gtk.org/"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="ccache libffi-host zlib:host Python-host"
|
||||
PKG_BUILD_DEPENDS="ccache libffi:host libxml2-host zlib:host Python-host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="glib-host: C support library"
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
cd $PKG_BUILD
|
||||
mkdir -p .build-target && cd .build-target
|
||||
../configure --host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--includedir=/usr/include \
|
||||
--sysconfdir=/etc \
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
--disable-debug \
|
||||
--enable-structs \
|
||||
--enable-raw-api \
|
||||
--disable-purify-safety \
|
||||
--with-gnu-ld
|
||||
|
||||
make
|
||||
|
||||
$MAKEINSTALL
|
||||
@@ -1,26 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
mkdir -p $INSTALL/usr/lib
|
||||
cp -P $PKG_BUILD/.build-target/.libs/*.so* $INSTALL/usr/lib
|
||||
@@ -26,7 +26,8 @@ PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://sourceware.org/$PKG_NAME/"
|
||||
PKG_URL="ftp://sourceware.org/pub/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain"
|
||||
PKG_BUILD_DEPENDS_HOST="ccache autotools"
|
||||
PKG_BUILD_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="Foreign Function Interface Library"
|
||||
@@ -34,3 +35,15 @@ PKG_LONGDESC="The libffi library provides a portable, high level programming int
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--disable-debug \
|
||||
--enable-structs \
|
||||
--enable-raw-api \
|
||||
--disable-purify-safety \
|
||||
--with-gnu-ld"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-debug \
|
||||
--enable-structs \
|
||||
--enable-raw-api \
|
||||
--disable-purify-safety \
|
||||
--with-gnu-ld"
|
||||
@@ -19,12 +19,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="llvm"
|
||||
PKG_VERSION="3.0"
|
||||
PKG_VERSION="3.3.src"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://llvm.org/"
|
||||
PKG_URL="http://llvm.org/releases/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_URL="http://llvm.org/releases/3.3/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS_TARGET="toolchain llvm:host"
|
||||
PKG_BUILD_DEPENDS_HOST="toolchain"
|
||||
@@ -37,24 +37,12 @@ PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
# package specific configure options
|
||||
PKG_CONFIGURE_OPTS_HOST="--enable-polly \
|
||||
--enable-optimized \
|
||||
--disable-profiling \
|
||||
PKG_CONFIGURE_OPTS_HOST="--disable-polly \
|
||||
--disable-zlib \
|
||||
--disable-assertions \
|
||||
--disable-expensive-checks \
|
||||
--enable-optimized \
|
||||
--disable-debug-runtime \
|
||||
--disable-debug-symbols \
|
||||
--enable-jit \
|
||||
--disable-docs \
|
||||
--disable-doxygen \
|
||||
--enable-threads \
|
||||
--enable-pthreads \
|
||||
--enable-pic \
|
||||
--enable-shared \
|
||||
--enable-embed-stdcxx \
|
||||
--enable-timestamps \
|
||||
--disable-libffi \
|
||||
--enable-ltdl-install"
|
||||
--disable-debug-symbols"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-polly \
|
||||
--enable-optimized \
|
||||
@@ -76,28 +64,42 @@ PKG_CONFIGURE_OPTS_TARGET="--enable-polly \
|
||||
--disable-ltdl-install"
|
||||
|
||||
if [ "$TARGET_ARCH" = i386 ]; then
|
||||
PKG_CONFIGURE_OPTS_HOST="$PKG_CONFIGURE_OPTS_HOST --enable-targets=x86"
|
||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-targets=x86"
|
||||
elif [ "$TARGET_ARCH" = x86_64 ]; then
|
||||
PKG_CONFIGURE_OPTS_HOST="$PKG_CONFIGURE_OPTS_HOST --enable-targets=x86_64"
|
||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-targets=x86_64"
|
||||
elif [ "$TARGET_ARCH" = arm ]; then
|
||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-targets=arm"
|
||||
fi
|
||||
|
||||
PKG_MAKE_OPTS_TARGET="LLVM_TBLGEN=$ROOT/$TOOLCHAIN/bin/llvm-tblgen"
|
||||
PKG_MAKEINSTALL_OPTS_TARGET="LLVM_TBLGEN=$ROOT/$TOOLCHAIN/bin/llvm-tblgen"
|
||||
PKG_MAKE_OPTS_HOST="BUILD_DIRS_ONLY=1 CFLAGS= CXXFLAGS="
|
||||
|
||||
pre_configure_host() {
|
||||
( cd ../autoconf
|
||||
aclocal --force --verbose -I m4
|
||||
autoconf --force --verbose -I m4 -o ../configure
|
||||
)
|
||||
|
||||
( cd ../projects/sample/autoconf
|
||||
aclocal --force --verbose -I m4
|
||||
autoconf --force --verbose -I m4 -o ../configure
|
||||
)
|
||||
|
||||
# we are building hosttools inside the target builddir
|
||||
mkdir -p ../.$TARGET_NAME && cd ../.$TARGET_NAME/
|
||||
rm -rf ../.$HOST_NAME
|
||||
mkdir -p BuildTools && cd BuildTools
|
||||
}
|
||||
|
||||
pre_configure_target() {
|
||||
# llvm fails to build with LTO support
|
||||
# llvm fails to build with LTO support
|
||||
strip_lto
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
# nothing to install here
|
||||
:
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
rm -rf $INSTALL/usr/lib/BugpointPasses.so
|
||||
|
||||
@@ -1,109 +0,0 @@
|
||||
diff -Naur llvm-3.0.src/autoconf/configure.ac llvm-3.0.src.patch/autoconf/configure.ac
|
||||
--- llvm-3.0.src/autoconf/configure.ac 2011-10-16 04:52:56.000000000 +0200
|
||||
+++ llvm-3.0.src.patch/autoconf/configure.ac 2011-12-03 12:57:33.324415172 +0100
|
||||
@@ -393,6 +393,10 @@
|
||||
AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++)
|
||||
fi
|
||||
fi
|
||||
+ AC_SUBST(BUILD_CPPFLAGS)
|
||||
+ AC_SUBST(BUILD_CFLAGS)
|
||||
+ AC_SUBST(BUILD_CXXFLAGS)
|
||||
+ AC_SUBST(BUILD_LDFLAGS)
|
||||
else
|
||||
AC_SUBST(LLVM_CROSS_COMPILING, [0])
|
||||
fi
|
||||
diff -Naur llvm-3.0.src/autoconf/m4/build_exeext.m4 llvm-3.0.src.patch/autoconf/m4/build_exeext.m4
|
||||
--- llvm-3.0.src/autoconf/m4/build_exeext.m4 2008-09-26 19:27:58.000000000 +0200
|
||||
+++ llvm-3.0.src.patch/autoconf/m4/build_exeext.m4 2011-12-03 12:57:33.327415229 +0100
|
||||
@@ -18,7 +18,7 @@
|
||||
fi
|
||||
fi
|
||||
test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
+ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_build_exeext=
|
||||
diff -Naur llvm-3.0.src/Makefile llvm-3.0.src.patch/Makefile
|
||||
--- llvm-3.0.src/Makefile 2011-10-08 02:27:38.000000000 +0200
|
||||
+++ llvm-3.0.src.patch/Makefile 2011-12-03 13:00:42.692055438 +0100
|
||||
@@ -104,38 +104,6 @@
|
||||
DIRS := $(filter-out unittests, $(DIRS))
|
||||
endif
|
||||
|
||||
-# If we're cross-compiling, build the build-hosted tools first
|
||||
-ifeq ($(LLVM_CROSS_COMPILING),1)
|
||||
-all:: cross-compile-build-tools
|
||||
-
|
||||
-clean::
|
||||
- $(Verb) rm -rf BuildTools
|
||||
-
|
||||
-cross-compile-build-tools:
|
||||
- $(Verb) if [ ! -f BuildTools/Makefile ]; then \
|
||||
- $(MKDIR) BuildTools; \
|
||||
- cd BuildTools ; \
|
||||
- unset CFLAGS ; \
|
||||
- unset CXXFLAGS ; \
|
||||
- $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \
|
||||
- --host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE) \
|
||||
- --disable-polly ; \
|
||||
- cd .. ; \
|
||||
- fi; \
|
||||
- (unset SDKROOT; \
|
||||
- $(MAKE) -C BuildTools \
|
||||
- BUILD_DIRS_ONLY=1 \
|
||||
- UNIVERSAL= \
|
||||
- ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \
|
||||
- ENABLE_PROFILING=$(ENABLE_PROFILING) \
|
||||
- ENABLE_COVERAGE=$(ENABLE_COVERAGE) \
|
||||
- DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \
|
||||
- ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \
|
||||
- CFLAGS= \
|
||||
- CXXFLAGS= \
|
||||
- ) || exit 1;
|
||||
-endif
|
||||
-
|
||||
# Include the main makefile machinery.
|
||||
include $(LLVM_SRC_ROOT)/Makefile.rules
|
||||
|
||||
diff -Naur llvm-3.0.src/Makefile.config.in llvm-3.0.src.patch/Makefile.config.in
|
||||
--- llvm-3.0.src/Makefile.config.in 2011-10-13 19:27:34.000000000 +0200
|
||||
+++ llvm-3.0.src.patch/Makefile.config.in 2011-12-03 12:57:33.962427436 +0100
|
||||
@@ -113,6 +113,10 @@
|
||||
# call if we're cross-compiling).
|
||||
BUILD_CC=@BUILD_CC@
|
||||
BUILD_CXX=@BUILD_CXX@
|
||||
+BUILD_CPPFLAGS=@BUILD_CPPFLAGS@
|
||||
+BUILD_CFLAGS=@BUILD_CFLAGS@
|
||||
+BUILD_CXXFLAGS=@BUILD_CXXFLAGS@
|
||||
+BUILD_LDFLAGS=@BUILD_LDFLAGS@
|
||||
|
||||
# Triple for configuring build tools when cross-compiling
|
||||
BUILD_TRIPLE=@build@
|
||||
diff -Naur llvm-3.0.src/Makefile.rules llvm-3.0.src.patch/Makefile.rules
|
||||
--- llvm-3.0.src/Makefile.rules 2011-10-11 14:51:44.000000000 +0200
|
||||
+++ llvm-3.0.src.patch/Makefile.rules 2011-12-03 12:59:37.459801461 +0100
|
||||
@@ -641,18 +641,18 @@
|
||||
|
||||
ifeq ($(BUILD_COMPONENT), 1)
|
||||
Compile.C = $(Compile.Wrapper) \
|
||||
- $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \
|
||||
+ $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) \
|
||||
$(TargetCommonOpts) $(CompileCommonOpts) -c
|
||||
Compile.CXX = $(Compile.Wrapper) \
|
||||
- $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \
|
||||
+ $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(BUILD_CXXFLAGS) \
|
||||
$(CPPFLAGS) \
|
||||
$(TargetCommonOpts) $(CompileCommonOpts) -c
|
||||
Preprocess.CXX= $(Compile.Wrapper) \
|
||||
- $(BUILD_CXX) $(CPP.Flags) $(CPPFLAGS) $(TargetCommonOpts) \
|
||||
+ $(BUILD_CXX) $(CPP.Flags) $(BUILD_CPPFLAGS) $(TargetCommonOpts) \
|
||||
$(CompileCommonOpts) $(CXX.Flags) -E
|
||||
Link = $(Compile.Wrapper) \
|
||||
- $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \
|
||||
- $(LD.Flags) $(LDFLAGS) \
|
||||
+ $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(BUILD_CXXFLAGS) \
|
||||
+ $(LD.Flags) $(BUILD_LDFLAGS) \
|
||||
$(TargetCommonOpts) $(CompileCommonOpts) $(Strip)
|
||||
else
|
||||
Compile.C = $(Compile.Wrapper) \
|
||||
114
packages/devel/llvm/patches/llvm-3.3-cross.patch
Normal file
114
packages/devel/llvm/patches/llvm-3.3-cross.patch
Normal file
@@ -0,0 +1,114 @@
|
||||
diff -Naur llvm-3.3.src/autoconf/configure.ac llvm-3.3.src.patch/autoconf/configure.ac
|
||||
--- llvm-3.3.src/autoconf/configure.ac 2013-05-20 22:18:23.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/autoconf/configure.ac 2013-09-24 07:20:25.485443916 +0200
|
||||
@@ -461,6 +461,10 @@
|
||||
AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++)
|
||||
fi
|
||||
fi
|
||||
+ AC_SUBST(BUILD_CPPFLAGS)
|
||||
+ AC_SUBST(BUILD_CFLAGS)
|
||||
+ AC_SUBST(BUILD_CXXFLAGS)
|
||||
+ AC_SUBST(BUILD_LDFLAGS)
|
||||
else
|
||||
AC_SUBST(LLVM_CROSS_COMPILING, [0])
|
||||
fi
|
||||
diff -Naur llvm-3.3.src/autoconf/m4/build_exeext.m4 llvm-3.3.src.patch/autoconf/m4/build_exeext.m4
|
||||
--- llvm-3.3.src/autoconf/m4/build_exeext.m4 2008-09-26 19:27:58.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/autoconf/m4/build_exeext.m4 2013-09-24 07:20:25.485443916 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
fi
|
||||
fi
|
||||
test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
+ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_build_exeext=
|
||||
diff -Naur llvm-3.3.src/Makefile llvm-3.3.src.patch/Makefile
|
||||
--- llvm-3.3.src/Makefile 2013-01-28 04:19:57.000000000 +0100
|
||||
+++ llvm-3.3.src.patch/Makefile 2013-09-24 07:21:27.489493235 +0200
|
||||
@@ -99,44 +99,6 @@
|
||||
DIRS := $(filter-out unittests, $(DIRS))
|
||||
endif
|
||||
|
||||
-# If we're cross-compiling, build the build-hosted tools first
|
||||
-ifeq ($(LLVM_CROSS_COMPILING),1)
|
||||
-all:: cross-compile-build-tools
|
||||
-
|
||||
-clean::
|
||||
- $(Verb) rm -rf BuildTools
|
||||
-
|
||||
-cross-compile-build-tools:
|
||||
- $(Verb) if [ ! -f BuildTools/Makefile ]; then \
|
||||
- $(MKDIR) BuildTools; \
|
||||
- cd BuildTools ; \
|
||||
- unset CFLAGS ; \
|
||||
- unset CXXFLAGS ; \
|
||||
- unset SDKROOT ; \
|
||||
- unset UNIVERSAL_SDK_PATH ; \
|
||||
- $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \
|
||||
- --host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE) \
|
||||
- --disable-polly ; \
|
||||
- cd .. ; \
|
||||
- fi; \
|
||||
- ($(MAKE) -C BuildTools \
|
||||
- BUILD_DIRS_ONLY=1 \
|
||||
- UNIVERSAL= \
|
||||
- UNIVERSAL_SDK_PATH= \
|
||||
- SDKROOT= \
|
||||
- TARGET_NATIVE_ARCH="$(TARGET_NATIVE_ARCH)" \
|
||||
- TARGETS_TO_BUILD="$(TARGETS_TO_BUILD)" \
|
||||
- ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \
|
||||
- ENABLE_PROFILING=$(ENABLE_PROFILING) \
|
||||
- ENABLE_COVERAGE=$(ENABLE_COVERAGE) \
|
||||
- DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \
|
||||
- ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \
|
||||
- ENABLE_LIBCPP=$(ENABLE_LIBCPP) \
|
||||
- CFLAGS= \
|
||||
- CXXFLAGS= \
|
||||
- ) || exit 1;
|
||||
-endif
|
||||
-
|
||||
# Include the main makefile machinery.
|
||||
include $(LLVM_SRC_ROOT)/Makefile.rules
|
||||
|
||||
diff -Naur llvm-3.3.src/Makefile.config.in llvm-3.3.src.patch/Makefile.config.in
|
||||
--- llvm-3.3.src/Makefile.config.in 2013-04-23 10:28:39.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/Makefile.config.in 2013-09-24 07:20:25.487443917 +0200
|
||||
@@ -130,6 +130,10 @@
|
||||
# call if we're cross-compiling).
|
||||
BUILD_CC=@BUILD_CC@
|
||||
BUILD_CXX=@BUILD_CXX@
|
||||
+BUILD_CPPFLAGS=@BUILD_CPPFLAGS@
|
||||
+BUILD_CFLAGS=@BUILD_CFLAGS@
|
||||
+BUILD_CXXFLAGS=@BUILD_CXXFLAGS@
|
||||
+BUILD_LDFLAGS=@BUILD_LDFLAGS@
|
||||
|
||||
# Triple for configuring build tools when cross-compiling
|
||||
BUILD_TRIPLE=@build@
|
||||
diff -Naur llvm-3.3.src/projects/sample/autoconf/configure.ac llvm-3.3.src.patch/projects/sample/autoconf/configure.ac
|
||||
--- llvm-3.3.src/projects/sample/autoconf/configure.ac 2013-05-06 18:23:07.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/projects/sample/autoconf/configure.ac 2013-09-24 07:33:47.746272015 +0200
|
||||
@@ -345,6 +345,10 @@
|
||||
AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++)
|
||||
fi
|
||||
fi
|
||||
+ AC_SUBST(BUILD_CPPFLAGS)
|
||||
+ AC_SUBST(BUILD_CFLAGS)
|
||||
+ AC_SUBST(BUILD_CXXFLAGS)
|
||||
+ AC_SUBST(BUILD_LDFLAGS)
|
||||
else
|
||||
AC_SUBST(LLVM_CROSS_COMPILING, [0])
|
||||
fi
|
||||
diff -Naur llvm-3.3.src/projects/sample/autoconf/m4/build_exeext.m4 llvm-3.3.src.patch/projects/sample/autoconf/m4/build_exeext.m4
|
||||
--- llvm-3.3.src/projects/sample/autoconf/m4/build_exeext.m4 2011-10-19 01:10:47.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/projects/sample/autoconf/m4/build_exeext.m4 2013-09-24 07:32:18.332178706 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
fi
|
||||
fi
|
||||
test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
+ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_build_exeext=
|
||||
@@ -1,25 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
mv $BUILD/$PKG_NAME-$PKG_VERSION.src $BUILD/$PKG_NAME-$PKG_VERSION
|
||||
@@ -1,36 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
cd $PKG_BUILD
|
||||
mkdir -p m4 && do_autoreconf
|
||||
./configure --host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--enable-static \
|
||||
--disable-shared \
|
||||
|
||||
make
|
||||
|
||||
$MAKEINSTALL
|
||||
@@ -26,11 +26,17 @@ PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://alioth.debian.org/scm/?group_id=100443"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain"
|
||||
PKG_BUILD_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="system"
|
||||
PKG_SHORTDESC="lockdev: Manage character and block device lockfiles."
|
||||
PKG_LONGDESC="lockdev manages character and block device lockfiles."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared"
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
$SCRIPTS/unpack readline
|
||||
|
||||
setup_toolchain host
|
||||
|
||||
cd $BUILD/readline-*
|
||||
mkdir -p .build-host && cd .build-host
|
||||
../configure --host=$HOST_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=$ROOT/$TOOLCHAIN \
|
||||
|
||||
make
|
||||
make install
|
||||
@@ -1,36 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="readline-host"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="http://www.gnu.org/readline"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="readline: The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in."
|
||||
PKG_LONGDESC="The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
||||
@@ -1,40 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
cd $PKG_BUILD
|
||||
mkdir -p .build-target && cd .build-target
|
||||
../configure --host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--exec-prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--datadir=/usr/share \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--with-curses \
|
||||
--without-purify
|
||||
|
||||
make
|
||||
|
||||
$MAKEINSTALL
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
mkdir -p $INSTALL/usr/lib
|
||||
cp -P $PKG_BUILD/.build-target/shlib/libreadline.so.6.2 $INSTALL/usr/lib
|
||||
ln -sf /usr/lib/libreadline.so.6.2 $INSTALL/usr/lib/libreadline.so.6
|
||||
ln -sf /usr/lib/libreadline.so.6 $INSTALL/usr/lib/libreadline.so
|
||||
|
||||
cp -P $PKG_BUILD/.build-target/shlib/libhistory.so.6.2 $INSTALL/usr/lib
|
||||
ln -sf /usr/lib/libhistory.so.6.2 $INSTALL/usr/lib/libhistory.so.6
|
||||
ln -sf /usr/lib/libhistory.so.6 $INSTALL/usr/lib/libhistory.so
|
||||
@@ -26,7 +26,7 @@ PKG_LICENSE="MIT"
|
||||
PKG_SITE="http://www.gnu.org/readline"
|
||||
PKG_URL="ftp://ftp.gnu.org/gnu/readline/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS="ncurses"
|
||||
PKG_BUILD_DEPENDS="toolchain ncurses"
|
||||
PKG_BUILD_DEPENDS_TARGET="toolchain ncurses"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="readline: The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in."
|
||||
@@ -34,3 +34,5 @@ PKG_LONGDESC="The GNU Readline library provides a set of functions for use by ap
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--with-curses --without-purify"
|
||||
@@ -19,12 +19,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="Mesa"
|
||||
PKG_VERSION="9.2.0"
|
||||
PKG_VERSION="9.2.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.mesa3d.org/"
|
||||
PKG_URL="ftp://freedesktop.org/pub/mesa/9.2/MesaLib-$PKG_VERSION.tar.bz2"
|
||||
PKG_URL="ftp://freedesktop.org/pub/mesa/$PKG_VERSION/MesaLib-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS="libXdamage libdrm expat libXext libXfixes libX11"
|
||||
PKG_BUILD_DEPENDS_TARGET="toolchain Python-host makedepend:host libxml2-host expat glproto dri2proto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11"
|
||||
PKG_PRIORITY="optional"
|
||||
@@ -41,7 +41,7 @@ PKG_AUTORECONF="yes"
|
||||
if [ "$LLVM_SUPPORT" = "yes" ]; then
|
||||
PKG_BUILD_DEPENDS_TARGET="$PKG_BUILD_DEPENDS_TARGET llvm"
|
||||
PKG_DEPENDS="$PKG_DEPENDS llvm"
|
||||
export LLVM_CONFIG="$SYSROOT_PREFIX/usr/bin/llvm-config"
|
||||
export LLVM_CONFIG="$SYSROOT_PREFIX/usr/bin/llvm-config-host"
|
||||
MESA_GALLIUM_LLVM="--enable-gallium-llvm --with-llvm-shared-libs"
|
||||
else
|
||||
MESA_GALLIUM_LLVM="--disable-gallium-llvm"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bcm2835-driver"
|
||||
PKG_VERSION="7d8a762"
|
||||
PKG_VERSION="b38194c"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="nonfree"
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
cd $PKG_BUILD
|
||||
./configure --host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
--disable-silent-rules \
|
||||
--disable-debug \
|
||||
--disable-osmesa \
|
||||
--with-gnu-ld
|
||||
|
||||
make
|
||||
$MAKEINSTALL
|
||||
@@ -1,26 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
mkdir -p $INSTALL/usr/lib
|
||||
cp -P $PKG_BUILD/.libs/libGLU.so* $INSTALL/usr/lib
|
||||
@@ -26,7 +26,7 @@ PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://cgit.freedesktop.org/mesa/glu/"
|
||||
PKG_URL="http://cgit.freedesktop.org/mesa/glu/snapshot/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain"
|
||||
PKG_BUILD_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="graphics"
|
||||
PKG_SHORTDESC="glu: The OpenGL utility library"
|
||||
@@ -34,3 +34,8 @@ PKG_LONGDESC="libglu is the The OpenGL utility library"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \
|
||||
--disable-debug \
|
||||
--disable-osmesa \
|
||||
--with-gnu-ld"
|
||||
@@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libdrm"
|
||||
PKG_VERSION="2.4.46"
|
||||
PKG_VERSION="2.4.49"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
24
packages/graphics/libdrm/patches/libdrm-upstream.patch
Normal file
24
packages/graphics/libdrm/patches/libdrm-upstream.patch
Normal file
@@ -0,0 +1,24 @@
|
||||
From c8a437f4c76527b3c8385699ccee07f35fe3f166 Mon Sep 17 00:00:00 2001
|
||||
From: Michel Dänzer <michel.daenzer@amd.com>
|
||||
Date: Tue, 26 Nov 2013 09:16:03 +0000
|
||||
Subject: radeon: Update unaligned offset for 2D->1D tiling transition on SI
|
||||
|
||||
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71983
|
||||
|
||||
Tested-by: Arek Ruśniak <arek.rusi@gmail.com>
|
||||
---
|
||||
diff --git a/radeon/radeon_surface.c b/radeon/radeon_surface.c
|
||||
index b528a48..dcbbfdc 100644
|
||||
--- a/radeon/radeon_surface.c
|
||||
+++ b/radeon/radeon_surface.c
|
||||
@@ -1667,7 +1667,7 @@ static int si_surface_init_2d(struct radeon_surface_manager *surf_man,
|
||||
return si_surface_init_1d(surf_man, surf, level, bpe, tile_mode, offset, i);
|
||||
}
|
||||
/* level0 and first mipmap need to have alignment */
|
||||
- aligned_offset = surf->bo_size;
|
||||
+ aligned_offset = offset = surf->bo_size;
|
||||
if ((i == 0)) {
|
||||
aligned_offset = ALIGN(aligned_offset, surf->bo_alignment);
|
||||
}
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
||||
@@ -38,3 +38,9 @@ if [ -n "$INITRAMFS_MODULES" ]; then
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$UVESAFB_SUPPORT" = yes ]; then
|
||||
mkdir -p $INSTALL/lib/modules
|
||||
uvesafb=`find $LINUX_MODULES_DIR -name uvesafb.ko`
|
||||
cp $uvesafb $INSTALL/lib/modules/`basename $uvesafb`
|
||||
fi
|
||||
|
||||
@@ -25,7 +25,7 @@ PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.openelec.tv"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS="eglibc-initramfs busybox-initramfs linux-initramfs plymouth-lite diskdev_cmds-initramfs dosfstools-initramfs e2fsprogs-initramfs"
|
||||
PKG_DEPENDS="eglibc-initramfs busybox-initramfs linux-initramfs plymouth-lite diskdev_cmds-initramfs"
|
||||
PKG_BUILD_DEPENDS="toolchain eglibc-initramfs busybox-initramfs"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="initramfs"
|
||||
|
||||
@@ -270,10 +270,6 @@
|
||||
LABEL=*|UUID=*|/*)
|
||||
MOUNT_CMD="mount_common"
|
||||
MOUNT_TARGET="$1"
|
||||
# check filesystem
|
||||
if [ -x /sbin/fsck ]; then
|
||||
/sbin/fsck -a $1 &>/dev/null
|
||||
fi
|
||||
;;
|
||||
CIFS=*|SMB=*)
|
||||
MOUNT_CMD="mount_cifs"
|
||||
@@ -325,6 +321,23 @@
|
||||
umount /sysroot
|
||||
}
|
||||
|
||||
hfsdiskprep() {
|
||||
for DEVICE in /dev/sd*; do
|
||||
for device in $(/bin/busybox blkid $DEVICE); do
|
||||
case $device in
|
||||
TYPE=*)
|
||||
FS_TYPE=${device#TYPE=}
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "$FS_TYPE" = "\"hfs\"" -o "$FS_TYPE" = "\"hfsplus\"" ]; then
|
||||
progress "check filesystem $DEVICE [$FS_TYPE]..."
|
||||
/bin/fsck_hfs -r -y $DEVICE >&$SILENT_OUT 2>&1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
load_modules() {
|
||||
progress "Loading kernel modules"
|
||||
|
||||
@@ -339,23 +352,41 @@
|
||||
load_splash() {
|
||||
progress "Loading bootsplash"
|
||||
|
||||
if [ -e /dev/fb0 -a ! "$SPLASH" = "no" ]; then
|
||||
if [ ! "$SPLASH" = "no" ]; then
|
||||
SPLASHIMAGE="/splash/splash-full.png"
|
||||
|
||||
# set framebuffer to a default resolution (1024x768-32)
|
||||
# load uvesafb module if needed
|
||||
if [ -f "$MODULE_DIR/uvesafb.ko" -a ! -e /dev/fb0 ]; then
|
||||
progress "Loading kernel module uvesafb.ko"
|
||||
insmod "$MODULE_DIR/uvesafb.ko" || \
|
||||
progress "... Failed to load kernel module uvesafb, skipping"
|
||||
|
||||
# set framebuffer to a default resolution (1024x768-32)
|
||||
if [ ! "$SWITCH_FRAMEBUFFER" = "no" ]; then
|
||||
fbset -g 1024 768 1024 768 32
|
||||
SPLASHIMAGE="/splash/splash-1024.png"
|
||||
fi
|
||||
fi
|
||||
|
||||
# load splash
|
||||
if [ -e /dev/fb0 ]; then
|
||||
# load splash
|
||||
if [ -f /flash/oemsplash.png ]; then
|
||||
SPLASHIMAGE="/flash/oemsplash.png"
|
||||
elif [ -f /splash/splash.conf ]; then
|
||||
. /splash/splash.conf
|
||||
else
|
||||
SPLASHIMAGE="/splash/splash.png"
|
||||
fi
|
||||
|
||||
ply-image $SPLASHIMAGE > /dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
check_disks() {
|
||||
progress "Checking disks"
|
||||
|
||||
if [ -x /bin/fsck_hfs ]; then
|
||||
# deal with hfs partitions
|
||||
hfsdiskprep
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -544,6 +575,7 @@
|
||||
# main boot sequence
|
||||
for BOOT_STEP in \
|
||||
load_modules \
|
||||
check_disks \
|
||||
mount_flash \
|
||||
load_splash \
|
||||
mount_storage \
|
||||
|
||||
@@ -24,7 +24,5 @@
|
||||
|
||||
DISKDEV_CMDS_DIR="$BUILD/diskdev_cmds-*"
|
||||
|
||||
mkdir -p $INSTALL/sbin
|
||||
cp $DISKDEV_CMDS_DIR/fsck_hfs.tproj/fsck_hfs $INSTALL/sbin
|
||||
ln -sf fsck_hfs $INSTALL/sbin/fsck.hfs
|
||||
ln -sf fsck_hfs $INSTALL/sbin/fsck.hfsplus
|
||||
mkdir -p $INSTALL/bin
|
||||
cp $DISKDEV_CMDS_DIR/fsck_hfs.tproj/fsck_hfs $INSTALL/bin
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
DOSFSTOOLS_DIR="$BUILD/dosfstools-*"
|
||||
|
||||
mkdir -p $INSTALL/sbin
|
||||
cp -PR $DOSFSTOOLS_DIR/.install_pkg/usr/sbin/fsck.* $INSTALL/sbin
|
||||
@@ -1,36 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dosfstools-initramfs"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://daniel-baumann.ch/software/dosfstools/"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain dosfstools"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="tools"
|
||||
PKG_SHORTDESC="dosfstools: utilities for making and checking MS-DOS FAT filesystems."
|
||||
PKG_LONGDESC="dosfstools contains utilities for making and checking MS-DOS FAT filesystems."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program 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, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program 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.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
E2FSPROGS_DIR="$BUILD/e2fsprogs-*"
|
||||
|
||||
mkdir -p $INSTALL/sbin
|
||||
cp $E2FSPROGS_DIR/e2fsck/e2fsck $INSTALL/sbin
|
||||
ln -sf e2fsck $INSTALL/sbin/fsck.ext2
|
||||
ln -sf e2fsck $INSTALL/sbin/fsck.ext3
|
||||
ln -sf e2fsck $INSTALL/sbin/fsck.ext4
|
||||
ln -sf e2fsck $INSTALL/sbin/fsck.ext4dev
|
||||
cp $E2FSPROGS_DIR/misc/mke2fs $INSTALL/sbin
|
||||
ln -sf mke2fs $INSTALL/sbin/mkfs.ext2
|
||||
ln -sf mke2fs $INSTALL/sbin/mkfs.ext3
|
||||
ln -sf mke2fs $INSTALL/sbin/mkfs.ext4
|
||||
ln -sf mke2fs $INSTALL/sbin/mkfs.ext4dev
|
||||
cp $E2FSPROGS_DIR/misc/fsck $INSTALL/sbin
|
||||
@@ -29,8 +29,9 @@ mkdir -p $INSTALL/splash
|
||||
if [ -f $PROJECT_DIR/$PROJECT/splash/splash.conf ]; then
|
||||
cp $PROJECT_DIR/$PROJECT/splash/splash.conf $INSTALL/splash
|
||||
cp $PROJECT_DIR/$PROJECT/splash/*.png $INSTALL/splash
|
||||
elif [ -f $PROJECT_DIR/$PROJECT/splash/splash.png ]; then
|
||||
cp $PROJECT_DIR/$PROJECT/splash/splash.png $INSTALL/splash
|
||||
elif [ -f $PROJECT_DIR/$PROJECT/splash/splash-1024.png \
|
||||
-o -f $PROJECT_DIR/$PROJECT/splash/splash-full.png ]; then
|
||||
cp $PROJECT_DIR/$PROJECT/splash/splash-*.png $INSTALL/splash
|
||||
else
|
||||
cp $PKG_DIR/splash/splash.png $INSTALL/splash
|
||||
cp $PKG_DIR/splash/splash-*.png $INSTALL/splash
|
||||
fi
|
||||
|
||||
@@ -25,7 +25,7 @@ PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.meego.com"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS="gcc-initramfs zlib-initramfs v86d"
|
||||
PKG_DEPENDS="gcc-initramfs zlib-initramfs"
|
||||
PKG_BUILD_DEPENDS="toolchain zlib libpng"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="system"
|
||||
@@ -34,3 +34,7 @@ PKG_LONGDESC="Boot splash screen based on Fedora's Plymouth code"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
if [ "$UVESAFB_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS="$PKG_DEPENDS v86d"
|
||||
fi
|
||||
|
||||
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
@@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="misc-firmware"
|
||||
PKG_VERSION="0.0.3"
|
||||
PKG_VERSION="0.0.6"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Free-to-use"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="wlan-firmware"
|
||||
PKG_VERSION="0.0.13"
|
||||
PKG_VERSION="0.0.14"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Free-to-use"
|
||||
|
||||
BIN
packages/linux/firmware/radeon/BONAIRE_smc.bin
Normal file
BIN
packages/linux/firmware/radeon/BONAIRE_smc.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/KAVERI_ce.bin
Normal file
BIN
packages/linux/firmware/radeon/KAVERI_ce.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/KAVERI_me.bin
Normal file
BIN
packages/linux/firmware/radeon/KAVERI_me.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/KAVERI_mec.bin
Normal file
BIN
packages/linux/firmware/radeon/KAVERI_mec.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/KAVERI_pfp.bin
Normal file
BIN
packages/linux/firmware/radeon/KAVERI_pfp.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/KAVERI_rlc.bin
Normal file
BIN
packages/linux/firmware/radeon/KAVERI_rlc.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/KAVERI_sdma.bin
Normal file
BIN
packages/linux/firmware/radeon/KAVERI_sdma.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/rtl_nic/rtl8106e-2.fw
Normal file
BIN
packages/linux/firmware/rtl_nic/rtl8106e-2.fw
Normal file
Binary file not shown.
BIN
packages/linux/firmware/rtl_nic/rtl8168g-2.fw
Normal file
BIN
packages/linux/firmware/rtl_nic/rtl8168g-2.fw
Normal file
Binary file not shown.
BIN
packages/linux/firmware/rtl_nic/rtl8168g-3.fw
Normal file
BIN
packages/linux/firmware/rtl_nic/rtl8168g-3.fw
Normal file
Binary file not shown.
BIN
packages/linux/firmware/rtl_nic/rtl8411-2.fw
Normal file
BIN
packages/linux/firmware/rtl_nic/rtl8411-2.fw
Normal file
Binary file not shown.
@@ -23,21 +23,7 @@
|
||||
#
|
||||
# runlevels: openelec, textmode
|
||||
|
||||
progress "set cpu's to full power"
|
||||
for i in /sys/devices/system/cpu/*/cpufreq/scaling_governor; do
|
||||
printf "performance" > $i
|
||||
done 2>/dev/null
|
||||
|
||||
progress "set onedemand threshold"
|
||||
if [ -f /sys/devices/system/cpu/cpufreq/ondemand/up_threshold ]; then
|
||||
echo 50 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
|
||||
fi
|
||||
|
||||
(
|
||||
usleep 40000000
|
||||
progress "set cpu's to 'ondemand'"
|
||||
for i in /sys/devices/system/cpu/*/cpufreq/scaling_governor; do
|
||||
printf "ondemand" > $i
|
||||
done 2>/dev/null
|
||||
)&
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ case "$LINUX" in
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
;;
|
||||
*)
|
||||
PKG_VERSION="3.10.11"
|
||||
PKG_VERSION="3.10.20"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v3.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
;;
|
||||
esac
|
||||
@@ -43,7 +43,7 @@ PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.kernel.org"
|
||||
PKG_DEPENDS="busybox linux-drivers linux-firmware pciutils $BOOTLOADER dvb-fe-tool"
|
||||
PKG_DEPENDS="busybox linux-drivers linux-firmware pciutils $BOOTLOADER"
|
||||
PKG_BUILD_DEPENDS="toolchain cpio module-init-tools pciutils xz"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="linux"
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
From d0929f7068e8025a3d9ccf5dd7bea8dc0d887a49 Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Sun, 1 Sep 2013 13:01:09 +0300
|
||||
Subject: [PATCH] ALSA: hda - hdmi: Fallback to ALSA allocation when selecting
|
||||
CA
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
hdmi_channel_allocation() tries to find a HDMI channel allocation that
|
||||
matches the number channels in the playback stream and contains only
|
||||
speakers that the HDMI sink has reported as available via EDID. If no
|
||||
such allocation is found, 0 (stereo audio) is used.
|
||||
|
||||
Using CA 0 causes the audio causes the sink to discard everything except
|
||||
the first two channels (front left and front right).
|
||||
|
||||
However, the sink may be capable of receiving more channels than it has
|
||||
speakers (and then perform downmix or discard the extra channels), in
|
||||
which case it is preferable to use a CA that contains extra channels
|
||||
than to use CA 0 which discards all the non-stereo channels.
|
||||
|
||||
Additionally, it seems that HBR passthrough output does not work on
|
||||
Intel HDMI codecs when CA is set to 0 (possibly the codec zeroes
|
||||
channels not present in CA). This happens with all receivers that report
|
||||
a 5.1 speaker mask since a HBR stream is carried on 8 channels to the
|
||||
codec.
|
||||
|
||||
Add a fallback in the CA selection so that the CA channel count at least
|
||||
matches the stream channel count, even if the streams contains channels
|
||||
not present in the sink speaker descriptor.
|
||||
|
||||
Thanks to GrimGriefer at OpenELEC forums for discovering that changing
|
||||
the sink speaker mask allowed HBR output.
|
||||
|
||||
Reported-by: GrimGriefer
|
||||
Reported-by: Ashecrow
|
||||
Reported-by: Frank Zafka <kafkaesque1978@gmail.com>
|
||||
Reported-by: Peter Frühberger <fritsch@xbmc.org>
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Cc: <stable@vger.kernel.org>
|
||||
---
|
||||
sound/pci/hda/patch_hdmi.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
|
||||
index 030ca86..354fc55 100644
|
||||
--- a/sound/pci/hda/patch_hdmi.c
|
||||
+++ b/sound/pci/hda/patch_hdmi.c
|
||||
@@ -551,6 +551,17 @@ static int hdmi_channel_allocation(struct hdmi_eld *eld, int channels)
|
||||
}
|
||||
}
|
||||
|
||||
+ if (!ca) {
|
||||
+ /* if there was no match, select the regular ALSA channel
|
||||
+ * allocation with the matching number of channels */
|
||||
+ for (i = 0; i < ARRAY_SIZE(channel_allocations); i++) {
|
||||
+ if (channels == channel_allocations[i].channels) {
|
||||
+ ca = channel_allocations[i].ca_index;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
snd_print_channel_allocation(eld->info.spk_alloc, buf, sizeof(buf));
|
||||
snd_printdd("HDMI: select CA 0x%x for %d-channel allocation: %s\n",
|
||||
ca, channels, buf);
|
||||
--
|
||||
1.8.1.5
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
From d78a0599d5b5d4da384eae08bf7da316389dfbe5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no>
|
||||
Date: Wed, 14 Aug 2013 10:24:39 +0200
|
||||
Subject: [PATCH] [media] siano: fix divide error on 0 counters
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
ts_packets and ets_packets counters can be 0. Don't fall over
|
||||
if they are. Fixes:
|
||||
|
||||
[ 846.851711] divide error: 0000 [#1] SMP
|
||||
[ 846.851806] Modules linked in: smsdvb dvb_core ir_lirc_codec lirc_dev ir_sanyo_decoder ir_mce_kbd_decoder ir_sony_decoder ir_jvc_decoder ir_rc6_decoder ir_rc5_decoder ir_nec_decoder rc_hauppauge smsusb smsmdtv rc_core pci_stub vboxpci(O) vboxnetadp(O) vboxnetflt(O) vboxdrv(O) parport_pc ppdev lp parport cpufreq_userspace cpufreq_powersave cpufreq_stats cpufreq_conservative rfcomm bnep binfmt_misc uinput nfsd auth_rpcgss oid_registry nfs_acl nfs lockd dns_resolver fscache sunrpc ext4 jbd2 fuse tp_smapi(O) thinkpad_ec(O) loop firewire_sbp2 dm_crypt snd_hda_codec_conexant snd_hda_intel snd_hda_codec snd_hwdep snd_pcm_oss snd_mixer_oss snd_pcm thinkpad_acpi nvram snd_page_alloc hid_generic snd_seq_midi snd_seq_midi_event arc4 usbhid snd_rawmidi uvcvideo hid iwldvm coretemp kvm_intel mac8021
|
||||
1 cdc_wdm
|
||||
[ 846.853477] cdc_acm snd_seq videobuf2_vmalloc videobuf2_memops videobuf2_core videodev media kvm radeon r852 ttm joydev cdc_ether usbnet pcmcia mii sm_common nand btusb drm_kms_helper tpm_tis acpi_cpufreq bluetooth iwlwifi nand_ecc drm nand_ids i2c_i801 mtd snd_seq_device iTCO_wdt iTCO_vendor_support r592 memstick lpc_ich mperf tpm yenta_socket pcmcia_rsrc pcmcia_core cfg80211 snd_timer snd pcspkr i2c_algo_bit crc16 i2c_core tpm_bios processor mfd_core wmi psmouse mei_me rfkill mei serio_raw soundcore evdev battery button video ac microcode ext3 mbcache jbd md_mod dm_mirror dm_region_hash dm_log dm_mod sg sr_mod sd_mod cdrom crc_t10dif firewire_ohci sdhci_pci sdhci mmc_core firewire_core crc_itu_t thermal thermal_sys ahci libahci ehci_pci uhci_hcd ehci_hcd libata scsi_mod usbcore e1000
|
||||
e usb_common
|
||||
[ 846.855310] ptp pps_core
|
||||
[ 846.855356] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G O 3.10-2-amd64 #1 Debian 3.10.5-1
|
||||
[ 846.855490] Hardware name: LENOVO 4061WFA/4061WFA, BIOS 6FET92WW (3.22 ) 12/14/2011
|
||||
[ 846.855609] task: ffffffff81613400 ti: ffffffff81600000 task.ti: ffffffff81600000
|
||||
[ 846.855636] RIP: 0010:[<ffffffffa092be0c>] [<ffffffffa092be0c>] smsdvb_onresponse+0x264/0xa86 [smsdvb]
|
||||
[ 846.863906] RSP: 0018:ffff88013bc03cf0 EFLAGS: 00010046
|
||||
[ 846.863906] RAX: 0000000000000000 RBX: ffff880133bf6000 RCX: 0000000000000000
|
||||
[ 846.863906] RDX: 0000000000000000 RSI: ffff88005d3b58c0 RDI: ffff880133bf6000
|
||||
[ 846.863906] RBP: ffff88005d1da000 R08: 0000000000000058 R09: 0000000000000015
|
||||
[ 846.863906] R10: 0000000000001a0d R11: 000000000000021a R12: ffff88005d3b58c0
|
||||
[ 846.863906] R13: ffff88005d1da008 R14: 00000000ffffff8d R15: ffff880036cf5060
|
||||
[ 846.863906] FS: 0000000000000000(0000) GS:ffff88013bc00000(0000) knlGS:0000000000000000
|
||||
[ 846.863906] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
|
||||
[ 846.863906] CR2: 00007f3a4b69ae50 CR3: 0000000036dac000 CR4: 00000000000407f0
|
||||
[ 846.863906] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
|
||||
[ 846.863906] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
|
||||
[ 846.863906] Stack:
|
||||
[ 846.863906] ffff88007a102000 ffff88005d1da000 ffff88005d3b58c0 0000000000085824
|
||||
[ 846.863906] ffffffffa08c5aa3 ffff88005d1da000 ffff8800a6907390 ffff8800a69073b0
|
||||
[ 846.863906] ffff8800a6907000 ffffffffa08b642c 000000000000021a ffff8800a69073b0
|
||||
[ 846.863906] Call Trace:
|
||||
[ 846.863906] <IRQ>
|
||||
[ 846.863906]
|
||||
[ 846.863906] [<ffffffffa08c5aa3>] ? smscore_onresponse+0x1d5/0x353 [smsmdtv]
|
||||
[ 846.863906] [<ffffffffa08b642c>] ? smsusb_onresponse+0x146/0x192 [smsusb]
|
||||
[ 846.863906] [<ffffffffa004cb1a>] ? usb_hcd_giveback_urb+0x6c/0xac [usbcore]
|
||||
[ 846.863906] [<ffffffffa0217be1>] ? ehci_urb_done+0x62/0x72 [ehci_hcd]
|
||||
[ 846.863906] [<ffffffffa0217c82>] ? qh_completions+0x91/0x364 [ehci_hcd]
|
||||
[ 846.863906] [<ffffffffa0219bba>] ? ehci_work+0x8a/0x68e [ehci_hcd]
|
||||
[ 846.863906] [<ffffffff8107336c>] ? timekeeping_get_ns.constprop.10+0xd/0x31
|
||||
[ 846.863906] [<ffffffff81064d41>] ? update_cfs_rq_blocked_load+0xde/0xec
|
||||
[ 846.863906] [<ffffffff81058ec2>] ? run_posix_cpu_timers+0x25/0x575
|
||||
[ 846.863906] [<ffffffffa021aa46>] ? ehci_irq+0x211/0x23d [ehci_hcd]
|
||||
[ 846.863906] [<ffffffffa004c0c1>] ? usb_hcd_irq+0x31/0x48 [usbcore]
|
||||
[ 846.863906] [<ffffffff810996fd>] ? handle_irq_event_percpu+0x49/0x1a4
|
||||
[ 846.863906] [<ffffffff8109988a>] ? handle_irq_event+0x32/0x4b
|
||||
[ 846.863906] [<ffffffff8109bd76>] ? handle_fasteoi_irq+0x80/0xb6
|
||||
[ 846.863906] [<ffffffff8100e93e>] ? handle_irq+0x18/0x20
|
||||
[ 846.863906] [<ffffffff8100e657>] ? do_IRQ+0x40/0x95
|
||||
[ 846.863906] [<ffffffff813883ed>] ? common_interrupt+0x6d/0x6d
|
||||
[ 846.863906] <EOI>
|
||||
[ 846.863906]
|
||||
[ 846.863906] [<ffffffff812a011c>] ? arch_local_irq_enable+0x4/0x8
|
||||
[ 846.863906] [<ffffffff812a04f3>] ? cpuidle_enter_state+0x52/0xc1
|
||||
[ 846.863906] [<ffffffff812a0636>] ? cpuidle_idle_call+0xd4/0x143
|
||||
[ 846.863906] [<ffffffff8101398c>] ? arch_cpu_idle+0x5/0x17
|
||||
[ 846.863906] [<ffffffff81072571>] ? cpu_startup_entry+0x10d/0x187
|
||||
[ 846.863906] [<ffffffff816b3d3d>] ? start_kernel+0x3e8/0x3f3
|
||||
[ 846.863906] [<ffffffff816b3777>] ? repair_env_string+0x54/0x54
|
||||
[ 846.863906] [<ffffffff816b3598>] ? x86_64_start_kernel+0xf2/0xfd
|
||||
[ 846.863906] Code: 25 09 00 00 c6 83 da 08 00 00 03 8b 45 54 48 01 83 b6 08 00 00 8b 45 50 48 01 83 db 08 00 00 8b 4d 18 69 c1 ff ff 00 00 03 4d 14 <48> f7 f1 89 83 a8 09 00 00 e9 68 fe ff ff 48 8b 7f 10 e8 79 92
|
||||
[ 846.863906] RIP [<ffffffffa092be0c>] smsdvb_onresponse+0x264/0xa86 [smsdvb]
|
||||
[ 846.863906] RSP <ffff88013bc03cf0>
|
||||
|
||||
Reported-by: Johannes Rohr <jorohr@gmail.com>
|
||||
Reference: http://bugs.debian.org/719623
|
||||
Cc: Mauro Carvalho Chehab <m.chehab@samsung.com>
|
||||
Signed-off-by: Bj?rn Mork <bjorn@mork.no>
|
||||
---
|
||||
drivers/media/common/siano/smsdvb-main.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/media/common/siano/smsdvb-main.c b/drivers/media/common/siano/smsdvb-main.c
|
||||
index 0862622..63676a8 100644
|
||||
--- a/drivers/media/common/siano/smsdvb-main.c
|
||||
+++ b/drivers/media/common/siano/smsdvb-main.c
|
||||
@@ -276,7 +276,8 @@ static void smsdvb_update_per_slices(struct smsdvb_client_t *client,
|
||||
|
||||
/* Legacy PER/BER */
|
||||
tmp = p->ets_packets * 65535;
|
||||
- do_div(tmp, p->ts_packets + p->ets_packets);
|
||||
+ if (p->ts_packets + p->ets_packets)
|
||||
+ do_div(tmp, p->ts_packets + p->ets_packets);
|
||||
client->legacy_per = tmp;
|
||||
}
|
||||
|
||||
--
|
||||
1.7.10.4
|
||||
28
packages/linux/patches/3.10.20/linux-704-Support-for-Ubiquiti-WifiStation.patch
vendored
Normal file
28
packages/linux/patches/3.10.20/linux-704-Support-for-Ubiquiti-WifiStation.patch
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
From 62330f8f9b6105bfe201f52b7ed86ea6ce3d5901 Mon Sep 17 00:00:00 2001
|
||||
From: popcornmix <popcornmix@gmail.com>
|
||||
Date: Sun, 8 Sep 2013 10:33:51 +0100
|
||||
Subject: [PATCH] Add Ubiquiti WifiStation USB id to ath9k wifi driver
|
||||
|
||||
---
|
||||
drivers/net/wireless/ath/ath9k/hif_usb.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c
|
||||
index 75a6376..8cb8d8d 100644
|
||||
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
|
||||
@@ -37,9 +37,11 @@
|
||||
{ USB_DEVICE(0x13D3, 0x3350) }, /* Azurewave */
|
||||
{ USB_DEVICE(0x04CA, 0x4605) }, /* Liteon */
|
||||
{ USB_DEVICE(0x040D, 0x3801) }, /* VIA */
|
||||
+ { USB_DEVICE(0x0cf3, 0xb002) }, /* Ubiquiti WifiStation */
|
||||
{ USB_DEVICE(0x0cf3, 0xb003) }, /* Ubiquiti WifiStation Ext */
|
||||
{ USB_DEVICE(0x0cf3, 0xb002) }, /* Ubiquiti WifiStation */
|
||||
{ USB_DEVICE(0x057c, 0x8403) }, /* AVM FRITZ!WLAN 11N v2 USB */
|
||||
+ { USB_DEVICE(0x057c, 0x8403) }, /* AVM FRITZ!WLAN 11N v2 USB */
|
||||
|
||||
{ USB_DEVICE(0x0cf3, 0x7015),
|
||||
.driver_info = AR9287_USB }, /* Atheros */
|
||||
--
|
||||
1.8.4
|
||||
|
||||
10
packages/linux/patches/3.10.20/linux-705-Support-for-Buffalo-WLI-UC-G300HP-V1.patch
vendored
Normal file
10
packages/linux/patches/3.10.20/linux-705-Support-for-Buffalo-WLI-UC-G300HP-V1.patch
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
--- a/drivers/net/wireless/rt2x00/rt2800usb.c 2013-10-08 15:14:44.844047190 +0200
|
||||
+++ b/drivers/net/wireless/rt2x00/rt2800usb.c 2013-10-08 15:15:00.279904575 +0200
|
||||
@@ -976,6 +976,7 @@
|
||||
{ USB_DEVICE(0x0411, 0x015d) },
|
||||
{ USB_DEVICE(0x0411, 0x016f) },
|
||||
{ USB_DEVICE(0x0411, 0x01a2) },
|
||||
+ { USB_DEVICE(0x0411, 0x01a8) },
|
||||
{ USB_DEVICE(0x0411, 0x01ee) },
|
||||
/* Corega */
|
||||
{ USB_DEVICE(0x07aa, 0x002f) },
|
||||
11
packages/linux/patches/3.10.20/linux-706-Sitecom-N300.patch
vendored
Normal file
11
packages/linux/patches/3.10.20/linux-706-Sitecom-N300.patch
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
diff -Naur linux-3.10.16/drivers/staging/rtl8712/usb_intf.c linux-3.10.16.patch/drivers/staging/rtl8712/usb_intf.c
|
||||
--- linux-3.10.16/drivers/staging/rtl8712/usb_intf.c 2013-10-14 01:08:56.000000000 +0200
|
||||
+++ linux-3.10.16.patch/drivers/staging/rtl8712/usb_intf.c 2013-10-16 13:27:44.032951265 +0200
|
||||
@@ -92,6 +92,7 @@
|
||||
{USB_DEVICE(0x0DF6, 0x005B)},
|
||||
{USB_DEVICE(0x0DF6, 0x005D)},
|
||||
{USB_DEVICE(0x0DF6, 0x0063)},
|
||||
+ {USB_DEVICE(0x0DF6, 0x006C)},
|
||||
/* Sweex */
|
||||
{USB_DEVICE(0x177F, 0x0154)},
|
||||
/* Thinkware */
|
||||
805
packages/linux/patches/3.10.20/linux-990.11-ALSA-AMD-HD-Audio.patch
vendored
Normal file
805
packages/linux/patches/3.10.20/linux-990.11-ALSA-AMD-HD-Audio.patch
vendored
Normal file
@@ -0,0 +1,805 @@
|
||||
Combined patch for ATI/AMD HDMI.
|
||||
|
||||
Actual patchset has been posted to ALSA-devel.
|
||||
|
||||
--
|
||||
Anssi Hannula <anssi.hannula@iki.fi>
|
||||
|
||||
diff --git a/sound/pci/hda/hda_eld.c b/sound/pci/hda/hda_eld.c
|
||||
index d0d7ac1e..750841e 100644
|
||||
--- a/sound/pci/hda/hda_eld.c
|
||||
+++ b/sound/pci/hda/hda_eld.c
|
||||
@@ -2,6 +2,7 @@
|
||||
* Generic routines and proc interface for ELD(EDID Like Data) information
|
||||
*
|
||||
* Copyright(c) 2008 Intel Corporation.
|
||||
+ * Copyright (c) 2013 Anssi Hannula <anssi.hannula@iki.fi>
|
||||
*
|
||||
* Authors:
|
||||
* Wu Fengguang <wfg@linux.intel.com>
|
||||
@@ -316,6 +317,9 @@ int snd_hdmi_get_eld_size(struct hda_codec *codec, hda_nid_t nid)
|
||||
AC_DIPSIZE_ELD_BUF);
|
||||
}
|
||||
|
||||
+static int atihdmi_get_eld(struct hda_codec *codec, hda_nid_t nid,
|
||||
+ unsigned char *buf, int *eld_size);
|
||||
+
|
||||
int snd_hdmi_get_eld(struct hda_codec *codec, hda_nid_t nid,
|
||||
unsigned char *buf, int *eld_size)
|
||||
{
|
||||
@@ -323,6 +327,9 @@ int snd_hdmi_get_eld(struct hda_codec *codec, hda_nid_t nid,
|
||||
int ret = 0;
|
||||
int size;
|
||||
|
||||
+ if (is_atihdmi(codec))
|
||||
+ return atihdmi_get_eld(codec, nid, buf, eld_size);
|
||||
+
|
||||
/*
|
||||
* ELD size is initialized to zero in caller function. If no errors and
|
||||
* ELD is valid, actual eld_size is assigned.
|
||||
@@ -671,3 +678,153 @@ void snd_hdmi_eld_update_pcm_info(struct parsed_hdmi_eld *e,
|
||||
hinfo->maxbps = min(hinfo->maxbps, maxbps);
|
||||
hinfo->channels_max = min(hinfo->channels_max, channels_max);
|
||||
}
|
||||
+
|
||||
+
|
||||
+/* ATI/AMD specific stuff (ELD emulation) */
|
||||
+
|
||||
+#define ATI_VERB_SET_AUDIO_DESCRIPTOR 0x776
|
||||
+#define ATI_VERB_SET_SINK_INFO_INDEX 0x780
|
||||
+#define ATI_VERB_GET_SPEAKER_ALLOCATION 0xf70
|
||||
+#define ATI_VERB_GET_AUDIO_DESCRIPTOR 0xf76
|
||||
+#define ATI_VERB_GET_AUDIO_VIDEO_DELAY 0xf7b
|
||||
+#define ATI_VERB_GET_SINK_INFO_INDEX 0xf80
|
||||
+#define ATI_VERB_GET_SINK_INFO_DATA 0xf81
|
||||
+
|
||||
+#define ATI_SPKALLOC_SPKALLOC 0x007f
|
||||
+#define ATI_SPKALLOC_TYPE_HDMI 0x0100
|
||||
+#define ATI_SPKALLOC_TYPE_DISPLAYPORT 0x0200
|
||||
+
|
||||
+/* first three bytes are just standard SAD */
|
||||
+#define ATI_AUDIODESC_CHANNELS 0x00000007
|
||||
+#define ATI_AUDIODESC_RATES 0x0000ff00
|
||||
+#define ATI_AUDIODESC_LPCM_STEREO_RATES 0xff000000
|
||||
+
|
||||
+/* in standard HDMI VSDB format */
|
||||
+#define ATI_DELAY_VIDEO_LATENCY 0x000000ff
|
||||
+#define ATI_DELAY_AUDIO_LATENCY 0x0000ff00
|
||||
+
|
||||
+enum ati_sink_info_idx {
|
||||
+ ATI_INFO_IDX_MANUFACTURER_ID = 0,
|
||||
+ ATI_INFO_IDX_PRODUCT_ID = 1,
|
||||
+ ATI_INFO_IDX_SINK_DESC_LEN = 2,
|
||||
+ ATI_INFO_IDX_PORT_ID_LOW = 3,
|
||||
+ ATI_INFO_IDX_PORT_ID_HIGH = 4,
|
||||
+ ATI_INFO_IDX_SINK_DESC_FIRST = 5,
|
||||
+ ATI_INFO_IDX_SINK_DESC_LAST = 22, /* max len 18 bytes */
|
||||
+};
|
||||
+
|
||||
+static int atihdmi_get_eld(struct hda_codec *codec, hda_nid_t nid,
|
||||
+ unsigned char *buf, int *eld_size)
|
||||
+{
|
||||
+ int spkalloc, ati_sad, aud_synch;
|
||||
+ int sink_desc_len = 0;
|
||||
+ int pos, i;
|
||||
+
|
||||
+ /* ATI/AMD does not have ELD, emulate it */
|
||||
+
|
||||
+ spkalloc = snd_hda_codec_read(codec, nid, 0, ATI_VERB_GET_SPEAKER_ALLOCATION, 0);
|
||||
+
|
||||
+ if (!spkalloc) {
|
||||
+ snd_printd(KERN_INFO "HDMI ATI/AMD: no speaker allocation for ELD\n");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ memset(buf, 0, ELD_FIXED_BYTES + ELD_MAX_MNL + ELD_MAX_SAD * 3);
|
||||
+
|
||||
+ /* version */
|
||||
+ buf[0] = ELD_VER_CEA_861D << 3;
|
||||
+
|
||||
+ /* speaker allocation from EDID */
|
||||
+ buf[7] = spkalloc & ATI_SPKALLOC_SPKALLOC;
|
||||
+
|
||||
+ /* is DisplayPort? */
|
||||
+ if (spkalloc & ATI_SPKALLOC_TYPE_DISPLAYPORT)
|
||||
+ buf[5] |= 0x04;
|
||||
+
|
||||
+ pos = ELD_FIXED_BYTES;
|
||||
+
|
||||
+ if (is_amdhdmi_rev3(codec)) {
|
||||
+ int sink_info;
|
||||
+
|
||||
+ snd_hda_codec_write(codec, nid, 0, ATI_VERB_SET_SINK_INFO_INDEX, ATI_INFO_IDX_PORT_ID_LOW);
|
||||
+ sink_info = snd_hda_codec_read(codec, nid, 0, ATI_VERB_GET_SINK_INFO_DATA, 0);
|
||||
+ put_unaligned_le32(sink_info, buf + 8);
|
||||
+
|
||||
+ snd_hda_codec_write(codec, nid, 0, ATI_VERB_SET_SINK_INFO_INDEX, ATI_INFO_IDX_PORT_ID_HIGH);
|
||||
+ sink_info = snd_hda_codec_read(codec, nid, 0, ATI_VERB_GET_SINK_INFO_DATA, 0);
|
||||
+ put_unaligned_le32(sink_info, buf + 12);
|
||||
+
|
||||
+ snd_hda_codec_write(codec, nid, 0, ATI_VERB_SET_SINK_INFO_INDEX, ATI_INFO_IDX_MANUFACTURER_ID);
|
||||
+ sink_info = snd_hda_codec_read(codec, nid, 0, ATI_VERB_GET_SINK_INFO_DATA, 0);
|
||||
+ put_unaligned_le16(sink_info, buf + 16);
|
||||
+
|
||||
+ snd_hda_codec_write(codec, nid, 0, ATI_VERB_SET_SINK_INFO_INDEX, ATI_INFO_IDX_PRODUCT_ID);
|
||||
+ sink_info = snd_hda_codec_read(codec, nid, 0, ATI_VERB_GET_SINK_INFO_DATA, 0);
|
||||
+ put_unaligned_le16(sink_info, buf + 18);
|
||||
+
|
||||
+ snd_hda_codec_write(codec, nid, 0, ATI_VERB_SET_SINK_INFO_INDEX, ATI_INFO_IDX_SINK_DESC_LEN);
|
||||
+ sink_desc_len = snd_hda_codec_read(codec, nid, 0, ATI_VERB_GET_SINK_INFO_DATA, 0);
|
||||
+
|
||||
+ if (sink_desc_len > ELD_MAX_MNL) {
|
||||
+ snd_printd(KERN_INFO "HDMI ATI/AMD: Truncating HDMI sink description with length %d\n",
|
||||
+ sink_desc_len);
|
||||
+ sink_desc_len = ELD_MAX_MNL;
|
||||
+ }
|
||||
+
|
||||
+ buf[4] |= sink_desc_len;
|
||||
+
|
||||
+ for (i = 0; i < sink_desc_len; i++) {
|
||||
+ snd_hda_codec_write(codec, nid, 0, ATI_VERB_SET_SINK_INFO_INDEX, ATI_INFO_IDX_SINK_DESC_FIRST + i);
|
||||
+ buf[pos++] = snd_hda_codec_read(codec, nid, 0, ATI_VERB_GET_SINK_INFO_DATA, 0);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ for (i = AUDIO_CODING_TYPE_LPCM; i <= AUDIO_CODING_TYPE_WMAPRO; i++) {
|
||||
+ if (i == AUDIO_CODING_TYPE_SACD || i == AUDIO_CODING_TYPE_DST)
|
||||
+ continue; /* not handled by ATI/AMD */
|
||||
+
|
||||
+ snd_hda_codec_write(codec, nid, 0, ATI_VERB_SET_AUDIO_DESCRIPTOR, i << 3);
|
||||
+ ati_sad = snd_hda_codec_read(codec, nid, 0, ATI_VERB_GET_AUDIO_DESCRIPTOR, 0);
|
||||
+
|
||||
+ if (ati_sad & ATI_AUDIODESC_RATES) {
|
||||
+ /* format is supported, copy SAD as-is */
|
||||
+ buf[pos++] = (ati_sad & 0x0000ff) >> 0;
|
||||
+ buf[pos++] = (ati_sad & 0x00ff00) >> 8;
|
||||
+ buf[pos++] = (ati_sad & 0xff0000) >> 16;
|
||||
+ }
|
||||
+
|
||||
+ if (i == AUDIO_CODING_TYPE_LPCM
|
||||
+ && (ati_sad & ATI_AUDIODESC_LPCM_STEREO_RATES)
|
||||
+ && (ati_sad & ATI_AUDIODESC_LPCM_STEREO_RATES) >> 16 != (ati_sad & ATI_AUDIODESC_RATES)) {
|
||||
+ /* for PCM there is a separate stereo rate mask */
|
||||
+ buf[pos++] = ((ati_sad & 0x000000ff) & ~ATI_AUDIODESC_CHANNELS) | 0x1;
|
||||
+ /* rates from the extra byte */
|
||||
+ buf[pos++] = (ati_sad & 0xff000000) >> 24;
|
||||
+ buf[pos++] = (ati_sad & 0x00ff0000) >> 16;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (pos == ELD_FIXED_BYTES + sink_desc_len) {
|
||||
+ snd_printd(KERN_INFO "HDMI ATI/AMD: no audio descriptors for ELD\n");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ aud_synch = snd_hda_codec_read(codec, nid, 0, ATI_VERB_GET_AUDIO_VIDEO_DELAY, 0);
|
||||
+ if ((aud_synch & ATI_DELAY_VIDEO_LATENCY) && (aud_synch & ATI_DELAY_AUDIO_LATENCY)) {
|
||||
+ int video_latency = (aud_synch & ATI_DELAY_VIDEO_LATENCY) - 1;
|
||||
+ int audio_latency = ((aud_synch & ATI_DELAY_AUDIO_LATENCY) >> 8) - 1;
|
||||
+
|
||||
+ if (video_latency > audio_latency)
|
||||
+ buf[6] = min(video_latency - audio_latency, 0xfa);
|
||||
+ }
|
||||
+
|
||||
+ /* Baseline length */
|
||||
+ buf[2] = pos - 4;
|
||||
+
|
||||
+ /* SAD count */
|
||||
+ buf[5] |= ((pos - ELD_FIXED_BYTES - sink_desc_len) / 3) << 4;
|
||||
+
|
||||
+ *eld_size = pos;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h
|
||||
index 2e7493e..7c0b89e 100644
|
||||
--- a/sound/pci/hda/hda_local.h
|
||||
+++ b/sound/pci/hda/hda_local.h
|
||||
@@ -786,4 +786,9 @@ static inline void snd_hda_eld_proc_free(struct hda_codec *codec,
|
||||
#define SND_PRINT_CHANNEL_ALLOCATION_ADVISED_BUFSIZE 80
|
||||
void snd_print_channel_allocation(int spk_alloc, char *buf, int buflen);
|
||||
|
||||
+/* shared with patch_hdmi.c and hda_eld.c */
|
||||
+#define is_atihdmi(codec) (((codec)->vendor_id & 0xffff0000) == 0x10020000)
|
||||
+#define is_amdhdmi_rev3(codec) \
|
||||
+ ((codec)->vendor_id == 0x1002aa01 && ((codec)->revision_id & 0xff00) >= 0x0300)
|
||||
+
|
||||
#endif /* __SOUND_HDA_LOCAL_H */
|
||||
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
|
||||
index 3d8cd044..22f30fe 100644
|
||||
--- a/sound/pci/hda/patch_hdmi.c
|
||||
+++ b/sound/pci/hda/patch_hdmi.c
|
||||
@@ -6,6 +6,7 @@
|
||||
* Copyright (c) 2006 ATI Technologies Inc.
|
||||
* Copyright (c) 2008 NVIDIA Corp. All rights reserved.
|
||||
* Copyright (c) 2008 Wei Ni <wni@nvidia.com>
|
||||
+ * Copyright (c) 2013 Anssi Hannula <anssi.hannula@iki.fi>
|
||||
*
|
||||
* Authors:
|
||||
* Wu Fengguang <wfg@linux.intel.com>
|
||||
@@ -46,6 +47,9 @@ MODULE_PARM_DESC(static_hdmi_pcm, "Don't restrict PCM parameters per ELD info");
|
||||
|
||||
#define is_haswell(codec) ((codec)->vendor_id == 0x80862807)
|
||||
|
||||
+/* is_atihdmi() and is_amdhdmi_rev3() are in hda_local.h */
|
||||
+#define has_amd_full_remap_support(codec) is_amdhdmi_rev3(codec)
|
||||
+
|
||||
struct hdmi_spec_per_cvt {
|
||||
hda_nid_t cvt_nid;
|
||||
int assigned;
|
||||
@@ -89,7 +93,7 @@ struct hdmi_spec {
|
||||
|
||||
struct hdmi_eld temp_eld;
|
||||
/*
|
||||
- * Non-generic ATI/NVIDIA specific
|
||||
+ * Non-generic VIA/NVIDIA specific
|
||||
*/
|
||||
struct hda_multi_out multiout;
|
||||
struct hda_pcm_stream pcm_playback;
|
||||
@@ -573,6 +577,20 @@ static int hdmi_channel_allocation(struct hdmi_eld *eld, int channels)
|
||||
return ca;
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_SND_DEBUG_VERBOSE
|
||||
+static int atihdmi_get_chan_slot(struct hda_codec *codec, hda_nid_t pin_nid, int asp_slot);
|
||||
+
|
||||
+static int hdmi_get_chan_slot(struct hda_codec *codec, hda_nid_t pin_nid, int asp_slot)
|
||||
+{
|
||||
+ if (is_atihdmi(codec))
|
||||
+ return atihdmi_get_chan_slot(codec, pin_nid, asp_slot);
|
||||
+
|
||||
+ return snd_hda_codec_read(codec, pin_nid, 0,
|
||||
+ AC_VERB_GET_HDMI_CHAN_SLOT,
|
||||
+ asp_slot);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static void hdmi_debug_channel_mapping(struct hda_codec *codec,
|
||||
hda_nid_t pin_nid)
|
||||
{
|
||||
@@ -581,14 +599,26 @@ static void hdmi_debug_channel_mapping(struct hda_codec *codec,
|
||||
int slot;
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
- slot = snd_hda_codec_read(codec, pin_nid, 0,
|
||||
- AC_VERB_GET_HDMI_CHAN_SLOT, i);
|
||||
+ slot = hdmi_get_chan_slot(codec, pin_nid, i);
|
||||
printk(KERN_DEBUG "HDMI: ASP channel %d => slot %d\n",
|
||||
slot >> 4, slot & 0xf);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
+static int atihdmi_set_chan_slot(struct hda_codec *codec, hda_nid_t pin_nid,
|
||||
+ int chanslot_setup);
|
||||
+
|
||||
+static int hdmi_set_chan_slot(struct hda_codec *codec, hda_nid_t pin_nid,
|
||||
+ int chanslot_setup)
|
||||
+{
|
||||
+ if (is_atihdmi(codec))
|
||||
+ return atihdmi_set_chan_slot(codec, pin_nid, chanslot_setup);
|
||||
+
|
||||
+ return snd_hda_codec_write(codec, pin_nid, 0,
|
||||
+ AC_VERB_SET_HDMI_CHAN_SLOT,
|
||||
+ chanslot_setup);
|
||||
+}
|
||||
|
||||
static void hdmi_std_setup_channel_mapping(struct hda_codec *codec,
|
||||
hda_nid_t pin_nid,
|
||||
@@ -617,9 +647,8 @@ static void hdmi_std_setup_channel_mapping(struct hda_codec *codec,
|
||||
}
|
||||
|
||||
for (i = 0; i < 8; i++) {
|
||||
- err = snd_hda_codec_write(codec, pin_nid, 0,
|
||||
- AC_VERB_SET_HDMI_CHAN_SLOT,
|
||||
- non_pcm ? non_pcm_mapping[i] : hdmi_channel_mapping[ca][i]);
|
||||
+ err = hdmi_set_chan_slot(codec, pin_nid,
|
||||
+ non_pcm ? non_pcm_mapping[i] : hdmi_channel_mapping[ca][i]);
|
||||
if (err) {
|
||||
snd_printdd(KERN_NOTICE
|
||||
"HDMI: channel mapping failed\n");
|
||||
@@ -728,8 +757,7 @@ static int hdmi_manual_setup_channel_mapping(struct hda_codec *codec,
|
||||
else
|
||||
val = 0xf;
|
||||
val |= (i << 4);
|
||||
- err = snd_hda_codec_write(codec, pin_nid, 0,
|
||||
- AC_VERB_SET_HDMI_CHAN_SLOT, val);
|
||||
+ err = hdmi_set_chan_slot(codec, pin_nid, val);
|
||||
if (err)
|
||||
return -EINVAL;
|
||||
}
|
||||
@@ -883,6 +911,8 @@ static bool hdmi_infoframe_uptodate(struct hda_codec *codec, hda_nid_t pin_nid,
|
||||
return true;
|
||||
}
|
||||
|
||||
+static void atihdmi_set_ca(struct hda_codec *codec, hda_nid_t pin_nid, int ca);
|
||||
+
|
||||
static void hdmi_setup_audio_infoframe(struct hda_codec *codec,
|
||||
struct hdmi_spec_per_pin *per_pin,
|
||||
bool non_pcm)
|
||||
@@ -912,6 +942,16 @@ static void hdmi_setup_audio_infoframe(struct hda_codec *codec,
|
||||
if (ca < 0)
|
||||
ca = 0;
|
||||
|
||||
+ if (is_atihdmi(codec)) {
|
||||
+ /* for ATI/AMD we just want to map channels and set ca */
|
||||
+ hdmi_setup_channel_mapping(codec, pin_nid, non_pcm, ca,
|
||||
+ channels, per_pin->chmap,
|
||||
+ per_pin->chmap_set);
|
||||
+ atihdmi_set_ca(codec, pin_nid, ca);
|
||||
+ per_pin->non_pcm = non_pcm;
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
memset(&ai, 0, sizeof(ai));
|
||||
if (eld->info.conn_type == 0) { /* HDMI */
|
||||
struct hdmi_audio_infoframe *hdmi_ai = &ai.hdmi;
|
||||
@@ -1100,7 +1140,7 @@ static int hdmi_setup_stream(struct hda_codec *codec, hda_nid_t cvt_nid,
|
||||
new_pinctl);
|
||||
|
||||
}
|
||||
- if (is_hbr_format(format) && !new_pinctl) {
|
||||
+ if (is_hbr_format(format) && !new_pinctl && !is_atihdmi(codec)) {
|
||||
snd_printdd("hdmi_setup_stream: HBR is not supported\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
@@ -1603,6 +1643,8 @@ static int hdmi_chmap_ctl_info(struct snd_kcontrol *kcontrol,
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int atihdmi_swap_fc_lfe(int pos);
|
||||
+
|
||||
static int hdmi_chmap_ctl_tlv(struct snd_kcontrol *kcontrol, int op_flag,
|
||||
unsigned int size, unsigned int __user *tlv)
|
||||
{
|
||||
@@ -1613,6 +1655,10 @@ static int hdmi_chmap_ctl_tlv(struct snd_kcontrol *kcontrol, int op_flag,
|
||||
FL | FR | RL | RR | LFE | FC | RLC | RRC;
|
||||
unsigned int __user *dst;
|
||||
int chs, count = 0;
|
||||
+ int tlv_type = SNDRV_CTL_TLVT_CHMAP_VAR;
|
||||
+
|
||||
+ if (is_atihdmi(codec) && !has_amd_full_remap_support(codec))
|
||||
+ tlv_type = SNDRV_CTL_TLVT_CHMAP_PAIRED;
|
||||
|
||||
if (size < 8)
|
||||
return -ENOMEM;
|
||||
@@ -1620,19 +1666,35 @@ static int hdmi_chmap_ctl_tlv(struct snd_kcontrol *kcontrol, int op_flag,
|
||||
return -EFAULT;
|
||||
size -= 8;
|
||||
dst = tlv + 2;
|
||||
- for (chs = 2; chs <= spec->channels_max; chs++) {
|
||||
+ for (chs = 2; chs <= spec->channels_max;
|
||||
+ chs += (tlv_type == SNDRV_CTL_TLVT_CHMAP_PAIRED) ? 2 : 1) {
|
||||
int i, c;
|
||||
struct cea_channel_speaker_allocation *cap;
|
||||
cap = channel_allocations;
|
||||
for (i = 0; i < ARRAY_SIZE(channel_allocations); i++, cap++) {
|
||||
int chs_bytes = chs * 4;
|
||||
- if (cap->channels != chs)
|
||||
+
|
||||
+ if (tlv_type == SNDRV_CTL_TLVT_CHMAP_PAIRED) {
|
||||
+ int chanpairs = 0;
|
||||
+ /* in paired mode we need to take into account
|
||||
+ * the occupied channel pairs instead of just the
|
||||
+ * channel count */
|
||||
+ for (c = 0; c < 7; c += 2) {
|
||||
+ if (cap->speakers[c] || cap->speakers[c+1])
|
||||
+ chanpairs++;
|
||||
+ }
|
||||
+ if (chanpairs * 2 != chs)
|
||||
+ continue;
|
||||
+
|
||||
+ } else if (cap->channels != chs)
|
||||
continue;
|
||||
+
|
||||
if (cap->spk_mask & ~valid_mask)
|
||||
continue;
|
||||
if (size < 8)
|
||||
return -ENOMEM;
|
||||
- if (put_user(SNDRV_CTL_TLVT_CHMAP_VAR, dst) ||
|
||||
+
|
||||
+ if (put_user(tlv_type, dst) ||
|
||||
put_user(chs_bytes, dst + 1))
|
||||
return -EFAULT;
|
||||
dst += 2;
|
||||
@@ -1643,10 +1705,27 @@ static int hdmi_chmap_ctl_tlv(struct snd_kcontrol *kcontrol, int op_flag,
|
||||
size -= chs_bytes;
|
||||
count += chs_bytes;
|
||||
for (c = 7; c >= 0; c--) {
|
||||
- int spk = cap->speakers[c];
|
||||
- if (!spk)
|
||||
- continue;
|
||||
- if (put_user(spk_to_chmap(spk), dst))
|
||||
+ int spk;
|
||||
+ int chan = c;
|
||||
+ int chpos;
|
||||
+
|
||||
+ if (tlv_type == SNDRV_CTL_TLVT_CHMAP_PAIRED)
|
||||
+ chan = 7 - atihdmi_swap_fc_lfe(7 - chan);
|
||||
+
|
||||
+ spk = cap->speakers[chan];
|
||||
+ if (spk)
|
||||
+ chpos = spk_to_chmap(spk);
|
||||
+ else {
|
||||
+ /* We need to reserve an N/A channel in paired mode
|
||||
+ * if the companion channel is occupied. */
|
||||
+ if (tlv_type == SNDRV_CTL_TLVT_CHMAP_PAIRED
|
||||
+ && cap->speakers[chan + (chan % 2 ? -1 : 1)])
|
||||
+ chpos = SNDRV_CHMAP_NA;
|
||||
+ else
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
+ if (put_user(chpos, dst))
|
||||
return -EFAULT;
|
||||
dst++;
|
||||
}
|
||||
@@ -1672,6 +1751,18 @@ static int hdmi_chmap_ctl_get(struct snd_kcontrol *kcontrol,
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int atihdmi_pairwise_chmap_check_order(struct hda_codec *codec, int ca,
|
||||
+ int chs, unsigned char *map);
|
||||
+
|
||||
+static int hdmi_chmap_check_order(struct hda_codec *codec, int ca,
|
||||
+ int chs, unsigned char *map)
|
||||
+{
|
||||
+ if (is_atihdmi(codec) && !has_amd_full_remap_support(codec))
|
||||
+ return atihdmi_pairwise_chmap_check_order(codec, ca, chs, map);
|
||||
+
|
||||
+ return 0; /* anything can be remapped as needed */
|
||||
+}
|
||||
+
|
||||
static int hdmi_chmap_ctl_put(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
@@ -1683,7 +1774,7 @@ static int hdmi_chmap_ctl_put(struct snd_kcontrol *kcontrol,
|
||||
unsigned int ctl_idx;
|
||||
struct snd_pcm_substream *substream;
|
||||
unsigned char chmap[8];
|
||||
- int i, ca, prepared = 0;
|
||||
+ int i, err, ca, prepared = 0;
|
||||
|
||||
ctl_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id);
|
||||
substream = snd_pcm_chmap_substream(info, ctl_idx);
|
||||
@@ -1707,6 +1798,9 @@ static int hdmi_chmap_ctl_put(struct snd_kcontrol *kcontrol,
|
||||
ca = hdmi_manual_channel_allocation(ARRAY_SIZE(chmap), chmap);
|
||||
if (ca < 0)
|
||||
return -EINVAL;
|
||||
+ err = hdmi_chmap_check_order(codec, ca, ARRAY_SIZE(chmap), chmap);
|
||||
+ if (err < 0)
|
||||
+ return -EINVAL;
|
||||
per_pin->chmap_set = true;
|
||||
memcpy(per_pin->chmap, chmap, sizeof(chmap));
|
||||
if (prepared)
|
||||
@@ -2551,13 +2645,182 @@ static int patch_nvhdmi_8ch_7x(struct hda_codec *codec)
|
||||
|
||||
/*
|
||||
* ATI-specific implementations
|
||||
- *
|
||||
- * FIXME: we may omit the whole this and use the generic code once after
|
||||
- * it's confirmed to work.
|
||||
*/
|
||||
|
||||
-#define ATIHDMI_CVT_NID 0x02 /* audio converter */
|
||||
-#define ATIHDMI_PIN_NID 0x03 /* HDMI output pin */
|
||||
+/* ATI/AMD specific HDA pin verbs, see the AMD HDA Verbs specification */
|
||||
+#define ATI_VERB_SET_CHANNEL_ALLOCATION 0x771
|
||||
+#define ATI_VERB_SET_DOWNMIX_INFO 0x772
|
||||
+#define ATI_VERB_SET_MULTICHANNEL_01 0x777
|
||||
+#define ATI_VERB_SET_MULTICHANNEL_23 0x778
|
||||
+#define ATI_VERB_SET_MULTICHANNEL_45 0x779
|
||||
+#define ATI_VERB_SET_MULTICHANNEL_67 0x77a
|
||||
+#define ATI_VERB_SET_HBR_CONTROL 0x77c
|
||||
+#define ATI_VERB_SET_MULTICHANNEL_1 0x785
|
||||
+#define ATI_VERB_SET_MULTICHANNEL_3 0x786
|
||||
+#define ATI_VERB_SET_MULTICHANNEL_5 0x787
|
||||
+#define ATI_VERB_SET_MULTICHANNEL_7 0x788
|
||||
+#define ATI_VERB_SET_MULTICHANNEL_MODE 0x789
|
||||
+#define ATI_VERB_GET_CHANNEL_ALLOCATION 0xf71
|
||||
+#define ATI_VERB_GET_DOWNMIX_INFO 0xf72
|
||||
+#define ATI_VERB_GET_MULTICHANNEL_01 0xf77
|
||||
+#define ATI_VERB_GET_MULTICHANNEL_23 0xf78
|
||||
+#define ATI_VERB_GET_MULTICHANNEL_45 0xf79
|
||||
+#define ATI_VERB_GET_MULTICHANNEL_67 0xf7a
|
||||
+#define ATI_VERB_GET_HBR_CONTROL 0xf7c
|
||||
+#define ATI_VERB_GET_MULTICHANNEL_1 0xf85
|
||||
+#define ATI_VERB_GET_MULTICHANNEL_3 0xf86
|
||||
+#define ATI_VERB_GET_MULTICHANNEL_5 0xf87
|
||||
+#define ATI_VERB_GET_MULTICHANNEL_7 0xf88
|
||||
+#define ATI_VERB_GET_MULTICHANNEL_MODE 0xf89
|
||||
+
|
||||
+/* AMD specific HDA cvt verbs */
|
||||
+#define ATI_VERB_SET_RAMP_RATE 0x770
|
||||
+#define ATI_VERB_GET_RAMP_RATE 0xf70
|
||||
+
|
||||
+#define ATI_OUT_ENABLE 0x1
|
||||
+
|
||||
+#define ATI_HBR_CAPABLE 0x01
|
||||
+#define ATI_HBR_ENABLE 0x10
|
||||
+
|
||||
+static void atihdmi_set_ca(struct hda_codec *codec, hda_nid_t pin_nid, int ca)
|
||||
+{
|
||||
+ printk("ATI: setting ca %d\n", ca);
|
||||
+ snd_hda_codec_write(codec, pin_nid, 0, ATI_VERB_SET_CHANNEL_ALLOCATION, ca);
|
||||
+}
|
||||
+
|
||||
+static int atihdmi_swap_fc_lfe(int pos)
|
||||
+{
|
||||
+ /*
|
||||
+ * Older ATI/AMD without channel-wise mapping
|
||||
+ * have automatic FC/LFE swap built-in.
|
||||
+ */
|
||||
+
|
||||
+ switch (pos) {
|
||||
+ /* see channel_allocations[].speakers[] */
|
||||
+ case 2: return 3;
|
||||
+ case 3: return 2;
|
||||
+ default: break;
|
||||
+ }
|
||||
+
|
||||
+ return pos;
|
||||
+}
|
||||
+
|
||||
+static int atihdmi_pairwise_chmap_check_order(struct hda_codec *codec, int ca,
|
||||
+ int chs, unsigned char *map)
|
||||
+{
|
||||
+ struct cea_channel_speaker_allocation *cap;
|
||||
+ int i, j;
|
||||
+
|
||||
+ /* check that only channel pairs need to be remapped on old ATI/AMD */
|
||||
+
|
||||
+ cap = &channel_allocations[get_channel_allocation_order(ca)];
|
||||
+ for (i = 0; i < chs; ++i) {
|
||||
+ int mask = to_spk_mask(map[i]);
|
||||
+ bool ok = false;
|
||||
+ bool companion_ok = false;
|
||||
+
|
||||
+ if (!mask)
|
||||
+ continue;
|
||||
+
|
||||
+ for (j = 0 + i % 2; j < 8; j += 2) {
|
||||
+ int chan_idx = 7 - atihdmi_swap_fc_lfe(j);
|
||||
+ if (cap->speakers[chan_idx] == mask) {
|
||||
+ /* channel is in a supported position */
|
||||
+ ok = true;
|
||||
+
|
||||
+ if (i % 2 == 0 && i + 1 < chs) {
|
||||
+ /* even channel, check the odd companion */
|
||||
+ int comp_chan_idx = 7 - atihdmi_swap_fc_lfe(j + 1);
|
||||
+ int comp_mask_req = to_spk_mask(map[i+1]);
|
||||
+ int comp_mask_act = cap->speakers[comp_chan_idx];
|
||||
+
|
||||
+ if (comp_mask_req == comp_mask_act)
|
||||
+ companion_ok = true;
|
||||
+ else
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (!ok)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ if (companion_ok)
|
||||
+ i++; /* companion channel already checked */
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int atihdmi_set_chan_slot(struct hda_codec *codec, hda_nid_t pin_nid,
|
||||
+ int chanslot_setup)
|
||||
+{
|
||||
+ int hdmi_slot = chanslot_setup & 0xf;
|
||||
+ int stream_channel = chanslot_setup >> 4;
|
||||
+ int verb;
|
||||
+ int ati_channel_setup = 0;
|
||||
+
|
||||
+ if (hdmi_slot > 7)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ if (!has_amd_full_remap_support(codec)) {
|
||||
+ hdmi_slot = atihdmi_swap_fc_lfe(hdmi_slot);
|
||||
+
|
||||
+ /* In case this is an odd slot but without stream channel, do not
|
||||
+ * disable the slot since the corresponding even slot could have a
|
||||
+ * channel. In case neither have a channel, the slot pair will be
|
||||
+ * disabled when this function is called for the even slot. */
|
||||
+ if (hdmi_slot % 2 != 0 && stream_channel == 0xf)
|
||||
+ return 0;
|
||||
+
|
||||
+ hdmi_slot -= hdmi_slot % 2;
|
||||
+
|
||||
+ if (stream_channel != 0xf)
|
||||
+ stream_channel -= stream_channel % 2;
|
||||
+ }
|
||||
+
|
||||
+ verb = ATI_VERB_SET_MULTICHANNEL_01 + hdmi_slot/2 + (hdmi_slot % 2) * 0x00e;
|
||||
+
|
||||
+ /* ati_channel_setup format: [7..4] = stream_channel_id, [1] = mute, [0] = enable */
|
||||
+
|
||||
+ if (stream_channel != 0xf)
|
||||
+ ati_channel_setup = (stream_channel << 4) | ATI_OUT_ENABLE;
|
||||
+
|
||||
+ return snd_hda_codec_write(codec, pin_nid, 0, verb, ati_channel_setup);
|
||||
+}
|
||||
+
|
||||
+#ifdef CONFIG_SND_DEBUG_VERBOSE
|
||||
+static int atihdmi_get_chan_slot(struct hda_codec *codec, hda_nid_t pin_nid, int asp_slot)
|
||||
+{
|
||||
+ bool was_odd = false;
|
||||
+ int ati_asp_slot = asp_slot;
|
||||
+ int verb;
|
||||
+ int ati_channel_setup;
|
||||
+
|
||||
+ /* emulate AC_VERB_GET_HDMI_CHAN_SLOT */
|
||||
+
|
||||
+ if (asp_slot > 7)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ if (!has_amd_full_remap_support(codec)) {
|
||||
+ ati_asp_slot = atihdmi_swap_fc_lfe(asp_slot);
|
||||
+ if (ati_asp_slot % 2 != 0) {
|
||||
+ ati_asp_slot -= 1;
|
||||
+ was_odd = true;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ verb = ATI_VERB_GET_MULTICHANNEL_01 + ati_asp_slot/2 + (ati_asp_slot % 2) * 0x00e;
|
||||
+
|
||||
+ ati_channel_setup = snd_hda_codec_read(codec, pin_nid, 0, verb, 0);
|
||||
+
|
||||
+ if (!(ati_channel_setup & ATI_OUT_ENABLE))
|
||||
+ return (0xf << 4) | asp_slot;
|
||||
+
|
||||
+ return ((ati_channel_setup & 0xf0) + ((!!was_odd) << 4)) | asp_slot;
|
||||
+}
|
||||
+#endif
|
||||
|
||||
static int atihdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo,
|
||||
struct hda_codec *codec,
|
||||
@@ -2565,34 +2828,117 @@ static int atihdmi_playback_pcm_prepare(struct hda_pcm_stream *hinfo,
|
||||
unsigned int format,
|
||||
struct snd_pcm_substream *substream)
|
||||
{
|
||||
+ hda_nid_t cvt_nid = hinfo->nid;
|
||||
struct hdmi_spec *spec = codec->spec;
|
||||
- struct hdmi_spec_per_cvt *per_cvt = get_cvt(spec, 0);
|
||||
- int chans = substream->runtime->channels;
|
||||
- int i, err;
|
||||
+ int pin_idx = hinfo_to_pin_index(spec, hinfo);
|
||||
+ struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx);
|
||||
+ hda_nid_t pin_nid = per_pin->pin_nid;
|
||||
+ int hbr_ctl, hbr_ctl_new;
|
||||
|
||||
- err = simple_playback_pcm_prepare(hinfo, codec, stream_tag, format,
|
||||
- substream);
|
||||
- if (err < 0)
|
||||
+ hbr_ctl = snd_hda_codec_read(codec, pin_nid, 0, ATI_VERB_GET_HBR_CONTROL, 0);
|
||||
+ if (hbr_ctl & ATI_HBR_CAPABLE) {
|
||||
+ if (is_hbr_format(format))
|
||||
+ hbr_ctl_new = hbr_ctl | ATI_HBR_ENABLE;
|
||||
+ else
|
||||
+ hbr_ctl_new = hbr_ctl & ~ATI_HBR_ENABLE;
|
||||
+
|
||||
+ snd_printdd("atihdmi_playback_pcm_prepare: "
|
||||
+ "NID=0x%x, %shbr-ctl=0x%x\n",
|
||||
+ pin_nid,
|
||||
+ hbr_ctl == hbr_ctl_new ? "" : "new-",
|
||||
+ hbr_ctl_new);
|
||||
+
|
||||
+ if (hbr_ctl != hbr_ctl_new)
|
||||
+ snd_hda_codec_write(codec, pin_nid, 0,
|
||||
+ ATI_VERB_SET_HBR_CONTROL,
|
||||
+ hbr_ctl_new);
|
||||
+
|
||||
+ } else if (is_hbr_format(format)) {
|
||||
+ snd_printdd("atihdmi_playback_pcm_prepare: HBR is not supported\n");
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
+ if (is_amdhdmi_rev3(codec)) {
|
||||
+ int ramp_rate = 180; /* default as per spec */
|
||||
+ /* disable ramp-up/down for non-pcm as per spec */
|
||||
+ if (format & AC_FMT_TYPE_NON_PCM)
|
||||
+ ramp_rate = 0;
|
||||
+
|
||||
+ snd_hda_codec_write(codec, cvt_nid, 0, ATI_VERB_SET_RAMP_RATE, ramp_rate);
|
||||
+ }
|
||||
+
|
||||
+ return generic_hdmi_playback_pcm_prepare(hinfo, codec, stream_tag, format, substream);
|
||||
+}
|
||||
+
|
||||
+static int atihdmi_build_pcms(struct hda_codec *codec)
|
||||
+{
|
||||
+ struct hdmi_spec *spec = codec->spec;
|
||||
+ int err, pin_idx;
|
||||
+
|
||||
+ err = generic_hdmi_build_pcms(codec);
|
||||
+
|
||||
+ if (err)
|
||||
return err;
|
||||
- snd_hda_codec_write(codec, per_cvt->cvt_nid, 0,
|
||||
- AC_VERB_SET_CVT_CHAN_COUNT, chans - 1);
|
||||
- /* FIXME: XXX */
|
||||
- for (i = 0; i < chans; i++) {
|
||||
- snd_hda_codec_write(codec, per_cvt->cvt_nid, 0,
|
||||
- AC_VERB_SET_HDMI_CHAN_SLOT,
|
||||
- (i << 4) | i);
|
||||
+
|
||||
+ for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) {
|
||||
+ struct hda_pcm *info = get_pcm_rec(spec, pin_idx);
|
||||
+
|
||||
+ info->stream[SNDRV_PCM_STREAM_PLAYBACK].ops.prepare = atihdmi_playback_pcm_prepare;
|
||||
}
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int atihdmi_init(struct hda_codec *codec)
|
||||
+{
|
||||
+ struct hdmi_spec *spec = codec->spec;
|
||||
+ int pin_idx, err;
|
||||
+
|
||||
+ err = generic_hdmi_init(codec);
|
||||
+
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) {
|
||||
+ struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx);
|
||||
+
|
||||
+ /* make sure downmix information in infoframe is zero */
|
||||
+ snd_hda_codec_write(codec, per_pin->pin_nid, 0, ATI_VERB_SET_DOWNMIX_INFO, 0);
|
||||
+
|
||||
+ /* enable channel-wise remap mode if supported */
|
||||
+ if (has_amd_full_remap_support(codec))
|
||||
+ snd_hda_codec_write(codec, per_pin->pin_nid, 0, ATI_VERB_SET_MULTICHANNEL_MODE, 1);
|
||||
+ }
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int patch_atihdmi(struct hda_codec *codec)
|
||||
{
|
||||
struct hdmi_spec *spec;
|
||||
- int err = patch_simple_hdmi(codec, ATIHDMI_CVT_NID, ATIHDMI_PIN_NID);
|
||||
- if (err < 0)
|
||||
+ struct hdmi_spec_per_cvt *per_cvt;
|
||||
+ int err, cvt_idx;
|
||||
+
|
||||
+ err = patch_generic_hdmi(codec);
|
||||
+
|
||||
+ if (err)
|
||||
return err;
|
||||
+
|
||||
+ codec->patch_ops.init = atihdmi_init;
|
||||
+ codec->patch_ops.build_pcms = atihdmi_build_pcms;
|
||||
+
|
||||
+ /* ATI/AMD converters do not advertise all of their capabilities */
|
||||
spec = codec->spec;
|
||||
- spec->pcm_playback.ops.prepare = atihdmi_playback_pcm_prepare;
|
||||
+ for (cvt_idx = 0; cvt_idx < spec->num_cvts; cvt_idx++) {
|
||||
+ per_cvt = get_cvt(spec, cvt_idx);
|
||||
+ per_cvt->channels_max = max(per_cvt->channels_max, 8u);
|
||||
+ per_cvt->rates |= SUPPORTED_RATES;
|
||||
+ per_cvt->formats |= SUPPORTED_FORMATS;
|
||||
+ per_cvt->maxbps = max(per_cvt->maxbps, 24u);
|
||||
+ }
|
||||
+
|
||||
+ spec->channels_max = max(spec->channels_max, 8u);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2612,7 +2958,7 @@ static const struct hda_codec_preset snd_hda_preset_hdmi[] = {
|
||||
{ .id = 0x1002793c, .name = "RS600 HDMI", .patch = patch_atihdmi },
|
||||
{ .id = 0x10027919, .name = "RS600 HDMI", .patch = patch_atihdmi },
|
||||
{ .id = 0x1002791a, .name = "RS690/780 HDMI", .patch = patch_atihdmi },
|
||||
-{ .id = 0x1002aa01, .name = "R6xx HDMI", .patch = patch_generic_hdmi },
|
||||
+{ .id = 0x1002aa01, .name = "R6xx HDMI", .patch = patch_atihdmi },
|
||||
{ .id = 0x10951390, .name = "SiI1390 HDMI", .patch = patch_generic_hdmi },
|
||||
{ .id = 0x10951392, .name = "SiI1392 HDMI", .patch = patch_generic_hdmi },
|
||||
{ .id = 0x17e80047, .name = "Chrontel HDMI", .patch = patch_generic_hdmi },
|
||||
@@ -0,0 +1,30 @@
|
||||
From edab54fcfb1eb4b56868d2e364cf49dc3c6bad25 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Wed, 18 Sep 2013 14:52:05 +0300
|
||||
Subject: [PATCH] A split for ds3000/ts2020 code forgot to change the TEVII_S471 code.
|
||||
Change the TEVII_S471 according the changes to TEVII_S470.
|
||||
|
||||
BP: https://linuxtv.org/patch/19731/
|
||||
---
|
||||
drivers/media/pci/cx23885/cx23885-dvb.c | 5 +++++
|
||||
1 files changed, 5 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c
|
||||
index 5db14f8..4cbf20a 100644
|
||||
--- a/drivers/media/pci/cx23885/cx23885-dvb.c
|
||||
+++ b/drivers/media/pci/cx23885/cx23885-dvb.c
|
||||
@@ -1339,6 +1339,11 @@ static int dvb_register(struct cx23885_tsport *port)
|
||||
fe0->dvb.frontend = dvb_attach(ds3000_attach,
|
||||
&tevii_ds3000_config,
|
||||
&i2c_bus->i2c_adap);
|
||||
+ if (fe0->dvb.frontend != NULL) {
|
||||
+ dvb_attach(ts2020_attach, fe0->dvb.frontend,
|
||||
+ &tevii_ts2020_config, &i2c_bus->i2c_adap);
|
||||
+ fe0->dvb.frontend->ops.set_voltage = f300_set_voltage;
|
||||
+ }
|
||||
break;
|
||||
case CX23885_BOARD_BST_PS8512:
|
||||
case CX23885_BOARD_DVBSKY_S950:
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
49
packages/linux/patches/3.10.20/linux-999.03-mac80211-ignore-ECSA-in-probe-response-frames.patch
vendored
Normal file
49
packages/linux/patches/3.10.20/linux-999.03-mac80211-ignore-ECSA-in-probe-response-frames.patch
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
From 9098cb577d0f4b2dd71f37988515686008b7c733 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Tue, 24 Sep 2013 13:42:50 +0300
|
||||
Subject: [PATCH] mac80211: ignore (E)CSA in probe response frames
|
||||
|
||||
BP: https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/net/mac80211/mlme.c?id=d70b7616d9080ec9f868fbd31db5fd4341435d61
|
||||
|
||||
thanks @bedouin67
|
||||
---
|
||||
net/mac80211/mlme.c | 11 +++--------
|
||||
1 file changed, 3 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
|
||||
index 5b4328d..1c5a8e6 100644
|
||||
--- a/net/mac80211/mlme.c
|
||||
+++ b/net/mac80211/mlme.c
|
||||
@@ -2885,19 +2885,11 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
|
||||
if (bss)
|
||||
ieee80211_rx_bss_put(local, bss);
|
||||
|
||||
- if (!sdata->u.mgd.associated ||
|
||||
- !ether_addr_equal(mgmt->bssid, sdata->u.mgd.associated->bssid))
|
||||
- return;
|
||||
-
|
||||
if (need_ps) {
|
||||
mutex_lock(&local->iflist_mtx);
|
||||
ieee80211_recalc_ps(local, -1);
|
||||
mutex_unlock(&local->iflist_mtx);
|
||||
}
|
||||
-
|
||||
- ieee80211_sta_process_chanswitch(sdata, rx_status->mactime,
|
||||
- elems, true);
|
||||
-
|
||||
}
|
||||
|
||||
|
||||
@@ -3182,6 +3174,9 @@ ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
|
||||
|
||||
ieee80211_rx_bss_info(sdata, mgmt, len, rx_status, &elems);
|
||||
|
||||
+ ieee80211_sta_process_chanswitch(sdata, rx_status->mactime,
|
||||
+ &elems, true);
|
||||
+
|
||||
if (ieee80211_sta_wmm_params(local, sdata, elems.wmm_param,
|
||||
elems.wmm_param_len))
|
||||
changed |= BSS_CHANGED_QOS;
|
||||
--
|
||||
1.8.3.2
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="service.openelec.settings"
|
||||
PKG_VERSION="0.2.13"
|
||||
PKG_VERSION="0.2.20"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="prop."
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From 7c1bae9cc4819ed9148354fd878824b40bd7a6a5 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Sun, 6 Oct 2013 17:48:50 +0300
|
||||
Subject: [PATCH] fix scrambled/hd channel scan
|
||||
|
||||
from wirbelscan:
|
||||
#define SCAN_TV ( 1 << 0 )
|
||||
#define SCAN_RADIO ( 1 << 1 )
|
||||
#define SCAN_FTA ( 1 << 2 )
|
||||
#define SCAN_SCRAMBLED ( 1 << 3 )
|
||||
#define SCAN_HD ( 1 << 4 )
|
||||
---
|
||||
src/libxvdr/include/xvdr/dataset.h | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/libxvdr/include/xvdr/dataset.h b/src/libxvdr/include/xvdr/dataset.h
|
||||
index 53b0540..36d9a94 100644
|
||||
--- a/src/libxvdr/include/xvdr/dataset.h
|
||||
+++ b/src/libxvdr/include/xvdr/dataset.h
|
||||
@@ -287,8 +287,8 @@ public:
|
||||
FLAG_TV = 1,
|
||||
FLAG_RADIO = 2,
|
||||
FLAG_FTA = 4,
|
||||
- FLAG_SCRAMBLED = 16,
|
||||
- FLAG_HDTV = 32
|
||||
+ FLAG_SCRAMBLED = 8,
|
||||
+ FLAG_HDTV = 16
|
||||
} Flags;
|
||||
|
||||
Verbosity verbosity;
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xbmc-theme-Confluence"
|
||||
PKG_VERSION="12.2-68a881d"
|
||||
PKG_VERSION="12.2-d1002b4"
|
||||
if [ "$XBMC" = "master" ]; then
|
||||
PKG_VERSION="13.alpha-2ef8929"
|
||||
elif [ "$XBMC" = "xbmc-aml" ]; then
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user