mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
linux: update to 4.6-rc5
This commit is contained in:
parent
3c270405cb
commit
e1d27a9d14
@ -51,8 +51,8 @@ case "$LINUX" in
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET imx6-status-led imx6-soc-fan irqbalanced"
|
||||
;;
|
||||
*)
|
||||
PKG_VERSION="4.4.7"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_VERSION="4.6-rc5"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v4.x/testing/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
@ -1,92 +0,0 @@
|
||||
From 8d2246fd092ba7e9593ec9fe329ad647be73d46a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
|
||||
Date: Tue, 1 Mar 2016 21:50:13 +0200
|
||||
Subject: [PATCH] drm/edid: Extract SADs properly from multiple audio data blocks
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
SADs may span multiple CEA audio data blocks in the EDID.
|
||||
|
||||
CEA-861-E says:
|
||||
"The order of the Data Blocks is not constrained. It is also possible
|
||||
to have more than one of a specific type of data block if necessary to
|
||||
include all of the descriptors needed to describe the sink’s capabilities."
|
||||
|
||||
Each audio data block can carry up to 10 SADs, whereas the ELD SAD limit
|
||||
is 15 according to HDA 1.0a spec. So we should support at least two data
|
||||
blocks. And apparently some devices take a more liberal interpretation
|
||||
and stuff only one SAD per data block even when they would fit into one.
|
||||
|
||||
So let's try to extract all the SADs we can fit into the ELD even when
|
||||
they span multiple data blocks.
|
||||
|
||||
While at it, toss in a comment to explain the 13 byte monitor name
|
||||
string limit which confused me at first.
|
||||
|
||||
Cc: Arturo Pérez <artur999555@gmail.com>
|
||||
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94197
|
||||
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
||||
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
|
||||
---
|
||||
drivers/gpu/drm/drm_edid.c | 17 +++++++++++------
|
||||
1 file changed, 11 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
|
||||
index fdb1eb014586..414d7f61aa05 100644
|
||||
--- a/drivers/gpu/drm/drm_edid.c
|
||||
+++ b/drivers/gpu/drm/drm_edid.c
|
||||
@@ -3308,7 +3308,7 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
|
||||
u8 *cea;
|
||||
u8 *name;
|
||||
u8 *db;
|
||||
- int sad_count = 0;
|
||||
+ int total_sad_count = 0;
|
||||
int mnl;
|
||||
int dbl;
|
||||
|
||||
@@ -3322,6 +3322,7 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
|
||||
|
||||
name = NULL;
|
||||
drm_for_each_detailed_block((u8 *)edid, monitor_name, &name);
|
||||
+ /* max: 13 bytes EDID, 16 bytes ELD */
|
||||
for (mnl = 0; name && mnl < 13; mnl++) {
|
||||
if (name[mnl] == 0x0a)
|
||||
break;
|
||||
@@ -3350,11 +3351,15 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
|
||||
dbl = cea_db_payload_len(db);
|
||||
|
||||
switch (cea_db_tag(db)) {
|
||||
+ int sad_count;
|
||||
+
|
||||
case AUDIO_BLOCK:
|
||||
/* Audio Data Block, contains SADs */
|
||||
- sad_count = dbl / 3;
|
||||
- if (dbl >= 1)
|
||||
- memcpy(eld + 20 + mnl, &db[1], dbl);
|
||||
+ sad_count = min(dbl / 3, 15 - total_sad_count);
|
||||
+ if (sad_count >= 1)
|
||||
+ memcpy(eld + 20 + mnl + total_sad_count * 3,
|
||||
+ &db[1], sad_count * 3);
|
||||
+ total_sad_count += sad_count;
|
||||
break;
|
||||
case SPEAKER_BLOCK:
|
||||
/* Speaker Allocation Data Block */
|
||||
@@ -3371,13 +3376,13 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
|
||||
}
|
||||
}
|
||||
}
|
||||
- eld[5] |= sad_count << 4;
|
||||
+ eld[5] |= total_sad_count << 4;
|
||||
|
||||
eld[DRM_ELD_BASELINE_ELD_LEN] =
|
||||
DIV_ROUND_UP(drm_eld_calc_baseline_block_size(eld), 4);
|
||||
|
||||
DRM_DEBUG_KMS("ELD size %d, SAD count %d\n",
|
||||
- drm_eld_size(eld), sad_count);
|
||||
+ drm_eld_size(eld), total_sad_count);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_edid_to_eld);
|
||||
|
||||
--
|
||||
2.4.10
|
@ -1,41 +0,0 @@
|
||||
From 1efc21701d94ed0c5b91467b042bed8b8becd5cc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Arno=20Bauern=C3=B6ppel?= <arno@aziraphale.net>
|
||||
Date: Sun, 15 Nov 2015 19:24:10 -0200
|
||||
Subject: [media] Add support for dvb usb stick Hauppauge WinTV-soloHD
|
||||
|
||||
This patch adds support for the DVB-T/C/T2 usb stick WinTV-soloHD from
|
||||
Hauppauge. It adds the usb ID 2040:0264 Hauppauge to the cards of the
|
||||
driver em28xx.
|
||||
|
||||
I successfully tested DVB-T/C and the IR remote control with the
|
||||
firmware dvb-demod-si2168-b40-01.fw.
|
||||
|
||||
Signed-off-by: Arno Bauernoeppel <arno@aziraphale.net>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
|
||||
|
||||
diff --git a/drivers/media/dvb-core/dvb-usb-ids.h b/drivers/media/dvb-core/dvb-usb-ids.h
|
||||
index 0a46580..1c1c298 100644
|
||||
--- a/drivers/media/dvb-core/dvb-usb-ids.h
|
||||
+++ b/drivers/media/dvb-core/dvb-usb-ids.h
|
||||
@@ -389,4 +389,5 @@
|
||||
#define USB_PID_PCTV_2002E_SE 0x025d
|
||||
#define USB_PID_SVEON_STV27 0xd3af
|
||||
#define USB_PID_TURBOX_DTT_2000 0xd3a4
|
||||
+#define USB_PID_WINTV_SOLOHD 0x0264
|
||||
#endif
|
||||
diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em28xx/em28xx-cards.c
|
||||
index 5373dce..a1b6ef5 100644
|
||||
--- a/drivers/media/usb/em28xx/em28xx-cards.c
|
||||
+++ b/drivers/media/usb/em28xx/em28xx-cards.c
|
||||
@@ -2475,6 +2475,8 @@ struct usb_device_id em28xx_id_table[] = {
|
||||
.driver_info = EM28178_BOARD_PCTV_461E },
|
||||
{ USB_DEVICE(0x2013, 0x025f),
|
||||
.driver_info = EM28178_BOARD_PCTV_292E },
|
||||
+ { USB_DEVICE(0x2040, 0x0264), /* Hauppauge WinTV-soloHD */
|
||||
+ .driver_info = EM28178_BOARD_PCTV_292E },
|
||||
{ USB_DEVICE(0x0413, 0x6f07),
|
||||
.driver_info = EM2861_BOARD_LEADTEK_VC100 },
|
||||
{ USB_DEVICE(0xeb1a, 0x8179),
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
@ -1,25 +0,0 @@
|
||||
diff -urN a/drivers/media/dvb-core/dvb-usb-ids.h b/drivers/media/dvb-core/dvb-usb-ids.h
|
||||
--- a/drivers/media/dvb-core/dvb-usb-ids.h 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ b/drivers/media/dvb-core/dvb-usb-ids.h 2016-01-13 12:42:17.648388583 +0200
|
||||
@@ -247,6 +247,7 @@
|
||||
#define USB_PID_TECHNOTREND_CONNECT_CT3650 0x300d
|
||||
#define USB_PID_TECHNOTREND_CONNECT_S2_4600 0x3011
|
||||
#define USB_PID_TECHNOTREND_CONNECT_CT2_4650_CI 0x3012
|
||||
+#define USB_PID_TECHNOTREND_CONNECT_CT2_4650_CI_2 0x3015
|
||||
#define USB_PID_TECHNOTREND_TVSTICK_CT2_4400 0x3014
|
||||
#define USB_PID_TERRATEC_CINERGY_DT_XS_DIVERSITY 0x005a
|
||||
#define USB_PID_TERRATEC_CINERGY_DT_XS_DIVERSITY_2 0x0081
|
||||
diff -urN a/drivers/media/usb/dvb-usb-v2/dvbsky.c b/drivers/media/usb/dvb-usb-v2/dvbsky.c
|
||||
--- a/drivers/media/usb/dvb-usb-v2/dvbsky.c 2016-01-11 01:01:32.000000000 +0200
|
||||
+++ b/drivers/media/usb/dvb-usb-v2/dvbsky.c 2016-01-13 12:41:17.480386735 +0200
|
||||
@@ -847,6 +847,10 @@
|
||||
USB_PID_TECHNOTREND_CONNECT_CT2_4650_CI,
|
||||
&dvbsky_t680c_props, "TechnoTrend TT-connect CT2-4650 CI",
|
||||
RC_MAP_TT_1500) },
|
||||
+ { DVB_USB_DEVICE(USB_VID_TECHNOTREND,
|
||||
+ USB_PID_TECHNOTREND_CONNECT_CT2_4650_CI_2,
|
||||
+ &dvbsky_t680c_props, "TechnoTrend TT-connect CT2-4650 CI v1.1",
|
||||
+ RC_MAP_TT_1500) },
|
||||
{ DVB_USB_DEVICE(USB_VID_TERRATEC,
|
||||
USB_PID_TERRATEC_H7_3,
|
||||
&dvbsky_t680c_props, "Terratec H7 Rev.4",
|
@ -1,25 +0,0 @@
|
||||
taken from https://bugzilla.kernel.org/show_bug.cgi?id=108691
|
||||
diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c
|
||||
--- a/drivers/media/usb/dvb-usb-v2/af9035.c
|
||||
+++ b/drivers/media/usb/dvb-usb-v2/af9035.c
|
||||
@@ -2053,6 +2053,8 @@ static const struct usb_device_id af9035_id_table[] = {
|
||||
&af9035_props, "Avermedia A835B(3835)", RC_MAP_IT913X_V2) },
|
||||
{ DVB_USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_A835B_4835,
|
||||
&af9035_props, "Avermedia A835B(4835)", RC_MAP_IT913X_V2) },
|
||||
+ { DVB_USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_TD110,
|
||||
+ &af9035_props, "Avermedia AverTV Volar HD 2 (TD110)", RC_MAP_AVERMEDIA_RM_KS) },
|
||||
{ DVB_USB_DEVICE(USB_VID_AVERMEDIA, USB_PID_AVERMEDIA_H335,
|
||||
&af9035_props, "Avermedia H335", RC_MAP_IT913X_V2) },
|
||||
{ DVB_USB_DEVICE(USB_VID_KWORLD_2, USB_PID_KWORLD_UB499_2T_T09,
|
||||
|
||||
diff --git a/drivers/media/dvb-core/dvb-usb-ids.h b/drivers/media/dvb-core/dvb-usb-ids.h
|
||||
--- a/drivers/media/dvb-core/dvb-usb-ids.h
|
||||
+++ b/drivers/media/dvb-core/dvb-usb-ids.h
|
||||
@@ -242,6 +242,7 @@
|
||||
#define USB_PID_AVERMEDIA_1867 0x1867
|
||||
#define USB_PID_AVERMEDIA_A867 0xa867
|
||||
#define USB_PID_AVERMEDIA_H335 0x0335
|
||||
+#define USB_PID_AVERMEDIA_TD110 0xa110
|
||||
#define USB_PID_AVERMEDIA_TWINSTAR 0x0825
|
||||
#define USB_PID_TECHNOTREND_CONNECT_S2400 0x3006
|
||||
#define USB_PID_TECHNOTREND_CONNECT_S2400_8KEEPROM 0x3009
|
@ -1,22 +0,0 @@
|
||||
diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c
|
||||
index 31765aa..f041b69 100644
|
||||
--- a/drivers/media/pci/cx23885/cx23885-dvb.c
|
||||
+++ b/drivers/media/pci/cx23885/cx23885-dvb.c
|
||||
@@ -1139,7 +1139,7 @@ static int dvb_register_ci_mac(struct cx23885_tsport *port)
|
||||
u8 eeprom[256]; /* 24C02 i2c eeprom */
|
||||
struct sp2_config sp2_config;
|
||||
struct i2c_board_info info;
|
||||
- struct cx23885_i2c *i2c_bus2 = &dev->i2c_bus[1];
|
||||
+ struct cx23885_i2c *i2c_bus = &dev->i2c_bus[0];
|
||||
|
||||
/* attach CI */
|
||||
memset(&sp2_config, 0, sizeof(sp2_config));
|
||||
@@ -1151,7 +1151,7 @@ static int dvb_register_ci_mac(struct cx23885_tsport *port)
|
||||
info.addr = 0x40;
|
||||
info.platform_data = &sp2_config;
|
||||
request_module(info.type);
|
||||
- client_ci = i2c_new_device(&i2c_bus2->i2c_adap, &info);
|
||||
+ client_ci = i2c_new_device(&i2c_bus->i2c_adap, &info);
|
||||
if (client_ci == NULL || client_ci->dev.driver == NULL)
|
||||
return -ENODEV;
|
||||
if (!try_module_get(client_ci->dev.driver->owner)) {
|
@ -1,9 +1,10 @@
|
||||
From 56ca3555ed8e0f5fd741477fd23497f5455c3f53 Mon Sep 17 00:00:00 2001
|
||||
From 203eaba8afbb984349b0b11e4e3d4e5d3eb4df4b Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Tue, 22 Apr 2014 15:58:50 +0300
|
||||
Subject: [PATCH] ALSA: hda - Avoid outputting HDMI audio before prepare() and after close()
|
||||
Date: Mon, 18 Apr 2016 23:51:56 +0300
|
||||
Subject: [PATCH] ALSA: hda - Avoid outputting HDMI audio before prepare() and
|
||||
after close()
|
||||
|
||||
adapted to 3.15
|
||||
adapted to 4.6
|
||||
|
||||
From a6024295fd3290a8c9c5519a03316081ee82378a Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
@ -43,14 +44,14 @@ Intel PantherPoint was done by myself.
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Cc: stable@vger.kernel.org
|
||||
---
|
||||
sound/pci/hda/patch_hdmi.c | 14 ++++++++++++++
|
||||
1 files changed, 14 insertions(+), 0 deletions(-)
|
||||
sound/pci/hda/patch_hdmi.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
|
||||
index 0cb5b89..e92f24f 100644
|
||||
index 5af372d..18bad9a 100644
|
||||
--- a/sound/pci/hda/patch_hdmi.c
|
||||
+++ b/sound/pci/hda/patch_hdmi.c
|
||||
@@ -1698,6 +1698,14 @@ static int hdmi_add_cvt(struct hda_codec *codec, hda_nid_t cvt_nid)
|
||||
@@ -1630,6 +1630,14 @@ static int hdmi_add_cvt(struct hda_codec *codec, hda_nid_t cvt_nid)
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
@ -65,7 +66,7 @@ index 0cb5b89..e92f24f 100644
|
||||
if (spec->num_cvts < ARRAY_SIZE(spec->cvt_nids))
|
||||
spec->cvt_nids[spec->num_cvts] = cvt_nid;
|
||||
spec->num_cvts++;
|
||||
@@ -1823,6 +1831,12 @@ static int hdmi_pcm_close(struct hda_pcm_stream *hinfo,
|
||||
@@ -1783,6 +1791,12 @@ static int hdmi_pcm_close(struct hda_pcm_stream *hinfo,
|
||||
int pinctl;
|
||||
|
||||
if (hinfo->nid) {
|
||||
@ -75,9 +76,11 @@ index 0cb5b89..e92f24f 100644
|
||||
+ */
|
||||
+ __snd_hda_codec_cleanup_stream(codec, hinfo->nid, 1);
|
||||
+
|
||||
cvt_idx = cvt_nid_to_cvt_index(codec, hinfo->nid);
|
||||
if (snd_BUG_ON(cvt_idx < 0))
|
||||
pcm_idx = hinfo_to_pcm_index(codec, hinfo);
|
||||
if (snd_BUG_ON(pcm_idx < 0))
|
||||
return -EINVAL;
|
||||
--
|
||||
1.7.2.5
|
||||
2.7.4
|
||||
|
||||
|
||||
|
@ -1,25 +0,0 @@
|
||||
diff -Naur linux-2.6.31-rc4.orig/fs/fat/inode.c linux-2.6.31-rc4/fs/fat/inode.c
|
||||
--- linux-2.6.31-rc4.orig/fs/fat/inode.c 2009-07-25 12:47:41.000000000 +0200
|
||||
+++ linux-2.6.31-rc4/fs/fat/inode.c 2009-07-25 13:38:18.000000000 +0200
|
||||
@@ -979,7 +979,8 @@
|
||||
}
|
||||
opts->name_check = 'n';
|
||||
opts->quiet = opts->showexec = opts->sys_immutable = opts->dotsOK = 0;
|
||||
- opts->utf8 = opts->unicode_xlate = 0;
|
||||
+ opts->utf8 = 1;
|
||||
+ opts->unicode_xlate = 0;
|
||||
opts->numtail = 1;
|
||||
opts->usefree = opts->nocase = 0;
|
||||
opts->tz_utc = 0;
|
||||
diff -Naur linux-2.6.31-rc4.orig/fs/isofs/inode.c linux-2.6.31-rc4/fs/isofs/inode.c
|
||||
--- linux-2.6.31-rc4.orig/fs/isofs/inode.c 2009-07-25 12:47:41.000000000 +0200
|
||||
+++ linux-2.6.31-rc4/fs/isofs/inode.c 2009-07-25 13:38:49.000000000 +0200
|
||||
@@ -377,7 +377,7 @@
|
||||
popt->gid = 0;
|
||||
popt->uid = 0;
|
||||
popt->iocharset = NULL;
|
||||
- popt->utf8 = 0;
|
||||
+ popt->utf8 = 1;
|
||||
popt->overriderockperm = 0;
|
||||
popt->session=-1;
|
||||
popt->sbsector=-1;
|
Loading…
x
Reference in New Issue
Block a user