mirror of
https://github.com/hanwckf/immortalwrt-mt798x.git
synced 2025-01-05 00:53:32 +08:00
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This commit is contained in:
commit
025d90b22a
2
Makefile
2
Makefile
@ -14,7 +14,7 @@ $(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt dir
|
||||
|
||||
world:
|
||||
|
||||
DISTRO_PKG_CONFIG:=$(shell which -a pkg-config | grep -E '\/usr' | head -n 1)
|
||||
DISTRO_PKG_CONFIG:=$(shell which -a pkg-config | grep '/usr' | head -n 1)
|
||||
export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH)
|
||||
|
||||
ifneq ($(OPENWRT_BUILD),1)
|
||||
|
@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
|
||||
LINUX_VERSION-5.4 = .213
|
||||
LINUX_VERSION-5.4 = .215
|
||||
|
||||
LINUX_KERNEL_HASH-5.4.213 = e67ce168477e580375a80f3caef16819a85b15faa2d382adc6df18a62ad6baf1
|
||||
LINUX_KERNEL_HASH-5.4.215 = 2d2bf7c3a25297f2b4686aa50a7cdaac68b52fc4c81b2cd3dddfe9f592b34ebd
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -153,22 +153,24 @@ $(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \
|
||||
$(eval $(call CleanupPython2))
|
||||
|
||||
$(eval $(call SetupHostCommand,python,Please install Python >= 3.5, \
|
||||
python3.11 -V 2>&1 | grep 'Python 3', \
|
||||
python3.10 -V 2>&1 | grep 'Python 3', \
|
||||
python3.9 -V 2>&1 | grep 'Python 3', \
|
||||
python3.8 -V 2>&1 | grep 'Python 3', \
|
||||
python3.7 -V 2>&1 | grep 'Python 3', \
|
||||
python3.6 -V 2>&1 | grep 'Python 3', \
|
||||
python3.5 -V 2>&1 | grep 'Python 3', \
|
||||
python3 -V 2>&1 | grep -E 'Python 3\.([5-9]|10)\.?'))
|
||||
python3 -V 2>&1 | grep -E 'Python 3\.([5-9]|[0-9][0-9])\.?'))
|
||||
|
||||
$(eval $(call SetupHostCommand,python3,Please install Python >= 3.5, \
|
||||
python3.11 -V 2>&1 | grep 'Python 3', \
|
||||
python3.10 -V 2>&1 | grep 'Python 3', \
|
||||
python3.9 -V 2>&1 | grep 'Python 3', \
|
||||
python3.8 -V 2>&1 | grep 'Python 3', \
|
||||
python3.7 -V 2>&1 | grep 'Python 3', \
|
||||
python3.6 -V 2>&1 | grep 'Python 3', \
|
||||
python3.5 -V 2>&1 | grep 'Python 3', \
|
||||
python3 -V 2>&1 | grep -E 'Python 3\.([5-9]|10)\.?'))
|
||||
python3 -V 2>&1 | grep -E 'Python 3\.([5-9]|[0-9][0-9])\.?'))
|
||||
|
||||
$(eval $(call TestHostCommand,python3-distutils, \
|
||||
Please install the Python3 distutils module, \
|
||||
|
@ -1,7 +1,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ustream-ssl
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/ustream-ssl.git
|
||||
|
@ -52,6 +52,13 @@ config WOLFSSL_HAS_ECC25519
|
||||
bool "Include ECC Curve 25519 support"
|
||||
default y
|
||||
|
||||
config WOLFSSL_HAS_ECC448
|
||||
bool "Include ECC Curve 448 support"
|
||||
|
||||
config WOLFSSL_HAS_OPENVPN
|
||||
bool "Include OpenVPN support"
|
||||
default y
|
||||
|
||||
config WOLFSSL_ALT_NAMES
|
||||
bool "Include SAN (Subject Alternative Name) support"
|
||||
default y
|
||||
|
@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=wolfssl
|
||||
PKG_VERSION:=5.3.0-stable
|
||||
PKG_VERSION:=5.5.1-stable
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/wolfSSL/wolfssl/archive/v$(PKG_VERSION)
|
||||
PKG_HASH:=1a3bb310dc01d3e73d9ad91b6ea8249d081016f8eef4ae8f21d3421f91ef1de9
|
||||
PKG_HASH:=97339e6956c90e7c881ba5c748dd04f7c30e5dbe0c06da765418c51375a6dee3
|
||||
|
||||
PKG_FIXUP:=libtool libtool-abiver
|
||||
PKG_INSTALL:=1
|
||||
@ -32,8 +32,9 @@ PKG_CONFIG_DEPENDS:=\
|
||||
CONFIG_WOLFSSL_HAS_DH \
|
||||
CONFIG_WOLFSSL_HAS_DTLS \
|
||||
CONFIG_WOLFSSL_HAS_ECC25519 \
|
||||
CONFIG_WOLFSSL_HAS_ECC448 \
|
||||
CONFIG_WOLFSSL_HAS_OCSP \
|
||||
CONFIG_WOLFSSL_ALT_NAMES \
|
||||
CONFIG_WOLFSSL_HAS_OPENVPN CONFIG_WOLFSSL_ALT_NAMES \
|
||||
CONFIG_WOLFSSL_HAS_SESSION_TICKET \
|
||||
CONFIG_WOLFSSL_HAS_TLSV10 \
|
||||
CONFIG_WOLFSSL_HAS_TLSV13 \
|
||||
@ -147,6 +148,8 @@ CONFIGURE_ARGS += \
|
||||
--$(if $(CONFIG_WOLFSSL_HAS_SESSION_TICKET),enable,disable)-session-ticket \
|
||||
--$(if $(CONFIG_WOLFSSL_HAS_DTLS),enable,disable)-dtls \
|
||||
--$(if $(CONFIG_WOLFSSL_HAS_ECC25519),enable,disable)-curve25519 \
|
||||
--$(if $(CONFIG_WOLFSSL_HAS_ECC448),enable,disable)-curve448 \
|
||||
--$(if $(CONFIG_WOLFSSL_HAS_OPENVPN),enable,disable)-openvpn
|
||||
|
||||
ifeq ($(BUILD_VARIANT),regular)
|
||||
CONFIGURE_ARGS += \
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/wolfssl/wolfcrypt/settings.h
|
||||
+++ b/wolfssl/wolfcrypt/settings.h
|
||||
@@ -2338,7 +2338,7 @@ extern void uITRON4_free(void *p) ;
|
||||
@@ -2445,7 +2445,7 @@ extern void uITRON4_free(void *p) ;
|
||||
#endif
|
||||
|
||||
/* warning for not using harden build options (default with ./configure) */
|
||||
|
@ -11,7 +11,7 @@ RNG regardless of the built settings for wolfssl.
|
||||
|
||||
--- a/wolfcrypt/src/ecc.c
|
||||
+++ b/wolfcrypt/src/ecc.c
|
||||
@@ -11655,21 +11655,21 @@ void wc_ecc_fp_free(void)
|
||||
@@ -12348,21 +12348,21 @@ void wc_ecc_fp_free(void)
|
||||
|
||||
#endif /* FP_ECC */
|
||||
|
||||
@ -37,7 +37,7 @@ RNG regardless of the built settings for wolfssl.
|
||||
|
||||
--- a/wolfssl/wolfcrypt/ecc.h
|
||||
+++ b/wolfssl/wolfcrypt/ecc.h
|
||||
@@ -650,10 +650,8 @@ WOLFSSL_API
|
||||
@@ -650,10 +650,8 @@ WOLFSSL_ABI WOLFSSL_API
|
||||
void wc_ecc_fp_free(void);
|
||||
WOLFSSL_LOCAL
|
||||
void wc_ecc_fp_init(void);
|
||||
|
@ -1,44 +0,0 @@
|
||||
From 9ba77300f9f5dea9f53aed00bf6c33d10b7b2fce Mon Sep 17 00:00:00 2001
|
||||
From: Sean Parkinson <sean@wolfssl.com>
|
||||
Date: Thu, 7 Jul 2022 09:30:48 +1000
|
||||
Subject: [PATCH] AESNI: fix configure to use minimal compiler flags
|
||||
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index df97ac75c..6abb0c744 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2142,21 +2142,19 @@ then
|
||||
if test "$ENABLED_AESNI" = "yes" || test "$ENABLED_INTELASM" = "yes"
|
||||
then
|
||||
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_AESNI"
|
||||
- if test "$GCC" = "yes"
|
||||
+ if test "$CC" != "icc"
|
||||
then
|
||||
- # clang needs these flags
|
||||
- if test "$CC" = "clang"
|
||||
- then
|
||||
- AM_CFLAGS="$AM_CFLAGS -maes -mpclmul"
|
||||
- else
|
||||
- # GCC needs these flags, icc doesn't
|
||||
- # opt levels greater than 2 may cause problems on systems w/o
|
||||
- # aesni
|
||||
- if test "$CC" != "icc"
|
||||
- then
|
||||
- AM_CFLAGS="$AM_CFLAGS -maes -msse4 -mpclmul"
|
||||
- fi
|
||||
- fi
|
||||
+ case $host_os in
|
||||
+ mingw*)
|
||||
+ # Windows uses intrinsics for GCM which uses SSE4 instructions.
|
||||
+ # MSVC has own build files.
|
||||
+ AM_CFLAGS="$AM_CFLAGS -maes -msse4 -mpclmul"
|
||||
+ ;;
|
||||
+ *)
|
||||
+ # Intrinsics used in AES_set_decrypt_key (TODO: rework)
|
||||
+ AM_CFLAGS="$AM_CFLAGS -maes"
|
||||
+ ;;
|
||||
+ esac
|
||||
fi
|
||||
AS_IF([test "x$ENABLED_AESGCM" != "xno"],[AM_CCASFLAGS="$AM_CCASFLAGS -DHAVE_AESGCM"])
|
||||
fi
|
@ -5,7 +5,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=px5g-wolfssl
|
||||
PKG_RELEASE:=$(COMMITCOUNT)
|
||||
PKG_RELEASE:=$(COMMITCOUNT).1
|
||||
PKG_LICENSE:=GPL-2.0-or-later
|
||||
|
||||
PKG_USE_MIPS16:=0
|
||||
|
@ -0,0 +1,72 @@
|
||||
From 1b24a132eba7a1c19475ba2510ec1c00af3ff914 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Date: Mon, 5 Sep 2022 09:15:03 -0700
|
||||
Subject: [PATCH] clk: iproc: Do not rely on node name for correct PLL setup
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
After commit 31fd9b79dc58 ("ARM: dts: BCM5301X: update CRU block
|
||||
description") a warning from clk-iproc-pll.c was generated due to a
|
||||
duplicate PLL name as well as the console stopped working. Upon closer
|
||||
inspection it became clear that iproc_pll_clk_setup() used the Device
|
||||
Tree node unit name as an unique identifier as well as a parent name to
|
||||
parent all clocks under the PLL.
|
||||
|
||||
BCM5301X was the first platform on which that got noticed because of the
|
||||
DT node unit name renaming but the same assumptions hold true for any
|
||||
user of the iproc_pll_clk_setup() function.
|
||||
|
||||
The first 'clock-output-names' property is always guaranteed to be
|
||||
unique as well as providing the actual desired PLL clock name, so we
|
||||
utilize that to register the PLL and as a parent name of all children
|
||||
clock.
|
||||
|
||||
Fixes: 5fe225c105fd ("clk: iproc: add initial common clock support")
|
||||
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
Acked-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Link: https://lore.kernel.org/r/20220905161504.1526-1-f.fainelli@gmail.com
|
||||
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
|
||||
---
|
||||
drivers/clk/bcm/clk-iproc-pll.c | 12 ++++++++----
|
||||
1 file changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
--- a/drivers/clk/bcm/clk-iproc-pll.c
|
||||
+++ b/drivers/clk/bcm/clk-iproc-pll.c
|
||||
@@ -736,6 +736,7 @@ void iproc_pll_clk_setup(struct device_n
|
||||
const char *parent_name;
|
||||
struct iproc_clk *iclk_array;
|
||||
struct clk_hw_onecell_data *clk_data;
|
||||
+ const char *clk_name;
|
||||
|
||||
if (WARN_ON(!pll_ctrl) || WARN_ON(!clk_ctrl))
|
||||
return;
|
||||
@@ -783,7 +784,12 @@ void iproc_pll_clk_setup(struct device_n
|
||||
iclk = &iclk_array[0];
|
||||
iclk->pll = pll;
|
||||
|
||||
- init.name = node->name;
|
||||
+ ret = of_property_read_string_index(node, "clock-output-names",
|
||||
+ 0, &clk_name);
|
||||
+ if (WARN_ON(ret))
|
||||
+ goto err_pll_register;
|
||||
+
|
||||
+ init.name = clk_name;
|
||||
init.ops = &iproc_pll_ops;
|
||||
init.flags = 0;
|
||||
parent_name = of_clk_get_parent_name(node, 0);
|
||||
@@ -803,13 +809,11 @@ void iproc_pll_clk_setup(struct device_n
|
||||
goto err_pll_register;
|
||||
|
||||
clk_data->hws[0] = &iclk->hw;
|
||||
+ parent_name = clk_name;
|
||||
|
||||
/* now initialize and register all leaf clocks */
|
||||
for (i = 1; i < num_clks; i++) {
|
||||
- const char *clk_name;
|
||||
-
|
||||
memset(&init, 0, sizeof(init));
|
||||
- parent_name = node->name;
|
||||
|
||||
ret = of_property_read_string_index(node, "clock-output-names",
|
||||
i, &clk_name);
|
@ -0,0 +1,30 @@
|
||||
From 7ec4cdb321738d44ae5d405e7b6ac73dfbf99caa Mon Sep 17 00:00:00 2001
|
||||
From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
|
||||
Date: Mon, 25 Jul 2022 22:49:25 +0900
|
||||
Subject: [PATCH] mtd: core: check partition before dereference
|
||||
|
||||
syzbot is reporting NULL pointer dereference at mtd_check_of_node() [1],
|
||||
for mtdram test device (CONFIG_MTD_MTDRAM) is not partition.
|
||||
|
||||
Link: https://syzkaller.appspot.com/bug?extid=fe013f55a2814a9e8cfd [1]
|
||||
Reported-by: syzbot <syzbot+fe013f55a2814a9e8cfd@syzkaller.appspotmail.com>
|
||||
Reported-by: kernel test robot <oliver.sang@intel.com>
|
||||
Fixes: ad9b10d1eaada169 ("mtd: core: introduce of support for dynamic partitions")
|
||||
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
|
||||
CC: stable@vger.kernel.org
|
||||
Signed-off-by: Richard Weinberger <richard@nod.at>
|
||||
---
|
||||
drivers/mtd/mtdcore.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
--- a/drivers/mtd/mtdcore.c
|
||||
+++ b/drivers/mtd/mtdcore.c
|
||||
@@ -602,6 +602,8 @@ static void mtd_check_of_node(struct mtd
|
||||
return;
|
||||
|
||||
/* Check if a partitions node exist */
|
||||
+ if (!mtd_is_partition(mtd))
|
||||
+ return;
|
||||
parent = mtd_get_master(mtd);
|
||||
parent_dn = dev_of_node(&parent->dev);
|
||||
if (!parent_dn)
|
@ -20,7 +20,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
#include <linux/nvmem-provider.h>
|
||||
|
||||
#include <linux/mtd/mtd.h>
|
||||
@@ -760,6 +761,15 @@ int add_mtd_device(struct mtd_info *mtd)
|
||||
@@ -762,6 +763,15 @@ int add_mtd_device(struct mtd_info *mtd)
|
||||
of this try_ nonsense, and no bitching about it
|
||||
either. :) */
|
||||
__module_get(THIS_MODULE);
|
||||
|
@ -17,7 +17,7 @@ Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
||||
|
||||
--- a/drivers/mtd/mtdcore.c
|
||||
+++ b/drivers/mtd/mtdcore.c
|
||||
@@ -1142,6 +1142,44 @@ out_unlock:
|
||||
@@ -1144,6 +1144,44 @@ out_unlock:
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(get_mtd_device_nm);
|
||||
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Pankaj Bansal <pankaj.bansal@nxp.com>
|
||||
|
||||
--- a/drivers/soc/fsl/Kconfig
|
||||
+++ b/drivers/soc/fsl/Kconfig
|
||||
@@ -40,4 +40,15 @@ config DPAA2_CONSOLE
|
||||
@@ -41,4 +41,15 @@ config DPAA2_CONSOLE
|
||||
/dev/dpaa2_mc_console and /dev/dpaa2_aiop_console,
|
||||
which can be used to dump the Management Complex and AIOP
|
||||
firmware logs.
|
||||
|
@ -12,7 +12,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
--- a/drivers/soc/fsl/Kconfig
|
||||
+++ b/drivers/soc/fsl/Kconfig
|
||||
@@ -46,6 +46,7 @@ config FSL_QIXIS
|
||||
@@ -47,6 +47,7 @@ config FSL_QIXIS
|
||||
depends on OF
|
||||
select REGMAP_I2C
|
||||
select REGMAP_MMIO
|
||||
|
@ -164,8 +164,8 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
edid->width_cm, edid->height_cm);
|
||||
|
||||
dp->sink_has_audio = drm_detect_monitor_audio(edid);
|
||||
@@ -279,7 +282,8 @@ static int cdn_dp_connector_mode_valid(s
|
||||
struct drm_display_mode *mode)
|
||||
@@ -280,7 +283,8 @@ cdn_dp_connector_mode_valid(struct drm_c
|
||||
struct drm_display_mode *mode)
|
||||
{
|
||||
struct cdn_dp_device *dp = connector_to_dp(connector);
|
||||
- struct drm_display_info *display_info = &dp->connector.display_info;
|
||||
@ -174,7 +174,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
u32 requested, actual, rate, sink_max, source_max = 0;
|
||||
u8 lanes, bpc;
|
||||
|
||||
@@ -305,7 +309,7 @@ static int cdn_dp_connector_mode_valid(s
|
||||
@@ -306,7 +310,7 @@ cdn_dp_connector_mode_valid(struct drm_c
|
||||
sink_max = drm_dp_max_lane_count(dp->dpcd);
|
||||
lanes = min(source_max, sink_max);
|
||||
|
||||
@ -183,7 +183,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
sink_max = drm_dp_max_link_rate(dp->dpcd);
|
||||
rate = min(source_max, sink_max);
|
||||
|
||||
@@ -315,7 +319,7 @@ static int cdn_dp_connector_mode_valid(s
|
||||
@@ -316,7 +320,7 @@ cdn_dp_connector_mode_valid(struct drm_c
|
||||
actual = actual * 8 / 10;
|
||||
|
||||
if (requested > actual) {
|
||||
@ -192,7 +192,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
"requested=%d, actual=%d, clock=%d\n",
|
||||
requested, actual, mode->clock);
|
||||
return MODE_CLOCK_HIGH;
|
||||
@@ -335,28 +339,29 @@ static int cdn_dp_firmware_init(struct c
|
||||
@@ -336,28 +340,29 @@ static int cdn_dp_firmware_init(struct c
|
||||
const u32 *iram_data, *dram_data;
|
||||
const struct firmware *fw = dp->fw;
|
||||
const struct cdn_firmware_header *hdr;
|
||||
@ -228,7 +228,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
static int cdn_dp_get_sink_capability(struct cdn_dp_device *dp)
|
||||
@@ -366,28 +371,29 @@ static int cdn_dp_get_sink_capability(st
|
||||
@@ -367,28 +372,29 @@ static int cdn_dp_get_sink_capability(st
|
||||
if (!cdn_dp_check_sink_connection(dp))
|
||||
return -ENODEV;
|
||||
|
||||
@ -264,7 +264,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
ret);
|
||||
goto err_phy;
|
||||
}
|
||||
@@ -397,28 +403,28 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
@@ -398,28 +404,28 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
ret = cdn_dp_grf_write(dp, GRF_SOC_CON26,
|
||||
DPTX_HPD_SEL_MASK | DPTX_HPD_SEL);
|
||||
if (ret) {
|
||||
@ -299,7 +299,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
ret);
|
||||
goto err_power_on;
|
||||
}
|
||||
@@ -428,7 +434,7 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
@@ -429,7 +435,7 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
|
||||
err_power_on:
|
||||
if (phy_power_off(port->phy))
|
||||
@ -308,7 +308,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
else
|
||||
port->phy_enabled = false;
|
||||
|
||||
@@ -446,7 +452,8 @@ static int cdn_dp_disable_phy(struct cdn
|
||||
@@ -447,7 +453,8 @@ static int cdn_dp_disable_phy(struct cdn
|
||||
if (port->phy_enabled) {
|
||||
ret = phy_power_off(port->phy);
|
||||
if (ret) {
|
||||
@ -318,7 +318,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
@@ -470,16 +477,16 @@ static int cdn_dp_disable(struct cdn_dp_
|
||||
@@ -471,16 +478,16 @@ static int cdn_dp_disable(struct cdn_dp_
|
||||
ret = cdn_dp_grf_write(dp, GRF_SOC_CON26,
|
||||
DPTX_HPD_SEL_MASK | DPTX_HPD_DEL);
|
||||
if (ret) {
|
||||
@ -339,7 +339,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (!dp->connected) {
|
||||
kfree(dp->edid);
|
||||
dp->edid = NULL;
|
||||
@@ -492,11 +499,11 @@ static int cdn_dp_enable(struct cdn_dp_d
|
||||
@@ -493,11 +500,11 @@ static int cdn_dp_enable(struct cdn_dp_d
|
||||
{
|
||||
int ret, i, lanes;
|
||||
struct cdn_dp_port *port;
|
||||
@ -353,7 +353,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
@@ -509,7 +516,7 @@ static int cdn_dp_enable(struct cdn_dp_d
|
||||
@@ -510,7 +517,7 @@ static int cdn_dp_enable(struct cdn_dp_d
|
||||
|
||||
ret = cdn_dp_firmware_init(dp);
|
||||
if (ret) {
|
||||
@ -362,7 +362,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
goto err_clk_disable;
|
||||
}
|
||||
|
||||
@@ -543,8 +550,9 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
@@ -544,8 +551,9 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
struct drm_display_mode *adjusted)
|
||||
{
|
||||
struct cdn_dp_device *dp = encoder_to_dp(encoder);
|
||||
@ -374,7 +374,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
switch (display_info->bpc) {
|
||||
case 10:
|
||||
@@ -562,7 +570,7 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
@@ -563,7 +571,7 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
video->v_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NVSYNC);
|
||||
video->h_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NHSYNC);
|
||||
|
||||
@ -383,7 +383,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
static bool cdn_dp_check_link_status(struct cdn_dp_device *dp)
|
||||
@@ -571,11 +579,11 @@ static bool cdn_dp_check_link_status(str
|
||||
@@ -572,11 +580,11 @@ static bool cdn_dp_check_link_status(str
|
||||
struct cdn_dp_port *port = cdn_dp_connected_port(dp);
|
||||
u8 sink_lanes = drm_dp_max_lane_count(dp->dpcd);
|
||||
|
||||
@ -398,7 +398,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
DRM_ERROR("Failed to get link status\n");
|
||||
return false;
|
||||
}
|
||||
@@ -587,15 +595,16 @@ static bool cdn_dp_check_link_status(str
|
||||
@@ -588,15 +596,16 @@ static bool cdn_dp_check_link_status(str
|
||||
static void cdn_dp_encoder_enable(struct drm_encoder *encoder)
|
||||
{
|
||||
struct cdn_dp_device *dp = encoder_to_dp(encoder);
|
||||
@ -418,7 +418,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
(ret) ? "LIT" : "BIG");
|
||||
if (ret)
|
||||
val = DP_SEL_VOP_LIT | (DP_SEL_VOP_LIT << 16);
|
||||
@@ -610,33 +619,33 @@ static void cdn_dp_encoder_enable(struct
|
||||
@@ -611,33 +620,33 @@ static void cdn_dp_encoder_enable(struct
|
||||
|
||||
ret = cdn_dp_enable(dp);
|
||||
if (ret) {
|
||||
@ -461,7 +461,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
goto out;
|
||||
}
|
||||
out:
|
||||
@@ -652,7 +661,8 @@ static void cdn_dp_encoder_disable(struc
|
||||
@@ -653,7 +662,8 @@ static void cdn_dp_encoder_disable(struc
|
||||
if (dp->active) {
|
||||
ret = cdn_dp_disable(dp);
|
||||
if (ret) {
|
||||
@ -471,7 +471,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
ret);
|
||||
}
|
||||
}
|
||||
@@ -696,7 +706,7 @@ static const struct drm_encoder_funcs cd
|
||||
@@ -697,7 +707,7 @@ static const struct drm_encoder_funcs cd
|
||||
|
||||
static int cdn_dp_parse_dt(struct cdn_dp_device *dp)
|
||||
{
|
||||
@ -480,7 +480,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
struct device_node *np = dev->of_node;
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
struct resource *res;
|
||||
@@ -708,10 +718,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
@@ -709,10 +719,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
}
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
@ -494,7 +494,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
dp->core_clk = devm_clk_get(dev, "core-clk");
|
||||
@@ -726,10 +736,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
@@ -727,10 +737,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
return PTR_ERR(dp->pclk);
|
||||
}
|
||||
|
||||
@ -508,7 +508,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
dp->grf_clk = devm_clk_get(dev, "grf");
|
||||
@@ -738,10 +748,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
@@ -739,10 +749,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
return PTR_ERR(dp->grf_clk);
|
||||
}
|
||||
|
||||
@ -522,7 +522,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
dp->dptx_rst = devm_reset_control_get(dev, "dptx");
|
||||
@@ -796,7 +806,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
@@ -797,7 +807,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -531,7 +531,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (!ret)
|
||||
dp->audio_info = audio;
|
||||
|
||||
@@ -814,7 +824,7 @@ static void cdn_dp_audio_shutdown(struct
|
||||
@@ -815,7 +825,7 @@ static void cdn_dp_audio_shutdown(struct
|
||||
if (!dp->active)
|
||||
goto out;
|
||||
|
||||
@ -540,7 +540,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (!ret)
|
||||
dp->audio_info.format = AFMT_UNUSED;
|
||||
out:
|
||||
@@ -833,7 +843,7 @@ static int cdn_dp_audio_digital_mute(str
|
||||
@@ -834,7 +844,7 @@ static int cdn_dp_audio_digital_mute(str
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -549,7 +549,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
out:
|
||||
mutex_unlock(&dp->lock);
|
||||
@@ -845,7 +855,8 @@ static int cdn_dp_audio_get_eld(struct d
|
||||
@@ -846,7 +856,8 @@ static int cdn_dp_audio_get_eld(struct d
|
||||
{
|
||||
struct cdn_dp_device *dp = dev_get_drvdata(dev);
|
||||
|
||||
@ -559,7 +559,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -879,6 +890,7 @@ static int cdn_dp_request_firmware(struc
|
||||
@@ -880,6 +891,7 @@ static int cdn_dp_request_firmware(struc
|
||||
int ret;
|
||||
unsigned long timeout = jiffies + msecs_to_jiffies(CDN_FW_TIMEOUT_MS);
|
||||
unsigned long sleep = 1000;
|
||||
@ -567,7 +567,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
WARN_ON(!mutex_is_locked(&dp->lock));
|
||||
|
||||
@@ -889,13 +901,13 @@ static int cdn_dp_request_firmware(struc
|
||||
@@ -890,13 +902,13 @@ static int cdn_dp_request_firmware(struc
|
||||
mutex_unlock(&dp->lock);
|
||||
|
||||
while (time_before(jiffies, timeout)) {
|
||||
@ -583,7 +583,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
"failed to request firmware: %d\n", ret);
|
||||
goto out;
|
||||
}
|
||||
@@ -905,7 +917,7 @@ static int cdn_dp_request_firmware(struc
|
||||
@@ -906,7 +918,7 @@ static int cdn_dp_request_firmware(struc
|
||||
goto out;
|
||||
}
|
||||
|
||||
@ -592,7 +592,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
ret = -ETIMEDOUT;
|
||||
out:
|
||||
mutex_lock(&dp->lock);
|
||||
@@ -916,8 +928,9 @@ static void cdn_dp_pd_event_work(struct
|
||||
@@ -917,8 +929,9 @@ static void cdn_dp_pd_event_work(struct
|
||||
{
|
||||
struct cdn_dp_device *dp = container_of(work, struct cdn_dp_device,
|
||||
event_work);
|
||||
@ -603,7 +603,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
int ret;
|
||||
|
||||
@@ -934,44 +947,45 @@ static void cdn_dp_pd_event_work(struct
|
||||
@@ -935,44 +948,45 @@ static void cdn_dp_pd_event_work(struct
|
||||
|
||||
/* Not connected, notify userspace to disable the block */
|
||||
if (!cdn_dp_connected_port(dp)) {
|
||||
@ -662,7 +662,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
"Failed to config video %d\n",
|
||||
ret);
|
||||
}
|
||||
@@ -1040,7 +1054,7 @@ static int cdn_dp_bind(struct device *de
|
||||
@@ -1041,7 +1055,7 @@ static int cdn_dp_bind(struct device *de
|
||||
|
||||
drm_encoder_helper_add(encoder, &cdn_dp_encoder_helper_funcs);
|
||||
|
||||
@ -671,7 +671,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
connector->polled = DRM_CONNECTOR_POLL_HPD;
|
||||
connector->dpms = DRM_MODE_DPMS_OFF;
|
||||
|
||||
@@ -1064,7 +1078,7 @@ static int cdn_dp_bind(struct device *de
|
||||
@@ -1065,7 +1079,7 @@ static int cdn_dp_bind(struct device *de
|
||||
port = dp->port[i];
|
||||
|
||||
port->event_nb.notifier_call = cdn_dp_pd_event;
|
||||
@ -680,7 +680,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
EXTCON_DISP_DP,
|
||||
&port->event_nb);
|
||||
if (ret) {
|
||||
@@ -1091,7 +1105,7 @@ static void cdn_dp_unbind(struct device
|
||||
@@ -1092,7 +1106,7 @@ static void cdn_dp_unbind(struct device
|
||||
{
|
||||
struct cdn_dp_device *dp = dev_get_drvdata(dev);
|
||||
struct drm_encoder *encoder = &dp->encoder;
|
||||
@ -689,7 +689,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
cancel_work_sync(&dp->event_work);
|
||||
cdn_dp_encoder_disable(encoder);
|
||||
@@ -1151,7 +1165,7 @@ static int cdn_dp_probe(struct platform_
|
||||
@@ -1152,7 +1166,7 @@ static int cdn_dp_probe(struct platform_
|
||||
dp = devm_kzalloc(dev, sizeof(*dp), GFP_KERNEL);
|
||||
if (!dp)
|
||||
return -ENOMEM;
|
||||
@ -698,7 +698,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
match = of_match_node(cdn_dp_dt_ids, pdev->dev.of_node);
|
||||
dp_data = (struct cdn_dp_data *)match->data;
|
||||
@@ -1196,7 +1210,7 @@ static int cdn_dp_remove(struct platform
|
||||
@@ -1197,7 +1211,7 @@ static int cdn_dp_remove(struct platform
|
||||
struct cdn_dp_device *dp = platform_get_drvdata(pdev);
|
||||
|
||||
platform_device_unregister(dp->audio_pdev);
|
||||
@ -707,7 +707,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
component_del(&pdev->dev, &cdn_dp_component_ops);
|
||||
|
||||
return 0;
|
||||
@@ -1206,7 +1220,7 @@ static void cdn_dp_shutdown(struct platf
|
||||
@@ -1207,7 +1221,7 @@ static void cdn_dp_shutdown(struct platf
|
||||
{
|
||||
struct cdn_dp_device *dp = platform_get_drvdata(pdev);
|
||||
|
||||
|
@ -1794,7 +1794,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
#define encoder_to_dp(c) \
|
||||
container_of(c, struct cdn_dp_device, encoder)
|
||||
@@ -283,7 +283,7 @@ static int cdn_dp_connector_mode_valid(s
|
||||
@@ -284,7 +284,7 @@ cdn_dp_connector_mode_valid(struct drm_c
|
||||
{
|
||||
struct cdn_dp_device *dp = connector_to_dp(connector);
|
||||
struct drm_display_info *display_info =
|
||||
@ -1803,7 +1803,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
u32 requested, actual, rate, sink_max, source_max = 0;
|
||||
u8 lanes, bpc;
|
||||
|
||||
@@ -379,7 +379,7 @@ static int cdn_dp_get_sink_capability(st
|
||||
@@ -380,7 +380,7 @@ static int cdn_dp_get_sink_capability(st
|
||||
}
|
||||
|
||||
kfree(dp->edid);
|
||||
@ -1812,7 +1812,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
cdns_mhdp_get_edid_block, &dp->mhdp);
|
||||
return 0;
|
||||
}
|
||||
@@ -485,8 +485,8 @@ static int cdn_dp_disable(struct cdn_dp_
|
||||
@@ -486,8 +486,8 @@ static int cdn_dp_disable(struct cdn_dp_
|
||||
cdns_mhdp_set_firmware_active(&dp->mhdp, false);
|
||||
cdn_dp_clk_disable(dp);
|
||||
dp->active = false;
|
||||
@ -1823,7 +1823,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (!dp->connected) {
|
||||
kfree(dp->edid);
|
||||
dp->edid = NULL;
|
||||
@@ -551,7 +551,7 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
@@ -552,7 +552,7 @@ static void cdn_dp_encoder_mode_set(stru
|
||||
{
|
||||
struct cdn_dp_device *dp = encoder_to_dp(encoder);
|
||||
struct drm_display_info *display_info =
|
||||
@ -1832,7 +1832,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
struct video_info *video = &dp->mhdp.video_info;
|
||||
|
||||
switch (display_info->bpc) {
|
||||
@@ -579,7 +579,7 @@ static bool cdn_dp_check_link_status(str
|
||||
@@ -580,7 +580,7 @@ static bool cdn_dp_check_link_status(str
|
||||
struct cdn_dp_port *port = cdn_dp_connected_port(dp);
|
||||
u8 sink_lanes = drm_dp_max_lane_count(dp->dpcd);
|
||||
|
||||
@ -1841,7 +1841,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
return false;
|
||||
|
||||
if (cdns_mhdp_dpcd_read(&dp->mhdp, DP_LANE0_1_STATUS, link_status,
|
||||
@@ -808,7 +808,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
@@ -809,7 +809,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
|
||||
ret = cdns_mhdp_audio_config(&dp->mhdp, &audio);
|
||||
if (!ret)
|
||||
@ -1850,7 +1850,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
out:
|
||||
mutex_unlock(&dp->lock);
|
||||
@@ -824,9 +824,9 @@ static void cdn_dp_audio_shutdown(struct
|
||||
@@ -825,9 +825,9 @@ static void cdn_dp_audio_shutdown(struct
|
||||
if (!dp->active)
|
||||
goto out;
|
||||
|
||||
@ -1862,7 +1862,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
out:
|
||||
mutex_unlock(&dp->lock);
|
||||
}
|
||||
@@ -855,8 +855,8 @@ static int cdn_dp_audio_get_eld(struct d
|
||||
@@ -856,8 +856,8 @@ static int cdn_dp_audio_get_eld(struct d
|
||||
{
|
||||
struct cdn_dp_device *dp = dev_get_drvdata(dev);
|
||||
|
||||
@ -1873,7 +1873,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -878,11 +878,11 @@ static int cdn_dp_audio_codec_init(struc
|
||||
@@ -879,11 +879,11 @@ static int cdn_dp_audio_codec_init(struc
|
||||
.max_i2s_channels = 8,
|
||||
};
|
||||
|
||||
@ -1889,7 +1889,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
}
|
||||
|
||||
static int cdn_dp_request_firmware(struct cdn_dp_device *dp)
|
||||
@@ -928,7 +928,7 @@ static void cdn_dp_pd_event_work(struct
|
||||
@@ -929,7 +929,7 @@ static void cdn_dp_pd_event_work(struct
|
||||
{
|
||||
struct cdn_dp_device *dp = container_of(work, struct cdn_dp_device,
|
||||
event_work);
|
||||
@ -1898,7 +1898,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
enum drm_connector_status old_status;
|
||||
struct device *dev = dp->mhdp.dev;
|
||||
|
||||
@@ -966,8 +966,8 @@ static void cdn_dp_pd_event_work(struct
|
||||
@@ -967,8 +967,8 @@ static void cdn_dp_pd_event_work(struct
|
||||
|
||||
/* Enabled and connected with a sink, re-train if requested */
|
||||
} else if (!cdn_dp_check_link_status(dp)) {
|
||||
@ -1909,7 +1909,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
struct drm_display_mode *mode = &dp->mhdp.mode;
|
||||
|
||||
DRM_DEV_INFO(dev, "Connected with sink. Re-train link\n");
|
||||
@@ -980,8 +980,8 @@ static void cdn_dp_pd_event_work(struct
|
||||
@@ -981,8 +981,8 @@ static void cdn_dp_pd_event_work(struct
|
||||
|
||||
/* If training result is changed, update the video config */
|
||||
if (mode->clock &&
|
||||
@ -1920,7 +1920,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
ret = cdns_mhdp_config_video(&dp->mhdp);
|
||||
if (ret) {
|
||||
dp->connected = false;
|
||||
@@ -1054,7 +1054,7 @@ static int cdn_dp_bind(struct device *de
|
||||
@@ -1055,7 +1055,7 @@ static int cdn_dp_bind(struct device *de
|
||||
|
||||
drm_encoder_helper_add(encoder, &cdn_dp_encoder_helper_funcs);
|
||||
|
||||
@ -1929,7 +1929,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
connector->polled = DRM_CONNECTOR_POLL_HPD;
|
||||
connector->dpms = DRM_MODE_DPMS_OFF;
|
||||
|
||||
@@ -1105,7 +1105,7 @@ static void cdn_dp_unbind(struct device
|
||||
@@ -1106,7 +1106,7 @@ static void cdn_dp_unbind(struct device
|
||||
{
|
||||
struct cdn_dp_device *dp = dev_get_drvdata(dev);
|
||||
struct drm_encoder *encoder = &dp->encoder;
|
||||
@ -1938,7 +1938,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
cancel_work_sync(&dp->event_work);
|
||||
cdn_dp_encoder_disable(encoder);
|
||||
@@ -1209,7 +1209,7 @@ static int cdn_dp_remove(struct platform
|
||||
@@ -1210,7 +1210,7 @@ static int cdn_dp_remove(struct platform
|
||||
{
|
||||
struct cdn_dp_device *dp = platform_get_drvdata(pdev);
|
||||
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
@@ -798,7 +798,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
@@ -799,7 +799,7 @@ static int cdn_dp_audio_hw_params(struct
|
||||
audio.format = AFMT_I2S;
|
||||
break;
|
||||
case HDMI_SPDIF:
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
@@ -718,10 +718,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
@@ -719,10 +719,10 @@ static int cdn_dp_parse_dt(struct cdn_dp
|
||||
}
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
|
@ -142,7 +142,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
msg[4] = PTS1 | PTS2 | PTS3 | PTS4;
|
||||
--- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
+++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
|
||||
@@ -306,12 +306,10 @@ static int cdn_dp_connector_mode_valid(s
|
||||
@@ -307,12 +307,10 @@ cdn_dp_connector_mode_valid(struct drm_c
|
||||
requested = mode->clock * bpc * 3 / 1000;
|
||||
|
||||
source_max = dp->lanes;
|
||||
@ -157,7 +157,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
|
||||
actual = rate * lanes / 100;
|
||||
|
||||
@@ -366,21 +364,25 @@ static int cdn_dp_firmware_init(struct c
|
||||
@@ -367,21 +365,25 @@ static int cdn_dp_firmware_init(struct c
|
||||
|
||||
static int cdn_dp_get_sink_capability(struct cdn_dp_device *dp)
|
||||
{
|
||||
@ -188,7 +188,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -422,7 +424,8 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
@@ -423,7 +425,8 @@ static int cdn_dp_enable_phy(struct cdn_
|
||||
}
|
||||
|
||||
port->lanes = cdn_dp_get_port_lanes(port);
|
||||
@ -198,7 +198,7 @@ Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
|
||||
if (ret) {
|
||||
DRM_DEV_ERROR(dev, "set host capabilities failed: %d\n",
|
||||
ret);
|
||||
@@ -577,9 +580,9 @@ static bool cdn_dp_check_link_status(str
|
||||
@@ -578,9 +581,9 @@ static bool cdn_dp_check_link_status(str
|
||||
{
|
||||
u8 link_status[DP_LINK_STATUS_SIZE];
|
||||
struct cdn_dp_port *port = cdn_dp_connected_port(dp);
|
||||
|
@ -59,7 +59,7 @@ Signed-off-by: Song Hui <hui.song_1@nxp.com>
|
||||
}
|
||||
|
||||
static void mpc8xxx_irq_unmask(struct irq_data *d)
|
||||
@@ -414,8 +414,16 @@ static int mpc8xxx_probe(struct platform
|
||||
@@ -415,8 +415,16 @@ static int mpc8xxx_probe(struct platform
|
||||
if (devtype->gpio_dir_in_init)
|
||||
devtype->gpio_dir_in_init(gc);
|
||||
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Song Hui <hui.song_1@nxp.com>
|
||||
|
||||
--- a/drivers/gpio/gpio-mpc8xxx.c
|
||||
+++ b/drivers/gpio/gpio-mpc8xxx.c
|
||||
@@ -296,6 +296,7 @@ static const struct mpc8xxx_gpio_devtype
|
||||
@@ -297,6 +297,7 @@ static const struct mpc8xxx_gpio_devtype
|
||||
|
||||
static const struct mpc8xxx_gpio_devtype ls1028a_gpio_devtype = {
|
||||
.gpio_dir_in_init = ls1028a_gpio_dir_in_init,
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
--- a/drivers/soc/fsl/Kconfig
|
||||
+++ b/drivers/soc/fsl/Kconfig
|
||||
@@ -52,4 +52,13 @@ config FSL_QIXIS
|
||||
@@ -53,4 +53,13 @@ config FSL_QIXIS
|
||||
Say y here to enable QIXIS system controller api. The qixis driver
|
||||
provides FPGA functions to control system.
|
||||
|
||||
|
@ -26,7 +26,7 @@ Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
|
||||
|
||||
--- a/drivers/soc/fsl/Kconfig
|
||||
+++ b/drivers/soc/fsl/Kconfig
|
||||
@@ -31,6 +31,13 @@ config FSL_MC_DPIO
|
||||
@@ -32,6 +32,13 @@ config FSL_MC_DPIO
|
||||
objects individually, but groups them under a service layer
|
||||
API.
|
||||
|
||||
|
@ -44,7 +44,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
* @revision: revision register contents
|
||||
* @version_type: VERSIONTYPE register contents, a sub release of a revision
|
||||
* @dr_mode: requested mode of operation
|
||||
@@ -1111,6 +1112,7 @@ struct dwc3 {
|
||||
@@ -1112,6 +1113,7 @@ struct dwc3 {
|
||||
u32 nr_scratch;
|
||||
u32 u1u2;
|
||||
u32 maximum_speed;
|
||||
@ -54,7 +54,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
* All 3.1 IP version constants are greater than the 3.0 IP
|
||||
--- a/drivers/usb/dwc3/gadget.c
|
||||
+++ b/drivers/usb/dwc3/gadget.c
|
||||
@@ -3701,6 +3701,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
@@ -3706,6 +3706,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
dwc->gadget.sg_supported = true;
|
||||
dwc->gadget.name = "dwc3-gadget";
|
||||
dwc->gadget.lpm_capable = true;
|
||||
|
@ -23,7 +23,7 @@ Signed-off-by: Li Jun <jun.li@nxp.com>
|
||||
#include <linux/ulpi/interface.h>
|
||||
|
||||
#include <linux/phy/phy.h>
|
||||
@@ -1096,6 +1097,7 @@ struct dwc3 {
|
||||
@@ -1097,6 +1098,7 @@ struct dwc3 {
|
||||
void __iomem *regs;
|
||||
size_t regs_size;
|
||||
|
||||
|
@ -44,7 +44,7 @@ Reviewed-by: Peter Chen <peter.chen@nxp.com>
|
||||
|
||||
--- a/drivers/usb/dwc3/core.h
|
||||
+++ b/drivers/usb/dwc3/core.h
|
||||
@@ -1048,6 +1048,8 @@ struct dwc3_scratchpad_array {
|
||||
@@ -1049,6 +1049,8 @@ struct dwc3_scratchpad_array {
|
||||
* 3 - Reserved
|
||||
* @dis_metastability_quirk: set to disable metastability quirk.
|
||||
* @dis_split_quirk: set to disable split boundary.
|
||||
@ -53,7 +53,7 @@ Reviewed-by: Peter Chen <peter.chen@nxp.com>
|
||||
* @imod_interval: set the interrupt moderation interval in 250ns
|
||||
* increments or 0 to disable.
|
||||
*/
|
||||
@@ -1243,6 +1245,8 @@ struct dwc3 {
|
||||
@@ -1245,6 +1247,8 @@ struct dwc3 {
|
||||
|
||||
unsigned dis_split_quirk:1;
|
||||
|
||||
|
@ -14,7 +14,7 @@ export TOPDIR LC_ALL LANG SDK
|
||||
|
||||
world:
|
||||
|
||||
DISTRO_PKG_CONFIG:=$(shell which -a pkg-config | grep -E '\/usr' | head -n 1)
|
||||
DISTRO_PKG_CONFIG:=$(shell which -a pkg-config | grep '/usr' | head -n 1)
|
||||
export PATH:=$(TOPDIR)/staging_dir/host/bin:$(PATH)
|
||||
|
||||
ifneq ($(OPENWRT_BUILD),1)
|
||||
|
Loading…
x
Reference in New Issue
Block a user