kernel: bump 4.19 to 4.19.139
Resolve conflicted: - 950-0259-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch Refreshed all patches. Compile-test-on: bcm27xx Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
This commit is contained in:
parent
7ad5013407
commit
bdc50d7088
@ -8,11 +8,11 @@ endif
|
||||
|
||||
LINUX_VERSION-4.9 = .232
|
||||
LINUX_VERSION-4.14 = .193
|
||||
LINUX_VERSION-4.19 = .138
|
||||
LINUX_VERSION-4.19 = .139
|
||||
|
||||
LINUX_KERNEL_HASH-4.9.232 = 58f472e82345dc719a1d6d7bae01e5aa73387cd83308acd2c92371f7d5bc4f60
|
||||
LINUX_KERNEL_HASH-4.14.193 = 0b0fb41d4430e1a42738b341cbfd2f41951aa5cd02acabbd53f076119c8b9f03
|
||||
LINUX_KERNEL_HASH-4.19.138 = d15c27d05f6c527269b75b30cc72972748e55720e7e00ad8abbaa4fe3b1d5e02
|
||||
LINUX_KERNEL_HASH-4.19.139 = 9c4ebf21fe949f80fbcfbbd6e7fe181040d325e89475e230ab53ef01f9d55605
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
||||
@ -44,7 +44,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
|
||||
|
||||
#include "xhci.h"
|
||||
#include "xhci-trace.h"
|
||||
@@ -268,6 +270,458 @@ static void xhci_pme_acpi_rtd3_enable(st
|
||||
@@ -272,6 +274,458 @@ static void xhci_pme_acpi_rtd3_enable(st
|
||||
static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
|
||||
#endif /* CONFIG_ACPI */
|
||||
|
||||
@ -503,7 +503,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
|
||||
/* called during probe() after chip reset completes */
|
||||
static int xhci_pci_setup(struct usb_hcd *hcd)
|
||||
{
|
||||
@@ -309,6 +763,22 @@ static int xhci_pci_probe(struct pci_dev
|
||||
@@ -313,6 +767,22 @@ static int xhci_pci_probe(struct pci_dev
|
||||
struct hc_driver *driver;
|
||||
struct usb_hcd *hcd;
|
||||
|
||||
@ -526,7 +526,7 @@ Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
|
||||
driver = (struct hc_driver *)id->driver_data;
|
||||
|
||||
/* Prevent runtime suspending between USB-2 and USB-3 initialization */
|
||||
@@ -367,6 +837,16 @@ static void xhci_pci_remove(struct pci_d
|
||||
@@ -371,6 +841,16 @@ static void xhci_pci_remove(struct pci_d
|
||||
{
|
||||
struct xhci_hcd *xhci;
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ produce a noisy warning.
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -218,6 +218,7 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -221,6 +221,7 @@ static void xhci_pci_quirks(struct devic
|
||||
pdev->device == 0x0015) {
|
||||
xhci->quirks |= XHCI_RESET_ON_RESUME;
|
||||
xhci->quirks |= XHCI_ZERO_64B_REGS;
|
||||
|
||||
@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/usb/lan78xx.c
|
||||
+++ b/drivers/net/usb/lan78xx.c
|
||||
@@ -2477,6 +2477,11 @@ static int lan78xx_reset(struct lan78xx_
|
||||
@@ -2473,6 +2473,11 @@ static int lan78xx_reset(struct lan78xx_
|
||||
int ret = 0;
|
||||
unsigned long timeout;
|
||||
u8 sig;
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
ret = lan78xx_read_reg(dev, HW_CFG, &buf);
|
||||
buf |= HW_CFG_LRST_;
|
||||
@@ -2530,6 +2535,9 @@ static int lan78xx_reset(struct lan78xx_
|
||||
@@ -2526,6 +2531,9 @@ static int lan78xx_reset(struct lan78xx_
|
||||
|
||||
ret = lan78xx_read_reg(dev, HW_CFG, &buf);
|
||||
buf |= HW_CFG_MEF_;
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
ret = lan78xx_write_reg(dev, HW_CFG, buf);
|
||||
|
||||
ret = lan78xx_read_reg(dev, USB_CFG0, &buf);
|
||||
@@ -2585,6 +2593,9 @@ static int lan78xx_reset(struct lan78xx_
|
||||
@@ -2581,6 +2589,9 @@ static int lan78xx_reset(struct lan78xx_
|
||||
buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_;
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/usb/lan78xx.c
|
||||
+++ b/drivers/net/usb/lan78xx.c
|
||||
@@ -2659,6 +2659,22 @@ static int lan78xx_open(struct net_devic
|
||||
@@ -2655,6 +2655,22 @@ static int lan78xx_open(struct net_devic
|
||||
|
||||
netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/usb/lan78xx.c
|
||||
+++ b/drivers/net/usb/lan78xx.c
|
||||
@@ -440,6 +440,15 @@ static int msg_level = -1;
|
||||
@@ -436,6 +436,15 @@ static int msg_level = -1;
|
||||
module_param(msg_level, int, 0);
|
||||
MODULE_PARM_DESC(msg_level, "Override default message level");
|
||||
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
||||
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
|
||||
{
|
||||
u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL);
|
||||
@@ -3010,8 +3019,14 @@ static int lan78xx_bind(struct lan78xx_n
|
||||
@@ -2940,8 +2949,14 @@ static int lan78xx_bind(struct lan78xx_n
|
||||
if (DEFAULT_RX_CSUM_ENABLE)
|
||||
dev->net->features |= NETIF_F_RXCSUM;
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/usb/lan78xx.c
|
||||
+++ b/drivers/net/usb/lan78xx.c
|
||||
@@ -2191,6 +2191,22 @@ static int lan78xx_phy_init(struct lan78
|
||||
@@ -2187,6 +2187,22 @@ static int lan78xx_phy_init(struct lan78
|
||||
mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control);
|
||||
phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv);
|
||||
|
||||
@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
if (phydev->mdio.dev.of_node) {
|
||||
u32 reg;
|
||||
int len;
|
||||
@@ -2668,22 +2684,6 @@ static int lan78xx_open(struct net_devic
|
||||
@@ -2664,22 +2680,6 @@ static int lan78xx_open(struct net_devic
|
||||
|
||||
netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ See: https://github.com/raspberrypi/linux/issues/2447
|
||||
|
||||
--- a/drivers/net/usb/lan78xx.c
|
||||
+++ b/drivers/net/usb/lan78xx.c
|
||||
@@ -449,6 +449,11 @@ static bool enable_tso;
|
||||
@@ -445,6 +445,11 @@ static bool enable_tso;
|
||||
module_param(enable_tso, bool, 0644);
|
||||
MODULE_PARM_DESC(enable_tso, "Enables TCP segmentation offload");
|
||||
|
||||
@ -28,17 +28,17 @@ See: https://github.com/raspberrypi/linux/issues/2447
|
||||
static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
|
||||
{
|
||||
u32 *buf = kmalloc(sizeof(u32), GFP_KERNEL);
|
||||
@@ -3843,7 +3848,12 @@ static int lan78xx_probe(struct usb_inte
|
||||
dev->pipe_intr = usb_rcvintpipe(dev->udev,
|
||||
dev->ep_intr->desc.bEndpointAddress &
|
||||
USB_ENDPOINT_NUMBER_MASK);
|
||||
- period = dev->ep_intr->desc.bInterval;
|
||||
@@ -3787,7 +3792,12 @@ static int lan78xx_probe(struct usb_inte
|
||||
netdev->max_mtu = MAX_SINGLE_PACKET_SIZE;
|
||||
netif_set_gso_max_size(netdev, MAX_SINGLE_PACKET_SIZE - MAX_HEADER);
|
||||
|
||||
- period = ep_intr->desc.bInterval;
|
||||
+ if (int_urb_interval_ms <= 0)
|
||||
+ period = dev->ep_intr->desc.bInterval;
|
||||
+ period = ep_intr->desc.bInterval;
|
||||
+ else
|
||||
+ period = int_urb_interval_ms * INT_URB_MICROFRAMES_PER_MS;
|
||||
+
|
||||
+ netif_notice(dev, probe, netdev, "int urb period %d\n", period);
|
||||
|
||||
+
|
||||
maxp = usb_maxpacket(dev->udev, dev->pipe_intr, 0);
|
||||
buf = kmalloc(maxp, GFP_KERNEL);
|
||||
if (buf) {
|
||||
|
||||
@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/usb/lan78xx.c
|
||||
+++ b/drivers/net/usb/lan78xx.c
|
||||
@@ -2196,7 +2196,7 @@ static int lan78xx_phy_init(struct lan78
|
||||
@@ -2192,7 +2192,7 @@ static int lan78xx_phy_init(struct lan78
|
||||
mii_adv = (u32)mii_advertise_flowctrl(dev->fc_request_control);
|
||||
phydev->advertising |= mii_adv_to_ethtool_adv_t(mii_adv);
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ in both dwc_otg and in ipv6 processing.
|
||||
|
||||
--- a/drivers/net/usb/lan78xx.c
|
||||
+++ b/drivers/net/usb/lan78xx.c
|
||||
@@ -3257,7 +3257,7 @@ static int rx_submit(struct lan78xx_net
|
||||
@@ -3187,7 +3187,7 @@ static int rx_submit(struct lan78xx_net
|
||||
size_t size = dev->rx_urb_size;
|
||||
int ret = 0;
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -225,6 +225,10 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -228,6 +228,10 @@ static void xhci_pci_quirks(struct devic
|
||||
pdev->device == 0x3432)
|
||||
xhci->quirks |= XHCI_BROKEN_STREAMS;
|
||||
|
||||
@ -19,5 +19,5 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
+ xhci->quirks |= XHCI_LPM_SUPPORT;
|
||||
+
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
pdev->device == 0x1042)
|
||||
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
|
||||
xhci->quirks |= XHCI_BROKEN_STREAMS;
|
||||
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -226,8 +226,10 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -229,8 +229,10 @@ static void xhci_pci_quirks(struct devic
|
||||
xhci->quirks |= XHCI_BROKEN_STREAMS;
|
||||
|
||||
if (pdev->vendor == PCI_VENDOR_ID_VIA &&
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
+ }
|
||||
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
pdev->device == 0x1042)
|
||||
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -520,7 +520,10 @@ void xhci_find_new_dequeue_state(struct
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -9,8 +9,6 @@ size belongs.
|
||||
|
||||
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
|
||||
|
||||
diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c
|
||||
index 0376bb969834..0776286cfc9e 100644
|
||||
--- a/drivers/crypto/qce/skcipher.c
|
||||
+++ b/drivers/crypto/qce/skcipher.c
|
||||
@@ -261,6 +261,7 @@ struct qce_skcipher_def {
|
||||
@ -21,7 +19,7 @@ index 0376bb969834..0776286cfc9e 100644
|
||||
unsigned int ivsize;
|
||||
unsigned int min_keysize;
|
||||
unsigned int max_keysize;
|
||||
@@ -289,7 +290,8 @@ static const struct qce_skcipher_def skcipher_def[] = {
|
||||
@@ -289,7 +290,8 @@ static const struct qce_skcipher_def skc
|
||||
.flags = QCE_ALG_AES | QCE_MODE_CTR,
|
||||
.name = "ctr(aes)",
|
||||
.drv_name = "ctr-aes-qce",
|
||||
@ -31,7 +29,7 @@ index 0376bb969834..0776286cfc9e 100644
|
||||
.ivsize = AES_BLOCK_SIZE,
|
||||
.min_keysize = AES_MIN_KEY_SIZE,
|
||||
.max_keysize = AES_MAX_KEY_SIZE,
|
||||
@@ -359,6 +361,7 @@ static int qce_skcipher_register_one(const struct qce_skcipher_def *def,
|
||||
@@ -359,6 +361,7 @@ static int qce_skcipher_register_one(con
|
||||
def->drv_name);
|
||||
|
||||
alg->base.cra_blocksize = def->blocksize;
|
||||
|
||||
@ -8,11 +8,9 @@ skcipher_def, and halved when checking if it is AES-128/192/256.
|
||||
|
||||
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
|
||||
|
||||
diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c
|
||||
index 0776286cfc9e..9b1bb32515b4 100644
|
||||
--- a/drivers/crypto/qce/skcipher.c
|
||||
+++ b/drivers/crypto/qce/skcipher.c
|
||||
@@ -168,7 +168,7 @@ static int qce_skcipher_setkey(struct crypto_skcipher *ablk, const u8 *key,
|
||||
@@ -168,7 +168,7 @@ static int qce_skcipher_setkey(struct cr
|
||||
return -EINVAL;
|
||||
|
||||
if (IS_AES(flags)) {
|
||||
@ -21,7 +19,7 @@ index 0776286cfc9e..9b1bb32515b4 100644
|
||||
case AES_KEYSIZE_128:
|
||||
case AES_KEYSIZE_256:
|
||||
break;
|
||||
@@ -203,13 +203,15 @@ static int qce_skcipher_crypt(struct skcipher_request *req, int encrypt)
|
||||
@@ -203,13 +203,15 @@ static int qce_skcipher_crypt(struct skc
|
||||
struct qce_cipher_ctx *ctx = crypto_skcipher_ctx(tfm);
|
||||
struct qce_cipher_reqctx *rctx = skcipher_request_ctx(req);
|
||||
struct qce_alg_template *tmpl = to_cipher_tmpl(tfm);
|
||||
@ -39,7 +37,7 @@ index 0776286cfc9e..9b1bb32515b4 100644
|
||||
SKCIPHER_REQUEST_ON_STACK(subreq, ctx->fallback);
|
||||
|
||||
skcipher_request_set_tfm(subreq, ctx->fallback);
|
||||
@@ -302,8 +304,8 @@ static const struct qce_skcipher_def skcipher_def[] = {
|
||||
@@ -302,8 +304,8 @@ static const struct qce_skcipher_def skc
|
||||
.drv_name = "xts-aes-qce",
|
||||
.blocksize = AES_BLOCK_SIZE,
|
||||
.ivsize = AES_BLOCK_SIZE,
|
||||
|
||||
@ -21,11 +21,9 @@ for the result buffer is guaranteed to be unused.
|
||||
|
||||
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
|
||||
|
||||
diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c
|
||||
index 4797e795c9b9..db560c3d3e4f 100644
|
||||
--- a/drivers/crypto/qce/dma.c
|
||||
+++ b/drivers/crypto/qce/dma.c
|
||||
@@ -55,7 +55,8 @@ void qce_dma_release(struct qce_dma_data *dma)
|
||||
@@ -55,7 +55,8 @@ void qce_dma_release(struct qce_dma_data
|
||||
}
|
||||
|
||||
struct scatterlist *
|
||||
@ -35,7 +33,7 @@ index 4797e795c9b9..db560c3d3e4f 100644
|
||||
{
|
||||
struct scatterlist *sg = sgt->sgl, *sg_last = NULL;
|
||||
|
||||
@@ -68,12 +69,13 @@ qce_sgtable_add(struct sg_table *sgt, struct scatterlist *new_sgl)
|
||||
@@ -68,12 +69,13 @@ qce_sgtable_add(struct sg_table *sgt, st
|
||||
if (!sg)
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
@ -50,11 +48,9 @@ index 4797e795c9b9..db560c3d3e4f 100644
|
||||
}
|
||||
|
||||
return sg_last;
|
||||
diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h
|
||||
index 130235d17bb4..0be71f7f7a58 100644
|
||||
--- a/drivers/crypto/qce/dma.h
|
||||
+++ b/drivers/crypto/qce/dma.h
|
||||
@@ -50,6 +50,7 @@ int qce_dma_prep_sgs(struct qce_dma_data *dma, struct scatterlist *sg_in,
|
||||
@@ -50,6 +50,7 @@ int qce_dma_prep_sgs(struct qce_dma_data
|
||||
void qce_dma_issue_pending(struct qce_dma_data *dma);
|
||||
int qce_dma_terminate_all(struct qce_dma_data *dma);
|
||||
struct scatterlist *
|
||||
@ -63,11 +59,9 @@ index 130235d17bb4..0be71f7f7a58 100644
|
||||
+ int max_ents);
|
||||
|
||||
#endif /* _DMA_H_ */
|
||||
diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c
|
||||
index 12f882032544..33d998f5cf5f 100644
|
||||
--- a/drivers/crypto/qce/skcipher.c
|
||||
+++ b/drivers/crypto/qce/skcipher.c
|
||||
@@ -103,13 +103,13 @@ qce_skcipher_async_req_handle(struct crypto_async_request *async_req)
|
||||
@@ -103,13 +103,13 @@ qce_skcipher_async_req_handle(struct cry
|
||||
|
||||
sg_init_one(&rctx->result_sg, qce->dma.result_buf, QCE_RESULT_BUF_SZ);
|
||||
|
||||
|
||||
@ -7,11 +7,9 @@ Update the IV after the completion of each cipher operation.
|
||||
|
||||
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
|
||||
|
||||
diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c
|
||||
index 33d998f5cf5f..51377395ed53 100644
|
||||
--- a/drivers/crypto/qce/skcipher.c
|
||||
+++ b/drivers/crypto/qce/skcipher.c
|
||||
@@ -29,6 +29,7 @@ static void qce_skcipher_done(void *data)
|
||||
@@ -29,6 +29,7 @@ static void qce_skcipher_done(void *data
|
||||
struct qce_cipher_reqctx *rctx = skcipher_request_ctx(req);
|
||||
struct qce_alg_template *tmpl = to_cipher_tmpl(crypto_skcipher_reqtfm(req));
|
||||
struct qce_device *qce = tmpl->qce;
|
||||
@ -19,7 +17,7 @@ index 33d998f5cf5f..51377395ed53 100644
|
||||
enum dma_data_direction dir_src, dir_dst;
|
||||
u32 status;
|
||||
int error;
|
||||
@@ -53,6 +54,7 @@ static void qce_skcipher_done(void *data)
|
||||
@@ -53,6 +54,7 @@ static void qce_skcipher_done(void *data
|
||||
if (error < 0)
|
||||
dev_dbg(qce->dev, "skcipher operation error (%x)\n", status);
|
||||
|
||||
|
||||
@ -12,11 +12,9 @@ restricted to AES.
|
||||
|
||||
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
|
||||
|
||||
diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c
|
||||
index 51377395ed53..5a4863091f2a 100644
|
||||
--- a/drivers/crypto/qce/skcipher.c
|
||||
+++ b/drivers/crypto/qce/skcipher.c
|
||||
@@ -246,7 +246,15 @@ static int qce_skcipher_init(struct crypto_skcipher *tfm)
|
||||
@@ -246,7 +246,15 @@ static int qce_skcipher_init(struct cryp
|
||||
|
||||
memset(ctx, 0, sizeof(*ctx));
|
||||
crypto_skcipher_set_reqsize(tfm, sizeof(struct qce_cipher_reqctx));
|
||||
@ -32,7 +30,7 @@ index 51377395ed53..5a4863091f2a 100644
|
||||
ctx->fallback = crypto_alloc_skcipher(crypto_tfm_alg_name(&tfm->base),
|
||||
0, CRYPTO_ALG_ASYNC |
|
||||
CRYPTO_ALG_NEED_FALLBACK);
|
||||
@@ -375,14 +383,18 @@ static int qce_skcipher_register_one(const struct qce_skcipher_def *def,
|
||||
@@ -375,14 +383,18 @@ static int qce_skcipher_register_one(con
|
||||
|
||||
alg->base.cra_priority = 300;
|
||||
alg->base.cra_flags = CRYPTO_ALG_ASYNC |
|
||||
|
||||
@ -20,11 +20,9 @@ destination buffer to req->cryptlen before appending the result buf.
|
||||
|
||||
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
|
||||
|
||||
diff --git a/drivers/crypto/qce/dma.c b/drivers/crypto/qce/dma.c
|
||||
index db560c3d3e4f..0ae9d28afa69 100644
|
||||
--- a/drivers/crypto/qce/dma.c
|
||||
+++ b/drivers/crypto/qce/dma.c
|
||||
@@ -56,9 +56,10 @@ void qce_dma_release(struct qce_dma_data *dma)
|
||||
@@ -56,9 +56,10 @@ void qce_dma_release(struct qce_dma_data
|
||||
|
||||
struct scatterlist *
|
||||
qce_sgtable_add(struct sg_table *sgt, struct scatterlist *new_sgl,
|
||||
@ -36,7 +34,7 @@ index db560c3d3e4f..0ae9d28afa69 100644
|
||||
|
||||
while (sg) {
|
||||
if (!sg_page(sg))
|
||||
@@ -69,13 +70,13 @@ qce_sgtable_add(struct sg_table *sgt, struct scatterlist *new_sgl,
|
||||
@@ -69,13 +70,13 @@ qce_sgtable_add(struct sg_table *sgt, st
|
||||
if (!sg)
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
@ -54,11 +52,9 @@ index db560c3d3e4f..0ae9d28afa69 100644
|
||||
}
|
||||
|
||||
return sg_last;
|
||||
diff --git a/drivers/crypto/qce/dma.h b/drivers/crypto/qce/dma.h
|
||||
index 0be71f7f7a58..710d5e370293 100644
|
||||
--- a/drivers/crypto/qce/dma.h
|
||||
+++ b/drivers/crypto/qce/dma.h
|
||||
@@ -51,6 +51,6 @@ void qce_dma_issue_pending(struct qce_dma_data *dma);
|
||||
@@ -51,6 +51,6 @@ void qce_dma_issue_pending(struct qce_dm
|
||||
int qce_dma_terminate_all(struct qce_dma_data *dma);
|
||||
struct scatterlist *
|
||||
qce_sgtable_add(struct sg_table *sgt, struct scatterlist *sg_add,
|
||||
@ -66,11 +62,9 @@ index 0be71f7f7a58..710d5e370293 100644
|
||||
+ unsigned int max_len);
|
||||
|
||||
#endif /* _DMA_H_ */
|
||||
diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c
|
||||
index 5af74f2431ca..188eb234ba2c 100644
|
||||
--- a/drivers/crypto/qce/skcipher.c
|
||||
+++ b/drivers/crypto/qce/skcipher.c
|
||||
@@ -105,13 +105,14 @@ qce_skcipher_async_req_handle(struct crypto_async_request *async_req)
|
||||
@@ -105,13 +105,14 @@ qce_skcipher_async_req_handle(struct cry
|
||||
|
||||
sg_init_one(&rctx->result_sg, qce->dma.result_buf, QCE_RESULT_BUF_SZ);
|
||||
|
||||
|
||||
@ -24,13 +24,11 @@ in CPU usage.
|
||||
|
||||
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
|
||||
|
||||
diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
|
||||
index c1595750864e..a0c4d85de4c3 100644
|
||||
--- a/drivers/crypto/Kconfig
|
||||
+++ b/drivers/crypto/Kconfig
|
||||
@@ -640,6 +640,29 @@ choice
|
||||
|
||||
endchoice
|
||||
@@ -585,6 +585,29 @@ config CRYPTO_DEV_QCE
|
||||
hardware. To compile this driver as a module, choose M here. The
|
||||
module will be called qcrypto.
|
||||
|
||||
+config CRYPTO_DEV_QCE_SW_MAX_LEN
|
||||
+ int "Default maximum request size to use software for AES"
|
||||
@ -58,8 +56,6 @@ index c1595750864e..a0c4d85de4c3 100644
|
||||
config CRYPTO_DEV_QCOM_RNG
|
||||
tristate "Qualcomm Random Number Generator Driver"
|
||||
depends on ARCH_QCOM || COMPILE_TEST
|
||||
diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c
|
||||
index 188eb234ba2c..9b72fec2ab2e 100644
|
||||
--- a/drivers/crypto/qce/skcipher.c
|
||||
+++ b/drivers/crypto/qce/skcipher.c
|
||||
@@ -13,6 +13,7 @@
|
||||
@ -84,7 +80,7 @@ index 188eb234ba2c..9b72fec2ab2e 100644
|
||||
static LIST_HEAD(skcipher_algs);
|
||||
|
||||
static void qce_skcipher_done(void *data)
|
||||
@@ -170,15 +178,7 @@ static int qce_skcipher_setkey(struct crypto_skcipher *ablk, const u8 *key,
|
||||
@@ -170,15 +178,7 @@ static int qce_skcipher_setkey(struct cr
|
||||
if (!key || !keylen)
|
||||
return -EINVAL;
|
||||
|
||||
@ -101,7 +97,7 @@ index 188eb234ba2c..9b72fec2ab2e 100644
|
||||
u32 tmp[DES_EXPKEY_WORDS];
|
||||
|
||||
ret = des_ekey(tmp, key);
|
||||
@@ -189,8 +189,8 @@ static int qce_skcipher_setkey(struct crypto_skcipher *ablk, const u8 *key,
|
||||
@@ -189,8 +189,8 @@ static int qce_skcipher_setkey(struct cr
|
||||
|
||||
ctx->enc_keylen = keylen;
|
||||
memcpy(ctx->enc_key, key, keylen);
|
||||
@ -112,7 +108,7 @@ index 188eb234ba2c..9b72fec2ab2e 100644
|
||||
ret = crypto_skcipher_setkey(ctx->fallback, key, keylen);
|
||||
if (!ret)
|
||||
ctx->enc_keylen = keylen;
|
||||
@@ -213,8 +213,9 @@ static int qce_skcipher_crypt(struct skcipher_request *req, int encrypt)
|
||||
@@ -213,8 +213,9 @@ static int qce_skcipher_crypt(struct skc
|
||||
rctx->flags |= encrypt ? QCE_ENCRYPT : QCE_DECRYPT;
|
||||
keylen = IS_XTS(rctx->flags) ? ctx->enc_keylen >> 1 : ctx->enc_keylen;
|
||||
|
||||
|
||||
@ -9,8 +9,6 @@ fallback cipher handle them.
|
||||
|
||||
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
|
||||
|
||||
diff --git a/drivers/crypto/qce/common.c b/drivers/crypto/qce/common.c
|
||||
index 3849d7bcaeb0..3e0fcd7613f1 100644
|
||||
--- a/drivers/crypto/qce/common.c
|
||||
+++ b/drivers/crypto/qce/common.c
|
||||
@@ -23,8 +23,6 @@
|
||||
@ -22,8 +20,6 @@ index 3849d7bcaeb0..3e0fcd7613f1 100644
|
||||
static inline u32 qce_read(struct qce_device *qce, u32 offset)
|
||||
{
|
||||
return readl(qce->base + offset);
|
||||
diff --git a/drivers/crypto/qce/common.h b/drivers/crypto/qce/common.h
|
||||
index 3252efa41e7a..5f9d3c4e3ead 100644
|
||||
--- a/drivers/crypto/qce/common.h
|
||||
+++ b/drivers/crypto/qce/common.h
|
||||
@@ -20,6 +20,9 @@
|
||||
@ -36,11 +32,9 @@ index 3252efa41e7a..5f9d3c4e3ead 100644
|
||||
/* key size in bytes */
|
||||
#define QCE_SHA_HMAC_KEY_SIZE 64
|
||||
#define QCE_MAX_CIPHER_KEY_SIZE AES_KEYSIZE_256
|
||||
diff --git a/drivers/crypto/qce/skcipher.c b/drivers/crypto/qce/skcipher.c
|
||||
index 9b72fec2ab2e..e46cb8269640 100644
|
||||
--- a/drivers/crypto/qce/skcipher.c
|
||||
+++ b/drivers/crypto/qce/skcipher.c
|
||||
@@ -213,9 +213,14 @@ static int qce_skcipher_crypt(struct skcipher_request *req, int encrypt)
|
||||
@@ -213,9 +213,14 @@ static int qce_skcipher_crypt(struct skc
|
||||
rctx->flags |= encrypt ? QCE_ENCRYPT : QCE_DECRYPT;
|
||||
keylen = IS_XTS(rctx->flags) ? ctx->enc_keylen >> 1 : ctx->enc_keylen;
|
||||
|
||||
|
||||
@ -5,8 +5,6 @@ Subject: [PATCH] crypto: qce - allow building only hashes/ciphers
|
||||
|
||||
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
|
||||
|
||||
diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
|
||||
index a8c4ce07fc9d..c1595750864e 100644
|
||||
--- a/drivers/crypto/Kconfig
|
||||
+++ b/drivers/crypto/Kconfig
|
||||
@@ -573,6 +573,14 @@ config CRYPTO_DEV_QCE
|
||||
@ -28,10 +26,6 @@ index a8c4ce07fc9d..c1595750864e 100644
|
||||
select CRYPTO_XTS
|
||||
select CRYPTO_CTR
|
||||
select CRYPTO_BLKCIPHER
|
||||
- help
|
||||
- This driver supports Qualcomm crypto engine accelerator
|
||||
- hardware. To compile this driver as a module, choose M here. The
|
||||
- module will be called qcrypto.
|
||||
+
|
||||
+config CRYPTO_DEV_QCE_SHA
|
||||
+ bool
|
||||
@ -41,7 +35,10 @@ index a8c4ce07fc9d..c1595750864e 100644
|
||||
+ prompt "Algorithms enabled for QCE acceleration"
|
||||
+ default CRYPTO_DEV_QCE_ENABLE_ALL
|
||||
+ depends on CRYPTO_DEV_QCE
|
||||
+ help
|
||||
help
|
||||
- This driver supports Qualcomm crypto engine accelerator
|
||||
- hardware. To compile this driver as a module, choose M here. The
|
||||
- module will be called qcrypto.
|
||||
+ This option allows to choose whether to build support for all algorihtms
|
||||
+ (default), hashes-only, or skciphers-only.
|
||||
+
|
||||
@ -84,10 +81,8 @@ index a8c4ce07fc9d..c1595750864e 100644
|
||||
+
|
||||
+endchoice
|
||||
|
||||
config CRYPTO_DEV_QCOM_RNG
|
||||
tristate "Qualcomm Random Number Generator Driver"
|
||||
diff --git a/drivers/crypto/qce/Makefile b/drivers/crypto/qce/Makefile
|
||||
index 8caa04e1ec43..14ade8a7d664 100644
|
||||
config CRYPTO_DEV_QCE_SW_MAX_LEN
|
||||
int "Default maximum request size to use software for AES"
|
||||
--- a/drivers/crypto/qce/Makefile
|
||||
+++ b/drivers/crypto/qce/Makefile
|
||||
@@ -2,6 +2,7 @@
|
||||
@ -101,11 +96,9 @@ index 8caa04e1ec43..14ade8a7d664 100644
|
||||
+
|
||||
+qcrypto-$(CONFIG_CRYPTO_DEV_QCE_SHA) += sha.o
|
||||
+qcrypto-$(CONFIG_CRYPTO_DEV_QCE_SKCIPHER) += skcipher.o
|
||||
diff --git a/drivers/crypto/qce/common.c b/drivers/crypto/qce/common.c
|
||||
index e0202755682b..3849d7bcaeb0 100644
|
||||
--- a/drivers/crypto/qce/common.c
|
||||
+++ b/drivers/crypto/qce/common.c
|
||||
@@ -53,52 +53,56 @@ qce_clear_array(struct qce_device *qce, u32 offset, unsigned int len)
|
||||
@@ -51,52 +51,56 @@ qce_clear_array(struct qce_device *qce,
|
||||
qce_write(qce, offset + i * sizeof(u32), 0);
|
||||
}
|
||||
|
||||
@ -198,7 +191,7 @@ index e0202755682b..3849d7bcaeb0 100644
|
||||
static u32 qce_auth_cfg(unsigned long flags, u32 key_size)
|
||||
{
|
||||
u32 cfg = 0;
|
||||
@@ -145,88 +149,6 @@ static u32 qce_auth_cfg(unsigned long flags, u32 key_size)
|
||||
@@ -143,88 +147,6 @@ static u32 qce_auth_cfg(unsigned long fl
|
||||
return cfg;
|
||||
}
|
||||
|
||||
@ -287,7 +280,7 @@ index e0202755682b..3849d7bcaeb0 100644
|
||||
static int qce_setup_regs_ahash(struct crypto_async_request *async_req,
|
||||
u32 totallen, u32 offset)
|
||||
{
|
||||
@@ -311,6 +233,87 @@ static int qce_setup_regs_ahash(struct crypto_async_request *async_req,
|
||||
@@ -309,6 +231,87 @@ go_proc:
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -375,7 +368,7 @@ index e0202755682b..3849d7bcaeb0 100644
|
||||
|
||||
static int qce_setup_regs_skcipher(struct crypto_async_request *async_req,
|
||||
u32 totallen, u32 offset)
|
||||
@@ -392,15 +395,20 @@ static int qce_setup_regs_skcipher(struct crypto_async_request *async_req,
|
||||
@@ -390,15 +393,20 @@ static int qce_setup_regs_skcipher(struc
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -396,8 +389,6 @@ index e0202755682b..3849d7bcaeb0 100644
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
diff --git a/drivers/crypto/qce/core.c b/drivers/crypto/qce/core.c
|
||||
index bf409edc23ab..4ad79b67fc51 100644
|
||||
--- a/drivers/crypto/qce/core.c
|
||||
+++ b/drivers/crypto/qce/core.c
|
||||
@@ -30,8 +30,12 @@
|
||||
|
||||
@ -983,7 +983,7 @@
|
||||
};
|
||||
|
||||
static const struct net_device_ops mtk_netdev_ops = {
|
||||
@@ -2463,6 +2519,7 @@ static int mtk_probe(struct platform_dev
|
||||
@@ -2465,6 +2521,7 @@ static int mtk_probe(struct platform_dev
|
||||
{
|
||||
struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
struct device_node *mac_np;
|
||||
@ -991,7 +991,7 @@
|
||||
struct mtk_eth *eth;
|
||||
int err;
|
||||
int i;
|
||||
@@ -2471,7 +2528,8 @@ static int mtk_probe(struct platform_dev
|
||||
@@ -2473,7 +2530,8 @@ static int mtk_probe(struct platform_dev
|
||||
if (!eth)
|
||||
return -ENOMEM;
|
||||
|
||||
@ -1001,7 +1001,7 @@
|
||||
|
||||
eth->dev = &pdev->dev;
|
||||
eth->base = devm_ioremap_resource(&pdev->dev, res);
|
||||
@@ -2489,26 +2547,37 @@ static int mtk_probe(struct platform_dev
|
||||
@@ -2491,26 +2549,37 @@ static int mtk_probe(struct platform_dev
|
||||
return PTR_ERR(eth->ethsys);
|
||||
}
|
||||
|
||||
@ -1048,7 +1048,7 @@
|
||||
eth->irq[i] = platform_get_irq(pdev, i);
|
||||
if (eth->irq[i] < 0) {
|
||||
dev_err(&pdev->dev, "no IRQ%d resource found\n", i);
|
||||
@@ -2552,15 +2621,22 @@ static int mtk_probe(struct platform_dev
|
||||
@@ -2554,15 +2623,22 @@ static int mtk_probe(struct platform_dev
|
||||
goto err_deinit_hw;
|
||||
}
|
||||
|
||||
@ -1079,7 +1079,7 @@
|
||||
|
||||
err = mtk_mdio_init(eth);
|
||||
if (err)
|
||||
@@ -2626,27 +2702,48 @@ static int mtk_remove(struct platform_de
|
||||
@@ -2628,27 +2704,48 @@ static int mtk_remove(struct platform_de
|
||||
}
|
||||
|
||||
static const struct mtk_soc_data mt2701_data = {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user