mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
Merge pull request #3540 from MilhouseVH/linux5.1.6+
linux (RPi/Generic/Allwinner): update to linux-5.1.9
This commit is contained in:
commit
2bf348c64e
@ -23,14 +23,14 @@ case "$LINUX" in
|
|||||||
PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz"
|
PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz"
|
||||||
;;
|
;;
|
||||||
raspberrypi)
|
raspberrypi)
|
||||||
PKG_VERSION="4b621fdda46932d6620f4c61a5491a11db44e542" # 5.1.5
|
PKG_VERSION="14f3f9006235b69e7ae88904fd186d4074228745" # 5.1.9
|
||||||
PKG_SHA256="c8d192cebf692e989f7b9587a1b9af3111f1dbb5a870eb3f623efe1319337d92"
|
PKG_SHA256="9a0e953b024c7d4943a2c31a88776c7b4b3ff14b6c5181d0341795ec52013d68"
|
||||||
PKG_URL="https://github.com/raspberrypi/linux/archive/$PKG_VERSION.tar.gz"
|
PKG_URL="https://github.com/raspberrypi/linux/archive/$PKG_VERSION.tar.gz"
|
||||||
PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz"
|
PKG_SOURCE_NAME="linux-$LINUX-$PKG_VERSION.tar.gz"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
PKG_VERSION="5.1.5"
|
PKG_VERSION="5.1.9"
|
||||||
PKG_SHA256="d79f90f5ca97befbfee4e247204b2ac4f45e7bb03d63a79184bc748cf3cf6ddb"
|
PKG_SHA256="58c9eca99c3dd2fff5b559302996c985c3f3f2aad0b99b2172a61c4df7122a79"
|
||||||
PKG_URL="https://www.kernel.org/pub/linux/kernel/v5.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
PKG_URL="https://www.kernel.org/pub/linux/kernel/v5.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||||
PKG_PATCH_DIRS="default"
|
PKG_PATCH_DIRS="default"
|
||||||
;;
|
;;
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
From: jahutchi
|
|
||||||
Date: Fri, 11 Jan 2019 13:35:00 +0000
|
|
||||||
Subject: [PATCH] media: m88ds3103: serialize reset messages in m88ds3103_set_frontend
|
|
||||||
|
|
||||||
Ref:
|
|
||||||
https://bugzilla.kernel.org/show_bug.cgi?id=199323
|
|
||||||
https://forum.libreelec.tv/thread/12452-problems-with-dvbsky-technotrend-usb-dvb-s2-tuners-since-le8/
|
|
||||||
|
|
||||||
DVBSky S960/S960C are partly broken since linux kernel commit (4.10rc1)
|
|
||||||
https://github.com/torvalds/linux/commit/9d659ae14b545c4296e812c70493bfdc999b5c1c
|
|
||||||
|
|
||||||
diff --git a/drivers/media/dvb-frontends/m88ds3103.c b/drivers/media/dvb-frontends/m88ds3103.c
|
|
||||||
index dffd2d4bf1..e495a26e6e 100644
|
|
||||||
--- a/drivers/media/dvb-frontends/m88ds3103.c
|
|
||||||
+++ b/drivers/media/dvb-frontends/m88ds3103.c
|
|
||||||
@@ -309,6 +309,7 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
|
|
||||||
u16 u16tmp;
|
|
||||||
u32 tuner_frequency_khz, target_mclk;
|
|
||||||
s32 s32tmp;
|
|
||||||
+ static const struct reg_sequence reset_buf[] = {{0x07, 0x80}, {0x07, 0x00}};
|
|
||||||
|
|
||||||
dev_dbg(&client->dev,
|
|
||||||
"delivery_system=%d modulation=%d frequency=%u symbol_rate=%d inversion=%d pilot=%d rolloff=%d\n",
|
|
||||||
@@ -321,11 +322,7 @@ static int m88ds3103_set_frontend(struct dvb_frontend *fe)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* reset */
|
|
||||||
- ret = regmap_write(dev->regmap, 0x07, 0x80);
|
|
||||||
- if (ret)
|
|
||||||
- goto err;
|
|
||||||
-
|
|
||||||
- ret = regmap_write(dev->regmap, 0x07, 0x00);
|
|
||||||
+ ret = regmap_multi_reg_write(dev->regmap, reset_buf, 2);
|
|
||||||
if (ret)
|
|
||||||
goto err;
|
|
||||||
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
@ -0,0 +1,48 @@
|
|||||||
|
From aa843e35a472a2aff26250662d21ff30629d294c Mon Sep 17 00:00:00 2001
|
||||||
|
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||||
|
Date: Wed, 5 Jun 2019 16:35:18 +0100
|
||||||
|
Subject: [PATCH] Revert "Bluetooth: Align minimum encryption key size for LE
|
||||||
|
and BR/EDR connections"
|
||||||
|
|
||||||
|
This reverts commit 07e38998a19d72b916c39a983c19134522ae806b.
|
||||||
|
---
|
||||||
|
include/net/bluetooth/hci_core.h | 3 ---
|
||||||
|
net/bluetooth/hci_conn.c | 8 --------
|
||||||
|
2 files changed, 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
|
||||||
|
index 05b1b96..094e61e 100644
|
||||||
|
--- a/include/net/bluetooth/hci_core.h
|
||||||
|
+++ b/include/net/bluetooth/hci_core.h
|
||||||
|
@@ -190,9 +190,6 @@ struct adv_info {
|
||||||
|
|
||||||
|
#define HCI_MAX_SHORT_NAME_LENGTH 10
|
||||||
|
|
||||||
|
-/* Min encryption key size to match with SMP */
|
||||||
|
-#define HCI_MIN_ENC_KEY_SIZE 7
|
||||||
|
-
|
||||||
|
/* Default LE RPA expiry time, 15 minutes */
|
||||||
|
#define HCI_DEFAULT_RPA_TIMEOUT (15 * 60)
|
||||||
|
|
||||||
|
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
|
||||||
|
index 3cf0764..bd4978c 100644
|
||||||
|
--- a/net/bluetooth/hci_conn.c
|
||||||
|
+++ b/net/bluetooth/hci_conn.c
|
||||||
|
@@ -1276,14 +1276,6 @@ int hci_conn_check_link_mode(struct hci_conn *conn)
|
||||||
|
!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
- /* The minimum encryption key size needs to be enforced by the
|
||||||
|
- * host stack before establishing any L2CAP connections. The
|
||||||
|
- * specification in theory allows a minimum of 1, but to align
|
||||||
|
- * BR/EDR and LE transports, a minimum of 7 is chosen.
|
||||||
|
- */
|
||||||
|
- if (conn->enc_key_size < HCI_MIN_ENC_KEY_SIZE)
|
||||||
|
- return 0;
|
||||||
|
-
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.14.1
|
||||||
|
|
@ -0,0 +1,48 @@
|
|||||||
|
From aa843e35a472a2aff26250662d21ff30629d294c Mon Sep 17 00:00:00 2001
|
||||||
|
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||||
|
Date: Wed, 5 Jun 2019 16:35:18 +0100
|
||||||
|
Subject: [PATCH] Revert "Bluetooth: Align minimum encryption key size for LE
|
||||||
|
and BR/EDR connections"
|
||||||
|
|
||||||
|
This reverts commit 07e38998a19d72b916c39a983c19134522ae806b.
|
||||||
|
---
|
||||||
|
include/net/bluetooth/hci_core.h | 3 ---
|
||||||
|
net/bluetooth/hci_conn.c | 8 --------
|
||||||
|
2 files changed, 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
|
||||||
|
index 05b1b96..094e61e 100644
|
||||||
|
--- a/include/net/bluetooth/hci_core.h
|
||||||
|
+++ b/include/net/bluetooth/hci_core.h
|
||||||
|
@@ -190,9 +190,6 @@ struct adv_info {
|
||||||
|
|
||||||
|
#define HCI_MAX_SHORT_NAME_LENGTH 10
|
||||||
|
|
||||||
|
-/* Min encryption key size to match with SMP */
|
||||||
|
-#define HCI_MIN_ENC_KEY_SIZE 7
|
||||||
|
-
|
||||||
|
/* Default LE RPA expiry time, 15 minutes */
|
||||||
|
#define HCI_DEFAULT_RPA_TIMEOUT (15 * 60)
|
||||||
|
|
||||||
|
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
|
||||||
|
index 3cf0764..bd4978c 100644
|
||||||
|
--- a/net/bluetooth/hci_conn.c
|
||||||
|
+++ b/net/bluetooth/hci_conn.c
|
||||||
|
@@ -1276,14 +1276,6 @@ int hci_conn_check_link_mode(struct hci_conn *conn)
|
||||||
|
!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
- /* The minimum encryption key size needs to be enforced by the
|
||||||
|
- * host stack before establishing any L2CAP connections. The
|
||||||
|
- * specification in theory allows a minimum of 1, but to align
|
||||||
|
- * BR/EDR and LE transports, a minimum of 7 is chosen.
|
||||||
|
- */
|
||||||
|
- if (conn->enc_key_size < HCI_MIN_ENC_KEY_SIZE)
|
||||||
|
- return 0;
|
||||||
|
-
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.14.1
|
||||||
|
|
@ -3,8 +3,8 @@
|
|||||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||||
|
|
||||||
PKG_NAME="wireless-regdb"
|
PKG_NAME="wireless-regdb"
|
||||||
PKG_VERSION="2019.03.01"
|
PKG_VERSION="2019.06.03"
|
||||||
PKG_SHA256="3a4e6f7006599bc5764f86e1e86422710da13ad80e0242147b61c6855ebc915f"
|
PKG_SHA256="cd917ed86b63ce8d93947979f1f18948f03a4ac0ad89ec25227b36ac00dc54bf"
|
||||||
PKG_LICENSE="GPL"
|
PKG_LICENSE="GPL"
|
||||||
PKG_SITE="http://wireless.kernel.org/en/developers/Regulatory"
|
PKG_SITE="http://wireless.kernel.org/en/developers/Regulatory"
|
||||||
PKG_URL="https://www.kernel.org/pub/software/network/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.xz"
|
PKG_URL="https://www.kernel.org/pub/software/network/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||||
|
@ -1312,19 +1312,19 @@ index d5d6e6e5da3bf..a58bf860bcbfc 100644
|
|||||||
--- a/drivers/bluetooth/btbcm.c
|
--- a/drivers/bluetooth/btbcm.c
|
||||||
+++ b/drivers/bluetooth/btbcm.c
|
+++ b/drivers/bluetooth/btbcm.c
|
||||||
@@ -37,6 +37,7 @@
|
@@ -37,6 +37,7 @@
|
||||||
#define BDADDR_BCM43430A0 (&(bdaddr_t) {{0xac, 0x1f, 0x12, 0xa0, 0x43, 0x43}})
|
|
||||||
#define BDADDR_BCM4324B3 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb3, 0x24, 0x43}})
|
#define BDADDR_BCM4324B3 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb3, 0x24, 0x43}})
|
||||||
#define BDADDR_BCM4330B1 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb1, 0x30, 0x43}})
|
#define BDADDR_BCM4330B1 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb1, 0x30, 0x43}})
|
||||||
|
#define BDADDR_BCM43341B (&(bdaddr_t) {{0xac, 0x1f, 0x00, 0x1b, 0x34, 0x43}})
|
||||||
+#define BDADDR_BCM4345C5 (&(bdaddr_t) {{0xac, 0x1f, 0x00, 0xc5, 0x45, 0x43}})
|
+#define BDADDR_BCM4345C5 (&(bdaddr_t) {{0xac, 0x1f, 0x00, 0xc5, 0x45, 0x43}})
|
||||||
|
|
||||||
int btbcm_check_bdaddr(struct hci_dev *hdev)
|
int btbcm_check_bdaddr(struct hci_dev *hdev)
|
||||||
{
|
{
|
||||||
@@ -82,6 +83,7 @@ int btbcm_check_bdaddr(struct hci_dev *hdev)
|
@@ -82,6 +83,7 @@ int btbcm_check_bdaddr(struct hci_dev *hdev)
|
||||||
!bacmp(&bda->bdaddr, BDADDR_BCM20702A1) ||
|
|
||||||
!bacmp(&bda->bdaddr, BDADDR_BCM4324B3) ||
|
!bacmp(&bda->bdaddr, BDADDR_BCM4324B3) ||
|
||||||
!bacmp(&bda->bdaddr, BDADDR_BCM4330B1) ||
|
!bacmp(&bda->bdaddr, BDADDR_BCM4330B1) ||
|
||||||
+ !bacmp(&bda->bdaddr, BDADDR_BCM4345C5) ||
|
+ !bacmp(&bda->bdaddr, BDADDR_BCM4345C5) ||
|
||||||
!bacmp(&bda->bdaddr, BDADDR_BCM43430A0)) {
|
!bacmp(&bda->bdaddr, BDADDR_BCM43430A0) ||
|
||||||
|
!bacmp(&bda->bdaddr, BDADDR_BCM43341B)) {
|
||||||
bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
|
bt_dev_info(hdev, "BCM: Using default device address (%pMR)",
|
||||||
&bda->bdaddr);
|
&bda->bdaddr);
|
||||||
@@ -339,6 +341,7 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
|
@@ -339,6 +341,7 @@ static const struct bcm_subver_table bcm_uart_subver_table[] = {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/arm64 5.1.5 Kernel Configuration
|
# Linux/arm64 5.1.6 Kernel Configuration
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -296,6 +296,7 @@ CONFIG_ARM64_ERRATUM_1024718=y
|
|||||||
CONFIG_ARM64_ERRATUM_1188873=y
|
CONFIG_ARM64_ERRATUM_1188873=y
|
||||||
CONFIG_ARM64_ERRATUM_1165522=y
|
CONFIG_ARM64_ERRATUM_1165522=y
|
||||||
CONFIG_ARM64_ERRATUM_1286807=y
|
CONFIG_ARM64_ERRATUM_1286807=y
|
||||||
|
CONFIG_ARM64_ERRATUM_1463225=y
|
||||||
CONFIG_CAVIUM_ERRATUM_22375=y
|
CONFIG_CAVIUM_ERRATUM_22375=y
|
||||||
CONFIG_CAVIUM_ERRATUM_23144=y
|
CONFIG_CAVIUM_ERRATUM_23144=y
|
||||||
CONFIG_CAVIUM_ERRATUM_23154=y
|
CONFIG_CAVIUM_ERRATUM_23154=y
|
||||||
@ -381,7 +382,6 @@ CONFIG_ARM64_CNP=y
|
|||||||
CONFIG_ARM64_PTR_AUTH=y
|
CONFIG_ARM64_PTR_AUTH=y
|
||||||
CONFIG_ARM64_SVE=y
|
CONFIG_ARM64_SVE=y
|
||||||
CONFIG_ARM64_MODULE_PLTS=y
|
CONFIG_ARM64_MODULE_PLTS=y
|
||||||
# CONFIG_ARM64_PSEUDO_NMI is not set
|
|
||||||
# CONFIG_RANDOMIZE_BASE is not set
|
# CONFIG_RANDOMIZE_BASE is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -4856,7 +4856,6 @@ CONFIG_PHY_XGENE=y
|
|||||||
CONFIG_PHY_SUN4I_USB=y
|
CONFIG_PHY_SUN4I_USB=y
|
||||||
# CONFIG_PHY_SUN6I_MIPI_DPHY is not set
|
# CONFIG_PHY_SUN6I_MIPI_DPHY is not set
|
||||||
# CONFIG_PHY_SUN9I_USB is not set
|
# CONFIG_PHY_SUN9I_USB is not set
|
||||||
CONFIG_PHY_SUN50I_USB3=y
|
|
||||||
# CONFIG_BCM_KONA_USB2_PHY is not set
|
# CONFIG_BCM_KONA_USB2_PHY is not set
|
||||||
# CONFIG_PHY_CADENCE_DP is not set
|
# CONFIG_PHY_CADENCE_DP is not set
|
||||||
# CONFIG_PHY_CADENCE_DPHY is not set
|
# CONFIG_PHY_CADENCE_DPHY is not set
|
||||||
|
@ -703,60 +703,6 @@ index bce0705df953..20c82fb0c343 100644
|
|||||||
2.20.1
|
2.20.1
|
||||||
|
|
||||||
|
|
||||||
From bb6b00e1225a5b382b723d3c2190429e15a4c607 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
|
||||||
Date: Mon, 28 Jan 2019 19:45:38 +0100
|
|
||||||
Subject: [PATCH 2/6] media: cedrus: Add a quirk for not setting DMA offset
|
|
||||||
|
|
||||||
H6 VPU doesn't work if DMA offset is set.
|
|
||||||
|
|
||||||
Add a quirk for it.
|
|
||||||
|
|
||||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
|
||||||
---
|
|
||||||
drivers/staging/media/sunxi/cedrus/cedrus.h | 3 +++
|
|
||||||
drivers/staging/media/sunxi/cedrus/cedrus_hw.c | 3 ++-
|
|
||||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.h b/drivers/staging/media/sunxi/cedrus/cedrus.h
|
|
||||||
index 4aedd24a9848..c57c04b41d2e 100644
|
|
||||||
--- a/drivers/staging/media/sunxi/cedrus/cedrus.h
|
|
||||||
+++ b/drivers/staging/media/sunxi/cedrus/cedrus.h
|
|
||||||
@@ -28,6 +28,8 @@
|
|
||||||
|
|
||||||
#define CEDRUS_CAPABILITY_UNTILED BIT(0)
|
|
||||||
|
|
||||||
+#define CEDRUS_QUIRK_NO_DMA_OFFSET BIT(0)
|
|
||||||
+
|
|
||||||
enum cedrus_codec {
|
|
||||||
CEDRUS_CODEC_MPEG2,
|
|
||||||
|
|
||||||
@@ -91,6 +93,7 @@ struct cedrus_dec_ops {
|
|
||||||
|
|
||||||
struct cedrus_variant {
|
|
||||||
unsigned int capabilities;
|
|
||||||
+ unsigned int quirks;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct cedrus_dev {
|
|
||||||
diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
|
|
||||||
index 0acf219a8c91..fbfff7c1c771 100644
|
|
||||||
--- a/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
|
|
||||||
+++ b/drivers/staging/media/sunxi/cedrus/cedrus_hw.c
|
|
||||||
@@ -177,7 +177,8 @@ int cedrus_hw_probe(struct cedrus_dev *dev)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef PHYS_PFN_OFFSET
|
|
||||||
- dev->dev->dma_pfn_offset = PHYS_PFN_OFFSET;
|
|
||||||
+ if (!(variant->quirks & CEDRUS_QUIRK_NO_DMA_OFFSET))
|
|
||||||
+ dev->dev->dma_pfn_offset = PHYS_PFN_OFFSET;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
ret = of_reserved_mem_device_init(dev->dev);
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
||||||
|
|
||||||
From 744c66f8c328ef40b6fb246f8b9f2daa9cce4d9d Mon Sep 17 00:00:00 2001
|
From 744c66f8c328ef40b6fb246f8b9f2daa9cce4d9d Mon Sep 17 00:00:00 2001
|
||||||
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||||
Date: Mon, 28 Jan 2019 19:47:33 +0100
|
Date: Mon, 28 Jan 2019 19:47:33 +0100
|
||||||
|
@ -1,118 +0,0 @@
|
|||||||
From 4029cb43656ede363011e199e589357b2de95617 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
|
||||||
Date: Tue, 14 May 2019 22:02:46 +0200
|
|
||||||
Subject: [PATCH 1/2] drm/sun4i: Fix sun8i HDMI PHY clock initialization
|
|
||||||
|
|
||||||
Current code initializes HDMI PHY clock driver before reset line is
|
|
||||||
deasserted and clocks enabled. Because of that, initial readout of
|
|
||||||
clock divider is incorrect (0 instead of 2). This causes any clock
|
|
||||||
rate with divider 1 (register value 0) to be set incorrectly.
|
|
||||||
|
|
||||||
Fix this by moving initialization of HDMI PHY clock driver after reset
|
|
||||||
line is deasserted and clocks enabled.
|
|
||||||
|
|
||||||
Cc: stable@vger.kernel.org # 4.17+
|
|
||||||
Fixes: 4f86e81748fe ("drm/sun4i: Add support for H3 HDMI PHY variant")
|
|
||||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 26 ++++++++++++++------------
|
|
||||||
1 file changed, 14 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
|
|
||||||
index 66ea3a902e36..afc6d4a9c20b 100644
|
|
||||||
--- a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
|
|
||||||
+++ b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
|
|
||||||
@@ -672,22 +672,13 @@ int sun8i_hdmi_phy_probe(struct sun8i_dw_hdmi *hdmi, struct device_node *node)
|
|
||||||
goto err_put_clk_pll0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- ret = sun8i_phy_clk_create(phy, dev,
|
|
||||||
- phy->variant->has_second_pll);
|
|
||||||
- if (ret) {
|
|
||||||
- dev_err(dev, "Couldn't create the PHY clock\n");
|
|
||||||
- goto err_put_clk_pll1;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- clk_prepare_enable(phy->clk_phy);
|
|
||||||
}
|
|
||||||
|
|
||||||
phy->rst_phy = of_reset_control_get_shared(node, "phy");
|
|
||||||
if (IS_ERR(phy->rst_phy)) {
|
|
||||||
dev_err(dev, "Could not get phy reset control\n");
|
|
||||||
ret = PTR_ERR(phy->rst_phy);
|
|
||||||
- goto err_disable_clk_phy;
|
|
||||||
+ goto err_put_clk_pll1;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = reset_control_deassert(phy->rst_phy);
|
|
||||||
@@ -708,18 +699,29 @@ int sun8i_hdmi_phy_probe(struct sun8i_dw_hdmi *hdmi, struct device_node *node)
|
|
||||||
goto err_disable_clk_bus;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (phy->variant->has_phy_clk) {
|
|
||||||
+ ret = sun8i_phy_clk_create(phy, dev,
|
|
||||||
+ phy->variant->has_second_pll);
|
|
||||||
+ if (ret) {
|
|
||||||
+ dev_err(dev, "Couldn't create the PHY clock\n");
|
|
||||||
+ goto err_disable_clk_mod;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ clk_prepare_enable(phy->clk_phy);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
hdmi->phy = phy;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
+err_disable_clk_mod:
|
|
||||||
+ clk_disable_unprepare(phy->clk_mod);
|
|
||||||
err_disable_clk_bus:
|
|
||||||
clk_disable_unprepare(phy->clk_bus);
|
|
||||||
err_deassert_rst_phy:
|
|
||||||
reset_control_assert(phy->rst_phy);
|
|
||||||
err_put_rst_phy:
|
|
||||||
reset_control_put(phy->rst_phy);
|
|
||||||
-err_disable_clk_phy:
|
|
||||||
- clk_disable_unprepare(phy->clk_phy);
|
|
||||||
err_put_clk_pll1:
|
|
||||||
clk_put(phy->clk_pll1);
|
|
||||||
err_put_clk_pll0:
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
||||||
From 3ebe28afd2b9250375d38bc1144a4aac74340464 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
|
||||||
Date: Tue, 14 May 2019 22:26:20 +0200
|
|
||||||
Subject: [PATCH 2/2] drm/sun4i: Fix sun8i HDMI PHY configuration for > 148.5
|
|
||||||
MHz
|
|
||||||
|
|
||||||
Vendor provided documentation says that EMP bits should be set to 3 for
|
|
||||||
pixel clocks greater than 148.5 MHz.
|
|
||||||
|
|
||||||
Fix that.
|
|
||||||
|
|
||||||
Cc: stable@vger.kernel.org # 4.17+
|
|
||||||
Fixes: 4f86e81748fe ("drm/sun4i: Add support for H3 HDMI PHY variant")
|
|
||||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
|
||||||
---
|
|
||||||
drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
|
|
||||||
index afc6d4a9c20b..43643ad31730 100644
|
|
||||||
--- a/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
|
|
||||||
+++ b/drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c
|
|
||||||
@@ -293,7 +293,8 @@ static int sun8i_hdmi_phy_config_h3(struct dw_hdmi *hdmi,
|
|
||||||
SUN8I_HDMI_PHY_ANA_CFG2_REG_BIGSW |
|
|
||||||
SUN8I_HDMI_PHY_ANA_CFG2_REG_SLV(4);
|
|
||||||
ana_cfg3_init |= SUN8I_HDMI_PHY_ANA_CFG3_REG_AMPCK(9) |
|
|
||||||
- SUN8I_HDMI_PHY_ANA_CFG3_REG_AMP(13);
|
|
||||||
+ SUN8I_HDMI_PHY_ANA_CFG3_REG_AMP(13) |
|
|
||||||
+ SUN8I_HDMI_PHY_ANA_CFG3_REG_EMP(3);
|
|
||||||
}
|
|
||||||
|
|
||||||
regmap_update_bits(phy->regs, SUN8I_HDMI_PHY_ANA_CFG1_REG,
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/x86_64 5.1.0 Kernel Configuration
|
# Linux/x86_64 5.1.6 Kernel Configuration
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -675,6 +675,7 @@ CONFIG_HAVE_STACK_VALIDATION=y
|
|||||||
CONFIG_HAVE_RELIABLE_STACKTRACE=y
|
CONFIG_HAVE_RELIABLE_STACKTRACE=y
|
||||||
CONFIG_OLD_SIGSUSPEND3=y
|
CONFIG_OLD_SIGSUSPEND3=y
|
||||||
CONFIG_COMPAT_OLD_SIGACTION=y
|
CONFIG_COMPAT_OLD_SIGACTION=y
|
||||||
|
CONFIG_64BIT_TIME=y
|
||||||
CONFIG_COMPAT_32BIT_TIME=y
|
CONFIG_COMPAT_32BIT_TIME=y
|
||||||
CONFIG_HAVE_ARCH_VMAP_STACK=y
|
CONFIG_HAVE_ARCH_VMAP_STACK=y
|
||||||
# CONFIG_VMAP_STACK is not set
|
# CONFIG_VMAP_STACK is not set
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/arm 5.1.5 Kernel Configuration
|
# Linux/arm 5.1.7 Kernel Configuration
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -2529,6 +2529,7 @@ CONFIG_VIDEO_V4L2=m
|
|||||||
# CONFIG_VIDEO_ADV_DEBUG is not set
|
# CONFIG_VIDEO_ADV_DEBUG is not set
|
||||||
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
|
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
|
||||||
CONFIG_VIDEO_TUNER=m
|
CONFIG_VIDEO_TUNER=m
|
||||||
|
CONFIG_V4L2_MEM2MEM_DEV=m
|
||||||
CONFIG_VIDEOBUF_GEN=m
|
CONFIG_VIDEOBUF_GEN=m
|
||||||
CONFIG_VIDEOBUF_VMALLOC=m
|
CONFIG_VIDEOBUF_VMALLOC=m
|
||||||
CONFIG_DVB_CORE=m
|
CONFIG_DVB_CORE=m
|
||||||
@ -2663,6 +2664,7 @@ CONFIG_CYPRESS_FIRMWARE=m
|
|||||||
CONFIG_VIDEOBUF2_CORE=m
|
CONFIG_VIDEOBUF2_CORE=m
|
||||||
CONFIG_VIDEOBUF2_V4L2=m
|
CONFIG_VIDEOBUF2_V4L2=m
|
||||||
CONFIG_VIDEOBUF2_MEMOPS=m
|
CONFIG_VIDEOBUF2_MEMOPS=m
|
||||||
|
CONFIG_VIDEOBUF2_DMA_CONTIG=m
|
||||||
CONFIG_VIDEOBUF2_VMALLOC=m
|
CONFIG_VIDEOBUF2_VMALLOC=m
|
||||||
CONFIG_DVB_B2C2_FLEXCOP=m
|
CONFIG_DVB_B2C2_FLEXCOP=m
|
||||||
CONFIG_SMS_SIANO_MDTV=m
|
CONFIG_SMS_SIANO_MDTV=m
|
||||||
@ -3950,6 +3952,9 @@ CONFIG_BCM_VIDEOCORE=y
|
|||||||
CONFIG_BCM2835_VCHIQ=y
|
CONFIG_BCM2835_VCHIQ=y
|
||||||
CONFIG_SND_BCM2835=m
|
CONFIG_SND_BCM2835=m
|
||||||
# CONFIG_VIDEO_BCM2835 is not set
|
# CONFIG_VIDEO_BCM2835 is not set
|
||||||
|
CONFIG_BCM2835_VCHIQ_MMAL=y
|
||||||
|
CONFIG_BCM_VC_SM_CMA=y
|
||||||
|
CONFIG_VIDEO_CODEC_BCM2835=m
|
||||||
# CONFIG_PI433 is not set
|
# CONFIG_PI433 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# Automatically generated file; DO NOT EDIT.
|
||||||
# Linux/arm 5.1.5 Kernel Configuration
|
# Linux/arm 5.1.7 Kernel Configuration
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -2648,6 +2648,7 @@ CONFIG_VIDEO_V4L2=m
|
|||||||
# CONFIG_VIDEO_ADV_DEBUG is not set
|
# CONFIG_VIDEO_ADV_DEBUG is not set
|
||||||
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
|
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
|
||||||
CONFIG_VIDEO_TUNER=m
|
CONFIG_VIDEO_TUNER=m
|
||||||
|
CONFIG_V4L2_MEM2MEM_DEV=m
|
||||||
CONFIG_VIDEOBUF_GEN=m
|
CONFIG_VIDEOBUF_GEN=m
|
||||||
CONFIG_VIDEOBUF_VMALLOC=m
|
CONFIG_VIDEOBUF_VMALLOC=m
|
||||||
CONFIG_DVB_CORE=m
|
CONFIG_DVB_CORE=m
|
||||||
@ -2782,6 +2783,7 @@ CONFIG_CYPRESS_FIRMWARE=m
|
|||||||
CONFIG_VIDEOBUF2_CORE=m
|
CONFIG_VIDEOBUF2_CORE=m
|
||||||
CONFIG_VIDEOBUF2_V4L2=m
|
CONFIG_VIDEOBUF2_V4L2=m
|
||||||
CONFIG_VIDEOBUF2_MEMOPS=m
|
CONFIG_VIDEOBUF2_MEMOPS=m
|
||||||
|
CONFIG_VIDEOBUF2_DMA_CONTIG=m
|
||||||
CONFIG_VIDEOBUF2_VMALLOC=m
|
CONFIG_VIDEOBUF2_VMALLOC=m
|
||||||
CONFIG_DVB_B2C2_FLEXCOP=m
|
CONFIG_DVB_B2C2_FLEXCOP=m
|
||||||
CONFIG_SMS_SIANO_MDTV=m
|
CONFIG_SMS_SIANO_MDTV=m
|
||||||
@ -4071,6 +4073,9 @@ CONFIG_BCM_VIDEOCORE=y
|
|||||||
CONFIG_BCM2835_VCHIQ=y
|
CONFIG_BCM2835_VCHIQ=y
|
||||||
CONFIG_SND_BCM2835=m
|
CONFIG_SND_BCM2835=m
|
||||||
# CONFIG_VIDEO_BCM2835 is not set
|
# CONFIG_VIDEO_BCM2835 is not set
|
||||||
|
CONFIG_BCM2835_VCHIQ_MMAL=y
|
||||||
|
CONFIG_BCM_VC_SM_CMA=y
|
||||||
|
CONFIG_VIDEO_CODEC_BCM2835=m
|
||||||
# CONFIG_PI433 is not set
|
# CONFIG_PI433 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
Loading…
x
Reference in New Issue
Block a user