mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-06-01 16:38:32 +08:00
Compare commits
9 Commits
7eb28c91fe
...
e0faf71ce5
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e0faf71ce5 | ||
![]() |
ca9b1c268b | ||
![]() |
7ffccd127c | ||
![]() |
92377544b4 | ||
![]() |
c943d243ba | ||
![]() |
a92867827f | ||
![]() |
914bd71225 | ||
![]() |
6620a5e83c | ||
![]() |
59ef9ef118 |
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-5.15 = .182
|
||||
LINUX_KERNEL_HASH-5.15.182 = b6abfa53315a04e459070b927c58beb41f085433117d58756504d68b67f6a31e
|
||||
LINUX_VERSION-5.15 = .183
|
||||
LINUX_KERNEL_HASH-5.15.183 = d06f7f629a4d61a87ebd0db285ace9ebf4fce0226b10b2c0ec235e3550c58ee8
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.1 = .138
|
||||
LINUX_KERNEL_HASH-6.1.138 = e319a5bb9049ba9fb8cbc08cba4874716e8985bd10f7971f2573ea802c257911
|
||||
LINUX_VERSION-6.1 = .139
|
||||
LINUX_KERNEL_HASH-6.1.139 = f66affdfee8b6cf8a14cfa00cc7842f79af0e7a70a68604289074f3ecffc9f18
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.12 = .28
|
||||
LINUX_KERNEL_HASH-6.12.28 = e8a099182562aecff781de72ce769461e706d97af42d740dff20eb450dd5771e
|
||||
LINUX_VERSION-6.12 = .29
|
||||
LINUX_KERNEL_HASH-6.12.29 = e8b2ec7e2338ccb9c86de7154f6edcaadfce80907493c143e85a82776bb5064d
|
||||
|
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.6 = .90
|
||||
LINUX_KERNEL_HASH-6.6.90 = ff856748671629c1fefef219099e0b4b81131c2d325e768cb0806e204157014e
|
||||
LINUX_VERSION-6.6 = .91
|
||||
LINUX_KERNEL_HASH-6.6.91 = d08d3d175407a52cd0b25fc95e149bbd2fd6922cd37816c8fcfad18f95e254f4
|
||||
|
@ -8,12 +8,12 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=intel-microcode
|
||||
PKG_VERSION:=20250211
|
||||
PKG_VERSION:=20250512
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=intel-microcode_3.$(PKG_VERSION).1.tar.xz
|
||||
PKG_SOURCE_URL:=@DEBIAN/pool/non-free-firmware/i/intel-microcode/
|
||||
PKG_HASH:=06b7aca49790d673623cb42f7a62a517d82555ce96371d2967b568d6e30fd787
|
||||
PKG_HASH:=5773cf59867d90f4f5479bae973ac85f1cce2f7ae407645ec29c4ec1ba60f8e2
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/intel-microcode-3.$(PKG_VERSION).1
|
||||
PKG_CPE_ID:=cpe:/a:intel:microcode
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=openssl
|
||||
PKG_VERSION:=3.0.16
|
||||
PKG_VERSION:=3.5.0
|
||||
PKG_RELEASE:=1
|
||||
PKG_USE_MIPS16:=0
|
||||
PKG_BUILD_FLAGS:=gc-sections no-lto
|
||||
@ -19,7 +19,7 @@ PKG_BASE:=$(subst $(space),.,$(wordlist 1,2,$(subst .,$(space),$(PKG_VERSION))))
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/openssl/openssl/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
|
||||
|
||||
PKG_HASH:=57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86
|
||||
PKG_HASH:=344d0a79f1a9b08029b0744e2cc401a43f9c90acd1044d09a530b4885a8e9fc0
|
||||
|
||||
PKG_LICENSE:=Apache-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
|
||||
|
||||
--- a/Configure
|
||||
+++ b/Configure
|
||||
@@ -1677,7 +1677,9 @@ $config{CFLAGS} = [ map { $_ eq '--ossl-
|
||||
@@ -1810,7 +1810,9 @@ $config{CFLAGS} = [ map { $_ eq '--ossl-
|
||||
|
||||
unless ($disabled{afalgeng}) {
|
||||
$config{afalgeng}="";
|
||||
@ -18,6 +18,6 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
|
||||
+ if ($target =~ m/openwrt$/) {
|
||||
+ push @{$config{engdirs}}, "afalg";
|
||||
+ } elsif (grep { $_ eq 'afalgeng' } @{$target{enable}}) {
|
||||
my $minver = 4*10000 + 1*100 + 0;
|
||||
if ($config{CROSS_COMPILE} eq "") {
|
||||
my $verstr = `uname -r`;
|
||||
push @{$config{engdirs}}, "afalg";
|
||||
} else {
|
||||
disable('not-linux', 'afalgeng');
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
|
||||
|
||||
--- a/crypto/build.info
|
||||
+++ b/crypto/build.info
|
||||
@@ -109,7 +109,7 @@ DEFINE[../libcrypto]=$UPLINKDEF
|
||||
@@ -115,7 +115,7 @@ DEFINE[../libcrypto]=$UPLINKDEF
|
||||
|
||||
DEPEND[info.o]=buildinf.h
|
||||
DEPEND[cversion.o]=buildinf.h
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
|
||||
|
||||
--- a/ssl/ssl_ciph.c
|
||||
+++ b/ssl/ssl_ciph.c
|
||||
@@ -1506,11 +1506,29 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_
|
||||
@@ -1488,11 +1488,29 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_
|
||||
ssl_cipher_apply_rule(0, SSL_kECDHE, 0, 0, 0, 0, 0, CIPHER_DEL, -1, &head,
|
||||
&tail);
|
||||
|
||||
@ -46,7 +46,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
|
||||
|
||||
/*
|
||||
* ...and generally, our preferred cipher is AES.
|
||||
@@ -1565,7 +1583,7 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_
|
||||
@@ -1547,7 +1565,7 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_
|
||||
* Within each group, ciphers remain sorted by strength and previous
|
||||
* preference, i.e.,
|
||||
* 1) ECDHE > DHE
|
||||
@ -55,7 +55,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
|
||||
* 3) AES > rest
|
||||
* 4) TLS 1.2 > legacy
|
||||
*
|
||||
@@ -2236,7 +2254,13 @@ const char *OSSL_default_cipher_list(voi
|
||||
@@ -2246,7 +2264,13 @@ const char *OSSL_default_cipher_list(voi
|
||||
*/
|
||||
const char *OSSL_default_ciphersuites(void)
|
||||
{
|
||||
@ -71,7 +71,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
|
||||
}
|
||||
--- a/include/openssl/ssl.h.in
|
||||
+++ b/include/openssl/ssl.h.in
|
||||
@@ -195,9 +195,15 @@ extern "C" {
|
||||
@@ -199,9 +199,15 @@ extern "C" {
|
||||
* DEPRECATED IN 3.0.0, in favor of OSSL_default_ciphersuites()
|
||||
* Update both macro and function simultaneously
|
||||
*/
|
||||
|
@ -21,7 +21,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
|
||||
|
||||
--- a/engines/e_devcrypto.c
|
||||
+++ b/engines/e_devcrypto.c
|
||||
@@ -905,7 +905,7 @@ static void prepare_digest_methods(void)
|
||||
@@ -906,7 +906,7 @@ static void prepare_digest_methods(void)
|
||||
for (i = 0, known_digest_nids_amount = 0; i < OSSL_NELEM(digest_data);
|
||||
i++) {
|
||||
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
|
||||
|
||||
/*
|
||||
* Check that the digest is usable
|
||||
@@ -1119,7 +1119,7 @@ static const ENGINE_CMD_DEFN devcrypto_c
|
||||
@@ -1120,7 +1120,7 @@ static const ENGINE_CMD_DEFN devcrypto_c
|
||||
#ifdef IMPLEMENT_DIGEST
|
||||
{DEVCRYPTO_CMD_DIGESTS,
|
||||
"DIGESTS",
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
|
||||
|
||||
--- a/engines/e_devcrypto.c
|
||||
+++ b/engines/e_devcrypto.c
|
||||
@@ -211,9 +211,8 @@ static int cipher_init(EVP_CIPHER_CTX *c
|
||||
@@ -212,9 +212,8 @@ static int cipher_init(EVP_CIPHER_CTX *c
|
||||
int ret;
|
||||
|
||||
/* cleanup a previous session */
|
||||
|
@ -0,0 +1,142 @@
|
||||
From: Kalle Valo <quic_kvalo@quicinc.com>
|
||||
Date: Thu, 27 Jul 2023 13:04:28 +0300
|
||||
Subject: [PATCH] bus: mhi: host: allow MHI client drivers to provide the
|
||||
firmware via a pointer
|
||||
|
||||
Currently MHI loads the firmware image from the path provided by client
|
||||
devices. ath11k needs to support firmware image embedded along with meta
|
||||
data (named as firmware-2.bin). So allow the client driver to request the
|
||||
firmware file from user space on it's own and provide the firmware image
|
||||
data and size to MHI via a pointer struct mhi_controller::fw_data.
|
||||
|
||||
This is an optional feature, if fw_data is NULL MHI load the firmware using
|
||||
the name from struct mhi_controller::fw_image string as before.
|
||||
|
||||
Tested with ath11k and WCN6855 hw2.0.
|
||||
|
||||
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
||||
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
|
||||
Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
|
||||
Link: https://lore.kernel.org/r/20230727100430.3603551-2-kvalo@kernel.org
|
||||
[mani: wrapped commit message to 75 columns]
|
||||
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
|
||||
---
|
||||
|
||||
--- a/drivers/bus/mhi/host/boot.c
|
||||
+++ b/drivers/bus/mhi/host/boot.c
|
||||
@@ -367,12 +367,10 @@ error_alloc_mhi_buf:
|
||||
}
|
||||
|
||||
static void mhi_firmware_copy(struct mhi_controller *mhi_cntrl,
|
||||
- const struct firmware *firmware,
|
||||
+ const u8 *buf, size_t remainder,
|
||||
struct image_info *img_info)
|
||||
{
|
||||
- size_t remainder = firmware->size;
|
||||
size_t to_cpy;
|
||||
- const u8 *buf = firmware->data;
|
||||
struct mhi_buf *mhi_buf = img_info->mhi_buf;
|
||||
struct bhi_vec_entry *bhi_vec = img_info->bhi_vec;
|
||||
|
||||
@@ -395,9 +393,10 @@ void mhi_fw_load_handler(struct mhi_cont
|
||||
struct device *dev = &mhi_cntrl->mhi_dev->dev;
|
||||
enum mhi_pm_state new_state;
|
||||
const char *fw_name;
|
||||
+ const u8 *fw_data;
|
||||
void *buf;
|
||||
dma_addr_t dma_addr;
|
||||
- size_t size;
|
||||
+ size_t size, fw_sz;
|
||||
int i, ret;
|
||||
|
||||
if (MHI_PM_IN_ERROR_STATE(mhi_cntrl->pm_state)) {
|
||||
@@ -427,6 +426,20 @@ void mhi_fw_load_handler(struct mhi_cont
|
||||
fw_name = (mhi_cntrl->ee == MHI_EE_EDL) ?
|
||||
mhi_cntrl->edl_image : mhi_cntrl->fw_image;
|
||||
|
||||
+ /* check if the driver has already provided the firmware data */
|
||||
+ if (!fw_name && mhi_cntrl->fbc_download &&
|
||||
+ mhi_cntrl->fw_data && mhi_cntrl->fw_sz) {
|
||||
+ if (!mhi_cntrl->sbl_size) {
|
||||
+ dev_err(dev, "fw_data provided but no sbl_size\n");
|
||||
+ goto error_fw_load;
|
||||
+ }
|
||||
+
|
||||
+ size = mhi_cntrl->sbl_size;
|
||||
+ fw_data = mhi_cntrl->fw_data;
|
||||
+ fw_sz = mhi_cntrl->fw_sz;
|
||||
+ goto skip_req_fw;
|
||||
+ }
|
||||
+
|
||||
if (!fw_name || (mhi_cntrl->fbc_download && (!mhi_cntrl->sbl_size ||
|
||||
!mhi_cntrl->seg_len))) {
|
||||
dev_err(dev,
|
||||
@@ -446,6 +459,10 @@ void mhi_fw_load_handler(struct mhi_cont
|
||||
if (size > firmware->size)
|
||||
size = firmware->size;
|
||||
|
||||
+ fw_data = firmware->data;
|
||||
+ fw_sz = firmware->size;
|
||||
+
|
||||
+skip_req_fw:
|
||||
buf = dma_alloc_coherent(mhi_cntrl->cntrl_dev, size, &dma_addr,
|
||||
GFP_KERNEL);
|
||||
if (!buf) {
|
||||
@@ -454,7 +471,7 @@ void mhi_fw_load_handler(struct mhi_cont
|
||||
}
|
||||
|
||||
/* Download image using BHI */
|
||||
- memcpy(buf, firmware->data, size);
|
||||
+ memcpy(buf, fw_data, size);
|
||||
ret = mhi_fw_load_bhi(mhi_cntrl, dma_addr, size);
|
||||
dma_free_coherent(mhi_cntrl->cntrl_dev, size, buf, dma_addr);
|
||||
|
||||
@@ -466,7 +483,7 @@ void mhi_fw_load_handler(struct mhi_cont
|
||||
}
|
||||
|
||||
/* Wait for ready since EDL image was loaded */
|
||||
- if (fw_name == mhi_cntrl->edl_image) {
|
||||
+ if (fw_name && fw_name == mhi_cntrl->edl_image) {
|
||||
release_firmware(firmware);
|
||||
goto fw_load_ready_state;
|
||||
}
|
||||
@@ -480,15 +497,14 @@ void mhi_fw_load_handler(struct mhi_cont
|
||||
* device transitioning into MHI READY state
|
||||
*/
|
||||
if (mhi_cntrl->fbc_download) {
|
||||
- ret = mhi_alloc_bhie_table(mhi_cntrl, &mhi_cntrl->fbc_image,
|
||||
- firmware->size);
|
||||
+ ret = mhi_alloc_bhie_table(mhi_cntrl, &mhi_cntrl->fbc_image, fw_sz);
|
||||
if (ret) {
|
||||
release_firmware(firmware);
|
||||
goto error_fw_load;
|
||||
}
|
||||
|
||||
/* Load the firmware into BHIE vec table */
|
||||
- mhi_firmware_copy(mhi_cntrl, firmware, mhi_cntrl->fbc_image);
|
||||
+ mhi_firmware_copy(mhi_cntrl, fw_data, fw_sz, mhi_cntrl->fbc_image);
|
||||
}
|
||||
|
||||
release_firmware(firmware);
|
||||
--- a/include/linux/mhi.h
|
||||
+++ b/include/linux/mhi.h
|
||||
@@ -301,6 +301,10 @@ struct mhi_controller_config {
|
||||
* @iova_start: IOMMU starting address for data (required)
|
||||
* @iova_stop: IOMMU stop address for data (required)
|
||||
* @fw_image: Firmware image name for normal booting (optional)
|
||||
+ * @fw_data: Firmware image data content for normal booting, used only
|
||||
+ * if fw_image is NULL and fbc_download is true (optional)
|
||||
+ * @fw_sz: Firmware image data size for normal booting, used only if fw_image
|
||||
+ * is NULL and fbc_download is true (optional)
|
||||
* @edl_image: Firmware image name for emergency download mode (optional)
|
||||
* @rddm_size: RAM dump size that host should allocate for debugging purpose
|
||||
* @sbl_size: SBL image size downloaded through BHIe (optional)
|
||||
@@ -387,6 +391,8 @@ struct mhi_controller {
|
||||
dma_addr_t iova_start;
|
||||
dma_addr_t iova_stop;
|
||||
const char *fw_image;
|
||||
+ const u8 *fw_data;
|
||||
+ size_t fw_sz;
|
||||
const char *edl_image;
|
||||
size_t rddm_size;
|
||||
size_t sbl_size;
|
@ -2,7 +2,7 @@
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -2224,12 +2224,8 @@ struct net_device {
|
||||
#if IS_ENABLED(CONFIG_AX25)
|
||||
void *ax25_ptr;
|
||||
struct ax25_dev __rcu *ax25_ptr;
|
||||
#endif
|
||||
-#if IS_ENABLED(CONFIG_CFG80211)
|
||||
struct wireless_dev *ieee80211_ptr;
|
||||
@ -93,7 +93,7 @@
|
||||
error = device_add(dev);
|
||||
--- a/include/linux/pci.h
|
||||
+++ b/include/linux/pci.h
|
||||
@@ -1080,6 +1080,8 @@ enum {
|
||||
@@ -1082,6 +1082,8 @@ enum {
|
||||
#define PCI_IRQ_MSIX (1 << 2) /* Allow MSI-X interrupts */
|
||||
#define PCI_IRQ_AFFINITY (1 << 3) /* Auto-assign affinity */
|
||||
|
||||
@ -102,7 +102,7 @@
|
||||
/* These external functions are only available when PCI support is enabled */
|
||||
#ifdef CONFIG_PCI
|
||||
|
||||
@@ -1645,7 +1647,8 @@ int pci_set_vga_state(struct pci_dev *pd
|
||||
@@ -1647,7 +1649,8 @@ int pci_set_vga_state(struct pci_dev *pd
|
||||
*/
|
||||
#define PCI_IRQ_VIRTUAL (1 << 4)
|
||||
|
||||
@ -112,7 +112,7 @@
|
||||
|
||||
#include <linux/dmapool.h>
|
||||
|
||||
@@ -1708,7 +1711,7 @@ pci_alloc_irq_vectors_affinity(struct pc
|
||||
@@ -1710,7 +1713,7 @@ pci_alloc_irq_vectors_affinity(struct pc
|
||||
unsigned int max_vecs, unsigned int flags,
|
||||
struct irq_affinity *aff_desc)
|
||||
{
|
||||
|
@ -304,7 +304,7 @@ mtk_bmt_get_mapping_mask(void)
|
||||
unsigned long *used;
|
||||
int i, k;
|
||||
|
||||
used = kcalloc(sizeof(unsigned long), BIT_WORD(bmtd.bmt_blk_idx) + 1, GFP_KERNEL);
|
||||
used = kcalloc(BIT_WORD(bmtd.bmt_blk_idx) + 1, sizeof(unsigned long), GFP_KERNEL);
|
||||
if (!used)
|
||||
return NULL;
|
||||
|
||||
|
@ -59,7 +59,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
#endif
|
||||
--- a/arch/arm/include/asm/vmlinux.lds.h
|
||||
+++ b/arch/arm/include/asm/vmlinux.lds.h
|
||||
@@ -48,7 +48,7 @@
|
||||
@@ -54,7 +54,7 @@
|
||||
#define IDMAP_TEXT \
|
||||
ALIGN_FUNCTION(); \
|
||||
__idmap_text_start = .; \
|
||||
@ -68,7 +68,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
__idmap_text_end = .; \
|
||||
|
||||
#define ARM_DISCARD \
|
||||
@@ -108,12 +108,12 @@
|
||||
@@ -114,12 +114,12 @@
|
||||
. = ALIGN(8); \
|
||||
.ARM.unwind_idx : { \
|
||||
__start_unwind_idx = .; \
|
||||
@ -83,7 +83,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
__stop_unwind_tab = .; \
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
@@ -149,7 +149,7 @@
|
||||
\
|
||||
__stubs_lma = .; \
|
||||
.stubs ADDR(.vectors) + 0x1000 : AT(__stubs_lma) { \
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -2043,7 +2043,7 @@ config PADATA
|
||||
@@ -2051,7 +2051,7 @@ config PADATA
|
||||
bool
|
||||
|
||||
config ASN1
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
--- a/arch/mips/Kconfig
|
||||
+++ b/arch/mips/Kconfig
|
||||
@@ -1133,6 +1133,10 @@ config MIPS_MSC
|
||||
@@ -1132,6 +1132,10 @@ config MIPS_MSC
|
||||
config SYNC_R4K
|
||||
bool
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/block/blk.h
|
||||
+++ b/block/blk.h
|
||||
@@ -564,6 +564,8 @@ void blk_free_ext_minor(unsigned int min
|
||||
@@ -555,6 +555,8 @@ void blk_free_ext_minor(unsigned int min
|
||||
#define ADDPART_FLAG_NONE 0
|
||||
#define ADDPART_FLAG_RAID 1
|
||||
#define ADDPART_FLAG_WHOLEDISK 2
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
#include <linux/crc32.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/uaccess.h>
|
||||
@@ -7046,6 +7047,22 @@ static void rtl_tally_reset(struct r8152
|
||||
@@ -7047,6 +7048,22 @@ static void rtl_tally_reset(struct r8152
|
||||
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
static void r8152b_init(struct r8152 *tp)
|
||||
{
|
||||
u32 ocp_data;
|
||||
@@ -7087,6 +7104,8 @@ static void r8152b_init(struct r8152 *tp
|
||||
@@ -7088,6 +7105,8 @@ static void r8152b_init(struct r8152 *tp
|
||||
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
|
||||
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
|
||||
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
|
||||
@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
}
|
||||
|
||||
static void r8153_init(struct r8152 *tp)
|
||||
@@ -7227,6 +7246,8 @@ static void r8153_init(struct r8152 *tp)
|
||||
@@ -7228,6 +7247,8 @@ static void r8153_init(struct r8152 *tp)
|
||||
tp->coalesce = COALESCE_SLOW;
|
||||
break;
|
||||
}
|
||||
@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
}
|
||||
|
||||
static void r8153b_init(struct r8152 *tp)
|
||||
@@ -7309,6 +7330,8 @@ static void r8153b_init(struct r8152 *tp
|
||||
@@ -7310,6 +7331,8 @@ static void r8153b_init(struct r8152 *tp
|
||||
rtl_tally_reset(tp);
|
||||
|
||||
tp->coalesce = 15000; /* 15 us */
|
||||
|
@ -78,7 +78,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
netif_napi_del(&bgmac->napi);
|
||||
--- a/drivers/net/ethernet/broadcom/bgmac.h
|
||||
+++ b/drivers/net/ethernet/broadcom/bgmac.h
|
||||
@@ -388,6 +388,7 @@
|
||||
@@ -387,6 +387,7 @@
|
||||
#define BGMAC_FEAT_CC4_IF_SW_TYPE_RGMII BIT(18)
|
||||
#define BGMAC_FEAT_CC7_IF_TYPE_RGMII BIT(19)
|
||||
#define BGMAC_FEAT_IDM_MASK BIT(20)
|
||||
@ -86,7 +86,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
|
||||
struct bgmac_slot_info {
|
||||
union {
|
||||
@@ -495,6 +496,9 @@ struct bgmac {
|
||||
@@ -494,6 +495,9 @@ struct bgmac {
|
||||
void (*cmn_maskset32)(struct bgmac *bgmac, u16 offset, u32 mask,
|
||||
u32 set);
|
||||
int (*phy_connect)(struct bgmac *bgmac);
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||
/* These Quectel products use Quectel's vendor ID */
|
||||
@@ -1201,6 +1203,11 @@ static const struct usb_device_id option
|
||||
@@ -1195,6 +1197,11 @@ static const struct usb_device_id option
|
||||
.driver_info = ZLP },
|
||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||
.driver_info = RSVD(4) },
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/net/usb/rndis_host.c
|
||||
+++ b/drivers/net/usb/rndis_host.c
|
||||
@@ -640,6 +640,16 @@ static const struct driver_info zte_rndi
|
||||
@@ -630,6 +630,16 @@ static const struct driver_info zte_rndi
|
||||
.tx_fixup = rndis_tx_fixup,
|
||||
};
|
||||
|
||||
@ -30,11 +30,10 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
static const struct usb_device_id products [] = {
|
||||
@@ -675,6 +685,36 @@ static const struct usb_device_id produc
|
||||
/* RNDIS for tethering */
|
||||
@@ -666,6 +676,36 @@ static const struct usb_device_id produc
|
||||
USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
.driver_info = (unsigned long) &rndis_info,
|
||||
+}, {
|
||||
}, {
|
||||
+ /* Quectel EG060V rndis device */
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6004,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
@ -64,6 +63,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
+ USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d49,
|
||||
+ USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
||||
+ .driver_info = (unsigned long) &asr_rndis_info,
|
||||
}, {
|
||||
/* Mobile Broadband Modem, seen in Novatel Verizon USB730L and
|
||||
* Telit FN990A (RNDIS)
|
||||
+}, {
|
||||
/* Novatel Verizon USB730L */
|
||||
USB_INTERFACE_INFO(USB_CLASS_MISC, 4, 1),
|
||||
.driver_info = (unsigned long) &rndis_info,
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
#include "gpiolib.h"
|
||||
#include "gpiolib-of.h"
|
||||
@@ -1187,3 +1189,73 @@ void of_gpiochip_remove(struct gpio_chip
|
||||
@@ -1189,3 +1191,73 @@ void of_gpiochip_remove(struct gpio_chip
|
||||
{
|
||||
of_node_put(dev_of_node(&chip->gpiodev->dev));
|
||||
}
|
||||
|
@ -319,7 +319,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/core/sock.c
|
||||
+++ b/net/core/sock.c
|
||||
@@ -4229,6 +4229,8 @@ static __net_initdata struct pernet_oper
|
||||
@@ -4237,6 +4237,8 @@ static __net_initdata struct pernet_oper
|
||||
|
||||
static int __init proto_init(void)
|
||||
{
|
||||
|
@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
+MODULE_LICENSE("GPL");
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -4419,6 +4419,7 @@ int wake_up_state(struct task_struct *p,
|
||||
@@ -4422,6 +4422,7 @@ int wake_up_state(struct task_struct *p,
|
||||
{
|
||||
return try_to_wake_up(p, state, 0);
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/of/fdt.c
|
||||
+++ b/drivers/of/fdt.c
|
||||
@@ -1052,6 +1052,9 @@ int __init early_init_dt_scan_chosen(cha
|
||||
@@ -1049,6 +1049,9 @@ int __init early_init_dt_scan_chosen(cha
|
||||
p = of_get_flat_dt_prop(node, "bootargs", &l);
|
||||
if (p != NULL && l > 0)
|
||||
strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE));
|
||||
|
@ -123,7 +123,7 @@ Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
|
||||
depends on NETFILTER_ADVANCED
|
||||
--- a/net/netfilter/nf_conntrack_core.c
|
||||
+++ b/net/netfilter/nf_conntrack_core.c
|
||||
@@ -2750,6 +2750,10 @@ int nf_conntrack_init_net(struct net *ne
|
||||
@@ -2753,6 +2753,10 @@ int nf_conntrack_init_net(struct net *ne
|
||||
nf_conntrack_ecache_pernet_init(net);
|
||||
nf_conntrack_proto_pernet_init(net);
|
||||
|
||||
|
@ -78,7 +78,7 @@
|
||||
struct net_bridge_port *p;
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -3579,9 +3579,17 @@ static int xmit_one(struct sk_buff *skb,
|
||||
@@ -3642,9 +3642,17 @@ static int xmit_one(struct sk_buff *skb,
|
||||
{
|
||||
unsigned int len;
|
||||
int rc;
|
||||
@ -97,7 +97,7 @@
|
||||
|
||||
len = skb->len;
|
||||
trace_net_dev_start_xmit(skb, dev);
|
||||
@@ -5417,6 +5425,11 @@ void netdev_rx_handler_unregister(struct
|
||||
@@ -5488,6 +5496,11 @@ void netdev_rx_handler_unregister(struct
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(netdev_rx_handler_unregister);
|
||||
|
||||
@ -109,7 +109,7 @@
|
||||
/*
|
||||
* Limit the use of PFMEMALLOC reserves to those protocols that implement
|
||||
* the special handling of PFMEMALLOC skbs.
|
||||
@@ -5465,6 +5478,10 @@ static int __netif_receive_skb_core(stru
|
||||
@@ -5536,6 +5549,10 @@ static int __netif_receive_skb_core(stru
|
||||
int ret = NET_RX_DROP;
|
||||
__be16 type;
|
||||
|
||||
@ -120,7 +120,7 @@
|
||||
net_timestamp_check(!READ_ONCE(net_hotdata.tstamp_prequeue), skb);
|
||||
|
||||
trace_netif_receive_skb(skb);
|
||||
@@ -5503,6 +5520,15 @@ another_round:
|
||||
@@ -5574,6 +5591,15 @@ another_round:
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@ -88,7 +88,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e.
|
||||
genl_info_net_set(&info, net);
|
||||
--- a/net/openvswitch/conntrack.c
|
||||
+++ b/net/openvswitch/conntrack.c
|
||||
@@ -1642,7 +1642,7 @@ static struct sk_buff *
|
||||
@@ -1637,7 +1637,7 @@ static struct sk_buff *
|
||||
ovs_ct_limit_cmd_reply_start(struct genl_info *info, u8 cmd,
|
||||
struct ovs_header **ovs_reply_header)
|
||||
{
|
||||
@ -183,7 +183,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e.
|
||||
if (IS_ERR(dp)) {
|
||||
err = PTR_ERR(dp);
|
||||
goto err_unlock_free;
|
||||
@@ -2248,7 +2245,7 @@ static void ovs_update_headroom(struct d
|
||||
@@ -2254,7 +2251,7 @@ static void ovs_update_headroom(struct d
|
||||
static int ovs_vport_cmd_new(struct sk_buff *skb, struct genl_info *info)
|
||||
{
|
||||
struct nlattr **a = info->attrs;
|
||||
@ -192,7 +192,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e.
|
||||
struct vport_parms parms;
|
||||
struct sk_buff *reply;
|
||||
struct vport *vport;
|
||||
@@ -2350,7 +2347,7 @@ static int ovs_vport_cmd_set(struct sk_b
|
||||
@@ -2356,7 +2353,7 @@ static int ovs_vport_cmd_set(struct sk_b
|
||||
return -ENOMEM;
|
||||
|
||||
ovs_lock();
|
||||
@ -201,7 +201,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e.
|
||||
err = PTR_ERR(vport);
|
||||
if (IS_ERR(vport))
|
||||
goto exit_unlock_free;
|
||||
@@ -2406,7 +2403,7 @@ static int ovs_vport_cmd_del(struct sk_b
|
||||
@@ -2412,7 +2409,7 @@ static int ovs_vport_cmd_del(struct sk_b
|
||||
return -ENOMEM;
|
||||
|
||||
ovs_lock();
|
||||
@ -210,7 +210,7 @@ This reverts commit bffcc6882a1bb2be8c9420184966f4c2c822078e.
|
||||
err = PTR_ERR(vport);
|
||||
if (IS_ERR(vport))
|
||||
goto exit_unlock_free;
|
||||
@@ -2449,7 +2446,7 @@ exit_unlock_free:
|
||||
@@ -2455,7 +2452,7 @@ exit_unlock_free:
|
||||
static int ovs_vport_cmd_get(struct sk_buff *skb, struct genl_info *info)
|
||||
{
|
||||
struct nlattr **a = info->attrs;
|
||||
|
@ -44,7 +44,7 @@
|
||||
#endif /* _LINUX_U64_STATS_SYNC_H */
|
||||
--- a/include/linux/netdevice.h
|
||||
+++ b/include/linux/netdevice.h
|
||||
@@ -2996,6 +2996,8 @@ int call_netdevice_notifiers(unsigned lo
|
||||
@@ -3002,6 +3002,8 @@ int call_netdevice_notifiers(unsigned lo
|
||||
int call_netdevice_notifiers_info(unsigned long val,
|
||||
struct netdev_notifier_info *info);
|
||||
|
||||
@ -109,7 +109,7 @@
|
||||
|
||||
dev_base_seq_inc(dev_net(dev));
|
||||
}
|
||||
@@ -758,9 +784,9 @@ EXPORT_SYMBOL_GPL(dev_fill_forward_path)
|
||||
@@ -788,9 +814,9 @@ struct napi_struct *netdev_napi_by_id(st
|
||||
* @net: the applicable net namespace
|
||||
* @name: name to find
|
||||
*
|
||||
@ -122,7 +122,7 @@
|
||||
* reference counters are not incremented so the caller must be
|
||||
* careful with locks.
|
||||
*/
|
||||
@@ -841,7 +867,8 @@ EXPORT_SYMBOL(netdev_get_by_name);
|
||||
@@ -871,7 +897,8 @@ EXPORT_SYMBOL(netdev_get_by_name);
|
||||
* Search for an interface by index. Returns %NULL if the device
|
||||
* is not found or a pointer to the device. The device has not
|
||||
* had its reference counter increased so the caller must be careful
|
||||
@ -132,7 +132,7 @@
|
||||
*/
|
||||
|
||||
struct net_device *__dev_get_by_index(struct net *net, int ifindex)
|
||||
@@ -1259,11 +1286,15 @@ rollback:
|
||||
@@ -1322,11 +1349,15 @@ rollback:
|
||||
|
||||
netdev_adjacent_rename_links(dev, oldname);
|
||||
|
||||
|
@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/linux/compiler.h
|
||||
+++ b/include/linux/compiler.h
|
||||
@@ -214,6 +214,8 @@ void ftrace_likely_update(struct ftrace_
|
||||
@@ -191,6 +191,8 @@ void ftrace_likely_update(struct ftrace_
|
||||
__v; \
|
||||
})
|
||||
|
||||
@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
/**
|
||||
@@ -329,6 +331,4 @@ static inline void *offset_to_ptr(const
|
||||
@@ -306,6 +308,4 @@ static inline void *offset_to_ptr(const
|
||||
*/
|
||||
#define prevent_tail_call_optimization() mb()
|
||||
|
||||
|
@ -19,7 +19,7 @@ Acked-by: Rob Landley <rob@landley.net>
|
||||
config CEVT_BCM1480
|
||||
bool
|
||||
|
||||
@@ -2991,6 +2988,18 @@ choice
|
||||
@@ -2990,6 +2987,18 @@ choice
|
||||
bool "Extend builtin kernel arguments with bootloader arguments"
|
||||
endchoice
|
||||
|
||||
|
@ -22,7 +22,7 @@ Link: https://bugzilla.kernel.org/show_bug.cgi?id=109581
|
||||
|
||||
--- a/net/sched/sch_codel.c
|
||||
+++ b/net/sched/sch_codel.c
|
||||
@@ -95,8 +95,17 @@ static struct sk_buff *codel_qdisc_deque
|
||||
@@ -65,8 +65,17 @@ static struct sk_buff *codel_qdisc_deque
|
||||
&q->stats, qdisc_pkt_len, codel_get_enqueue_time,
|
||||
drop_func, dequeue_func);
|
||||
|
||||
|
@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
case RTN_THROW:
|
||||
case RTN_UNREACHABLE:
|
||||
default:
|
||||
@@ -4597,6 +4616,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||
@@ -4598,6 +4617,17 @@ static int ip6_pkt_prohibit_out(struct n
|
||||
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
|
||||
}
|
||||
|
||||
@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
/*
|
||||
* Allocate a dst for local (unicast / anycast) address.
|
||||
*/
|
||||
@@ -5088,7 +5118,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
@@ -5089,7 +5119,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||
if (rtm->rtm_type == RTN_UNREACHABLE ||
|
||||
rtm->rtm_type == RTN_BLACKHOLE ||
|
||||
rtm->rtm_type == RTN_PROHIBIT ||
|
||||
@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
cfg->fc_flags |= RTF_REJECT;
|
||||
|
||||
if (rtm->rtm_type == RTN_LOCAL)
|
||||
@@ -6348,6 +6379,8 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -6349,6 +6380,8 @@ static int ip6_route_dev_notify(struct n
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
||||
@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
|
||||
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
|
||||
#endif
|
||||
@@ -6359,6 +6392,7 @@ static int ip6_route_dev_notify(struct n
|
||||
@@ -6360,6 +6393,7 @@ static int ip6_route_dev_notify(struct n
|
||||
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
|
||||
@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
|
||||
#endif
|
||||
}
|
||||
@@ -6554,6 +6588,8 @@ static int __net_init ip6_route_net_init
|
||||
@@ -6555,6 +6589,8 @@ static int __net_init ip6_route_net_init
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
net->ipv6.fib6_has_custom_rules = false;
|
||||
@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
|
||||
sizeof(*net->ipv6.ip6_prohibit_entry),
|
||||
GFP_KERNEL);
|
||||
@@ -6564,11 +6600,21 @@ static int __net_init ip6_route_net_init
|
||||
@@ -6565,11 +6601,21 @@ static int __net_init ip6_route_net_init
|
||||
ip6_template_metrics, true);
|
||||
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached);
|
||||
|
||||
@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
||||
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
||||
ip6_template_metrics, true);
|
||||
@@ -6595,6 +6641,8 @@ out:
|
||||
@@ -6596,6 +6642,8 @@ out:
|
||||
return ret;
|
||||
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
out_ip6_prohibit_entry:
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
out_ip6_null_entry:
|
||||
@@ -6614,6 +6662,7 @@ static void __net_exit ip6_route_net_exi
|
||||
@@ -6615,6 +6663,7 @@ static void __net_exit ip6_route_net_exi
|
||||
kfree(net->ipv6.ip6_null_entry);
|
||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||
kfree(net->ipv6.ip6_prohibit_entry);
|
||||
@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||
#endif
|
||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||
@@ -6697,6 +6746,9 @@ void __init ip6_route_init_special_entri
|
||||
@@ -6698,6 +6747,9 @@ void __init ip6_route_init_special_entri
|
||||
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
||||
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
|
@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
|
||||
--- a/drivers/net/phy/phy_device.c
|
||||
+++ b/drivers/net/phy/phy_device.c
|
||||
@@ -1986,6 +1986,9 @@ void phy_detach(struct phy_device *phyde
|
||||
@@ -2013,6 +2013,9 @@ void phy_detach(struct phy_device *phyde
|
||||
if (phydev->devlink)
|
||||
device_link_del(phydev->devlink);
|
||||
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -7135,6 +7135,7 @@ static int mv88e6xxx_register_switch(str
|
||||
@@ -7209,6 +7209,7 @@ static int mv88e6xxx_register_switch(str
|
||||
ds->phylink_mac_ops = &mv88e6xxx_phylink_mac_ops;
|
||||
ds->ageing_time_min = chip->info->age_time_coeff;
|
||||
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
|
||||
|
||||
--- a/init/Kconfig
|
||||
+++ b/init/Kconfig
|
||||
@@ -1868,6 +1868,15 @@ config ARCH_HAS_MEMBARRIER_CALLBACKS
|
||||
@@ -1876,6 +1876,15 @@ config ARCH_HAS_MEMBARRIER_CALLBACKS
|
||||
config ARCH_HAS_MEMBARRIER_SYNC_CORE
|
||||
bool
|
||||
|
||||
|
@ -4,11 +4,9 @@ Signed-off-by: Michael Riesch <michael.riesch@wolfvision.net>
|
||||
drivers/clk/rockchip/clk-rk3568.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/clk/rockchip/clk-rk3568.c b/drivers/clk/rockchip/clk-rk3568.c
|
||||
index 53d10b1c627b..7d9279291e76 100644
|
||||
--- a/drivers/clk/rockchip/clk-rk3568.c
|
||||
+++ b/drivers/clk/rockchip/clk-rk3568.c
|
||||
@@ -1602,6 +1602,7 @@ static const char *const rk3568_cru_critical_clocks[] __initconst = {
|
||||
@@ -1602,6 +1602,7 @@ static const char *const rk3568_cru_crit
|
||||
"pclk_php",
|
||||
"hclk_usb",
|
||||
"pclk_usb",
|
||||
@ -16,5 +14,3 @@ index 53d10b1c627b..7d9279291e76 100644
|
||||
"hclk_vo",
|
||||
};
|
||||
|
||||
|
||||
---
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-usbdp.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-usbdp.c
|
||||
@@ -1538,6 +1538,43 @@ static const char * const rk_udphy_rst_l
|
||||
@@ -1537,6 +1537,43 @@ static const char * const rk_udphy_rst_l
|
||||
"init", "cmn", "lane", "pcs_apb", "pma_apb"
|
||||
};
|
||||
|
||||
@ -60,7 +60,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
static const struct rk_udphy_cfg rk3588_udphy_cfgs = {
|
||||
.num_phys = 2,
|
||||
.phy_ids = {
|
||||
@@ -1585,6 +1622,10 @@ static const struct rk_udphy_cfg rk3588_
|
||||
@@ -1584,6 +1621,10 @@ static const struct rk_udphy_cfg rk3588_
|
||||
|
||||
static const struct of_device_id rk_udphy_dt_match[] = {
|
||||
{
|
||||
|
@ -18,7 +18,7 @@
|
||||
rockchip,grf = <&grf>;
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
|
||||
@@ -417,6 +417,12 @@
|
||||
@@ -422,6 +422,12 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -95,7 +95,7 @@ v1:
|
||||
struct combphy_reg pipe_clk_25m;
|
||||
struct combphy_reg pipe_clk_100m;
|
||||
struct combphy_reg pipe_phymode_sel;
|
||||
@@ -584,6 +599,266 @@ static const struct rockchip_combphy_cfg
|
||||
@@ -587,6 +602,266 @@ static const struct rockchip_combphy_cfg
|
||||
.combphy_cfg = rk3568_combphy_cfg,
|
||||
};
|
||||
|
||||
@ -362,7 +362,7 @@ v1:
|
||||
static int rk3588_combphy_cfg(struct rockchip_combphy_priv *priv)
|
||||
{
|
||||
const struct rockchip_combphy_grfcfg *cfg = priv->cfg->grfcfg;
|
||||
@@ -776,6 +1051,10 @@ static const struct of_device_id rockchi
|
||||
@@ -779,6 +1054,10 @@ static const struct of_device_id rockchi
|
||||
.data = &rk3568_combphy_cfgs,
|
||||
},
|
||||
{
|
||||
|
@ -62,7 +62,7 @@ Change-Id: Ib5bbb81615fe9fab80f26cdd2098cfb56746ca15
|
||||
#define RK3568_GRF_TSADC_CON 0x0600
|
||||
#define RK3568_GRF_TSADC_ANA_REG0 (0x10001 << 0)
|
||||
#define RK3568_GRF_TSADC_ANA_REG1 (0x10001 << 1)
|
||||
@@ -497,6 +508,45 @@ static const struct tsadc_table rk3399_c
|
||||
@@ -498,6 +509,45 @@ static const struct tsadc_table rk3399_c
|
||||
{TSADCV3_DATA_MASK, 125000},
|
||||
};
|
||||
|
||||
@ -108,7 +108,7 @@ Change-Id: Ib5bbb81615fe9fab80f26cdd2098cfb56746ca15
|
||||
static const struct tsadc_table rk3568_code_table[] = {
|
||||
{0, -40000},
|
||||
{1584, -40000},
|
||||
@@ -834,6 +884,37 @@ static void rk_tsadcv8_initialize(struct
|
||||
@@ -835,6 +885,37 @@ static void rk_tsadcv8_initialize(struct
|
||||
regs + TSADCV2_AUTO_CON);
|
||||
}
|
||||
|
||||
@ -146,7 +146,7 @@ Change-Id: Ib5bbb81615fe9fab80f26cdd2098cfb56746ca15
|
||||
static void rk_tsadcv2_irq_ack(void __iomem *regs)
|
||||
{
|
||||
u32 val;
|
||||
@@ -1258,6 +1339,31 @@ static const struct rockchip_tsadc_chip
|
||||
@@ -1259,6 +1340,31 @@ static const struct rockchip_tsadc_chip
|
||||
},
|
||||
};
|
||||
|
||||
@ -178,7 +178,7 @@ Change-Id: Ib5bbb81615fe9fab80f26cdd2098cfb56746ca15
|
||||
static const struct rockchip_tsadc_chip rk3568_tsadc_data = {
|
||||
/* cpu, gpu */
|
||||
.chn_offset = 0,
|
||||
@@ -1338,6 +1444,10 @@ static const struct of_device_id of_rock
|
||||
@@ -1339,6 +1445,10 @@ static const struct of_device_id of_rock
|
||||
.data = (void *)&rk3399_tsadc_data,
|
||||
},
|
||||
{
|
||||
|
@ -36,7 +36,7 @@ Signed-off-by: Jianwei Zheng <jianwei.zheng@rock-chips.com>
|
||||
struct combphy_reg sgmii_mode_set;
|
||||
struct combphy_reg qsgmii_mode_set;
|
||||
struct combphy_reg pipe_rxterm_set;
|
||||
@@ -393,6 +394,120 @@ static int rockchip_combphy_probe(struct
|
||||
@@ -396,6 +397,120 @@ static int rockchip_combphy_probe(struct
|
||||
return PTR_ERR_OR_ZERO(phy_provider);
|
||||
}
|
||||
|
||||
@ -157,7 +157,7 @@ Signed-off-by: Jianwei Zheng <jianwei.zheng@rock-chips.com>
|
||||
static int rk3568_combphy_cfg(struct rockchip_combphy_priv *priv)
|
||||
{
|
||||
const struct rockchip_combphy_grfcfg *cfg = priv->cfg->grfcfg;
|
||||
@@ -1047,6 +1162,10 @@ static const struct rockchip_combphy_cfg
|
||||
@@ -1050,6 +1165,10 @@ static const struct rockchip_combphy_cfg
|
||||
|
||||
static const struct of_device_id rockchip_combphy_of_match[] = {
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/pci/controller/dwc/pcie-dw-rockchip.c
|
||||
+++ b/drivers/pci/controller/dwc/pcie-dw-rockchip.c
|
||||
@@ -521,9 +521,13 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
|
||||
@@ -521,9 +521,13 @@ static int rockchip_pcie_probe(struct pl
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
@ -23,9 +23,6 @@ Changes in v2:
|
||||
1 file changed, 105 insertions(+)
|
||||
create mode 100644 Documentation/devicetree/bindings/ufs/rockchip,rk3576-ufshc.yaml
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/ufs/rockchip,rk3576-ufshc.yaml b/Documentation/devicetree/bindings/ufs/rockchip,rk3576-ufshc.yaml
|
||||
new file mode 100644
|
||||
index 0000000..7d6c038
|
||||
--- /dev/null
|
||||
+++ b/Documentation/devicetree/bindings/ufs/rockchip,rk3576-ufshc.yaml
|
||||
@@ -0,0 +1,105 @@
|
||||
@ -134,5 +131,3 @@ index 0000000..7d6c038
|
||||
+ reset-gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+ };
|
||||
--
|
||||
2.7.4
|
||||
|
@ -13,8 +13,6 @@ Changes in v2: None
|
||||
include/soc/rockchip/rockchip_sip.h | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/include/soc/rockchip/rockchip_sip.h b/include/soc/rockchip/rockchip_sip.h
|
||||
index c46a9ae..501ad1f 100644
|
||||
--- a/include/soc/rockchip/rockchip_sip.h
|
||||
+++ b/include/soc/rockchip/rockchip_sip.h
|
||||
@@ -6,6 +6,9 @@
|
||||
@ -27,5 +25,3 @@ index c46a9ae..501ad1f 100644
|
||||
#define ROCKCHIP_SIP_DRAM_FREQ 0x82000008
|
||||
#define ROCKCHIP_SIP_CONFIG_DRAM_INIT 0x00
|
||||
#define ROCKCHIP_SIP_CONFIG_DRAM_SET_RATE 0x01
|
||||
--
|
||||
2.7.4
|
||||
|
@ -22,11 +22,9 @@ Changes in v2: None
|
||||
include/linux/pm_domain.h | 7 +++++++
|
||||
2 files changed, 41 insertions(+)
|
||||
|
||||
diff --git a/drivers/pmdomain/core.c b/drivers/pmdomain/core.c
|
||||
index 5ede0f7..2ccfcb7 100644
|
||||
--- a/drivers/pmdomain/core.c
|
||||
+++ b/drivers/pmdomain/core.c
|
||||
@@ -692,6 +692,36 @@ bool dev_pm_genpd_get_hwmode(struct device *dev)
|
||||
@@ -697,6 +697,36 @@ bool dev_pm_genpd_get_hwmode(struct devi
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dev_pm_genpd_get_hwmode);
|
||||
|
||||
@ -63,7 +61,7 @@ index 5ede0f7..2ccfcb7 100644
|
||||
static int _genpd_power_on(struct generic_pm_domain *genpd, bool timed)
|
||||
{
|
||||
unsigned int state_idx = genpd->state_idx;
|
||||
@@ -863,6 +893,10 @@ static int genpd_power_off(struct generic_pm_domain *genpd, bool one_dev_on,
|
||||
@@ -868,6 +898,10 @@ static int genpd_power_off(struct generi
|
||||
if (!pm_runtime_suspended(pdd->dev) ||
|
||||
irq_safe_dev_in_sleep_domain(pdd->dev, genpd))
|
||||
not_suspended++;
|
||||
@ -74,11 +72,9 @@ index 5ede0f7..2ccfcb7 100644
|
||||
}
|
||||
|
||||
if (not_suspended > 1 || (not_suspended == 1 && !one_dev_on))
|
||||
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
|
||||
index b637ec1..30186ad 100644
|
||||
--- a/include/linux/pm_domain.h
|
||||
+++ b/include/linux/pm_domain.h
|
||||
@@ -245,6 +245,7 @@ struct generic_pm_domain_data {
|
||||
@@ -251,6 +251,7 @@ struct generic_pm_domain_data {
|
||||
unsigned int default_pstate;
|
||||
unsigned int rpm_pstate;
|
||||
bool hw_mode;
|
||||
@ -86,7 +82,7 @@ index b637ec1..30186ad 100644
|
||||
void *data;
|
||||
};
|
||||
|
||||
@@ -277,6 +278,7 @@ ktime_t dev_pm_genpd_get_next_hrtimer(struct device *dev);
|
||||
@@ -283,6 +284,7 @@ ktime_t dev_pm_genpd_get_next_hrtimer(st
|
||||
void dev_pm_genpd_synced_poweroff(struct device *dev);
|
||||
int dev_pm_genpd_set_hwmode(struct device *dev, bool enable);
|
||||
bool dev_pm_genpd_get_hwmode(struct device *dev);
|
||||
@ -94,7 +90,7 @@ index b637ec1..30186ad 100644
|
||||
|
||||
extern struct dev_power_governor simple_qos_governor;
|
||||
extern struct dev_power_governor pm_domain_always_on_gov;
|
||||
@@ -360,6 +362,11 @@ static inline bool dev_pm_genpd_get_hwmode(struct device *dev)
|
||||
@@ -366,6 +368,11 @@ static inline bool dev_pm_genpd_get_hwmo
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -106,5 +102,3 @@ index b637ec1..30186ad 100644
|
||||
#define simple_qos_governor (*(struct dev_power_governor *)(NULL))
|
||||
#define pm_domain_always_on_gov (*(struct dev_power_governor *)(NULL))
|
||||
#endif
|
||||
--
|
||||
2.7.4
|
||||
|
@ -14,8 +14,6 @@ Changes in v2: None
|
||||
drivers/pmdomain/rockchip/pm-domains.c | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/drivers/pmdomain/rockchip/pm-domains.c b/drivers/pmdomain/rockchip/pm-domains.c
|
||||
index cb0f938..49842f1 100644
|
||||
--- a/drivers/pmdomain/rockchip/pm-domains.c
|
||||
+++ b/drivers/pmdomain/rockchip/pm-domains.c
|
||||
@@ -5,6 +5,7 @@
|
||||
@ -34,7 +32,7 @@ index cb0f938..49842f1 100644
|
||||
#include <dt-bindings/power/px30-power.h>
|
||||
#include <dt-bindings/power/rockchip,rv1126-power.h>
|
||||
#include <dt-bindings/power/rk3036-power.h>
|
||||
@@ -540,6 +542,7 @@ static void rockchip_do_pmu_set_power_domain(struct rockchip_pm_domain *pd,
|
||||
@@ -559,6 +561,7 @@ static void rockchip_do_pmu_set_power_do
|
||||
struct generic_pm_domain *genpd = &pd->genpd;
|
||||
u32 pd_pwr_offset = pd->info->pwr_offset;
|
||||
bool is_on, is_mem_on = false;
|
||||
@ -42,7 +40,7 @@ index cb0f938..49842f1 100644
|
||||
|
||||
if (pd->info->pwr_mask == 0)
|
||||
return;
|
||||
@@ -567,6 +570,11 @@ static void rockchip_do_pmu_set_power_domain(struct rockchip_pm_domain *pd,
|
||||
@@ -586,6 +589,11 @@ static void rockchip_do_pmu_set_power_do
|
||||
genpd->name, is_on);
|
||||
return;
|
||||
}
|
||||
@ -54,5 +52,3 @@ index cb0f938..49842f1 100644
|
||||
}
|
||||
|
||||
static int rockchip_pd_power(struct rockchip_pm_domain *pd, bool power_on)
|
||||
--
|
||||
2.7.4
|
||||
|
@ -13,11 +13,9 @@ Changes in v2: None
|
||||
include/ufs/ufshcd.h | 2 ++
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c
|
||||
index 24a32e2..9d1d56d 100644
|
||||
--- a/drivers/ufs/core/ufshcd.c
|
||||
+++ b/drivers/ufs/core/ufshcd.c
|
||||
@@ -4039,7 +4039,7 @@ static int ufshcd_dme_link_startup(struct ufs_hba *hba)
|
||||
@@ -4039,7 +4039,7 @@ static int ufshcd_dme_link_startup(struc
|
||||
*
|
||||
* Return: 0 on success, non-zero value on failure.
|
||||
*/
|
||||
@ -26,7 +24,7 @@ index 24a32e2..9d1d56d 100644
|
||||
{
|
||||
struct uic_command uic_cmd = {
|
||||
.command = UIC_CMD_DME_RESET,
|
||||
@@ -4053,6 +4053,7 @@ static int ufshcd_dme_reset(struct ufs_hba *hba)
|
||||
@@ -4053,6 +4053,7 @@ static int ufshcd_dme_reset(struct ufs_h
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -34,7 +32,7 @@ index 24a32e2..9d1d56d 100644
|
||||
|
||||
int ufshcd_dme_configure_adapt(struct ufs_hba *hba,
|
||||
int agreed_gear,
|
||||
@@ -4078,7 +4079,7 @@ EXPORT_SYMBOL_GPL(ufshcd_dme_configure_adapt);
|
||||
@@ -4078,7 +4079,7 @@ EXPORT_SYMBOL_GPL(ufshcd_dme_configure_a
|
||||
*
|
||||
* Return: 0 on success, non-zero value on failure.
|
||||
*/
|
||||
@ -43,7 +41,7 @@ index 24a32e2..9d1d56d 100644
|
||||
{
|
||||
struct uic_command uic_cmd = {
|
||||
.command = UIC_CMD_DME_ENABLE,
|
||||
@@ -4092,6 +4093,7 @@ static int ufshcd_dme_enable(struct ufs_hba *hba)
|
||||
@@ -4092,6 +4093,7 @@ static int ufshcd_dme_enable(struct ufs_
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -51,11 +49,9 @@ index 24a32e2..9d1d56d 100644
|
||||
|
||||
static inline void ufshcd_add_delay_before_dme_cmd(struct ufs_hba *hba)
|
||||
{
|
||||
diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h
|
||||
index 3f68ae3e4..b9733dc 100644
|
||||
--- a/include/ufs/ufshcd.h
|
||||
+++ b/include/ufs/ufshcd.h
|
||||
@@ -1360,6 +1360,8 @@ extern int ufshcd_system_thaw(struct device *dev);
|
||||
@@ -1361,6 +1361,8 @@ extern int ufshcd_system_thaw(struct dev
|
||||
extern int ufshcd_system_restore(struct device *dev);
|
||||
#endif
|
||||
|
||||
@ -64,5 +60,3 @@ index 3f68ae3e4..b9733dc 100644
|
||||
extern int ufshcd_dme_configure_adapt(struct ufs_hba *hba,
|
||||
int agreed_gear,
|
||||
int adapt_val);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -52,8 +52,6 @@ Changes in v2: None
|
||||
create mode 100644 drivers/ufs/host/ufs-rockchip.c
|
||||
create mode 100644 drivers/ufs/host/ufs-rockchip.h
|
||||
|
||||
diff --git a/drivers/ufs/host/Kconfig b/drivers/ufs/host/Kconfig
|
||||
index 580c8d0..191fbd7 100644
|
||||
--- a/drivers/ufs/host/Kconfig
|
||||
+++ b/drivers/ufs/host/Kconfig
|
||||
@@ -142,3 +142,15 @@ config SCSI_UFS_SPRD
|
||||
@ -72,20 +70,15 @@ index 580c8d0..191fbd7 100644
|
||||
+
|
||||
+ Select this if you have UFS controller on Rockchip chipset.
|
||||
+ If unsure, say N.
|
||||
diff --git a/drivers/ufs/host/Makefile b/drivers/ufs/host/Makefile
|
||||
index 4573aea..2f97feb 100644
|
||||
--- a/drivers/ufs/host/Makefile
|
||||
+++ b/drivers/ufs/host/Makefile
|
||||
@@ -10,5 +10,6 @@ obj-$(CONFIG_SCSI_UFSHCD_PLATFORM) += ufshcd-pltfrm.o
|
||||
@@ -10,5 +10,6 @@ obj-$(CONFIG_SCSI_UFSHCD_PLATFORM) += uf
|
||||
obj-$(CONFIG_SCSI_UFS_HISI) += ufs-hisi.o
|
||||
obj-$(CONFIG_SCSI_UFS_MEDIATEK) += ufs-mediatek.o
|
||||
obj-$(CONFIG_SCSI_UFS_RENESAS) += ufs-renesas.o
|
||||
+obj-$(CONFIG_SCSI_UFS_ROCKCHIP) += ufs-rockchip.o
|
||||
obj-$(CONFIG_SCSI_UFS_SPRD) += ufs-sprd.o
|
||||
obj-$(CONFIG_SCSI_UFS_TI_J721E) += ti-j721e-ufs.o
|
||||
diff --git a/drivers/ufs/host/ufs-rockchip.c b/drivers/ufs/host/ufs-rockchip.c
|
||||
new file mode 100644
|
||||
index 0000000..b087ce0
|
||||
--- /dev/null
|
||||
+++ b/drivers/ufs/host/ufs-rockchip.c
|
||||
@@ -0,0 +1,368 @@
|
||||
@ -457,9 +450,6 @@ index 0000000..b087ce0
|
||||
+
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_DESCRIPTION("Rockchip UFS Host Driver");
|
||||
diff --git a/drivers/ufs/host/ufs-rockchip.h b/drivers/ufs/host/ufs-rockchip.h
|
||||
new file mode 100644
|
||||
index 0000000..768dbe3
|
||||
--- /dev/null
|
||||
+++ b/drivers/ufs/host/ufs-rockchip.h
|
||||
@@ -0,0 +1,48 @@
|
||||
@ -511,5 +501,3 @@ index 0000000..768dbe3
|
||||
+ (reg))
|
||||
+
|
||||
+#endif /* _UFS_ROCKCHIP_H_ */
|
||||
--
|
||||
2.7.4
|
||||
|
@ -12,8 +12,6 @@ Changes in v2: None
|
||||
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 25 +++++++++++++++++++++++++
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576.dtsi
|
||||
index 436232f..32beda2 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi
|
||||
@@ -1110,6 +1110,30 @@
|
||||
@ -47,5 +45,3 @@ index 436232f..32beda2 100644
|
||||
sdmmc: mmc@2a310000 {
|
||||
compatible = "rockchip,rk3576-dw-mshc";
|
||||
reg = <0x0 0x2a310000 0x0 0x4000>;
|
||||
--
|
||||
2.7.4
|
||||
|
@ -6,11 +6,9 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
drivers/clk/rockchip/clk-rk3576.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/clk/rockchip/clk-rk3576.c b/drivers/clk/rockchip/clk-rk3576.c
|
||||
index 595e010341f7..029939a98416 100644
|
||||
--- a/drivers/clk/rockchip/clk-rk3576.c
|
||||
+++ b/drivers/clk/rockchip/clk-rk3576.c
|
||||
@@ -541,6 +541,8 @@ static struct rockchip_clk_branch rk3576_clk_branches[] __initdata = {
|
||||
@@ -541,6 +541,8 @@ static struct rockchip_clk_branch rk3576
|
||||
RK3576_CLKGATE_CON(5), 14, GFLAGS),
|
||||
GATE(CLK_OTPC_AUTO_RD_G, "clk_otpc_auto_rd_g", "xin24m", 0,
|
||||
RK3576_CLKGATE_CON(5), 15, GFLAGS),
|
||||
@ -19,5 +17,3 @@ index 595e010341f7..029939a98416 100644
|
||||
COMPOSITE(CLK_MIPI_CAMERAOUT_M0, "clk_mipi_cameraout_m0", mux_24m_spll_gpll_cpll_p, 0,
|
||||
RK3576_CLKSEL_CON(38), 8, 2, MFLAGS, 0, 8, DFLAGS,
|
||||
RK3576_CLKGATE_CON(6), 3, GFLAGS),
|
||||
--
|
||||
2.45.2
|
||||
|
@ -11,8 +11,6 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
drivers/nvmem/rockchip-otp.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/nvmem/rockchip-otp.c b/drivers/nvmem/rockchip-otp.c
|
||||
index ebc3f0b24166..3edfbfc2d722 100644
|
||||
--- a/drivers/nvmem/rockchip-otp.c
|
||||
+++ b/drivers/nvmem/rockchip-otp.c
|
||||
@@ -59,7 +59,6 @@
|
||||
@ -31,7 +29,7 @@ index ebc3f0b24166..3edfbfc2d722 100644
|
||||
const char * const *clks;
|
||||
int num_clks;
|
||||
nvmem_reg_read_t reg_read;
|
||||
@@ -196,7 +196,7 @@ static int rk3588_otp_read(void *context, unsigned int offset,
|
||||
@@ -196,7 +196,7 @@ static int rk3588_otp_read(void *context
|
||||
addr_start = round_down(offset, RK3588_NBYTES) / RK3588_NBYTES;
|
||||
addr_end = round_up(offset + bytes, RK3588_NBYTES) / RK3588_NBYTES;
|
||||
addr_len = addr_end - addr_start;
|
||||
@ -40,7 +38,7 @@ index ebc3f0b24166..3edfbfc2d722 100644
|
||||
|
||||
buf = kzalloc(array_size(addr_len, RK3588_NBYTES), GFP_KERNEL);
|
||||
if (!buf)
|
||||
@@ -280,6 +280,7 @@ static const char * const rk3588_otp_clocks[] = {
|
||||
@@ -280,6 +280,7 @@ static const char * const rk3588_otp_clo
|
||||
|
||||
static const struct rockchip_data rk3588_data = {
|
||||
.size = 0x400,
|
||||
@ -48,5 +46,3 @@ index ebc3f0b24166..3edfbfc2d722 100644
|
||||
.clks = rk3588_otp_clocks,
|
||||
.num_clks = ARRAY_SIZE(rk3588_otp_clocks),
|
||||
.reg_read = rk3588_otp_read,
|
||||
--
|
||||
2.45.2
|
||||
|
@ -9,8 +9,6 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
.../bindings/nvmem/rockchip,otp.yaml | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/nvmem/rockchip,otp.yaml b/Documentation/devicetree/bindings/nvmem/rockchip,otp.yaml
|
||||
index a44d44b32809..dae7543a0179 100644
|
||||
--- a/Documentation/devicetree/bindings/nvmem/rockchip,otp.yaml
|
||||
+++ b/Documentation/devicetree/bindings/nvmem/rockchip,otp.yaml
|
||||
@@ -14,6 +14,7 @@ properties:
|
||||
@ -21,12 +19,10 @@ index a44d44b32809..dae7543a0179 100644
|
||||
- rockchip,rk3588-otp
|
||||
|
||||
reg:
|
||||
@@ -68,6 +69,23 @@ allOf:
|
||||
items:
|
||||
- const: phy
|
||||
@@ -70,6 +71,23 @@ allOf:
|
||||
|
||||
+ - if:
|
||||
+ properties:
|
||||
- if:
|
||||
properties:
|
||||
+ compatible:
|
||||
+ contains:
|
||||
+ enum:
|
||||
@ -42,8 +38,8 @@ index a44d44b32809..dae7543a0179 100644
|
||||
+ - const: otp
|
||||
+ - const: apb
|
||||
+
|
||||
- if:
|
||||
properties:
|
||||
+ - if:
|
||||
+ properties:
|
||||
compatible:
|
||||
--
|
||||
2.45.2
|
||||
contains:
|
||||
enum:
|
||||
|
@ -6,11 +6,9 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
drivers/nvmem/rockchip-otp.c | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/drivers/nvmem/rockchip-otp.c b/drivers/nvmem/rockchip-otp.c
|
||||
index 3edfbfc2d722..d88f12c53242 100644
|
||||
--- a/drivers/nvmem/rockchip-otp.c
|
||||
+++ b/drivers/nvmem/rockchip-otp.c
|
||||
@@ -274,6 +274,14 @@ static const struct rockchip_data px30_data = {
|
||||
@@ -274,6 +274,14 @@ static const struct rockchip_data px30_d
|
||||
.reg_read = px30_otp_read,
|
||||
};
|
||||
|
||||
@ -25,16 +23,14 @@ index 3edfbfc2d722..d88f12c53242 100644
|
||||
static const char * const rk3588_otp_clocks[] = {
|
||||
"otp", "apb_pclk", "phy", "arb",
|
||||
};
|
||||
@@ -295,6 +303,10 @@ static const struct of_device_id rockchip_otp_match[] = {
|
||||
.compatible = "rockchip,rk3308-otp",
|
||||
@@ -296,6 +304,10 @@ static const struct of_device_id rockchi
|
||||
.data = &px30_data,
|
||||
},
|
||||
+ {
|
||||
{
|
||||
+ .compatible = "rockchip,rk3576-otp",
|
||||
+ .data = &rk3576_data,
|
||||
+ },
|
||||
{
|
||||
+ {
|
||||
.compatible = "rockchip,rk3588-otp",
|
||||
.data = &rk3588_data,
|
||||
--
|
||||
2.45.2
|
||||
},
|
||||
|
@ -6,11 +6,9 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
||||
arch/arm64/boot/dts/rockchip/rk3576.dtsi | 39 ++++++++++++++++++++++++
|
||||
1 file changed, 39 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576.dtsi
|
||||
index 436232ffe4d1..c70c9dcfad82 100644
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi
|
||||
@@ -1149,6 +1149,45 @@ sdhci: mmc@2a330000 {
|
||||
@@ -1173,6 +1173,45 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@ -56,5 +54,3 @@ index 436232ffe4d1..c70c9dcfad82 100644
|
||||
gic: interrupt-controller@2a701000 {
|
||||
compatible = "arm,gic-400";
|
||||
reg = <0x0 0x2a701000 0 0x10000>,
|
||||
--
|
||||
2.45.2
|
||||
|
@ -4,8 +4,6 @@ Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
|
||||
include/linux/pwm.h | 13 +++++++
|
||||
2 files changed, 100 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
|
||||
index 6e752e148b98..b97e2ea0691d 100644
|
||||
--- a/drivers/pwm/core.c
|
||||
+++ b/drivers/pwm/core.c
|
||||
@@ -31,6 +31,24 @@ static DEFINE_MUTEX(pwm_lock);
|
||||
@ -33,7 +31,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
static void pwm_apply_debug(struct pwm_device *pwm,
|
||||
const struct pwm_state *state)
|
||||
{
|
||||
@@ -220,6 +238,7 @@ static int __pwm_apply(struct pwm_device *pwm, const struct pwm_state *state)
|
||||
@@ -224,6 +242,7 @@ static int __pwm_apply(struct pwm_device
|
||||
int pwm_apply_might_sleep(struct pwm_device *pwm, const struct pwm_state *state)
|
||||
{
|
||||
int err;
|
||||
@ -41,7 +39,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
|
||||
/*
|
||||
* Some lowlevel driver's implementations of .apply() make use of
|
||||
@@ -230,7 +249,12 @@ int pwm_apply_might_sleep(struct pwm_device *pwm, const struct pwm_state *state)
|
||||
@@ -234,7 +253,12 @@ int pwm_apply_might_sleep(struct pwm_dev
|
||||
*/
|
||||
might_sleep();
|
||||
|
||||
@ -55,7 +53,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
/*
|
||||
* Catch any drivers that have been marked as atomic but
|
||||
* that will sleep anyway.
|
||||
@@ -254,9 +278,16 @@ EXPORT_SYMBOL_GPL(pwm_apply_might_sleep);
|
||||
@@ -258,9 +282,16 @@ EXPORT_SYMBOL_GPL(pwm_apply_might_sleep)
|
||||
*/
|
||||
int pwm_apply_atomic(struct pwm_device *pwm, const struct pwm_state *state)
|
||||
{
|
||||
@ -73,7 +71,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
return __pwm_apply(pwm, state);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pwm_apply_atomic);
|
||||
@@ -336,6 +367,11 @@ static int pwm_capture(struct pwm_device *pwm, struct pwm_capture *result,
|
||||
@@ -340,6 +371,11 @@ static int pwm_capture(struct pwm_device
|
||||
|
||||
guard(mutex)(&pwm_lock);
|
||||
|
||||
@ -85,7 +83,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
return ops->capture(chip, pwm, result, timeout);
|
||||
}
|
||||
|
||||
@@ -368,6 +404,14 @@ static int pwm_device_request(struct pwm_device *pwm, const char *label)
|
||||
@@ -372,6 +408,14 @@ static int pwm_device_request(struct pwm
|
||||
if (test_bit(PWMF_REQUESTED, &pwm->flags))
|
||||
return -EBUSY;
|
||||
|
||||
@ -100,7 +98,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
if (!try_module_get(chip->owner))
|
||||
return -ENODEV;
|
||||
|
||||
@@ -396,7 +440,9 @@ static int pwm_device_request(struct pwm_device *pwm, const char *label)
|
||||
@@ -400,7 +444,9 @@ err_get_device:
|
||||
*/
|
||||
struct pwm_state state = { 0, };
|
||||
|
||||
@ -111,7 +109,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
trace_pwm_get(pwm, &state, err);
|
||||
|
||||
if (!err)
|
||||
@@ -1020,6 +1066,7 @@ struct pwm_chip *pwmchip_alloc(struct device *parent, unsigned int npwm, size_t
|
||||
@@ -1024,6 +1070,7 @@ struct pwm_chip *pwmchip_alloc(struct de
|
||||
|
||||
chip->npwm = npwm;
|
||||
chip->uses_pwmchip_alloc = true;
|
||||
@ -119,7 +117,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
|
||||
pwmchip_dev = &chip->dev;
|
||||
device_initialize(pwmchip_dev);
|
||||
@@ -1125,6 +1172,11 @@ int __pwmchip_add(struct pwm_chip *chip, struct module *owner)
|
||||
@@ -1129,6 +1176,11 @@ int __pwmchip_add(struct pwm_chip *chip,
|
||||
|
||||
chip->owner = owner;
|
||||
|
||||
@ -131,7 +129,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
guard(mutex)(&pwm_lock);
|
||||
|
||||
ret = idr_alloc(&pwm_chips, chip, 0, 0, GFP_KERNEL);
|
||||
@@ -1138,6 +1190,9 @@ int __pwmchip_add(struct pwm_chip *chip, struct module *owner)
|
||||
@@ -1142,6 +1194,9 @@ int __pwmchip_add(struct pwm_chip *chip,
|
||||
if (IS_ENABLED(CONFIG_OF))
|
||||
of_pwmchip_add(chip);
|
||||
|
||||
@ -141,7 +139,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
ret = device_add(&chip->dev);
|
||||
if (ret)
|
||||
goto err_device_add;
|
||||
@@ -1145,6 +1200,9 @@ int __pwmchip_add(struct pwm_chip *chip, struct module *owner)
|
||||
@@ -1149,6 +1204,9 @@ int __pwmchip_add(struct pwm_chip *chip,
|
||||
return 0;
|
||||
|
||||
err_device_add:
|
||||
@ -151,7 +149,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
if (IS_ENABLED(CONFIG_OF))
|
||||
of_pwmchip_remove(chip);
|
||||
|
||||
@@ -1164,11 +1222,27 @@ void pwmchip_remove(struct pwm_chip *chip)
|
||||
@@ -1168,11 +1226,27 @@ void pwmchip_remove(struct pwm_chip *chi
|
||||
{
|
||||
pwmchip_sysfs_unexport(chip);
|
||||
|
||||
@ -182,7 +180,7 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
|
||||
device_del(&chip->dev);
|
||||
}
|
||||
@@ -1538,12 +1612,17 @@ void pwm_put(struct pwm_device *pwm)
|
||||
@@ -1542,12 +1616,17 @@ void pwm_put(struct pwm_device *pwm)
|
||||
|
||||
guard(mutex)(&pwm_lock);
|
||||
|
||||
@ -202,8 +200,6 @@ index 6e752e148b98..b97e2ea0691d 100644
|
||||
pwm->chip->ops->free(pwm->chip, pwm);
|
||||
|
||||
pwm->label = NULL;
|
||||
diff --git a/include/linux/pwm.h b/include/linux/pwm.h
|
||||
index 8acd60b53f58..464054a45e57 100644
|
||||
--- a/include/linux/pwm.h
|
||||
+++ b/include/linux/pwm.h
|
||||
@@ -275,6 +275,9 @@ struct pwm_ops {
|
||||
@ -233,5 +229,3 @@ index 8acd60b53f58..464054a45e57 100644
|
||||
struct pwm_device pwms[] __counted_by(npwm);
|
||||
};
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
@ -59,11 +59,9 @@ Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
|
||||
include/linux/pwm.h | 36 +++++++
|
||||
2 files changed, 249 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
|
||||
index 5a095eb46b544f..bbe7bfdb154927 100644
|
||||
--- a/drivers/pwm/core.c
|
||||
+++ b/drivers/pwm/core.c
|
||||
@@ -49,6 +49,102 @@ static void pwmchip_unlock(struct pwm_chip *chip)
|
||||
@@ -49,6 +49,102 @@ static void pwmchip_unlock(struct pwm_ch
|
||||
|
||||
DEFINE_GUARD(pwmchip, struct pwm_chip *, pwmchip_lock(_T), pwmchip_unlock(_T))
|
||||
|
||||
@ -166,7 +164,7 @@ index 5a095eb46b544f..bbe7bfdb154927 100644
|
||||
static void pwm_apply_debug(struct pwm_device *pwm,
|
||||
const struct pwm_state *state)
|
||||
{
|
||||
@@ -182,6 +278,7 @@ static bool pwm_state_valid(const struct pwm_state *state)
|
||||
@@ -186,6 +282,7 @@ static bool pwm_state_valid(const struct
|
||||
static int __pwm_apply(struct pwm_device *pwm, const struct pwm_state *state)
|
||||
{
|
||||
struct pwm_chip *chip;
|
||||
@ -174,7 +172,7 @@ index 5a095eb46b544f..bbe7bfdb154927 100644
|
||||
int err;
|
||||
|
||||
if (!pwm || !state)
|
||||
@@ -205,6 +302,7 @@ static int __pwm_apply(struct pwm_device *pwm, const struct pwm_state *state)
|
||||
@@ -209,6 +306,7 @@ static int __pwm_apply(struct pwm_device
|
||||
}
|
||||
|
||||
chip = pwm->chip;
|
||||
@ -182,7 +180,7 @@ index 5a095eb46b544f..bbe7bfdb154927 100644
|
||||
|
||||
if (state->period == pwm->state.period &&
|
||||
state->duty_cycle == pwm->state.duty_cycle &&
|
||||
@@ -213,18 +311,69 @@ static int __pwm_apply(struct pwm_device *pwm, const struct pwm_state *state)
|
||||
@@ -217,18 +315,69 @@ static int __pwm_apply(struct pwm_device
|
||||
state->usage_power == pwm->state.usage_power)
|
||||
return 0;
|
||||
|
||||
@ -262,7 +260,7 @@ index 5a095eb46b544f..bbe7bfdb154927 100644
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -292,6 +441,41 @@ int pwm_apply_atomic(struct pwm_device *pwm, const struct pwm_state *state)
|
||||
@@ -296,6 +445,41 @@ int pwm_apply_atomic(struct pwm_device *
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pwm_apply_atomic);
|
||||
|
||||
@ -304,7 +302,7 @@ index 5a095eb46b544f..bbe7bfdb154927 100644
|
||||
/**
|
||||
* pwm_adjust_config() - adjust the current PWM config to the PWM arguments
|
||||
* @pwm: PWM device
|
||||
@@ -435,7 +619,7 @@ static int pwm_device_request(struct pwm_device *pwm, const char *label)
|
||||
@@ -434,7 +618,7 @@ err_get_device:
|
||||
}
|
||||
}
|
||||
|
||||
@ -313,7 +311,7 @@ index 5a095eb46b544f..bbe7bfdb154927 100644
|
||||
/*
|
||||
* Zero-initialize state because most drivers are unaware of
|
||||
* .usage_power. The other members of state are supposed to be
|
||||
@@ -445,11 +629,7 @@ static int pwm_device_request(struct pwm_device *pwm, const char *label)
|
||||
@@ -444,11 +628,7 @@ err_get_device:
|
||||
*/
|
||||
struct pwm_state state = { 0, };
|
||||
|
||||
@ -326,7 +324,7 @@ index 5a095eb46b544f..bbe7bfdb154927 100644
|
||||
if (!err)
|
||||
pwm->state = state;
|
||||
|
||||
@@ -1136,12 +1316,24 @@ static bool pwm_ops_check(const struct pwm_chip *chip)
|
||||
@@ -1135,12 +1315,24 @@ static bool pwm_ops_check(const struct p
|
||||
{
|
||||
const struct pwm_ops *ops = chip->ops;
|
||||
|
||||
@ -337,10 +335,7 @@ index 5a095eb46b544f..bbe7bfdb154927 100644
|
||||
+ !ops->round_waveform_fromhw ||
|
||||
+ !ops->write_waveform)
|
||||
+ return false;
|
||||
|
||||
- if (IS_ENABLED(CONFIG_PWM_DEBUG) && !ops->get_state)
|
||||
- dev_warn(pwmchip_parent(chip),
|
||||
- "Please implement the .get_state() callback\n");
|
||||
+
|
||||
+ if (WFHWSIZE < ops->sizeof_wfhw) {
|
||||
+ dev_warn(pwmchip_parent(chip), "WFHWSIZE < %zu\n", ops->sizeof_wfhw);
|
||||
+ return false;
|
||||
@ -348,7 +343,10 @@ index 5a095eb46b544f..bbe7bfdb154927 100644
|
||||
+ } else {
|
||||
+ if (!ops->apply)
|
||||
+ return false;
|
||||
+
|
||||
|
||||
- if (IS_ENABLED(CONFIG_PWM_DEBUG) && !ops->get_state)
|
||||
- dev_warn(pwmchip_parent(chip),
|
||||
- "Please implement the .get_state() callback\n");
|
||||
+ if (IS_ENABLED(CONFIG_PWM_DEBUG) && !ops->get_state)
|
||||
+ dev_warn(pwmchip_parent(chip),
|
||||
+ "Please implement the .get_state() callback\n");
|
||||
@ -356,8 +354,6 @@ index 5a095eb46b544f..bbe7bfdb154927 100644
|
||||
|
||||
return true;
|
||||
}
|
||||
diff --git a/include/linux/pwm.h b/include/linux/pwm.h
|
||||
index 3ea73e075abe87..d8cfe1c9b19d83 100644
|
||||
--- a/include/linux/pwm.h
|
||||
+++ b/include/linux/pwm.h
|
||||
@@ -49,6 +49,31 @@ enum {
|
||||
|
@ -22,11 +22,9 @@ Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
|
||||
include/linux/pwm.h | 6 +-
|
||||
2 files changed, 266 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
|
||||
index bbe7bfdb154927..038f17dd275798 100644
|
||||
--- a/drivers/pwm/core.c
|
||||
+++ b/drivers/pwm/core.c
|
||||
@@ -49,6 +49,30 @@ static void pwmchip_unlock(struct pwm_chip *chip)
|
||||
@@ -49,6 +49,30 @@ static void pwmchip_unlock(struct pwm_ch
|
||||
|
||||
DEFINE_GUARD(pwmchip, struct pwm_chip *, pwmchip_lock(_T), pwmchip_unlock(_T))
|
||||
|
||||
@ -57,7 +55,7 @@ index bbe7bfdb154927..038f17dd275798 100644
|
||||
static void pwm_wf2state(const struct pwm_waveform *wf, struct pwm_state *state)
|
||||
{
|
||||
if (wf->period_length_ns) {
|
||||
@@ -95,6 +119,29 @@ static void pwm_state2wf(const struct pwm_state *state, struct pwm_waveform *wf)
|
||||
@@ -95,6 +119,29 @@ static void pwm_state2wf(const struct pw
|
||||
}
|
||||
}
|
||||
|
||||
@ -87,7 +85,7 @@ index bbe7bfdb154927..038f17dd275798 100644
|
||||
static bool pwm_check_rounding(const struct pwm_waveform *wf,
|
||||
const struct pwm_waveform *wf_rounded)
|
||||
{
|
||||
@@ -145,6 +192,220 @@ static int __pwm_write_waveform(struct pwm_chip *chip, struct pwm_device *pwm, c
|
||||
@@ -145,6 +192,220 @@ static int __pwm_write_waveform(struct p
|
||||
|
||||
#define WFHWSIZE 20
|
||||
|
||||
@ -308,11 +306,9 @@ index bbe7bfdb154927..038f17dd275798 100644
|
||||
static void pwm_apply_debug(struct pwm_device *pwm,
|
||||
const struct pwm_state *state)
|
||||
{
|
||||
diff --git a/include/linux/pwm.h b/include/linux/pwm.h
|
||||
index d8cfe1c9b19d83..c3d9ddeafa65e1 100644
|
||||
--- a/include/linux/pwm.h
|
||||
+++ b/include/linux/pwm.h
|
||||
@@ -358,7 +358,11 @@ static inline void pwmchip_set_drvdata(struct pwm_chip *chip, void *data)
|
||||
@@ -358,7 +358,11 @@ static inline void pwmchip_set_drvdata(s
|
||||
}
|
||||
|
||||
#if IS_ENABLED(CONFIG_PWM)
|
||||
|
@ -3,11 +3,9 @@ Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
|
||||
Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.yaml | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.yaml
|
||||
index 960758dc417f7405010fab067bfbf6f5c4704179..125af766b99297dc229db158846daea974dda28e 100644
|
||||
--- a/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.yaml
|
||||
+++ b/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.yaml
|
||||
@@ -135,7 +135,7 @@ additionalProperties:
|
||||
@@ -133,7 +133,7 @@ additionalProperties:
|
||||
description:
|
||||
Pin bank index.
|
||||
- minimum: 0
|
||||
@ -16,6 +14,3 @@ index 960758dc417f7405010fab067bfbf6f5c4704179..125af766b99297dc229db158846daea9
|
||||
description:
|
||||
Mux 0 means GPIO and mux 1 to N means
|
||||
the specific device function.
|
||||
|
||||
--
|
||||
2.49.0
|
||||
|
@ -4,9 +4,6 @@ Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
|
||||
MAINTAINERS | 7 ++
|
||||
2 files changed, 101 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/pwm/rockchip,rk3576-pwm.yaml b/Documentation/devicetree/bindings/pwm/rockchip,rk3576-pwm.yaml
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..143d4df5df8fa89d508faca5ddf67603fb7cb3f5
|
||||
--- /dev/null
|
||||
+++ b/Documentation/devicetree/bindings/pwm/rockchip,rk3576-pwm.yaml
|
||||
@@ -0,0 +1,94 @@
|
||||
@ -104,11 +101,9 @@ index 0000000000000000000000000000000000000000..143d4df5df8fa89d508faca5ddf67603
|
||||
+ #pwm-cells = <3>;
|
||||
+ };
|
||||
+ };
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index 96b82704950184bd71623ff41fc4df31e4c7fe87..407179d2a90dd49800f2bb5770a1280c5afebb5a 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -20885,6 +20885,13 @@ F: Documentation/userspace-api/media/v4l/metafmt-rkisp1.rst
|
||||
@@ -19952,6 +19952,13 @@ F: Documentation/userspace-api/media/v4l
|
||||
F: drivers/media/platform/rockchip/rkisp1
|
||||
F: include/uapi/linux/rkisp1-config.h
|
||||
|
||||
@ -122,6 +117,3 @@ index 96b82704950184bd71623ff41fc4df31e4c7fe87..407179d2a90dd49800f2bb5770a1280c
|
||||
ROCKCHIP RK3568 RANDOM NUMBER GENERATOR SUPPORT
|
||||
M: Daniel Golle <daniel@makrotopia.org>
|
||||
M: Aurelien Jarno <aurelien@aurel32.net>
|
||||
|
||||
--
|
||||
2.49.0
|
||||
|
@ -3,9 +3,6 @@ Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
|
||||
include/soc/rockchip/utils.h | 76 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 76 insertions(+)
|
||||
|
||||
diff --git a/include/soc/rockchip/utils.h b/include/soc/rockchip/utils.h
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..3349069e75ff51ebd7a22089af796feafd227ffb
|
||||
--- /dev/null
|
||||
+++ b/include/soc/rockchip/utils.h
|
||||
@@ -0,0 +1,76 @@
|
||||
@ -85,6 +82,3 @@ index 0000000000000000000000000000000000000000..3349069e75ff51ebd7a22089af796fea
|
||||
+ REG_UPDATE_WE((__val), (__bit), (__bit)))
|
||||
+
|
||||
+#endif /* __SOC_ROCKCHIP_UTILS_H__ */
|
||||
|
||||
--
|
||||
2.49.0
|
||||
|
@ -7,11 +7,9 @@ Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
|
||||
include/soc/rockchip/mfpwm.h | 505 +++++++++++++++++++++++++++++++++++
|
||||
5 files changed, 1129 insertions(+)
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index 407179d2a90dd49800f2bb5770a1280c5afebb5a..e6a9347be1e7889089e1d9e655cb23c2d8399b40 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -20891,6 +20891,8 @@ L: linux-rockchip@lists.infradead.org
|
||||
@@ -19958,6 +19958,8 @@ L: linux-rockchip@lists.infradead.org
|
||||
L: linux-pwm@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/pwm/rockchip,rk3576-pwm.yaml
|
||||
@ -20,8 +18,6 @@ index 407179d2a90dd49800f2bb5770a1280c5afebb5a..e6a9347be1e7889089e1d9e655cb23c2
|
||||
|
||||
ROCKCHIP RK3568 RANDOM NUMBER GENERATOR SUPPORT
|
||||
M: Daniel Golle <daniel@makrotopia.org>
|
||||
diff --git a/drivers/soc/rockchip/Kconfig b/drivers/soc/rockchip/Kconfig
|
||||
index 785f60c6f3ad1a09f517e69a69726a8178bed168..4e1e4926c514a5a2c4d4caf8cf9809a098badc7d 100644
|
||||
--- a/drivers/soc/rockchip/Kconfig
|
||||
+++ b/drivers/soc/rockchip/Kconfig
|
||||
@@ -30,4 +30,17 @@ config ROCKCHIP_DTPM
|
||||
@ -42,8 +38,6 @@ index 785f60c6f3ad1a09f517e69a69726a8178bed168..4e1e4926c514a5a2c4d4caf8cf9809a0
|
||||
+ implemented in their respective subsystems.
|
||||
+
|
||||
endif
|
||||
diff --git a/drivers/soc/rockchip/Makefile b/drivers/soc/rockchip/Makefile
|
||||
index 23d414433c8c58557effc214337ec8e6ff17a461..ba12dbd01ac794910d9407c268e89071cd2b3139 100644
|
||||
--- a/drivers/soc/rockchip/Makefile
|
||||
+++ b/drivers/soc/rockchip/Makefile
|
||||
@@ -5,3 +5,4 @@
|
||||
@ -51,9 +45,6 @@ index 23d414433c8c58557effc214337ec8e6ff17a461..ba12dbd01ac794910d9407c268e89071
|
||||
obj-$(CONFIG_ROCKCHIP_IODOMAIN) += io-domain.o
|
||||
obj-$(CONFIG_ROCKCHIP_DTPM) += dtpm.o
|
||||
+obj-$(CONFIG_ROCKCHIP_MFPWM) += mfpwm.o
|
||||
diff --git a/drivers/soc/rockchip/mfpwm.c b/drivers/soc/rockchip/mfpwm.c
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..9331c530f0581573e2b74f62a6622b8625c5b2c5
|
||||
--- /dev/null
|
||||
+++ b/drivers/soc/rockchip/mfpwm.c
|
||||
@@ -0,0 +1,608 @@
|
||||
@ -665,9 +656,6 @@ index 0000000000000000000000000000000000000000..9331c530f0581573e2b74f62a6622b86
|
||||
+MODULE_AUTHOR("Nicolas Frattaroli <nicolas.frattaroli@collabora.com>");
|
||||
+MODULE_DESCRIPTION("Rockchip MFPWM Driver");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff --git a/include/soc/rockchip/mfpwm.h b/include/soc/rockchip/mfpwm.h
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..345f13f438b57159a15cb2e0ae250800fb96ed43
|
||||
--- /dev/null
|
||||
+++ b/include/soc/rockchip/mfpwm.h
|
||||
@@ -0,0 +1,505 @@
|
||||
@ -1176,6 +1164,3 @@ index 0000000000000000000000000000000000000000..345f13f438b57159a15cb2e0ae250800
|
||||
+void mfpwm_remove_func(struct rockchip_mfpwm_func *pwmf);
|
||||
+
|
||||
+#endif /* __SOC_ROCKCHIP_MFPWM_H__ */
|
||||
|
||||
--
|
||||
2.49.0
|
||||
|
@ -6,11 +6,9 @@ Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
|
||||
drivers/pwm/pwm-rockchip-v4.c | 336 ++++++++++++++++++++++++++++++++++++++++++
|
||||
4 files changed, 351 insertions(+)
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index e6a9347be1e7889089e1d9e655cb23c2d8399b40..3ddd245fd4ad8d9ed2e762910a7a1f6436f93e34 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -20891,6 +20891,7 @@ L: linux-rockchip@lists.infradead.org
|
||||
@@ -19958,6 +19958,7 @@ L: linux-rockchip@lists.infradead.org
|
||||
L: linux-pwm@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/pwm/rockchip,rk3576-pwm.yaml
|
||||
@ -18,8 +16,6 @@ index e6a9347be1e7889089e1d9e655cb23c2d8399b40..3ddd245fd4ad8d9ed2e762910a7a1f64
|
||||
F: drivers/soc/rockchip/mfpwm.c
|
||||
F: include/soc/rockchip/mfpwm.h
|
||||
|
||||
diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig
|
||||
index 4731d5b90d7edcc61138e4a5bf7e98906953ece4..242039f62ab091cea337bf27ef310bcf696b6ed0 100644
|
||||
--- a/drivers/pwm/Kconfig
|
||||
+++ b/drivers/pwm/Kconfig
|
||||
@@ -540,6 +540,19 @@ config PWM_ROCKCHIP
|
||||
@ -42,11 +38,9 @@ index 4731d5b90d7edcc61138e4a5bf7e98906953ece4..242039f62ab091cea337bf27ef310bcf
|
||||
config PWM_RZ_MTU3
|
||||
tristate "Renesas RZ/G2L MTU3a PWM Timer support"
|
||||
depends on RZ_MTU3
|
||||
diff --git a/drivers/pwm/Makefile b/drivers/pwm/Makefile
|
||||
index 539e0def3f82fcb866ab83a0346a15f7efdd7127..b5aca7ff58ac83f844581df526624617025291de 100644
|
||||
--- a/drivers/pwm/Makefile
|
||||
+++ b/drivers/pwm/Makefile
|
||||
@@ -49,6 +49,7 @@ obj-$(CONFIG_PWM_RASPBERRYPI_POE) += pwm-raspberrypi-poe.o
|
||||
@@ -49,6 +49,7 @@ obj-$(CONFIG_PWM_RASPBERRYPI_POE) += pwm
|
||||
obj-$(CONFIG_PWM_RCAR) += pwm-rcar.o
|
||||
obj-$(CONFIG_PWM_RENESAS_TPU) += pwm-renesas-tpu.o
|
||||
obj-$(CONFIG_PWM_ROCKCHIP) += pwm-rockchip.o
|
||||
@ -54,9 +48,6 @@ index 539e0def3f82fcb866ab83a0346a15f7efdd7127..b5aca7ff58ac83f844581df526624617
|
||||
obj-$(CONFIG_PWM_RZ_MTU3) += pwm-rz-mtu3.o
|
||||
obj-$(CONFIG_PWM_SAMSUNG) += pwm-samsung.o
|
||||
obj-$(CONFIG_PWM_SIFIVE) += pwm-sifive.o
|
||||
diff --git a/drivers/pwm/pwm-rockchip-v4.c b/drivers/pwm/pwm-rockchip-v4.c
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..980b27454ef9b930bef0496ca528533cf419fa0e
|
||||
--- /dev/null
|
||||
+++ b/drivers/pwm/pwm-rockchip-v4.c
|
||||
@@ -0,0 +1,336 @@
|
||||
@ -396,6 +387,3 @@ index 0000000000000000000000000000000000000000..980b27454ef9b930bef0496ca528533c
|
||||
+MODULE_DESCRIPTION("Rockchip PWMv4 Driver");
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_IMPORT_NS("ROCKCHIP_MFPWM");
|
||||
|
||||
--
|
||||
2.49.0
|
||||
|
@ -6,11 +6,9 @@ Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
|
||||
drivers/counter/rockchip-pwm-capture.c | 341 +++++++++++++++++++++++++++++++++
|
||||
4 files changed, 356 insertions(+)
|
||||
|
||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||
index 3ddd245fd4ad8d9ed2e762910a7a1f6436f93e34..e5d26256d05a04a9642371cf3dbb4dd0c1c34e68 100644
|
||||
--- a/MAINTAINERS
|
||||
+++ b/MAINTAINERS
|
||||
@@ -20891,6 +20891,7 @@ L: linux-rockchip@lists.infradead.org
|
||||
@@ -19958,6 +19958,7 @@ L: linux-rockchip@lists.infradead.org
|
||||
L: linux-pwm@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/pwm/rockchip,rk3576-pwm.yaml
|
||||
@ -18,8 +16,6 @@ index 3ddd245fd4ad8d9ed2e762910a7a1f6436f93e34..e5d26256d05a04a9642371cf3dbb4dd0
|
||||
F: drivers/pwm/pwm-rockchip-v4.c
|
||||
F: drivers/soc/rockchip/mfpwm.c
|
||||
F: include/soc/rockchip/mfpwm.h
|
||||
diff --git a/drivers/counter/Kconfig b/drivers/counter/Kconfig
|
||||
index d30d22dfe57741b145a45632b6325d5f9680590e..01b4f5c326478c73b518041830ee0d65b37f6833 100644
|
||||
--- a/drivers/counter/Kconfig
|
||||
+++ b/drivers/counter/Kconfig
|
||||
@@ -90,6 +90,19 @@ config MICROCHIP_TCB_CAPTURE
|
||||
@ -42,18 +38,13 @@ index d30d22dfe57741b145a45632b6325d5f9680590e..01b4f5c326478c73b518041830ee0d65
|
||||
config RZ_MTU3_CNT
|
||||
tristate "Renesas RZ/G2L MTU3a counter driver"
|
||||
depends on RZ_MTU3
|
||||
diff --git a/drivers/counter/Makefile b/drivers/counter/Makefile
|
||||
index fa3c1d08f7068835aa912aa13bc92bcfd44d16fb..2bfcfc2c584bd174a9885064746a98f15b204aec 100644
|
||||
--- a/drivers/counter/Makefile
|
||||
+++ b/drivers/counter/Makefile
|
||||
@@ -17,3 +17,4 @@ obj-$(CONFIG_FTM_QUADDEC) += ftm-quaddec.o
|
||||
@@ -17,3 +17,4 @@ obj-$(CONFIG_FTM_QUADDEC) += ftm-quaddec
|
||||
obj-$(CONFIG_MICROCHIP_TCB_CAPTURE) += microchip-tcb-capture.o
|
||||
obj-$(CONFIG_INTEL_QEP) += intel-qep.o
|
||||
obj-$(CONFIG_TI_ECAP_CAPTURE) += ti-ecap-capture.o
|
||||
+obj-$(CONFIG_ROCKCHIP_PWM_CAPTURE) += rockchip-pwm-capture.o
|
||||
diff --git a/drivers/counter/rockchip-pwm-capture.c b/drivers/counter/rockchip-pwm-capture.c
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..b2bfa2c6e04dfa0410fa0d7ef1c395217e4a9db2
|
||||
--- /dev/null
|
||||
+++ b/drivers/counter/rockchip-pwm-capture.c
|
||||
@@ -0,0 +1,341 @@
|
||||
@ -398,6 +389,3 @@ index 0000000000000000000000000000000000000000..b2bfa2c6e04dfa0410fa0d7ef1c39521
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_IMPORT_NS("ROCKCHIP_MFPWM");
|
||||
+MODULE_IMPORT_NS("COUNTER");
|
||||
|
||||
--
|
||||
2.49.0
|
||||
|
@ -1,8 +1,6 @@
|
||||
diff --git a/drivers/pwm/pwm-rockchip-v4.c b/drivers/pwm/pwm-rockchip-v4.c
|
||||
index 980b27454..3bc3d4979 100644
|
||||
--- a/drivers/pwm/pwm-rockchip-v4.c
|
||||
+++ b/drivers/pwm/pwm-rockchip-v4.c
|
||||
@@ -292,6 +292,8 @@ static int rockchip_pwm_v4_probe(struct platform_device *pdev)
|
||||
@@ -292,6 +292,8 @@ static int rockchip_pwm_v4_probe(struct
|
||||
if (IS_ERR(chip))
|
||||
return PTR_ERR(chip);
|
||||
|
||||
|
@ -8,8 +8,6 @@ Changes in v2:
|
||||
drivers/mmc/host/sdhci-of-dwcmshc.c | 39 +++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 39 insertions(+)
|
||||
|
||||
diff --git a/drivers/mmc/host/sdhci-of-dwcmshc.c b/drivers/mmc/host/sdhci-of-dwcmshc.c
|
||||
index 09b9ab15e4995f0bddf57dd309c010c849be40d9..a00aec05eff2da8197cc64690ba9665be756e54a 100644
|
||||
--- a/drivers/mmc/host/sdhci-of-dwcmshc.c
|
||||
+++ b/drivers/mmc/host/sdhci-of-dwcmshc.c
|
||||
@@ -17,6 +17,7 @@
|
||||
@ -20,7 +18,7 @@ index 09b9ab15e4995f0bddf57dd309c010c849be40d9..a00aec05eff2da8197cc64690ba9665b
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/reset.h>
|
||||
#include <linux/sizes.h>
|
||||
@@ -745,6 +746,28 @@ static void dwcmshc_rk35xx_postinit(struct sdhci_host *host, struct dwcmshc_priv
|
||||
@@ -787,6 +788,28 @@ static void dwcmshc_rk35xx_postinit(stru
|
||||
}
|
||||
}
|
||||
|
||||
@ -49,7 +47,7 @@ index 09b9ab15e4995f0bddf57dd309c010c849be40d9..a00aec05eff2da8197cc64690ba9665b
|
||||
static int th1520_execute_tuning(struct sdhci_host *host, u32 opcode)
|
||||
{
|
||||
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
||||
@@ -1176,6 +1199,18 @@ static const struct dwcmshc_pltfm_data sdhci_dwcmshc_rk35xx_pdata = {
|
||||
@@ -1218,6 +1241,18 @@ static const struct dwcmshc_pltfm_data s
|
||||
.postinit = dwcmshc_rk35xx_postinit,
|
||||
};
|
||||
|
||||
@ -68,16 +66,14 @@ index 09b9ab15e4995f0bddf57dd309c010c849be40d9..a00aec05eff2da8197cc64690ba9665b
|
||||
static const struct dwcmshc_pltfm_data sdhci_dwcmshc_th1520_pdata = {
|
||||
.pdata = {
|
||||
.ops = &sdhci_dwcmshc_th1520_ops,
|
||||
@@ -1274,6 +1309,10 @@ static const struct of_device_id sdhci_dwcmshc_dt_ids[] = {
|
||||
.compatible = "rockchip,rk3588-dwcmshc",
|
||||
@@ -1317,6 +1352,10 @@ static const struct of_device_id sdhci_d
|
||||
.data = &sdhci_dwcmshc_rk35xx_pdata,
|
||||
},
|
||||
+ {
|
||||
{
|
||||
+ .compatible = "rockchip,rk3576-dwcmshc",
|
||||
+ .data = &sdhci_dwcmshc_rk3576_pdata,
|
||||
+ },
|
||||
{
|
||||
+ {
|
||||
.compatible = "rockchip,rk3568-dwcmshc",
|
||||
.data = &sdhci_dwcmshc_rk35xx_pdata,
|
||||
|
||||
---
|
||||
},
|
||||
|
@ -11,7 +11,7 @@ Signed-off-by: wevsty <ty@wevs.org>
|
||||
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
|
||||
@@ -1127,10 +1127,10 @@
|
||||
@@ -1132,10 +1132,10 @@
|
||||
};
|
||||
|
||||
rng: rng@fe388000 {
|
||||
|
@ -191,7 +191,7 @@ Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
const char *const *parent_names,
|
||||
--- a/include/soc/rockchip/rockchip_sip.h
|
||||
+++ b/include/soc/rockchip/rockchip_sip.h
|
||||
@@ -16,5 +16,16 @@
|
||||
@@ -19,5 +19,16 @@
|
||||
#define ROCKCHIP_SIP_CONFIG_DRAM_CLR_IRQ 0x06
|
||||
#define ROCKCHIP_SIP_CONFIG_DRAM_SET_PARAM 0x07
|
||||
#define ROCKCHIP_SIP_CONFIG_DRAM_SET_ODT_PD 0x08
|
||||
|
@ -9,7 +9,7 @@ Signed-off-by: hmz007 <hmz007@gmail.com>
|
||||
|
||||
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
|
||||
@@ -1074,6 +1074,13 @@
|
||||
@@ -1075,6 +1075,13 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -54,5 +54,5 @@
|
||||
+};
|
||||
+
|
||||
&gmac2io {
|
||||
phy-handle = <&yt8531c>;
|
||||
tx_delay = <0x19>;
|
||||
/delete-property/ tx_delay;
|
||||
/delete-property/ rx_delay;
|
||||
|
@ -2,7 +2,7 @@
|
||||
index 83a7af898..b92e702d1 100644
|
||||
--- a/net/rfkill/Kconfig
|
||||
+++ b/net/rfkill/Kconfig
|
||||
@@ -32,3 +32,12 @@ config RFKILL_GPIO
|
||||
@@ -36,3 +36,12 @@ config RFKILL_GPIO
|
||||
help
|
||||
If you say yes here you get support of a generic gpio RFKILL
|
||||
driver.
|
||||
@ -15,19 +15,14 @@ index 83a7af898..b92e702d1 100644
|
||||
+ help
|
||||
+ If you say yes here you get support of a new generic gpio RFKILL
|
||||
+ driver.
|
||||
diff --git a/net/rfkill/Makefile b/net/rfkill/Makefile
|
||||
index dc47b6174..680302e72 100644
|
||||
--- a/net/rfkill/Makefile
|
||||
+++ b/net/rfkill/Makefile
|
||||
@@ -7,3 +7,5 @@ rfkill-y += core.o
|
||||
rfkill-$(CONFIG_RFKILL_INPUT) += input.o
|
||||
obj-$(CONFIG_RFKILL) += rfkill.o
|
||||
obj-$(CONFIG_RFKILL_FULL) += rfkill.o
|
||||
obj-$(CONFIG_RFKILL_GPIO) += rfkill-gpio.o
|
||||
+
|
||||
+obj-$(CONFIG_RFKILL_GPIO_NEO) += rfkill-gpio-neo.o
|
||||
diff --git a/net/rfkill/rfkill-gpio-neo.c b/net/rfkill/rfkill-gpio-neo.c
|
||||
new file mode 100644
|
||||
index 000000000..745e417e6
|
||||
--- /dev/null
|
||||
+++ b/net/rfkill/rfkill-gpio-neo.c
|
||||
@@ -0,0 +1,261 @@
|
||||
|
@ -1,5 +1,5 @@
|
||||
--- a/drivers/net/phy/motorcomm.c 2025-02-14 18:58:18.691542738 +0900
|
||||
+++ b/drivers/net/phy/motorcomm.c 2025-02-14 19:05:00.299135505 +0900
|
||||
--- a/drivers/net/phy/motorcomm.c
|
||||
+++ b/drivers/net/phy/motorcomm.c
|
||||
@@ -353,6 +353,12 @@
|
||||
#define YT8821_CHIP_MODE_AUTO_BX2500_SGMII 0
|
||||
#define YT8821_CHIP_MODE_FORCE_BX2500 1
|
||||
@ -13,7 +13,7 @@
|
||||
struct yt8521_priv {
|
||||
/* combo_advertising is used for case of YT8521 in combo mode,
|
||||
* this means that yt8521 may work in utp or fiber mode which depends
|
||||
@@ -1577,6 +1583,20 @@
|
||||
@@ -1577,6 +1583,20 @@ static int yt8521_modify_utp_fiber_bmcr(
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
/**
|
||||
* yt8521_soft_reset() - called to issue a PHY software reset
|
||||
* @phydev: a pointer to a &struct phy_device
|
||||
@@ -1677,6 +1697,9 @@
|
||||
@@ -1677,6 +1697,9 @@ static int yt8521_config_init(struct phy
|
||||
if (ret < 0)
|
||||
goto err_restore_page;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c 2025-03-06 21:30:53.981108971 +0900
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c 2025-03-06 21:30:06.752107940 +0900
|
||||
@@ -138,6 +138,7 @@
|
||||
--- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
|
||||
+++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
|
||||
@@ -138,6 +138,7 @@ struct rockchip_combphy_grfcfg {
|
||||
struct combphy_reg pipe_xpcs_phy_ready;
|
||||
struct combphy_reg pipe_pcie1l0_sel;
|
||||
struct combphy_reg pipe_pcie1l1_sel;
|
||||
@ -8,7 +8,7 @@
|
||||
};
|
||||
|
||||
struct rockchip_combphy_cfg {
|
||||
@@ -290,6 +291,7 @@
|
||||
@@ -290,6 +291,7 @@ static struct phy *rockchip_combphy_xlat
|
||||
|
||||
static int rockchip_combphy_parse_dt(struct device *dev, struct rockchip_combphy_priv *priv)
|
||||
{
|
||||
@ -16,7 +16,7 @@
|
||||
int i;
|
||||
|
||||
priv->num_clks = devm_clk_bulk_get_all(dev, &priv->clks);
|
||||
@@ -325,6 +327,11 @@
|
||||
@@ -325,6 +327,11 @@ static int rockchip_combphy_parse_dt(str
|
||||
|
||||
priv->ext_refclk = device_property_present(dev, "rockchip,ext-refclk");
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
priv->phy_rst = devm_reset_control_get_exclusive(dev, "phy");
|
||||
/* fallback to old behaviour */
|
||||
if (PTR_ERR(priv->phy_rst) == -ENOENT)
|
||||
@@ -704,6 +711,7 @@
|
||||
@@ -704,6 +711,7 @@ static const struct rockchip_combphy_grf
|
||||
/* pipe-grf */
|
||||
.pipe_con0_for_sata = { 0x0000, 15, 0, 0x00, 0x2220 },
|
||||
.pipe_xpcs_phy_ready = { 0x0040, 2, 2, 0x00, 0x01 },
|
||||
|
@ -292,6 +292,7 @@ CONFIG_MICROCODE_AMD=y
|
||||
CONFIG_MICROCODE_INTEL=y
|
||||
# CONFIG_MICROCODE_LATE_LOADING is not set
|
||||
CONFIG_MIGRATION=y
|
||||
CONFIG_MITIGATION_ITS=y
|
||||
CONFIG_MITIGATION_RFDS=y
|
||||
# CONFIG_MK6 is not set
|
||||
# CONFIG_MK7 is not set
|
||||
@ -408,7 +409,7 @@ CONFIG_RANDSTRUCT_NONE=y
|
||||
CONFIG_RATIONAL=y
|
||||
CONFIG_RD_BZIP2=y
|
||||
CONFIG_RD_GZIP=y
|
||||
# CONFIG_RETHUNK is not set
|
||||
CONFIG_RETHUNK=y
|
||||
CONFIG_RETPOLINE=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_I2C_AND_SPI=y
|
||||
|
@ -241,6 +241,7 @@ CONFIG_M686=y
|
||||
CONFIG_MICROCODE=y
|
||||
CONFIG_MICROCODE_LATE_LOADING=y
|
||||
CONFIG_MIGRATION=y
|
||||
CONFIG_MITIGATION_ITS=y
|
||||
CONFIG_MITIGATION_RFDS=y
|
||||
CONFIG_MITIGATION_SPECTRE_BHI=y
|
||||
# CONFIG_MK6 is not set
|
||||
|
@ -294,6 +294,7 @@ CONFIG_MICROCODE_AMD=y
|
||||
CONFIG_MICROCODE_INTEL=y
|
||||
# CONFIG_MICROCODE_LATE_LOADING is not set
|
||||
CONFIG_MIGRATION=y
|
||||
CONFIG_MITIGATION_ITS=y
|
||||
CONFIG_MITIGATION_RFDS=y
|
||||
# CONFIG_MK6 is not set
|
||||
# CONFIG_MK7 is not set
|
||||
@ -414,7 +415,7 @@ CONFIG_RANDSTRUCT_NONE=y
|
||||
CONFIG_RATIONAL=y
|
||||
CONFIG_RD_BZIP2=y
|
||||
CONFIG_RD_GZIP=y
|
||||
# CONFIG_RETHUNK is not set
|
||||
CONFIG_RETHUNK=y
|
||||
CONFIG_RETPOLINE=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_I2C_AND_SPI=y
|
||||
|
@ -1,11 +1,11 @@
|
||||
--- a/arch/x86/include/asm/intel-family.h
|
||||
+++ b/arch/x86/include/asm/intel-family.h
|
||||
@@ -126,6 +126,8 @@
|
||||
#define INTEL_GRANITERAPIDS_X IFM(6, 0xAD) /* Redwood Cove */
|
||||
#define INTEL_GRANITERAPIDS_D IFM(6, 0xAE)
|
||||
@@ -117,6 +117,8 @@
|
||||
|
||||
#define INTEL_BARTLETTLAKE IFM(6, 0xD7) /* Raptor Cove */
|
||||
|
||||
+#define INTEL_RAPTORCOVE IFM(6, 0xD7) /* Bartlett Lake */
|
||||
+
|
||||
/* "Hybrid" Processors (P-Core/E-Core) */
|
||||
|
||||
#define INTEL_LAKEFIELD IFM(6, 0x8A) /* Sunny Cove / Tremont */
|
||||
#define INTEL_LAKEFIELD IFM(6, 0x8A) /* Sunny Cove / Tremont */
|
||||
|
@ -15,7 +15,7 @@ when FPU is not usable.
|
||||
|
||||
--- a/crypto/Kconfig
|
||||
+++ b/crypto/Kconfig
|
||||
@@ -683,6 +683,16 @@ config CRYPTO_HCTR2
|
||||
@@ -685,6 +685,16 @@ config CRYPTO_HCTR2
|
||||
|
||||
See https://eprint.iacr.org/2021/1441
|
||||
|
||||
|
@ -93,6 +93,7 @@ $(curdir)/automake/compile := $(curdir)/autoconf/compile $(curdir)/pkgconf/compi
|
||||
$(curdir)/b43-tools/compile := $(curdir)/bison/compile
|
||||
$(curdir)/bc/compile := $(curdir)/bison/compile $(curdir)/libtool/compile
|
||||
$(curdir)/bison/compile := $(curdir)/flex/compile
|
||||
$(curdir)/bzip2/compile := $(curdir)/cmake/compile
|
||||
$(curdir)/cbootimage/compile += $(curdir)/automake/compile
|
||||
$(curdir)/cmake/compile += $(curdir)/libressl/compile $(curdir)/ninja/compile $(curdir)/expat/compile $(curdir)/xz/compile $(curdir)/zlib/compile $(curdir)/zstd/compile
|
||||
$(curdir)/dosfstools/compile := $(curdir)/automake/compile
|
||||
|
Loading…
x
Reference in New Issue
Block a user